//#pragma package(smart_init)
#pragma resource "*.dfm"
-extern intf_thread_t *p_intfGlobal;
-
//---------------------------------------------------------------------------
-__fastcall TAboutDlg::TAboutDlg( TComponent* Owner )
+__fastcall TAboutDlg::TAboutDlg( TComponent* Owner, intf_thread_t *_p_intf )
: TForm( Owner )
{
- Image1->Picture->Icon = p_intfGlobal->p_sys->p_window->Icon;
+ p_intf = _p_intf;
+ Image1->Picture->Icon = p_intf->p_sys->p_window->Icon;
LabelVersion->Caption = "Version " VERSION;
Translate( this );
}
TLabel *Label5;\r
TLabel *LabelVersion;\r
private: // User declarations\r
+ intf_thread_t *p_intf;\r
public: // User declarations\r
- __fastcall TAboutDlg( TComponent* Owner );\r
+ __fastcall TAboutDlg( TComponent* Owner, intf_thread_t *_p_intf );\r
};\r
//---------------------------------------------------------------------------\r
#endif\r
#pragma link "CSPIN"\r
#pragma resource "*.dfm"\r
\r
-extern intf_thread_t *p_intfGlobal;\r
-\r
//---------------------------------------------------------------------------\r
-__fastcall TDiscDlg::TDiscDlg( TComponent* Owner )\r
+__fastcall TDiscDlg::TDiscDlg( TComponent* Owner, intf_thread_t *_p_intf )\r
: TForm( Owner )\r
{\r
+ p_intf = _p_intf;\r
/* Simulate a click to get the correct device name */\r
RadioGroupTypeClick( RadioGroupType );\r
Translate( this );\r
//---------------------------------------------------------------------------\r
void __fastcall TDiscDlg::FormShow( TObject *Sender )\r
{\r
- p_intfGlobal->p_sys->p_window->OpenDiscAction->Checked = true;\r
+ p_intf->p_sys->p_window->OpenDiscAction->Checked = true;\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TDiscDlg::FormHide( TObject *Sender )\r
{\r
- p_intfGlobal->p_sys->p_window->OpenDiscAction->Checked = false;\r
+ p_intf->p_sys->p_window->OpenDiscAction->Checked = false;\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TDiscDlg::BitBtnCancelClick( TObject *Sender )\r
playlist_t * p_playlist;\r
\r
p_playlist = (playlist_t *)\r
- vlc_object_find( p_intfGlobal, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
+ vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
if( p_playlist == NULL )\r
{ \r
return;\r
PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );\r
\r
/* update the display */\r
- p_intfGlobal->p_sys->p_playwin->UpdateGrid( p_playlist );\r
+ p_intf->p_sys->p_playwin->UpdateGrid( p_playlist );\r
\r
vlc_object_release( p_playlist );\r
}\r
\r
if( RadioGroupType->ItemIndex == 0 )\r
{\r
- psz_device = config_GetPsz( p_intfGlobal, "dvd" );\r
+ psz_device = config_GetPsz( p_intf, "dvd" );\r
}\r
else\r
{\r
- psz_device = config_GetPsz( p_intfGlobal, "vcd" );\r
+ psz_device = config_GetPsz( p_intf, "vcd" );\r
}\r
\r
if( psz_device )\r
TEdit *EditDevice;\r
TCSpinEdit *SpinEditTitle;\r
TCSpinEdit *SpinEditChapter;\r
- void __fastcall FormShow(TObject *Sender);\r
- void __fastcall FormHide(TObject *Sender);\r
- void __fastcall BitBtnCancelClick(TObject *Sender);\r
- void __fastcall BitBtnOkClick(TObject *Sender);\r
- void __fastcall RadioGroupTypeClick(TObject *Sender);\r
+ void __fastcall FormShow( TObject *Sender );\r
+ void __fastcall FormHide( TObject *Sender );\r
+ void __fastcall BitBtnCancelClick( TObject *Sender );\r
+ void __fastcall BitBtnOkClick( TObject *Sender);\r
+ void __fastcall RadioGroupTypeClick( TObject *Sender );\r
private: // User declarations\r
+ intf_thread_t *p_intf;\r
public: // User declarations\r
- __fastcall TDiscDlg( TComponent* Owner );\r
+ __fastcall TDiscDlg( TComponent* Owner, intf_thread_t *_p_intf );\r
};\r
//---------------------------------------------------------------------------\r
#endif\r
#pragma link "CSPIN"\r
#pragma resource "*.dfm"\r
\r
-extern intf_thread_t *p_intfGlobal;\r
extern int Win32Manage( intf_thread_t *p_intf );\r
\r
//---------------------------------------------------------------------------\r
-__fastcall TMainFrameDlg::TMainFrameDlg( TComponent* Owner )\r
- : TForm( Owner )\r
+__fastcall TMainFrameDlg::TMainFrameDlg(\r
+ TComponent* Owner, intf_thread_t *_p_intf ) : TForm( Owner )\r
{\r
+ p_intf = _p_intf;\r
+\r
Application->ShowHint = true;\r
Application->OnHint = DisplayHint;\r
\r
****************************************************************************/\r
void __fastcall TMainFrameDlg::TimerManageTimer( TObject *Sender )\r
{\r
- Win32Manage( p_intfGlobal );\r
+ Win32Manage( p_intf );\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::DisplayHint( TObject *Sender )\r
* the stream. It is called whenever the slider changes its value.\r
* The lock has to be taken before the function is called */\r
\r
-// vlc_mutex_lock( &p_intfGlobal->p_sys->p_input->stream.stream_lock );\r
+// vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );\r
\r
- if( p_intfGlobal->p_sys->p_input != NULL )\r
+ if( p_intf->p_sys->p_input != NULL )\r
{\r
-#define p_area p_intfGlobal->p_sys->p_input->stream.p_selected_area\r
+#define p_area p_intf->p_sys->p_input->stream.p_selected_area\r
char psz_time[ OFFSETTOTIME_MAX_SIZE ];\r
off_t Value = TrackBar->Position;\r
\r
GroupBoxSlider->Caption =\r
- input_OffsetToTime( p_intfGlobal->p_sys->p_input, psz_time,\r
+ input_OffsetToTime( p_intf->p_sys->p_input, psz_time,\r
( p_area->i_size * Value ) / (off_t)SLIDER_MAX_VALUE );\r
#undef p_area\r
}\r
\r
-// vlc_mutex_unlock( &p_intfGlobal->p_sys->p_input->stream.stream_lock );\r
+// vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::FormClose( TObject *Sender,\r
TCloseAction &Action )\r
{\r
- intf_thread_t *p_intf = p_intfGlobal;\r
-\r
vlc_mutex_lock( &p_intf->change_lock );\r
p_intf->p_vlc->b_die = VLC_TRUE;\r
vlc_mutex_unlock( &p_intf->change_lock );\r
AnsiString FileName;\r
playlist_t * p_playlist;\r
\r
- p_playlist = (playlist_t *)vlc_object_find( p_intfGlobal,\r
+ p_playlist = (playlist_t *)vlc_object_find( p_intf,\r
VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
if( p_playlist == NULL )\r
{\r
PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );\r
\r
/* update the plugin display */\r
- p_intfGlobal->p_sys->p_playwin->UpdateGrid( p_playlist );\r
+ p_intf->p_sys->p_playwin->UpdateGrid( p_playlist );\r
};\r
\r
vlc_object_release( p_playlist );\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::OpenDiscActionExecute( TObject *Sender )\r
{\r
- TDiscDlg *p_disc = p_intfGlobal->p_sys->p_disc;\r
+ TDiscDlg *p_disc = p_intf->p_sys->p_disc;\r
if( p_disc == NULL )\r
{\r
- p_disc = new TDiscDlg( this );\r
- p_intfGlobal->p_sys->p_disc = p_disc;\r
+ p_disc = new TDiscDlg( this, p_intf );\r
+ p_intf->p_sys->p_disc = p_disc;\r
}\r
p_disc->Show();\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::NetworkStreamActionExecute( TObject *Sender )\r
{\r
- TNetworkDlg *p_network = p_intfGlobal->p_sys->p_network;\r
+ TNetworkDlg *p_network = p_intf->p_sys->p_network;\r
if( p_network == NULL )\r
{\r
- p_network = new TNetworkDlg( this );\r
- p_intfGlobal->p_sys->p_network = p_network;\r
+ p_network = new TNetworkDlg( this, p_intf );\r
+ p_intf->p_sys->p_network = p_network;\r
}\r
p_network->Show();\r
}\r
{\r
vout_thread_t *p_vout;\r
\r
- p_vout = (vout_thread_t *)vlc_object_find( p_intfGlobal->p_sys->p_input,\r
+ p_vout = (vout_thread_t *)vlc_object_find( p_intf->p_sys->p_input,\r
VLC_OBJECT_VOUT, FIND_CHILD );\r
if( p_vout == NULL )\r
{\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::PlaylistActionExecute( TObject *Sender )\r
{\r
- TPlaylistDlg *p_playwin = p_intfGlobal->p_sys->p_playwin;\r
+ TPlaylistDlg *p_playwin = p_intf->p_sys->p_playwin;\r
if( p_playwin->Visible )\r
{\r
p_playwin->Hide();\r
else\r
{\r
playlist_t * p_playlist;\r
- p_playlist = (playlist_t *)vlc_object_find( p_intfGlobal,\r
+ p_playlist = (playlist_t *)vlc_object_find( p_intf,\r
VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
if( p_playlist == NULL )\r
{\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::MessagesActionExecute( TObject *Sender )\r
{\r
- p_intfGlobal->p_sys->p_messages->Show();\r
+ p_intf->p_sys->p_messages->Show();\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::PreferencesActionExecute( TObject *Sender )\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::AboutActionExecute( TObject *Sender )\r
{\r
- p_intfGlobal->p_sys->p_about = new TAboutDlg( this );\r
- p_intfGlobal->p_sys->p_about->ShowModal();\r
- delete p_intfGlobal->p_sys->p_about;\r
+ TAboutDlg *AboutDlg = new TAboutDlg( this, p_intf );\r
+ AboutDlg->ShowModal();\r
+ delete AboutDlg;\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::BackActionExecute( TObject *Sender )\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::PreviousActionExecute(TObject *Sender)\r
{\r
- p_intfGlobal->p_sys->p_playwin->Previous();\r
+ p_intf->p_sys->p_playwin->Previous();\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::NextActionExecute(TObject *Sender)\r
{\r
- p_intfGlobal->p_sys->p_playwin->Next();\r
+ p_intf->p_sys->p_playwin->Next();\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::EjectActionExecute( TObject *Sender )\r
char * psz_current;\r
playlist_t * p_playlist;\r
\r
- p_playlist = (playlist_t *)vlc_object_find( p_intfGlobal,\r
+ p_playlist = (playlist_t *)vlc_object_find( p_intf,\r
VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
if( p_playlist == NULL )\r
{\r
}\r
\r
/* If there's a stream playing, we aren't allowed to eject ! */\r
- if( p_intfGlobal->p_sys->p_input == NULL )\r
+ if( p_intf->p_sys->p_input == NULL )\r
{\r
- msg_Dbg( p_intfGlobal, "ejecting %s", Device.c_str() );\r
+ msg_Dbg( p_intf, "ejecting %s", Device.c_str() );\r
\r
- intf_Eject( p_intfGlobal, Device.c_str() );\r
+ intf_Eject( p_intf, Device.c_str() );\r
}\r
}\r
//--------------------------------------------------------------------------\r
****************************************************************************/\r
void __fastcall TMainFrameDlg::PrevTitleActionExecute( TObject *Sender )\r
{\r
- intf_thread_t * p_intf;\r
input_area_t * p_area;\r
int i_id;\r
\r
- p_intf = p_intfGlobal;\r
i_id = p_intf->p_sys->p_input->stream.p_selected_area->i_id - 1;\r
\r
/* Disallow area 0 since it is used for video_ts.vob */\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::NextTitleActionExecute( TObject *Sender )\r
{\r
- intf_thread_t * p_intf;\r
input_area_t * p_area;\r
int i_id;\r
\r
- p_intf = p_intfGlobal;\r
i_id = p_intf->p_sys->p_input->stream.p_selected_area->i_id + 1;\r
\r
if( i_id < p_intf->p_sys->p_input->stream.i_area_nb )\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::PrevChapterActionExecute( TObject *Sender )\r
{\r
- intf_thread_t * p_intf = p_intfGlobal;\r
input_area_t * p_area;\r
\r
p_area = p_intf->p_sys->p_input->stream.p_selected_area;\r
//---------------------------------------------------------------------------\r
void __fastcall TMainFrameDlg::NextChapterActionExecute( TObject *Sender )\r
{\r
- intf_thread_t * p_intf = p_intfGlobal;\r
input_area_t * p_area;\r
\r
p_area = p_intf->p_sys->p_input->stream.p_selected_area;\r
****************************************************************************/\r
void __fastcall TMainFrameDlg::ButtonGoClick( TObject *Sender )\r
{\r
- intf_thread_t *p_intf = p_intfGlobal;\r
int i_channel;\r
\r
i_channel = SpinEditChannel->Value;\r
*****************************************************************************/\r
void __fastcall TMainFrameDlg::ModeManage()\r
{\r
- intf_thread_t * p_intf = p_intfGlobal;\r
TGroupBox * ActiveGB;\r
int i_Height;\r
bool b_control;\r
void __fastcall PrevChapterActionExecute( TObject *Sender );\r
void __fastcall NextChapterActionExecute( TObject *Sender );\r
private: // User declarations\r
+ intf_thread_t *p_intf;\r
public: // User declarations\r
TStringList *StringListPref; /* stores config dialogs */\r
- __fastcall TMainFrameDlg( TComponent* Owner );\r
+ __fastcall TMainFrameDlg( TComponent* Owner, intf_thread_t *_p_intf );\r
virtual __fastcall ~TMainFrameDlg();\r
void __fastcall DisplayHint( TObject *Sender );\r
void __fastcall ModeManage();\r
#pragma package(smart_init)\r
#pragma resource "*.dfm"\r
\r
-extern intf_thread_t *p_intfGlobal;\r
-\r
//---------------------------------------------------------------------------\r
-__fastcall TMessagesDlg::TMessagesDlg( TComponent* Owner )\r
- : TForm( Owner )\r
+__fastcall TMessagesDlg::TMessagesDlg(\r
+ TComponent* Owner, intf_thread_t *_p_intf ) : TForm( Owner )\r
{\r
- Icon = p_intfGlobal->p_sys->p_window->Icon;\r
+ p_intf = _p_intf;\r
+ Icon = p_intf->p_sys->p_window->Icon;\r
Translate( this );\r
}\r
//---------------------------------------------------------------------------\r
//---------------------------------------------------------------------------\r
void __fastcall TMessagesDlg::FormHide( TObject *Sender )\r
{\r
- p_intfGlobal->p_sys->p_window->MessagesAction->Checked = false;\r
+ p_intf->p_sys->p_window->MessagesAction->Checked = false;\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TMessagesDlg::FormShow( TObject *Sender )\r
{\r
- p_intfGlobal->p_sys->p_window->MessagesAction->Checked = true;\r
+ p_intf->p_sys->p_window->MessagesAction->Checked = true;\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TMessagesDlg::UpdateLog()\r
{\r
- msg_subscription_t *p_sub = p_intfGlobal->p_sys->p_sub;\r
+ msg_subscription_t *p_sub = p_intf->p_sys->p_sub;\r
int i_start, i_stop, i_del, i_count;\r
int i_max_lines;\r
\r
\r
/* Limit log size */\r
i_count = RichEditMessages->Lines->Count;\r
- i_max_lines = config_GetInt( p_intfGlobal, "intfwin-max-lines" );\r
+ i_max_lines = config_GetInt( p_intf, "intfwin-max-lines" );\r
if( i_max_lines > 0 )\r
{\r
for( i_del = 0; i_del <= i_count - i_max_lines; i_del++ )\r
void __fastcall FormHide( TObject *Sender );\r
void __fastcall FormShow( TObject *Sender );\r
private: // User declarations\r
+ intf_thread_t *p_intf;\r
public: // User declarations\r
- __fastcall TMessagesDlg( TComponent* Owner );\r
+ __fastcall TMessagesDlg( TComponent* Owner, intf_thread_t *_p_intf );\r
void __fastcall UpdateLog();\r
};\r
//---------------------------------------------------------------------------\r
#pragma link "CSPIN"\r
#pragma resource "*.dfm"\r
\r
-extern intf_thread_t *p_intfGlobal;\r
-\r
//---------------------------------------------------------------------------\r
-__fastcall TNetworkDlg::TNetworkDlg( TComponent* Owner )\r
+__fastcall TNetworkDlg::TNetworkDlg( TComponent* Owner, intf_thread_t *_p_intf )\r
: TForm( Owner )\r
{\r
- char *psz_channel_server;\r
+ p_intf = _p_intf;\r
+ char *psz_channel_server;\r
\r
- OldRadioValue = 0;\r
+ OldRadioValue = 0;\r
\r
- /* server port */\r
- SpinEditUDPPort->Value = config_GetInt( p_intfGlobal, "server-port" );\r
- SpinEditMulticastPort->Value = config_GetInt( p_intfGlobal, "server-port" );\r
+ /* server port */\r
+ SpinEditUDPPort->Value = config_GetInt( p_intf, "server-port" );\r
+ SpinEditMulticastPort->Value = config_GetInt( p_intf, "server-port" );\r
\r
- /* channel server */\r
- if( config_GetInt( p_intfGlobal, "network-channel" ) )\r
- {\r
- RadioButtonCS->Checked = true;\r
- RadioButtonCSEnter( RadioButtonCS );\r
- }\r
+ /* channel server */\r
+ if( config_GetInt( p_intf, "network-channel" ) )\r
+ {\r
+ RadioButtonCS->Checked = true;\r
+ RadioButtonCSEnter( RadioButtonCS );\r
+ }\r
\r
- psz_channel_server = config_GetPsz( p_intfGlobal, "channel-server" );\r
- if( psz_channel_server )\r
- {\r
- ComboBoxCSAddress->Text = psz_channel_server;\r
- free( psz_channel_server );\r
- }\r
+ psz_channel_server = config_GetPsz( p_intf, "channel-server" );\r
+ if( psz_channel_server )\r
+ {\r
+ ComboBoxCSAddress->Text = psz_channel_server;\r
+ free( psz_channel_server );\r
+ }\r
\r
- SpinEditCSPort->Value = config_GetInt( p_intfGlobal, "channel-port" );\r
+ SpinEditCSPort->Value = config_GetInt( p_intf, "channel-port" );\r
\r
- Translate( this );\r
+ Translate( this );\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TNetworkDlg::FormShow( TObject *Sender )\r
{\r
- p_intfGlobal->p_sys->p_window->NetworkStreamAction->Checked = true;\r
+ p_intf->p_sys->p_window->NetworkStreamAction->Checked = true;\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TNetworkDlg::FormHide( TObject *Sender )\r
{\r
- p_intfGlobal->p_sys->p_window->NetworkStreamAction->Checked = false;\r
+ p_intf->p_sys->p_window->NetworkStreamAction->Checked = false;\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TNetworkDlg::BitBtnCancelClick( TObject *Sender )\r
playlist_t * p_playlist;\r
\r
p_playlist = (playlist_t *)\r
- vlc_object_find( p_intfGlobal, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
+ vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
if( p_playlist == NULL )\r
{ \r
return;\r
{\r
/* UDP */\r
case 0:\r
- config_PutInt( p_intfGlobal, "network-channel", FALSE );\r
+ config_PutInt( p_intf, "network-channel", FALSE );\r
i_port = SpinEditUDPPort->Value;\r
\r
/* Build source name */\r
PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );\r
\r
/* update the display */\r
- p_intfGlobal->p_sys->p_playwin->UpdateGrid( p_playlist );\r
+ p_intf->p_sys->p_playwin->UpdateGrid( p_playlist );\r
break;\r
\r
/* UDP Multicast */\r
case 1:\r
- config_PutInt( p_intfGlobal, "network-channel", FALSE );\r
+ config_PutInt( p_intf, "network-channel", FALSE );\r
Address = ComboBoxMulticastAddress->Text;\r
i_port = SpinEditMulticastPort->Value;\r
\r
PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );\r
\r
/* update the display */\r
- p_intfGlobal->p_sys->p_playwin->UpdateGrid( p_playlist );\r
+ p_intf->p_sys->p_playwin->UpdateGrid( p_playlist );\r
break;\r
\r
/* Channel server */\r
case 2:\r
- config_PutInt( p_intfGlobal, "network-channel", TRUE );\r
- config_PutPsz( p_intfGlobal, "channel-server", Channel.c_str() );\r
- config_PutInt( p_intfGlobal, "channel-port", i_channel_port );\r
+ config_PutInt( p_intf, "network-channel", TRUE );\r
+ config_PutPsz( p_intf, "channel-server", Channel.c_str() );\r
+ config_PutInt( p_intf, "channel-port", i_channel_port );\r
\r
- if( p_intfGlobal->p_vlc->p_channel == NULL )\r
+ if( p_intf->p_vlc->p_channel == NULL )\r
{\r
- network_ChannelCreate( p_intfGlobal );\r
+ network_ChannelCreate( p_intf );\r
}\r
\r
- p_intfGlobal->p_sys->b_playing = 1;\r
+ p_intf->p_sys->b_playing = 1;\r
break;\r
\r
/* HTTP */\r
case 3:\r
- config_PutInt( p_intfGlobal, "network-channel", FALSE );\r
+ config_PutInt( p_intf, "network-channel", FALSE );\r
Address = EditHTTPURL->Text;\r
\r
/* Build source name with a basic test */\r
PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );\r
\r
/* update the display */\r
- p_intfGlobal->p_sys->p_playwin->UpdateGrid( p_playlist );\r
+ p_intf->p_sys->p_playwin->UpdateGrid( p_playlist );\r
break;\r
}\r
\r
private: // User declarations\r
int OldRadioValue;\r
void __fastcall ChangeEnabled( int i_selected );\r
+ intf_thread_t *p_intf;\r
public: // User declarations\r
- __fastcall TNetworkDlg( TComponent* Owner );\r
+ __fastcall TNetworkDlg( TComponent* Owner, intf_thread_t *_p_intf );\r
};\r
//---------------------------------------------------------------------------\r
#endif\r
//#pragma package(smart_init)\r
#pragma resource "*.dfm"\r
\r
-extern intf_thread_t *p_intfGlobal;\r
-\r
//---------------------------------------------------------------------------\r
-__fastcall TPlaylistDlg::TPlaylistDlg( TComponent* Owner )\r
- : TForm( Owner )\r
+__fastcall TPlaylistDlg::TPlaylistDlg(\r
+ TComponent* Owner, intf_thread_t *_p_intf ) : TForm( Owner )\r
{\r
- Icon = p_intfGlobal->p_sys->p_window->Icon;\r
+ p_intf = _p_intf;\r
+ Icon = p_intf->p_sys->p_window->Icon;\r
Translate( this );\r
}\r
//---------------------------------------------------------------------------\r
****************************************************************************/\r
void __fastcall TPlaylistDlg::FormShow( TObject *Sender )\r
{\r
- p_intfGlobal->p_sys->p_window->PlaylistAction->Checked = true;\r
+ p_intf->p_sys->p_window->PlaylistAction->Checked = true;\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TPlaylistDlg::FormHide( TObject *Sender )\r
{\r
- p_intfGlobal->p_sys->p_window->PlaylistAction->Checked = false;\r
+ p_intf->p_sys->p_window->PlaylistAction->Checked = false;\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TPlaylistDlg::BitBtnOkClick( TObject *Sender )\r
TItemStates Focused;\r
\r
playlist_t * p_playlist = (playlist_t *)\r
- vlc_object_find( p_intfGlobal, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
+ vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
if( p_playlist == NULL )\r
{\r
return;\r
TRect Rect = Item->DisplayRect( drBounds );\r
\r
/* set the background color */\r
- if( Item->Index == p_intfGlobal->p_sys->i_playing )\r
+ if( Item->Index == p_intf->p_sys->i_playing )\r
{\r
Sender->Canvas->Brush->Color = clRed;\r
}\r
****************************************************************************/\r
void __fastcall TPlaylistDlg::MenuAddFileClick( TObject *Sender )\r
{\r
- p_intfGlobal->p_sys->p_window->OpenFileActionExecute( Sender );\r
+ p_intf->p_sys->p_window->OpenFileActionExecute( Sender );\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TPlaylistDlg::MenuAddDiscClick( TObject *Sender )\r
{\r
- p_intfGlobal->p_sys->p_window->OpenDiscActionExecute( Sender );\r
+ p_intf->p_sys->p_window->OpenDiscActionExecute( Sender );\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TPlaylistDlg::MenuAddNetClick( TObject *Sender )\r
{\r
- p_intfGlobal->p_sys->p_window->NetworkStreamActionExecute( Sender );\r
+ p_intf->p_sys->p_window->NetworkStreamActionExecute( Sender );\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TPlaylistDlg::MenuAddUrlClick( TObject *Sender )\r
#if 0 /* PLAYLIST TARASS */\r
/* user wants to delete a file in the queue */\r
int i_pos;\r
- playlist_t *p_playlist = p_intfGlobal->p_vlc->p_playlist;\r
+ playlist_t *p_playlist = p_intf->p_vlc->p_playlist;\r
\r
/* lock the struct */\r
- vlc_mutex_lock( &p_intfGlobal->change_lock );\r
+ vlc_mutex_lock( &p_intf->change_lock );\r
\r
/* delete the items from the last to the first */\r
for( i_pos = p_playlist->i_size - 1; i_pos >= 0; i_pos-- )\r
/* Rebuild the ListView */\r
UpdateGrid( p_playlist );\r
\r
- vlc_mutex_unlock( &p_intfGlobal->change_lock );\r
+ vlc_mutex_unlock( &p_intf->change_lock );\r
#endif\r
}\r
//---------------------------------------------------------------------------\r
{\r
#if 0 /* PLAYLIST TARASS */\r
int i_pos;\r
- playlist_t *p_playlist = p_intfGlobal->p_vlc->p_playlist;\r
+ playlist_t *p_playlist = p_intf->p_vlc->p_playlist;\r
\r
/* lock the struct */\r
- vlc_mutex_lock( &p_intfGlobal->change_lock );\r
+ vlc_mutex_lock( &p_intf->change_lock );\r
\r
/* delete the items from the last to the first */\r
for( i_pos = p_playlist->i_size - 1; i_pos >= 0; i_pos-- )\r
/* Rebuild the ListView */\r
UpdateGrid( p_playlist );\r
\r
- vlc_mutex_unlock( &p_intfGlobal->change_lock );\r
+ vlc_mutex_unlock( &p_intf->change_lock );\r
#endif\r
}\r
//---------------------------------------------------------------------------\r
#if 0 /* PLAYLIST TARASS */\r
#define NOT( var ) ( (var) ? false : true )\r
int i_pos;\r
- playlist_t *p_playlist = p_intfGlobal->p_vlc->p_playlist;\r
+ playlist_t *p_playlist = p_intf->p_vlc->p_playlist;\r
TListItems *Items = ListViewPlaylist->Items;\r
\r
/* delete the items from the last to the first */\r
ListViewPlaylist->Items->EndUpdate();\r
}\r
//---------------------------------------------------------------------------\r
-void __fastcall TPlaylistDlg::Manage( intf_thread_t * p_intf )\r
+void __fastcall TPlaylistDlg::Manage()\r
{\r
playlist_t * p_playlist = (playlist_t *)\r
- vlc_object_find( p_intfGlobal, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
+ vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
if( p_playlist == NULL )\r
{\r
return;\r
void __fastcall TPlaylistDlg::DeleteItem( int i_pos )\r
{\r
playlist_t * p_playlist = (playlist_t *)\r
- vlc_object_find( p_intfGlobal, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
+ vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
if( p_playlist == NULL )\r
{\r
return;\r
}\r
\r
playlist_Delete( p_playlist, i_pos );\r
+ vlc_object_release( p_playlist );\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TPlaylistDlg::Previous()\r
{\r
playlist_t * p_playlist = (playlist_t *)\r
- vlc_object_find( p_intfGlobal, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
+ vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
if( p_playlist == NULL )\r
{\r
return;\r
}\r
\r
playlist_Prev( p_playlist );\r
+ vlc_object_release( p_playlist );\r
}\r
//---------------------------------------------------------------------------\r
void __fastcall TPlaylistDlg::Next()\r
{\r
playlist_t * p_playlist = (playlist_t *)\r
- vlc_object_find( p_intfGlobal, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
+ vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );\r
if( p_playlist == NULL )\r
{\r
return;\r
}\r
\r
playlist_Next( p_playlist );\r
+ vlc_object_release( p_playlist );\r
}\r
//---------------------------------------------------------------------------\r
\r
void __fastcall PlayStreamActionExecute( TObject *Sender );\r
private: // User declarations\r
char * __fastcall rindex( char *s, char c );\r
+ intf_thread_t *p_intf;\r
public: // User declarations\r
- __fastcall TPlaylistDlg( TComponent* Owner );\r
+ __fastcall TPlaylistDlg( TComponent* Owner, intf_thread_t *_p_intf );\r
void __fastcall UpdateGrid( playlist_t * p_playlist );\r
- void __fastcall Manage( intf_thread_t * p_intf );\r
+ void __fastcall Manage();\r
void __fastcall DeleteItem( int i_pos );\r
void __fastcall Previous();\r
void __fastcall Next();\r
*****************************************************************************/
static void Run( intf_thread_t *p_intf )
{
- p_intf->p_sys->p_window = new TMainFrameDlg( NULL );
- p_intf->p_sys->p_playwin = new TPlaylistDlg( NULL );
- p_intf->p_sys->p_messages = new TMessagesDlg( NULL );
+ p_intf->p_sys->p_window = new TMainFrameDlg( NULL, p_intf );
+ p_intf->p_sys->p_playwin = new TPlaylistDlg( NULL, p_intf );
+ p_intf->p_sys->p_messages = new TMessagesDlg( NULL, p_intf );
/* show main window and wait until it is closed */
p_intf->p_sys->p_window->ShowModal();
p_intf->p_sys->p_messages->UpdateLog();
/* Update the playlist */
- p_intf->p_sys->p_playwin->Manage( p_intf );
+ p_intf->p_sys->p_playwin->Manage();
/* Update the input */
if( p_intf->p_sys->p_input == NULL )
TMainFrameDlg * p_window; /* main window */\r
TPlaylistDlg * p_playwin; /* playlist */\r
TPopupMenu * p_popup; /* popup menu */\r
- TAboutDlg * p_about; /* about window */\r
TDiscDlg * p_disc; /* disc selection window */\r
TNetworkDlg * p_network; /* network stream window */\r
TPreferencesDlg * p_preferences; /* preferences window */\r