first playlist item.
* Added `Prev' and `Next' buttons to the interface, with the beginning of
a playlist window (still empty).
* Added `Slow' and `Fast' buttons to the interface and popup menu.
Ok, I promise it's the last time I check bloat in, from now the interface
commits will be much cleaner and actually fix things :)
.TP
.B DVD parameters:
vlc_dvd_device=<device> DVD device
- vlc_dvd_audio={ac3|lpcm|mpeg|off} audio type
- vlc_dvd_channel=[0-15] audio channel
- vlc_dvd_subtitle=[0-31] subtitle channel
+ vlc_audio={ac3|lpcm|mpeg|off} audio type
+ vlc_channel=[0-15] audio channel
+ vlc_subtitle=[0-31] subtitle channel
.TP
.B Input parameters:
vlc_server=<hostname> video server
#define INPUT_DVD_DEVICE_VAR "vlc_dvd_device"
#define INPUT_DVD_DEVICE_DEFAULT "/dev/dvd"
-#define INPUT_DVD_AUDIO_VAR "vlc_dvd_audio"
-#define INPUT_DVD_CHANNEL_VAR "vlc_dvd_channel"
-#define INPUT_DVD_SUBTITLE_VAR "vlc_dvd_subtitle"
+
+#define INPUT_AUDIO_VAR "vlc_input_audio"
+#define INPUT_CHANNEL_VAR "vlc_input_channel"
+#define INPUT_SUBTITLE_VAR "vlc_input_subtitle"
/*****************************************************************************
* Audio configuration
* -dvd_udf to find files
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
- * $Id: input_dvd.c,v 1.6 2001/02/09 03:51:42 stef Exp $
+ * $Id: input_dvd.c,v 1.7 2001/02/12 07:52:40 sam Exp $
*
* Author: Stéphane Borel <stef@via.ecp.fr>
*
case MPEG1_AUDIO_ES:
case MPEG2_AUDIO_ES:
- if( main_GetIntVariable( INPUT_DVD_CHANNEL_VAR, 0 )
+ if( main_GetIntVariable( INPUT_CHANNEL_VAR, 0 )
== (p_es->i_id & 0x1F) )
- switch( main_GetIntVariable( INPUT_DVD_AUDIO_VAR, 0 ) )
+ switch( main_GetIntVariable( INPUT_AUDIO_VAR, 0 ) )
{
case 0:
- main_PutIntVariable( INPUT_DVD_AUDIO_VAR,
+ main_PutIntVariable( INPUT_AUDIO_VAR,
REQUESTED_MPEG );
case REQUESTED_MPEG:
input_SelectES( p_input, p_es );
break;
case AC3_AUDIO_ES:
- if( main_GetIntVariable( INPUT_DVD_CHANNEL_VAR, 0 )
+ if( main_GetIntVariable( INPUT_CHANNEL_VAR, 0 )
== ((p_es->i_id & 0xF00) >> 8) )
- switch( main_GetIntVariable( INPUT_DVD_AUDIO_VAR, 0 ) )
+ switch( main_GetIntVariable( INPUT_AUDIO_VAR, 0 ) )
{
case 0:
- main_PutIntVariable( INPUT_DVD_AUDIO_VAR,
+ main_PutIntVariable( INPUT_AUDIO_VAR,
REQUESTED_AC3 );
case REQUESTED_AC3:
input_SelectES( p_input, p_es );
break;
case DVD_SPU_ES:
- if( main_GetIntVariable( INPUT_DVD_SUBTITLE_VAR, -1 )
+ if( main_GetIntVariable( INPUT_SUBTITLE_VAR, -1 )
== ((p_es->i_id & 0x1F00) >> 8) )
{
input_SelectES( p_input, p_es );
on_menubar_playlist_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
+ intf_thread_t *p_intf = GetIntf( GTK_WIDGET(menuitem), "intf_window" );
+ if( !GTK_IS_WIDGET( p_intf->p_sys->p_playlist ) )
+ {
+ p_intf->p_sys->p_playlist = create_intf_playlist();
+ gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_playlist ),
+ "p_intf", p_intf );
+ }
+ gtk_widget_show( p_intf->p_sys->p_playlist );
}
if( !GTK_IS_WIDGET( p_intf->p_sys->p_about ) )
{
p_intf->p_sys->p_about = create_intf_about();
+ gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_about ),
+ "p_intf", p_intf );
}
gtk_widget_show( p_intf->p_sys->p_about );
}
on_toolbar_playlist_clicked (GtkButton *button,
gpointer user_data)
{
+ intf_thread_t *p_intf = GetIntf( GTK_WIDGET(button), "intf_window" );
+ if( !GTK_IS_WIDGET( p_intf->p_sys->p_playlist ) )
+ {
+ p_intf->p_sys->p_playlist = create_intf_playlist();
+ gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_playlist ),
+ "p_intf", p_intf );
+ }
+ gtk_widget_show( p_intf->p_sys->p_playlist );
}
on_toolbar_prev_clicked (GtkButton *button,
gpointer user_data)
{
+ intf_thread_t *p_intf = GetIntf( GTK_WIDGET(button), "intf_window" );
+ if( p_intf->p_input != NULL )
+ {
+ /* FIXME: temporary hack */
+ intf_PlstPrev( p_main->p_playlist );
+ intf_PlstPrev( p_main->p_playlist );
+ p_intf->p_input->b_eof = 1;
+ }
}
on_toolbar_next_clicked (GtkButton *button,
gpointer user_data)
{
+ intf_thread_t *p_intf = GetIntf( GTK_WIDGET(button), "intf_window" );
+ if( p_intf->p_input != NULL )
+ {
+ /* FIXME: temporary hack */
+ p_intf->p_input->b_eof = 1;
+ }
}
if( !GTK_IS_WIDGET( p_intf->p_sys->p_about ) )
{
p_intf->p_sys->p_about = create_intf_about();
+ gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_about ),
+ "p_intf", p_intf );
}
gtk_widget_show( p_intf->p_sys->p_about );
}
+
+void
+on_intf_playlist_destroy (GtkObject *object,
+ gpointer user_data)
+{
+ intf_thread_t *p_intf = GetIntf( GTK_WIDGET(object), "intf_playlist" );
+
+ p_intf->p_sys->p_playlist = NULL;
+}
+
+
+void
+on_playlist_close_clicked (GtkButton *button,
+ gpointer user_data)
+{
+ gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
+}
+
+
+void
+on_popup_slow_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ intf_thread_t *p_intf = GetIntf( GTK_WIDGET(menuitem), "intf_popup" );
+ int i_rate;
+
+ if( p_intf->p_input != NULL )
+ {
+ i_rate = p_intf->p_input->stream.control.i_rate * 2;
+ if ( i_rate <= MAXIMAL_RATE )
+ {
+ if ( i_rate > 500 && i_rate < 1000 )
+ i_rate = 1000;
+
+ input_Forward( p_intf->p_input, i_rate );
+ }
+ }
+}
+
+
+void
+on_popup_fast_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ intf_thread_t *p_intf = GetIntf( GTK_WIDGET(menuitem), "intf_popup" );
+ int i_rate;
+
+ if( p_intf->p_input != NULL )
+ {
+ i_rate = p_intf->p_input->stream.control.i_rate / 2;
+ if ( i_rate >= MINIMAL_RATE )
+ {
+ input_Forward( p_intf->p_input, i_rate );
+ }
+ }
+}
+
+
+void
+on_toolbar_slow_clicked (GtkButton *button,
+ gpointer user_data)
+{
+ intf_thread_t *p_intf = GetIntf( GTK_WIDGET(button), "intf_window" );
+ int i_rate;
+
+ if( p_intf->p_input != NULL )
+ {
+ i_rate = p_intf->p_input->stream.control.i_rate * 2;
+ if ( i_rate <= MAXIMAL_RATE )
+ {
+ if ( i_rate > 500 && i_rate < 1000 )
+ i_rate = 1000;
+
+ input_Forward( p_intf->p_input, i_rate );
+ }
+ }
+}
+
+
+void
+on_toolbar_fast_clicked (GtkButton *button,
+ gpointer user_data)
+{
+ intf_thread_t *p_intf = GetIntf( GTK_WIDGET(button), "intf_window" );
+ int i_rate;
+
+ if( p_intf->p_input != NULL )
+ {
+ i_rate = p_intf->p_input->stream.control.i_rate / 2;
+ if ( i_rate >= MINIMAL_RATE )
+ {
+ input_Forward( p_intf->p_input, i_rate );
+ }
+ }
+}
+
void
on_popup_about_activate (GtkMenuItem *menuitem,
gpointer user_data);
+
+void
+on_intf_playlist_destroy (GtkObject *object,
+ gpointer user_data);
+
+void
+on_playlist_close_clicked (GtkButton *button,
+ gpointer user_data);
+
+void
+on_popup_slow_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
+
+void
+on_popup_fast_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
+
+void
+on_toolbar_slow_clicked (GtkButton *button,
+ gpointer user_data);
+
+void
+on_toolbar_fast_clicked (GtkButton *button,
+ gpointer user_data);
GtkWidget *toolbar_stop;
GtkWidget *toolbar_play;
GtkWidget *toolbar_pause;
- GtkWidget *vseparator2;
+ GtkWidget *toolbar_slow;
+ GtkWidget *toolbar_fast;
GtkWidget *toolbar_playlist;
GtkWidget *toolbar_prev;
GtkWidget *toolbar_next;
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_show (toolbar_play);
- tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER_STOP);
+ tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BOTTOM);
toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
GTK_TOOLBAR_CHILD_BUTTON,
NULL,
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_show (toolbar_pause);
- vseparator2 = gtk_vseparator_new ();
- gtk_widget_ref (vseparator2);
- gtk_object_set_data_full (GTK_OBJECT (intf_window), "vseparator2", vseparator2,
+ tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER_STOP);
+ toolbar_slow = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
+ GTK_TOOLBAR_CHILD_BUTTON,
+ NULL,
+ _("Slow"),
+ _("Play Slower"), NULL,
+ tmp_toolbar_icon, NULL, NULL);
+ gtk_widget_ref (toolbar_slow);
+ gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_slow", toolbar_slow,
(GtkDestroyNotify) gtk_widget_unref);
- gtk_widget_show (vseparator2);
- gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar), vseparator2, NULL, NULL);
+ gtk_widget_show (toolbar_slow);
+
+ tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER);
+ toolbar_fast = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
+ GTK_TOOLBAR_CHILD_BUTTON,
+ NULL,
+ _("Fast"),
+ _("Play Faster"), NULL,
+ tmp_toolbar_icon, NULL, NULL);
+ gtk_widget_ref (toolbar_fast);
+ gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_fast", toolbar_fast,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (toolbar_fast);
gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
gtk_widget_show (text1);
gtk_container_add (GTK_CONTAINER (scrolledwindow1), text1);
gtk_text_insert (GTK_TEXT (text1), NULL, NULL, NULL,
- _("This is some random text. Nah."), 30);
+ _("This is some random text. Nah. Eat at Sam's. Rent this place. Wazaaa."), 69);
appbar = gnome_appbar_new (TRUE, TRUE, GNOME_PREFERENCES_NEVER);
gtk_widget_ref (appbar);
gtk_signal_connect (GTK_OBJECT (toolbar_pause), "clicked",
GTK_SIGNAL_FUNC (on_toolbar_pause_clicked),
NULL);
+ gtk_signal_connect (GTK_OBJECT (toolbar_slow), "clicked",
+ GTK_SIGNAL_FUNC (on_toolbar_slow_clicked),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (toolbar_fast), "clicked",
+ GTK_SIGNAL_FUNC (on_toolbar_fast_clicked),
+ NULL);
gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "clicked",
GTK_SIGNAL_FUNC (on_toolbar_playlist_clicked),
NULL);
GNOME_APP_UI_ITEM, N_("Pause"),
NULL,
(gpointer) on_popup_pause_activate, NULL, NULL,
+ GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BOTTOM,
+ 0, (GdkModifierType) 0, NULL
+ },
+ {
+ GNOME_APP_UI_ITEM, N_("Slow"),
+ NULL,
+ (gpointer) on_popup_slow_activate, NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER_STOP,
0, (GdkModifierType) 0, NULL
},
+ {
+ GNOME_APP_UI_ITEM, N_("Fast"),
+ NULL,
+ (gpointer) on_popup_fast_activate, NULL, NULL,
+ GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER,
+ 0, (GdkModifierType) 0, NULL
+ },
GNOMEUIINFO_SEPARATOR,
GNOMEUIINFO_MENU_OPEN_ITEM (on_popup_open_activate, NULL),
GNOMEUIINFO_SEPARATOR,
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_ref (intf_popup_uiinfo[2].widget);
- gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator2",
+ gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_slow",
intf_popup_uiinfo[2].widget,
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_ref (intf_popup_uiinfo[3].widget);
- gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open",
+ gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fast",
intf_popup_uiinfo[3].widget,
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_ref (intf_popup_uiinfo[4].widget);
- gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator3",
+ gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator2",
intf_popup_uiinfo[4].widget,
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_ref (intf_popup_uiinfo[5].widget);
- gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about",
+ gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open",
intf_popup_uiinfo[5].widget,
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_ref (intf_popup_uiinfo[6].widget);
- gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit",
+ gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator3",
intf_popup_uiinfo[6].widget,
(GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_ref (intf_popup_uiinfo[7].widget);
+ gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about",
+ intf_popup_uiinfo[7].widget,
+ (GtkDestroyNotify) gtk_widget_unref);
+
+ gtk_widget_ref (intf_popup_uiinfo[8].widget);
+ gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit",
+ intf_popup_uiinfo[8].widget,
+ (GtkDestroyNotify) gtk_widget_unref);
+
return intf_popup;
}
return intf_fileopen;
}
+GtkWidget*
+create_intf_playlist (void)
+{
+ GtkWidget *intf_playlist;
+ GtkWidget *vbox1;
+ GtkWidget *scrolledwindow2;
+ GtkWidget *clist1;
+ GtkWidget *label3;
+ GtkWidget *label4;
+ GtkWidget *label5;
+ GtkWidget *hseparator1;
+ GtkWidget *hbox1;
+ GtkWidget *button1;
+ GtkWidget *playlist_close;
+ GtkWidget *playlist_help;
+
+ intf_playlist = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_object_set_data (GTK_OBJECT (intf_playlist), "intf_playlist", intf_playlist);
+ gtk_window_set_title (GTK_WINDOW (intf_playlist), _("Playlist"));
+
+ vbox1 = gtk_vbox_new (FALSE, 0);
+ gtk_widget_ref (vbox1);
+ gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "vbox1", vbox1,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (vbox1);
+ gtk_container_add (GTK_CONTAINER (intf_playlist), vbox1);
+
+ scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_ref (scrolledwindow2);
+ gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "scrolledwindow2", scrolledwindow2,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (scrolledwindow2);
+ gtk_box_pack_start (GTK_BOX (vbox1), scrolledwindow2, TRUE, TRUE, 0);
+
+ clist1 = gtk_clist_new (3);
+ gtk_widget_ref (clist1);
+ gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "clist1", clist1,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (clist1);
+ gtk_container_add (GTK_CONTAINER (scrolledwindow2), clist1);
+ gtk_clist_set_column_width (GTK_CLIST (clist1), 0, 189);
+ gtk_clist_set_column_width (GTK_CLIST (clist1), 1, 80);
+ gtk_clist_set_column_width (GTK_CLIST (clist1), 2, 80);
+ gtk_clist_column_titles_show (GTK_CLIST (clist1));
+
+ label3 = gtk_label_new (_("Name"));
+ gtk_widget_ref (label3);
+ gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label3", label3,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (label3);
+ gtk_clist_set_column_widget (GTK_CLIST (clist1), 0, label3);
+
+ label4 = gtk_label_new (_("Type"));
+ gtk_widget_ref (label4);
+ gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label4", label4,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (label4);
+ gtk_clist_set_column_widget (GTK_CLIST (clist1), 1, label4);
+
+ label5 = gtk_label_new (_("Length"));
+ gtk_widget_ref (label5);
+ gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label5", label5,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (label5);
+ gtk_clist_set_column_widget (GTK_CLIST (clist1), 2, label5);
+
+ hseparator1 = gtk_hseparator_new ();
+ gtk_widget_ref (hseparator1);
+ gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "hseparator1", hseparator1,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (hseparator1);
+ gtk_box_pack_start (GTK_BOX (vbox1), hseparator1, FALSE, TRUE, 0);
+
+ hbox1 = gtk_hbox_new (TRUE, 0);
+ gtk_widget_ref (hbox1);
+ gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "hbox1", hbox1,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (hbox1);
+ gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, FALSE, 0);
+
+ button1 = gtk_button_new_with_label (_("Wazaaaa !"));
+ gtk_widget_ref (button1);
+ gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "button1", button1,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (button1);
+ gtk_box_pack_start (GTK_BOX (hbox1), button1, FALSE, FALSE, 0);
+
+ playlist_close = gnome_stock_button (GNOME_STOCK_BUTTON_CLOSE);
+ gtk_widget_ref (playlist_close);
+ gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_close", playlist_close,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (playlist_close);
+ gtk_box_pack_start (GTK_BOX (hbox1), playlist_close, FALSE, FALSE, 0);
+
+ playlist_help = gnome_stock_button (GNOME_STOCK_BUTTON_HELP);
+ gtk_widget_ref (playlist_help);
+ gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_help", playlist_help,
+ (GtkDestroyNotify) gtk_widget_unref);
+ gtk_widget_show (playlist_help);
+ gtk_box_pack_start (GTK_BOX (hbox1), playlist_help, FALSE, FALSE, 0);
+
+ gtk_signal_connect (GTK_OBJECT (intf_playlist), "destroy",
+ GTK_SIGNAL_FUNC (on_intf_playlist_destroy),
+ NULL);
+ gtk_signal_connect (GTK_OBJECT (playlist_close), "clicked",
+ GTK_SIGNAL_FUNC (on_playlist_close_clicked),
+ NULL);
+
+ return intf_playlist;
+}
+
GtkWidget* create_intf_popup (void);
GtkWidget* create_intf_about (void);
GtkWidget* create_intf_fileopen (void);
+GtkWidget* create_intf_playlist (void);
<last_modification_time>Sun, 11 Feb 2001 17:06:43 GMT</last_modification_time>
</signal>
<label>Pause</label>
+ <stock_pixmap>GNOME_STOCK_PIXMAP_BOTTOM</stock_pixmap>
+ </widget>
+
+ <widget>
+ <class>GtkButton</class>
+ <child_name>Toolbar:button</child_name>
+ <name>toolbar_slow</name>
+ <tooltip>Play Slower</tooltip>
+ <signal>
+ <name>clicked</name>
+ <handler>on_toolbar_slow_clicked</handler>
+ <last_modification_time>Mon, 12 Feb 2001 07:20:42 GMT</last_modification_time>
+ </signal>
+ <label>Slow</label>
<stock_pixmap>GNOME_STOCK_PIXMAP_TIMER_STOP</stock_pixmap>
</widget>
<widget>
- <class>GtkVSeparator</class>
- <name>vseparator2</name>
+ <class>GtkButton</class>
+ <child_name>Toolbar:button</child_name>
+ <name>toolbar_fast</name>
+ <tooltip>Play Faster</tooltip>
+ <signal>
+ <name>clicked</name>
+ <handler>on_toolbar_fast_clicked</handler>
+ <last_modification_time>Mon, 12 Feb 2001 07:20:48 GMT</last_modification_time>
+ </signal>
+ <label>Fast</label>
+ <stock_pixmap>GNOME_STOCK_PIXMAP_TIMER</stock_pixmap>
</widget>
<widget>
<name>text1</name>
<can_focus>True</can_focus>
<editable>False</editable>
- <text>This is some random text. Nah.</text>
+ <text>This is some random text. Nah. Eat at Sam's. Rent this place. Wazaaa.</text>
</widget>
</widget>
</widget>
</signal>
<label>Pause</label>
<right_justify>False</right_justify>
+ <stock_icon>GNOME_STOCK_MENU_BOTTOM</stock_icon>
+ </widget>
+
+ <widget>
+ <class>GtkPixmapMenuItem</class>
+ <name>popup_slow</name>
+ <signal>
+ <name>activate</name>
+ <handler>on_popup_slow_activate</handler>
+ <last_modification_time>Mon, 12 Feb 2001 07:19:57 GMT</last_modification_time>
+ </signal>
+ <label>Slow</label>
+ <right_justify>False</right_justify>
<stock_icon>GNOME_STOCK_MENU_TIMER_STOP</stock_icon>
</widget>
+ <widget>
+ <class>GtkPixmapMenuItem</class>
+ <name>popup_fast</name>
+ <signal>
+ <name>activate</name>
+ <handler>on_popup_fast_activate</handler>
+ <last_modification_time>Mon, 12 Feb 2001 07:19:57 GMT</last_modification_time>
+ </signal>
+ <label>Fast</label>
+ <right_justify>False</right_justify>
+ <stock_icon>GNOME_STOCK_MENU_TIMER</stock_icon>
+ </widget>
+
<widget>
<class>GtkMenuItem</class>
<name>separator2</name>
</widget>
</widget>
+<widget>
+ <class>GtkWindow</class>
+ <name>intf_playlist</name>
+ <signal>
+ <name>destroy</name>
+ <handler>on_intf_playlist_destroy</handler>
+ <last_modification_time>Mon, 12 Feb 2001 06:02:25 GMT</last_modification_time>
+ </signal>
+ <title>Playlist</title>
+ <type>GTK_WINDOW_TOPLEVEL</type>
+ <position>GTK_WIN_POS_NONE</position>
+ <modal>False</modal>
+ <allow_shrink>False</allow_shrink>
+ <allow_grow>True</allow_grow>
+ <auto_shrink>False</auto_shrink>
+
+ <widget>
+ <class>GtkVBox</class>
+ <name>vbox1</name>
+ <homogeneous>False</homogeneous>
+ <spacing>0</spacing>
+
+ <widget>
+ <class>GtkScrolledWindow</class>
+ <name>scrolledwindow2</name>
+ <hscrollbar_policy>GTK_POLICY_ALWAYS</hscrollbar_policy>
+ <vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy>
+ <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
+ <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>
+ <child>
+ <padding>0</padding>
+ <expand>True</expand>
+ <fill>True</fill>
+ </child>
+
+ <widget>
+ <class>GtkCList</class>
+ <name>clist1</name>
+ <can_focus>True</can_focus>
+ <columns>3</columns>
+ <column_widths>189,80,80</column_widths>
+ <selection_mode>GTK_SELECTION_SINGLE</selection_mode>
+ <show_titles>True</show_titles>
+ <shadow_type>GTK_SHADOW_IN</shadow_type>
+
+ <widget>
+ <class>GtkLabel</class>
+ <child_name>CList:title</child_name>
+ <name>label3</name>
+ <label>Name</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0.5</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <child_name>CList:title</child_name>
+ <name>label4</name>
+ <label>Type</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0.5</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ </widget>
+
+ <widget>
+ <class>GtkLabel</class>
+ <child_name>CList:title</child_name>
+ <name>label5</name>
+ <label>Length</label>
+ <justify>GTK_JUSTIFY_CENTER</justify>
+ <wrap>False</wrap>
+ <xalign>0.5</xalign>
+ <yalign>0.5</yalign>
+ <xpad>0</xpad>
+ <ypad>0</ypad>
+ </widget>
+ </widget>
+ </widget>
+
+ <widget>
+ <class>GtkHSeparator</class>
+ <name>hseparator1</name>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>True</fill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkHBox</class>
+ <name>hbox1</name>
+ <homogeneous>True</homogeneous>
+ <spacing>0</spacing>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+
+ <widget>
+ <class>GtkButton</class>
+ <name>button1</name>
+ <can_focus>True</can_focus>
+ <label>Wazaaaa !</label>
+ <relief>GTK_RELIEF_NORMAL</relief>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkButton</class>
+ <name>playlist_close</name>
+ <can_focus>True</can_focus>
+ <signal>
+ <name>clicked</name>
+ <handler>on_playlist_close_clicked</handler>
+ <last_modification_time>Mon, 12 Feb 2001 06:19:17 GMT</last_modification_time>
+ </signal>
+ <stock_button>GNOME_STOCK_BUTTON_CLOSE</stock_button>
+ <relief>GTK_RELIEF_NORMAL</relief>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+
+ <widget>
+ <class>GtkButton</class>
+ <name>playlist_help</name>
+ <can_focus>True</can_focus>
+ <stock_button>GNOME_STOCK_BUTTON_HELP</stock_button>
+ <relief>GTK_RELIEF_NORMAL</relief>
+ <child>
+ <padding>0</padding>
+ <expand>False</expand>
+ <fill>False</fill>
+ </child>
+ </widget>
+ </widget>
+ </widget>
+</widget>
+
</GTK-Interface>
* input_ps.c: PS demux and packet management
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: input_ps.c,v 1.4 2001/02/08 17:44:12 massiot Exp $
+ * $Id: input_ps.c,v 1.5 2001/02/12 07:52:40 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
case MPEG1_AUDIO_ES:
case MPEG2_AUDIO_ES:
- if( main_GetIntVariable( INPUT_DVD_CHANNEL_VAR, 0 )
+ if( main_GetIntVariable( INPUT_CHANNEL_VAR, 0 )
== (p_es->i_id & 0x1F) )
- switch( main_GetIntVariable( INPUT_DVD_AUDIO_VAR, 0 ) )
+ switch( main_GetIntVariable( INPUT_AUDIO_VAR, 0 ) )
{
case 0:
- main_PutIntVariable( INPUT_DVD_CHANNEL_VAR,
+ main_PutIntVariable( INPUT_AUDIO_VAR,
REQUESTED_MPEG );
case REQUESTED_MPEG:
input_SelectES( p_input, p_es );
break;
case AC3_AUDIO_ES:
- if( main_GetIntVariable( INPUT_DVD_CHANNEL_VAR, 0 )
+ if( main_GetIntVariable( INPUT_CHANNEL_VAR, 0 )
== ((p_es->i_id & 0xF00) >> 8) )
- switch( main_GetIntVariable( INPUT_DVD_AUDIO_VAR, 0 ) )
+ switch( main_GetIntVariable( INPUT_AUDIO_VAR, 0 ) )
{
case 0:
- main_PutIntVariable( INPUT_DVD_CHANNEL_VAR,
+ main_PutIntVariable( INPUT_AUDIO_VAR,
REQUESTED_AC3 );
case REQUESTED_AC3:
input_SelectES( p_input, p_es );
break;
case DVD_SPU_ES:
- if( main_GetIntVariable( INPUT_DVD_SUBTITLE_VAR, -1 )
+ if( main_GetIntVariable( INPUT_SUBTITLE_VAR, -1 )
== ((p_es->i_id & 0x1F00) >> 8) )
{
input_SelectES( p_input, p_es );
/*****************************************************************************
* FIXME: this file is ... *
* *
- * XXX XXX XXX XXX XXX XXX XXX XXX *
- * XXX XXX XXX XXX XXX XXX XXX *
- * XXX XXX XXX XXX XXX XXX *
- * XXX XXX XXX XXX XXX XXX XXX *
- * XXX XXX XXX XXX XXX XXX *
- * XXX XXX XXX XXX XXX XXX XXX *
+ * XXX XXX FIXME XXX XXX XXX XXX *
+ * XXX XXX XXX XXX XXX XXX XXX XXX *
+ * XXX XXX XXX XXX FIXME XXX *
+ * XXX XXX XXX TODO XXX XXX XXX *
+ * XXX XXX XXX XXX XXX XXX *
+ * FIXME FIXME FIXME XXX XXX *
* *
*****************************************************************************/
boolean_t b_overlay;
boolean_t b_cursor;
boolean_t b_reopen_display;
- Uint8 * p_buffer[2];
- /* Buffers informations */
+ Uint8 * p_sdl_buf[2]; /* Buffer information */
} vout_sys_t;
/*****************************************************************************
if( p_vout->b_need_render )
{
- p_vout->p_sys->p_buffer[ 0 ] = p_vout->p_sys->p_display->pixels;
+ p_vout->p_sys->p_sdl_buf[ 0 ] = p_vout->p_sys->p_display->pixels;
SDL_Flip(p_vout->p_sys->p_display);
- p_vout->p_sys->p_buffer[ 1 ] = p_vout->p_sys->p_display->pixels;
+ p_vout->p_sys->p_sdl_buf[ 1 ] = p_vout->p_sys->p_display->pixels;
SDL_Flip(p_vout->p_sys->p_display);
/* Set clipping for text */
/* FIXME: palette in 8bpp ?? */
/* Set and initialize buffers */
- vout_SetBuffers( p_vout, p_vout->p_sys->p_buffer[ 0 ],
- p_vout->p_sys->p_buffer[ 1 ] );
+ vout_SetBuffers( p_vout, p_vout->p_sys->p_sdl_buf[ 0 ],
+ p_vout->p_sys->p_sdl_buf[ 1 ] );
}
else
{
- p_vout->p_sys->p_buffer[ 0 ] = p_vout->p_sys->p_display->pixels;
- p_vout->p_sys->p_buffer[ 1 ] = p_vout->p_sys->p_display->pixels;
+ p_vout->p_sys->p_sdl_buf[ 0 ] = p_vout->p_sys->p_display->pixels;
+ p_vout->p_sys->p_sdl_buf[ 1 ] = p_vout->p_sys->p_display->pixels;
/* Set thread information */
p_vout->i_width = p_vout->p_sys->p_display->w;
p_vout->i_height = p_vout->p_sys->p_display->h;
p_vout->i_bytes_per_line = p_vout->p_sys->p_display->pitch;
- vout_SetBuffers( p_vout, p_vout->p_sys->p_buffer[ 0 ],
- p_vout->p_sys->p_buffer[ 1 ] );
+ vout_SetBuffers( p_vout, p_vout->p_sys->p_sdl_buf[ 0 ],
+ p_vout->p_sys->p_sdl_buf[ 1 ] );
}
p_vout->p_sys->b_reopen_display = 0;
* mpeg_system.c: TS, PS and PES management
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: mpeg_system.c,v 1.34 2001/02/08 17:44:12 massiot Exp $
+ * $Id: mpeg_system.c,v 1.35 2001/02/12 07:52:40 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Michel Lespinasse <walken@via.ecp.fr>
p_es->b_audio = 1;
#ifdef AUTO_SPAWN
if( !p_input->stream.b_seekable )
- if( main_GetIntVariable( INPUT_DVD_CHANNEL_VAR, 0 )
+ if( main_GetIntVariable( INPUT_CHANNEL_VAR, 0 )
== (p_es->i_id & 0x1F) )
- switch( main_GetIntVariable( INPUT_DVD_AUDIO_VAR, 0 ) )
+ switch( main_GetIntVariable( INPUT_AUDIO_VAR, 0 ) )
{
case 0:
- main_PutIntVariable( INPUT_DVD_CHANNEL_VAR,
+ main_PutIntVariable( INPUT_CHANNEL_VAR,
REQUESTED_MPEG );
case REQUESTED_MPEG:
input_SelectES( p_input, p_es );
p_es->b_audio = 1;
#ifdef AUTO_SPAWN
if( !p_input->stream.b_seekable )
- if( main_GetIntVariable( INPUT_DVD_CHANNEL_VAR, 0 )
+ if( main_GetIntVariable( INPUT_CHANNEL_VAR, 0 )
== ((p_es->i_id & 0xF00) >> 8) )
- switch( main_GetIntVariable( INPUT_DVD_AUDIO_VAR, 0 ) )
+ switch( main_GetIntVariable( INPUT_AUDIO_VAR, 0 ) )
{
case 0:
- main_PutIntVariable( INPUT_DVD_CHANNEL_VAR,
+ main_PutIntVariable( INPUT_CHANNEL_VAR,
REQUESTED_AC3 );
case REQUESTED_AC3:
input_SelectES( p_input, p_es );
/* Subtitles video (0x20->0x3F) */
p_es->i_type = DVD_SPU_ES;
#ifdef AUTO_SPAWN
- if( main_GetIntVariable( INPUT_DVD_SUBTITLE_VAR, -1 )
+ if( main_GetIntVariable( INPUT_SUBTITLE_VAR, -1 )
== ((p_es->i_id & 0x1F00) >> 8) )
{
if( !p_input->stream.b_seekable )
/* DVD options */
case 'a':
if ( ! strcmp(optarg, "ac3") )
- main_PutIntVariable( INPUT_DVD_AUDIO_VAR, REQUESTED_AC3 );
+ main_PutIntVariable( INPUT_AUDIO_VAR, REQUESTED_AC3 );
else if ( ! strcmp(optarg, "lpcm") )
- main_PutIntVariable( INPUT_DVD_AUDIO_VAR, REQUESTED_LPCM );
+ main_PutIntVariable( INPUT_AUDIO_VAR, REQUESTED_LPCM );
else if ( ! strcmp(optarg, "mpeg") )
- main_PutIntVariable( INPUT_DVD_AUDIO_VAR, REQUESTED_MPEG );
+ main_PutIntVariable( INPUT_AUDIO_VAR, REQUESTED_MPEG );
else
- main_PutIntVariable( INPUT_DVD_AUDIO_VAR, REQUESTED_NOAUDIO );
+ main_PutIntVariable( INPUT_AUDIO_VAR, REQUESTED_NOAUDIO );
break;
case 'c':
- main_PutIntVariable( INPUT_DVD_CHANNEL_VAR, atoi(optarg) );
+ main_PutIntVariable( INPUT_CHANNEL_VAR, atoi(optarg) );
break;
case 's':
- main_PutIntVariable( INPUT_DVD_SUBTITLE_VAR, atoi(optarg) );
+ main_PutIntVariable( INPUT_SUBTITLE_VAR, atoi(optarg) );
break;
/* Input options */
/* DVD parameters */
intf_MsgImm( "\nDVD parameters:"
"\n " INPUT_DVD_DEVICE_VAR "=<device> \tDVD device"
- "\n " INPUT_DVD_AUDIO_VAR "={ac3|lpcm|mpeg|off} \taudio type"
- "\n " INPUT_DVD_CHANNEL_VAR "=[0-15] \taudio channel"
- "\n " INPUT_DVD_SUBTITLE_VAR "=[0-31] \tsubtitle channel" );
+ "\n " INPUT_AUDIO_VAR "={ac3|lpcm|mpeg|off} \taudio type"
+ "\n " INPUT_CHANNEL_VAR "=[0-15] \taudio channel"
+ "\n " INPUT_SUBTITLE_VAR "=[0-31] \tsubtitle channel" );
/* Input parameters */
intf_MsgImm( "\nInput parameters:\n"