]> git.sesse.net Git - vlc/commitdiff
Updated PDA interface.
authorJean-Paul Saman <jpsaman@videolan.org>
Sun, 29 Feb 2004 22:59:59 +0000 (22:59 +0000)
committerJean-Paul Saman <jpsaman@videolan.org>
Sun, 29 Feb 2004 22:59:59 +0000 (22:59 +0000)
modules/gui/pda/pda.c
modules/gui/pda/pda.glade
modules/gui/pda/pda_callbacks.c
modules/gui/pda/pda_interface.c

index 40f34dedad13983508610285ed841cc14e2f6e7b..449fcfbb4f1ad6e5a4118c2dee12e2c84103b2cb 100644 (file)
@@ -2,7 +2,7 @@
  * pda.c : PDA Gtk2 plugin for vlc
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: pda.c,v 1.21 2004/02/13 10:09:46 jpsaman Exp $
+ * $Id: pda.c,v 1.22 2004/02/29 22:59:59 jpsaman Exp $
  *
  * Authors: Jean-Paul Saman <jpsaman@wxs.nl>
  *          Marc Ariberti <marcari@videolan.org>
@@ -63,7 +63,7 @@ gint E_(GtkModeManage)   ( intf_thread_t * p_intf );
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin();
-    set_description( _("PDA Linux Gtk2+ interface") );
+    set_description( N_("PDA Linux Gtk2+ interface") );
 //    add_bool( "pda-autoplayfile", 1, GtkAutoPlayFile, AUTOPLAYFILE_TEXT, AUTOPLAYFILE_LONGTEXT, VLC_TRUE );
     set_capability( "interface", 70 );
     set_callbacks( Open, Close );
@@ -214,31 +214,31 @@ static void Run( intf_thread_t *p_intf )
 
     /* Insert columns 0 */
     p_renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvfile, 0, _("Filename"), p_renderer, NULL);
+    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvfile, 0, (gchar *) N_("Filename"), p_renderer, NULL);
     p_column = gtk_tree_view_get_column(p_intf->p_sys->p_tvfile, 0 );
     gtk_tree_view_column_add_attribute(p_column, p_renderer, "text", 0 );
     gtk_tree_view_column_set_sort_column_id(p_column, 0);
     /* Insert columns 1 */
     p_renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvfile, 1, _("Permissions"), p_renderer, NULL);
+    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvfile, 1, (gchar *) N_("Permissions"), p_renderer, NULL);
     p_column = gtk_tree_view_get_column(p_intf->p_sys->p_tvfile, 1 );
     gtk_tree_view_column_add_attribute(p_column, p_renderer, "text", 1 );
     gtk_tree_view_column_set_sort_column_id(p_column, 1);
     /* Insert columns 2 */
     p_renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvfile, 2, _("Size"), p_renderer, NULL);
+    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvfile, 2, (gchar *) N_("Size"), p_renderer, NULL);
     p_column = gtk_tree_view_get_column(p_intf->p_sys->p_tvfile, 2 );
     gtk_tree_view_column_add_attribute(p_column, p_renderer, "text", 2 );
     gtk_tree_view_column_set_sort_column_id(p_column, 2);
     /* Insert columns 3 */
     p_renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvfile, 3, _("Owner"), p_renderer, NULL);
+    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvfile, 3, (gchar *) N_("Owner"), p_renderer, NULL);
     p_column = gtk_tree_view_get_column(p_intf->p_sys->p_tvfile, 3 );
     gtk_tree_view_column_add_attribute(p_column, p_renderer, "text", 3 );
     gtk_tree_view_column_set_sort_column_id(p_column, 3);
     /* Insert columns 4 */
     p_renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvfile, 4, _("Group"), p_renderer, NULL);
+    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvfile, 4, (gchar *) N_("Group"), p_renderer, NULL);
     p_column = gtk_tree_view_get_column(p_intf->p_sys->p_tvfile, 4 );
     gtk_tree_view_column_add_attribute(p_column, p_renderer, "text", 4 );
     gtk_tree_view_column_set_sort_column_id(p_column, 4);
@@ -269,20 +269,20 @@ static void Run( intf_thread_t *p_intf )
 
     /* Columns 1 */
     p_renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvplaylist, 0, _("Filename"), p_renderer, NULL);
+    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvplaylist, 0, (gchar *) N_("Filename"), p_renderer, NULL);
     p_column = gtk_tree_view_get_column(p_intf->p_sys->p_tvplaylist, 0 );
     gtk_tree_view_column_add_attribute(p_column, p_renderer, "text", 0 );
     gtk_tree_view_column_set_sort_column_id(p_column, 0);
     /* Column 2 */
     p_renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvplaylist, 1, _("Time"), p_renderer, NULL);
+    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvplaylist, 1, (gchar *) N_("Time"), p_renderer, NULL);
     p_column = gtk_tree_view_get_column(p_intf->p_sys->p_tvplaylist, 1 );
     gtk_tree_view_column_add_attribute(p_column, p_renderer, "text", 1 );
     gtk_tree_view_column_set_sort_column_id(p_column, 1);
 #if 0
     /* Column 3 - is a hidden column used for reliable deleting items from the underlying playlist */
     p_renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvplaylist, 2, _("Index"), p_renderer, NULL);
+    gtk_tree_view_insert_column_with_attributes(p_intf->p_sys->p_tvplaylist, 2, (gchar *) N_("Index"), p_renderer, NULL);
     p_column = gtk_tree_view_get_column(p_intf->p_sys->p_tvplaylist, 2 );
     gtk_tree_view_column_add_attribute(p_column, p_renderer, "text", 2 );
     gtk_tree_view_column_set_sort_column_id(p_column, 2);
index ecd5474a139e9d27c49c0ab82993f6e72673ed6a..91be93d3edd745a98b27bfe51ca0cb41343c18f8 100644 (file)
                      <property name="width_request">35</property>
                      <property name="height_request">16</property>
                      <property name="visible">True</property>
-                     <property name="label">MRL:</property>
+                     <property name="label" translatable="yes">MRL:</property>
                      <property name="use_underline">False</property>
                      <property name="use_markup">False</property>
                      <property name="justify">GTK_JUSTIFY_CENTER</property>
                          <property name="editable">True</property>
                          <property name="visibility">True</property>
                          <property name="max_length">0</property>
-                         <property name="text"></property>
+                         <property name="text" translatable="yes"></property>
                          <property name="has_frame">True</property>
-                         <property name="invisible_char">*</property>
+                         <property name="invisible_char" translatable="yes">*</property>
                          <property name="activates_default">True</property>
                        </widget>
                      </child>
                            <widget class="GtkListItem" id="listitem340">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">udp://@:1234</property>
+                             <property name="label" translatable="yes">udp://@:1234</property>
                            </widget>
                          </child>
 
                            <widget class="GtkListItem" id="listitem341">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">udp6://@:1234</property>
+                             <property name="label" translatable="yes">udp6://@:1234</property>
                            </widget>
                          </child>
 
                            <widget class="GtkListItem" id="listitem342">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">rtp://</property>
+                             <property name="label" translatable="yes">rtp://</property>
                            </widget>
                          </child>
 
                            <widget class="GtkListItem" id="listitem343">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">rtp6://</property>
+                             <property name="label" translatable="yes">rtp6://</property>
                            </widget>
                          </child>
 
                            <widget class="GtkListItem" id="listitem344">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">ftp://</property>
+                             <property name="label" translatable="yes">ftp://</property>
                            </widget>
                          </child>
 
                            <widget class="GtkListItem" id="listitem345">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">http://</property>
+                             <property name="label" translatable="yes">http://</property>
                            </widget>
                          </child>
 
                            <widget class="GtkListItem" id="listitem346">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">mms://</property>
+                             <property name="label" translatable="yes">mms://</property>
                            </widget>
                          </child>
                        </widget>
                          <property name="editable">True</property>
                          <property name="visibility">True</property>
                          <property name="max_length">0</property>
-                         <property name="text"></property>
+                         <property name="text" translatable="yes"></property>
                          <property name="has_frame">True</property>
-                         <property name="invisible_char">*</property>
+                         <property name="invisible_char" translatable="yes">*</property>
                          <property name="activates_default">False</property>
                          <signal name="changed" handler="NetworkBuildMRL" last_modification_time="Sat, 08 Nov 2003 13:34:30 GMT"/>
                        </widget>
                          <property name="editable">True</property>
                          <property name="visibility">True</property>
                          <property name="max_length">0</property>
-                         <property name="text"></property>
+                         <property name="text" translatable="yes"></property>
                          <property name="has_frame">True</property>
-                         <property name="invisible_char">*</property>
+                         <property name="invisible_char" translatable="yes">*</property>
                          <property name="activates_default">True</property>
                          <signal name="changed" handler="NetworkBuildMRL" last_modification_time="Sat, 08 Nov 2003 13:34:45 GMT"/>
                        </widget>
                          <property name="editable">True</property>
                          <property name="visibility">True</property>
                          <property name="max_length">0</property>
-                         <property name="text"></property>
+                         <property name="text" translatable="yes"></property>
                          <property name="has_frame">True</property>
-                         <property name="invisible_char">*</property>
+                         <property name="invisible_char" translatable="yes">*</property>
                          <property name="activates_default">False</property>
                          <signal name="changed" handler="NetworkBuildMRL" last_modification_time="Sat, 08 Nov 2003 13:35:01 GMT"/>
                        </widget>
                            <widget class="GtkListItem" id="listitem1101">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">udp</property>
+                             <property name="label" translatable="yes">udp</property>
                            </widget>
                          </child>
 
                            <widget class="GtkListItem" id="listitem1102">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">udp6</property>
+                             <property name="label" translatable="yes">udp6</property>
                            </widget>
                          </child>
 
                            <widget class="GtkListItem" id="listitem1103">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">rtp</property>
+                             <property name="label" translatable="yes">rtp</property>
                            </widget>
                          </child>
 
                            <widget class="GtkListItem" id="listitem1104">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">rtp4</property>
+                             <property name="label" translatable="yes">rtp4</property>
                            </widget>
                          </child>
 
                            <widget class="GtkListItem" id="listitem1105">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">ftp</property>
+                             <property name="label" translatable="yes">ftp</property>
                            </widget>
                          </child>
 
                            <widget class="GtkListItem" id="listitem1106">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">http</property>
+                             <property name="label" translatable="yes">http</property>
                            </widget>
                          </child>
 
                            <widget class="GtkListItem" id="listitem1107">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">sout</property>
+                             <property name="label" translatable="yes">sout</property>
                            </widget>
                          </child>
 
                            <widget class="GtkListItem" id="listitem1108">
                              <property name="visible">True</property>
                              <property name="can_focus">True</property>
-                             <property name="label">mms</property>
+                             <property name="label" translatable="yes">mms</property>
                            </widget>
                          </child>
                        </widget>
                      <property name="y_options"></property>
                    </packing>
                  </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="labelNetworkTranscode">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">Transcode:</property>
+                     <property name="use_underline">False</property>
+                     <property name="use_markup">False</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">0</property>
+                     <property name="right_attach">1</property>
+                     <property name="top_attach">4</property>
+                     <property name="bottom_attach">5</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkCheckButton" id="checkNetworkTranscode">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">enable</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">1</property>
+                     <property name="right_attach">2</property>
+                     <property name="top_attach">4</property>
+                     <property name="bottom_attach">5</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
                </widget>
                <packing>
                  <property name="padding">0</property>
                      <child>
                        <widget class="GtkTable" id="tableV4L">
                          <property name="visible">True</property>
-                         <property name="n_rows">12</property>
+                         <property name="n_rows">13</property>
                          <property name="n_columns">2</property>
                          <property name="homogeneous">False</property>
                          <property name="row_spacing">0</property>
                                  <property name="editable">True</property>
                                  <property name="visibility">True</property>
                                  <property name="max_length">0</property>
-                                 <property name="text"></property>
+                                 <property name="text" translatable="yes"></property>
                                  <property name="has_frame">True</property>
-                                 <property name="invisible_char">*</property>
+                                 <property name="invisible_char" translatable="yes">*</property>
                                  <property name="activates_default">True</property>
                                </widget>
                              </child>
                                  <property name="editable">True</property>
                                  <property name="visibility">True</property>
                                  <property name="max_length">0</property>
-                                 <property name="text"></property>
+                                 <property name="text" translatable="yes"></property>
                                  <property name="has_frame">True</property>
-                                 <property name="invisible_char">*</property>
+                                 <property name="invisible_char" translatable="yes">*</property>
                                  <property name="activates_default">True</property>
                                </widget>
                              </child>
                                  <property name="editable">True</property>
                                  <property name="visibility">True</property>
                                  <property name="max_length">0</property>
-                                 <property name="text"></property>
+                                 <property name="text" translatable="yes"></property>
                                  <property name="has_frame">True</property>
-                                 <property name="invisible_char">*</property>
+                                 <property name="invisible_char" translatable="yes">*</property>
                                  <property name="activates_default">True</property>
                                </widget>
                              </child>
                                  <property name="editable">True</property>
                                  <property name="visibility">True</property>
                                  <property name="max_length">0</property>
-                                 <property name="text"></property>
+                                 <property name="text" translatable="yes"></property>
                                  <property name="has_frame">True</property>
-                                 <property name="invisible_char">*</property>
+                                 <property name="invisible_char" translatable="yes">*</property>
                                  <property name="activates_default">True</property>
                                </widget>
                              </child>
                                  <property name="editable">True</property>
                                  <property name="visibility">True</property>
                                  <property name="max_length">0</property>
-                                 <property name="text"></property>
+                                 <property name="text" translatable="yes"></property>
                                  <property name="has_frame">True</property>
-                                 <property name="invisible_char">*</property>
+                                 <property name="invisible_char" translatable="yes">*</property>
                                  <property name="activates_default">True</property>
                                </widget>
                              </child>
                              <property name="y_options"></property>
                            </packing>
                          </child>
+
+                         <child>
+                           <widget class="GtkLabel" id="labelV4LTranscode">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">Transcode:</property>
+                             <property name="use_underline">False</property>
+                             <property name="use_markup">False</property>
+                             <property name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="right_attach">1</property>
+                             <property name="top_attach">12</property>
+                             <property name="bottom_attach">13</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkV4LTranscode">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">enable</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">1</property>
+                             <property name="right_attach">2</property>
+                             <property name="top_attach">12</property>
+                             <property name="bottom_attach">13</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
                        </widget>
                      </child>
                    </widget>
                                  <property name="editable">True</property>
                                  <property name="visibility">True</property>
                                  <property name="max_length">0</property>
-                                 <property name="text"></property>
+                                 <property name="text" translatable="yes"></property>
                                  <property name="has_frame">True</property>
-                                 <property name="invisible_char">*</property>
+                                 <property name="invisible_char" translatable="yes">*</property>
                                  <property name="activates_default">True</property>
                                </widget>
                              </child>
                                  <property name="editable">True</property>
                                  <property name="visibility">True</property>
                                  <property name="max_length">0</property>
-                                 <property name="text"></property>
+                                 <property name="text" translatable="yes"></property>
                                  <property name="has_frame">True</property>
-                                 <property name="invisible_char">*</property>
+                                 <property name="invisible_char" translatable="yes">*</property>
                                  <property name="activates_default">True</property>
                                </widget>
                              </child>
                                  <property name="editable">True</property>
                                  <property name="visibility">True</property>
                                  <property name="max_length">0</property>
-                                 <property name="text"></property>
+                                 <property name="text" translatable="yes"></property>
                                  <property name="has_frame">True</property>
-                                 <property name="invisible_char">*</property>
+                                 <property name="invisible_char" translatable="yes">*</property>
                                  <property name="activates_default">True</property>
                                </widget>
                              </child>
                                  <property name="editable">True</property>
                                  <property name="visibility">True</property>
                                  <property name="max_length">0</property>
-                                 <property name="text"></property>
+                                 <property name="text" translatable="yes"></property>
                                  <property name="has_frame">True</property>
-                                 <property name="invisible_char">*</property>
+                                 <property name="invisible_char" translatable="yes">*</property>
                                  <property name="activates_default">True</property>
                                </widget>
                              </child>
                                  <property name="editable">True</property>
                                  <property name="visibility">True</property>
                                  <property name="max_length">0</property>
-                                 <property name="text"></property>
+                                 <property name="text" translatable="yes"></property>
                                  <property name="has_frame">True</property>
-                                 <property name="invisible_char">*</property>
+                                 <property name="invisible_char" translatable="yes">*</property>
                                  <property name="activates_default">True</property>
                                  <signal name="changed" handler="onEntryStdAccessChanged" last_modification_time="Sun, 30 Nov 2003 22:35:14 GMT"/>
                                </widget>
                                    <widget class="GtkListItem" id="listitem2386">
                                      <property name="visible">True</property>
                                      <property name="can_focus">True</property>
-                                     <property name="label" translatable="yes">display</property>
+
+                                     <child>
+                                       <placeholder/>
+                                     </child>
                                    </widget>
                                  </child>
 
                                  <property name="editable">True</property>
                                  <property name="visibility">True</property>
                                  <property name="max_length">0</property>
-                                 <property name="text"></property>
+                                 <property name="text" translatable="yes"></property>
                                  <property name="has_frame">True</property>
-                                 <property name="invisible_char">*</property>
+                                 <property name="invisible_char" translatable="yes">*</property>
                                  <property name="activates_default">False</property>
                                </widget>
                              </child>
index 984c4fa13d40c5c9b76bf55467ea790963fbb6ef..c7b2f48a2ff1a16b08fdc8da1f88a4b2ff23955a 100644 (file)
@@ -2,7 +2,7 @@
  * pda_callbacks.c : Callbacks for the pda Linux Gtk+ plugin.
  *****************************************************************************
  * Copyright (C) 2000, 2001 VideoLAN
- * $Id: pda_callbacks.c,v 1.28 2004/02/13 10:09:46 jpsaman Exp $
+ * $Id: pda_callbacks.c,v 1.29 2004/02/29 22:59:59 jpsaman Exp $
  *
  * Authors: Jean-Paul Saman <jpsaman@wxs.nl>
  *
@@ -110,7 +110,7 @@ void PlaylistAddItem(GtkWidget *widget, gchar *name, char **ppsz_options, int i_
         GtkTreeIter   p_play_iter;
 
         p_play_model = gtk_tree_view_get_model(p_tvplaylist);
-
+        
         if (p_play_model)
         {
             int i;
@@ -321,7 +321,7 @@ static char *get_file_perms(const struct stat st)
         psz_perm[8]= 'w';
     if (st.st_mode & S_IXOTH)
     {
-        // 'sticky' bit
+        /* 'sticky' bit */
         if (st.st_mode &S_ISVTX)
             psz_perm[9] = 't';
         else
@@ -424,7 +424,7 @@ void onAbout(GtkButton *button, gpointer user_data)
 {
     intf_thread_t *p_intf = GtkGetIntf( GTK_WIDGET(button) );
 
-    // Toggle notebook
+    /* Toggle notebook */
     if (p_intf->p_sys->p_notebook)
     {
         gtk_widget_show( GTK_WIDGET(p_intf->p_sys->p_notebook) );
@@ -588,17 +588,27 @@ void NetworkBuildMRL(GtkEditable *editable, gpointer user_data)
 
 void onAddNetworkPlaylist(GtkButton *button, gpointer user_data)
 {
-    GtkEntry     *p_mrl = NULL;
-    const gchar  *psz_mrl_name;
+    intf_thread_t  *p_intf = GtkGetIntf( button );
+
+    GtkEntry       *p_mrl = NULL;
+    GtkCheckButton *p_network_transcode = NULL;
+    gboolean        b_network_transcode;
+    const gchar    *psz_mrl_name;
 
     p_mrl = (GtkEntry*) lookup_widget(GTK_WIDGET(button),"entryMRL" );
-    if (p_mrl)
+    psz_mrl_name = gtk_entry_get_text(p_mrl);
+
+    p_network_transcode = (GtkCheckButton*) lookup_widget(GTK_WIDGET(button), "checkNetworkTranscode" );
+    b_network_transcode = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(p_network_transcode));
+    if (b_network_transcode)
     {
-        psz_mrl_name = gtk_entry_get_text(p_mrl);
-        if (psz_mrl_name != NULL)
-        {
-            PlaylistAddItem(GTK_WIDGET(button), (gchar *)psz_mrl_name, 0, 0);
-        }
+        msg_Dbg( p_intf, "Network transcode option selected." );
+        onAddTranscodeToPlaylist(GTK_WIDGET(button), (gchar *)psz_mrl_name);
+    }
+    else
+    {
+        msg_Dbg( p_intf, "Network receiving selected." );
+        PlaylistAddItem(GTK_WIDGET(button), (gchar *)psz_mrl_name, 0, 0);
     }
 }
 
@@ -636,6 +646,9 @@ void onAddCameraToPlaylist(GtkButton *button, gpointer user_data)
     gint            i_v4l_decimation;
     /* end MJPEG only */
 
+    GtkCheckButton  *p_check_v4l_transcode = NULL;
+    gboolean         b_v4l_transcode;
+    
     char **ppsz_options = NULL; /* list of options */
     int  i_options=0;
     char v4l_mrl[6];
@@ -723,7 +736,18 @@ void onAddCameraToPlaylist(GtkButton *button, gpointer user_data)
     }
     /* end MJPEG only */
 
-    PlaylistAddItem(GTK_WIDGET(button), (gchar*) &v4l_mrl, ppsz_options, i_options);
+    p_check_v4l_transcode = (GtkCheckButton*) lookup_widget(GTK_WIDGET(button), "checkV4LTranscode" );
+    b_v4l_transcode = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(p_check_v4l_transcode));
+    if (b_v4l_transcode)
+    {
+        msg_Dbg( p_intf, "Camera transcode option selected." );
+        onAddTranscodeToPlaylist(GTK_WIDGET(button), (gchar *)v4l_mrl);
+    }
+    else
+    {
+        msg_Dbg( p_intf, "Camera reception option selected." );
+        PlaylistAddItem(GTK_WIDGET(button), (gchar*) &v4l_mrl, ppsz_options, i_options);
+    }
 }
 
 
@@ -1018,6 +1042,11 @@ void onAddTranscodeToPlaylist(GtkButton *button, gpointer user_data)
         }
     }
 
+    /* Update the playlist */
+    playlist_t *p_playlist = (playlist_t *)vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
+    if( p_playlist == NULL ) return;
+
+    /* Get all the options. */
     i_pos = snprintf( &mrl[0], VLC_MAX_MRL, "sout");
     mrl[6] = '\0';
     /* option 1 */
@@ -1065,7 +1094,7 @@ void onAddTranscodeToPlaylist(GtkButton *button, gpointer user_data)
 
     /* option 2 */
     i_pos = 0;
-    i_pos = snprintf( &ppsz_options[i_options++][i_pos], VLC_MAX_MRL - i_pos, "dst=" );
+    i_pos = snprintf( &ppsz_options[i_options++][i_pos], VLC_MAX_MRL - i_pos, "#" );
     if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
 
     p_entryStdAccess = (GtkEntry*) lookup_widget( GTK_WIDGET(button), "entryStdAccess" );
@@ -1081,46 +1110,42 @@ void onAddTranscodeToPlaylist(GtkButton *button, gpointer user_data)
     b_sap_announce = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(p_checkSAP));
     b_slp_announce = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(p_checkSLP));
 
-    if ( strncasecmp( (const char*)p_std_access, "display", 7 ) == 0)
-    {
-        i_pos += snprintf( &ppsz_options[i_options][i_pos], VLC_MAX_MRL - i_pos, "%s,", (char*)p_std_access);
-        if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
-    }
-    else
-    {
-        i_pos += snprintf( &ppsz_options[i_options][i_pos], VLC_MAX_MRL - i_pos, "std{access=%s,", (char*)p_std_access);
-        if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
-        i_pos += snprintf( &ppsz_options[i_options][i_pos], VLC_MAX_MRL - i_pos, "mux=%s,", (char*)p_std_muxer);
-        if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
-        i_pos += snprintf( &ppsz_options[i_options][i_pos], VLC_MAX_MRL - i_pos, "url=%s", (char*)p_std_url);
-        if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
+    i_pos += snprintf( &ppsz_options[i_options][i_pos], VLC_MAX_MRL - i_pos, "std{access=%s,", (char*)p_std_access);
+    if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
+    i_pos += snprintf( &ppsz_options[i_options][i_pos], VLC_MAX_MRL - i_pos, "mux=%s,", (char*)p_std_muxer);
+    if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
+    i_pos += snprintf( &ppsz_options[i_options][i_pos], VLC_MAX_MRL - i_pos, "url=%s", (char*)p_std_url);
+    if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
 
-        if (strncasecmp( (const char*)p_std_access, "udp", 3)==0)
+    if (strncasecmp( (const char*)p_std_access, "udp", 3)==0)
+    {
+        if (b_sap_announce)
         {
-            if (b_sap_announce)
-            {
-                i_pos += snprintf( &ppsz_options[i_options][i_pos], VLC_MAX_MRL - i_pos, "sap=%s", (char*)p_std_announce);
-                if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
-            }
-            if (b_slp_announce)
-            {
-                i_pos += snprintf( &ppsz_options[i_options][i_pos], VLC_MAX_MRL - i_pos, "slp=%s", (char*)p_std_announce);
-                if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
-            }
+            i_pos += snprintf( &ppsz_options[i_options][i_pos], VLC_MAX_MRL - i_pos, "sap=%s", (char*)p_std_announce);
+            if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
+        }
+        if (b_slp_announce)
+        {
+            i_pos += snprintf( &ppsz_options[i_options][i_pos], VLC_MAX_MRL - i_pos, "slp=%s", (char*)p_std_announce);
+            if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
         }
-        i_pos += snprintf( &ppsz_options[i_options][i_pos], VLC_MAX_MRL - i_pos, "}");
-        if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
-
-        i_std_ttl = gtk_spin_button_get_value_as_int(p_entryStdTTL);
-
-        i_pos = snprintf( &ppsz_options[i_options++][0], VLC_MAX_MRL, "ttl=%d", (int)i_std_ttl);
-        if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
     }
 
-    PlaylistAddItem(GTK_WIDGET(button), (gchar*) &mrl, ppsz_options, i_options);
-}
+    i_std_ttl = gtk_spin_button_get_value_as_int(p_entryStdTTL);
 
+    i_pos += snprintf( &ppsz_options[i_options++][i_pos], VLC_MAX_MRL - i_pos, "ttl=%d}", (int)i_std_ttl);
+    if (i_pos>=VLC_MAX_MRL) ppsz_options[i_options][VLC_MAX_MRL-1] = '\0';
 
+    if (user_data != NULL)
+    {
+      msg_Dbg(p_intf, "Adding transcoding options to playlist item." );
+    }
+    else
+    {
+      msg_Dbg(p_intf, "Adding --sout to playlist." );
+      PlaylistAddItem(GTK_WIDGET(button), (gchar*) &mrl, ppsz_options, i_options);
+    }
+}
 
 void onEntryStdAccessChanged(GtkEditable *editable, gpointer user_data)
 {
index 0ab64d9007c4def36f340cacb1aeb0c96104be63..b00fdac3976bc1a602f6e3657265d09d131b22f6 100644 (file)
@@ -1,6 +1,10 @@
-/* This file was created automatically by glade2 and fixed by bootstrap */
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
 
-#include <vlc/vlc.h>
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -69,6 +73,8 @@ create_pda (void)
   GList *comboNetworkProtocolType_items = NULL;
   GtkWidget *entryNetworkProtocolType;
   GtkWidget *labelNetworkProtocol;
+  GtkWidget *labelNetworkTranscode;
+  GtkWidget *checkNetworkTranscode;
   GtkWidget *hbox13;
   GtkWidget *AddNetworkPlaylist;
   GtkWidget *Network;
@@ -116,6 +122,8 @@ create_pda (void)
   GtkWidget *checkV4LMJPEG;
   GtkObject *entryV4LDecimation_adj;
   GtkWidget *entryV4LDecimation;
+  GtkWidget *labelV4LTranscode;
+  GtkWidget *checkV4LTranscode;
   GtkWidget *hbox16;
   GtkWidget *AddCameraToPlaylist;
   GtkWidget *Camera;
@@ -158,7 +166,6 @@ create_pda (void)
   GtkWidget *entryVideoBitrate;
   GtkWidget *labelAudioBitrate;
   GtkWidget *comboStdAccess;
-  GList *comboStdAccess_items = NULL;
   GtkWidget *entryStdAccess;
   GtkWidget *labelSAP;
   GtkWidget *checkSAP;
@@ -304,7 +311,6 @@ create_pda (void)
   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
 
   gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar), timeLabel, NULL, NULL);
-  gtk_label_set_justify (GTK_LABEL (timeLabel), GTK_JUSTIFY_CENTER);
 
   timeSlider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 6.25, 0)));
   gtk_widget_set_name (timeSlider, "timeSlider");
@@ -361,7 +367,6 @@ create_pda (void)
   gtk_widget_set_name (File, "File");
   gtk_widget_show (File);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 0), File);
-  gtk_label_set_justify (GTK_LABEL (File), GTK_JUSTIFY_CENTER);
 
   vbox5 = gtk_vbox_new (FALSE, 0);
   gtk_widget_set_name (vbox5, "vbox5");
@@ -376,12 +381,11 @@ create_pda (void)
   gtk_box_pack_start (GTK_BOX (vbox5), hbox12, FALSE, FALSE, 0);
   gtk_widget_set_size_request (hbox12, 247, 26);
 
-  labelNetworkMRL = gtk_label_new (_("MRL :"));
+  labelNetworkMRL = gtk_label_new (_("MRL:"));
   gtk_widget_set_name (labelNetworkMRL, "labelNetworkMRL");
   gtk_widget_show (labelNetworkMRL);
   gtk_box_pack_start (GTK_BOX (hbox12), labelNetworkMRL, FALSE, FALSE, 0);
   gtk_widget_set_size_request (labelNetworkMRL, 35, 16);
-  gtk_label_set_justify (GTK_LABEL (labelNetworkMRL), GTK_JUSTIFY_CENTER);
 
   comboMRL = gtk_combo_new ();
   g_object_set_data (G_OBJECT (GTK_COMBO (comboMRL)->popwin),
@@ -389,13 +393,13 @@ create_pda (void)
   gtk_widget_set_name (comboMRL, "comboMRL");
   gtk_widget_show (comboMRL);
   gtk_box_pack_start (GTK_BOX (hbox12), comboMRL, TRUE, TRUE, 0);
-  comboMRL_items = g_list_append (comboMRL_items, (gpointer) "udp://@:1234");
-  comboMRL_items = g_list_append (comboMRL_items, (gpointer) "udp6://@:1234");
-  comboMRL_items = g_list_append (comboMRL_items, (gpointer) "rtp://");
-  comboMRL_items = g_list_append (comboMRL_items, (gpointer) "rtp6://");
-  comboMRL_items = g_list_append (comboMRL_items, (gpointer) "ftp://");
-  comboMRL_items = g_list_append (comboMRL_items, (gpointer) "http://");
-  comboMRL_items = g_list_append (comboMRL_items, (gpointer) "mms://");
+  comboMRL_items = g_list_append (comboMRL_items, (gpointer) _("udp://@:1234"));
+  comboMRL_items = g_list_append (comboMRL_items, (gpointer) _("udp6://@:1234"));
+  comboMRL_items = g_list_append (comboMRL_items, (gpointer) _("rtp://"));
+  comboMRL_items = g_list_append (comboMRL_items, (gpointer) _("rtp6://"));
+  comboMRL_items = g_list_append (comboMRL_items, (gpointer) _("ftp://"));
+  comboMRL_items = g_list_append (comboMRL_items, (gpointer) _("http://"));
+  comboMRL_items = g_list_append (comboMRL_items, (gpointer) _("mms://"));
   gtk_combo_set_popdown_strings (GTK_COMBO (comboMRL), comboMRL_items);
   g_list_free (comboMRL_items);
 
@@ -409,7 +413,7 @@ create_pda (void)
   gtk_widget_set_name (hseparator15, "hseparator15");
   gtk_widget_show (hseparator15);
   gtk_box_pack_start (GTK_BOX (vbox5), hseparator15, FALSE, FALSE, 0);
-  gtk_widget_set_size_request (hseparator15, -1, 10);
+  gtk_widget_set_size_request (hseparator15, -2, 10);
 
   table2 = gtk_table_new (6, 2, FALSE);
   gtk_widget_set_name (table2, "table2");
@@ -422,6 +426,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (table2), labelNetworkPort, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelNetworkPort), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelNetworkPort), 0, 0.5);
 
   labelNetworkAddress = gtk_label_new (_("Address:"));
@@ -430,6 +435,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (table2), labelNetworkAddress, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelNetworkAddress), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelNetworkAddress), 0, 0.5);
 
   entryNetworkPort_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
@@ -478,6 +484,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (table2), labelNetworkType, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelNetworkType), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelNetworkType), 0, 0.5);
 
   comboNetworkProtocolType = gtk_combo_new ();
@@ -509,8 +516,25 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (table2), labelNetworkProtocol, 0, 1, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelNetworkProtocol), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelNetworkProtocol), 0, 0.5);
 
+  labelNetworkTranscode = gtk_label_new (_("Transcode:"));
+  gtk_widget_set_name (labelNetworkTranscode, "labelNetworkTranscode");
+  gtk_widget_show (labelNetworkTranscode);
+  gtk_table_attach (GTK_TABLE (table2), labelNetworkTranscode, 0, 1, 4, 5,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelNetworkTranscode), GTK_JUSTIFY_LEFT);
+  gtk_misc_set_alignment (GTK_MISC (labelNetworkTranscode), 0, 0.5);
+
+  checkNetworkTranscode = gtk_check_button_new_with_mnemonic (_("enable"));
+  gtk_widget_set_name (checkNetworkTranscode, "checkNetworkTranscode");
+  gtk_widget_show (checkNetworkTranscode);
+  gtk_table_attach (GTK_TABLE (table2), checkNetworkTranscode, 1, 2, 4, 5,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
   hbox13 = gtk_hbox_new (FALSE, 0);
   gtk_widget_set_name (hbox13, "hbox13");
   gtk_widget_show (hbox13);
@@ -525,7 +549,6 @@ create_pda (void)
   gtk_widget_set_name (Network, "Network");
   gtk_widget_show (Network);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 1), Network);
-  gtk_label_set_justify (GTK_LABEL (Network), GTK_JUSTIFY_CENTER);
 
   vbox7 = gtk_vbox_new (FALSE, 0);
   gtk_widget_set_name (vbox7, "vbox7");
@@ -544,7 +567,7 @@ create_pda (void)
   gtk_container_add (GTK_CONTAINER (scrolledV4Lwindow), viewportV4L);
   gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewportV4L), GTK_SHADOW_OUT);
 
-  tableV4L = gtk_table_new (12, 2, FALSE);
+  tableV4L = gtk_table_new (13, 2, FALSE);
   gtk_widget_set_name (tableV4L, "tableV4L");
   gtk_widget_show (tableV4L);
   gtk_container_add (GTK_CONTAINER (viewportV4L), tableV4L);
@@ -555,6 +578,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableV4L), labelV4lVideDevice, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelV4lVideDevice), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelV4lVideDevice), 0, 0.5);
 
   labelV4LAudioDevice = gtk_label_new (_("Audio:"));
@@ -563,6 +587,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableV4L), labelV4LAudioDevice, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelV4LAudioDevice), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelV4LAudioDevice), 0, 0.5);
 
   labelV4LChannel = gtk_label_new (_("Channel:"));
@@ -571,6 +596,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableV4L), labelV4LChannel, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelV4LChannel), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelV4LChannel), 0, 0.5);
 
   labelV4LNorm = gtk_label_new (_("Norm:"));
@@ -579,6 +605,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableV4L), labelV4LNorm, 0, 1, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelV4LNorm), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelV4LNorm), 0, 0.5);
 
   labelV4LSize = gtk_label_new (_("Size:"));
@@ -587,6 +614,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableV4L), labelV4LSize, 0, 1, 4, 5,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelV4LSize), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelV4LSize), 0, 0.5);
 
   labelV4LFrequency = gtk_label_new (_("Frequency:"));
@@ -595,6 +623,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableV4L), labelV4LFrequency, 0, 1, 5, 6,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelV4LFrequency), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelV4LFrequency), 0, 0.5);
 
   labelV4LSampleRate = gtk_label_new (_("Samplerate:"));
@@ -603,6 +632,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableV4L), labelV4LSampleRate, 0, 1, 6, 7,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelV4LSampleRate), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelV4LSampleRate), 0, 0.5);
 
   labelV4LQuality = gtk_label_new (_("Quality:"));
@@ -611,6 +641,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableV4L), labelV4LQuality, 0, 1, 7, 8,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelV4LQuality), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelV4LQuality), 0, 0.5);
 
   labelV4LTuner = gtk_label_new (_("Tuner:"));
@@ -619,6 +650,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableV4L), labelV4LTuner, 0, 1, 9, 10,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelV4LTuner), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelV4LTuner), 0, 0.5);
 
   labelV4LSoundDirection = gtk_label_new (_("Sound:"));
@@ -627,6 +659,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableV4L), labelV4LSoundDirection, 0, 1, 8, 9,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelV4LSoundDirection), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelV4LSoundDirection), 0, 0.5);
 
   labelV4LMJPEG = gtk_label_new (_("MJPEG:"));
@@ -635,6 +668,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableV4L), labelV4LMJPEG, 0, 1, 10, 11,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelV4LMJPEG), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelV4LMJPEG), 0, 0.5);
 
   labelV4LDecimation = gtk_label_new (_("Decimation:"));
@@ -643,6 +677,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableV4L), labelV4LDecimation, 0, 1, 11, 12,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelV4LDecimation), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelV4LDecimation), 0, 0.5);
 
   comboV4lVideoDevice = gtk_combo_new ();
@@ -654,9 +689,9 @@ create_pda (void)
                     (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_combo_set_value_in_list (GTK_COMBO (comboV4lVideoDevice), TRUE, TRUE);
-  comboV4lVideoDevice_items = g_list_append (comboV4lVideoDevice_items, (gpointer) "/dev/video");
-  comboV4lVideoDevice_items = g_list_append (comboV4lVideoDevice_items, (gpointer) "/dev/video0");
-  comboV4lVideoDevice_items = g_list_append (comboV4lVideoDevice_items, (gpointer) "/dev/video1");
+  comboV4lVideoDevice_items = g_list_append (comboV4lVideoDevice_items, (gpointer) _("/dev/video"));
+  comboV4lVideoDevice_items = g_list_append (comboV4lVideoDevice_items, (gpointer) _("/dev/video0"));
+  comboV4lVideoDevice_items = g_list_append (comboV4lVideoDevice_items, (gpointer) _("/dev/video1"));
   gtk_combo_set_popdown_strings (GTK_COMBO (comboV4lVideoDevice), comboV4lVideoDevice_items);
   g_list_free (comboV4lVideoDevice_items);
 
@@ -673,10 +708,10 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableV4L), comboV4lAudioDevice, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  comboV4lAudioDevice_items = g_list_append (comboV4lAudioDevice_items, (gpointer) "/dev/dsp");
-  comboV4lAudioDevice_items = g_list_append (comboV4lAudioDevice_items, (gpointer) "/dev/audio");
-  comboV4lAudioDevice_items = g_list_append (comboV4lAudioDevice_items, (gpointer) "/dev/audio0");
-  comboV4lAudioDevice_items = g_list_append (comboV4lAudioDevice_items, (gpointer) "/dev/audio1");
+  comboV4lAudioDevice_items = g_list_append (comboV4lAudioDevice_items, (gpointer) _("/dev/dsp"));
+  comboV4lAudioDevice_items = g_list_append (comboV4lAudioDevice_items, (gpointer) _("/dev/audio"));
+  comboV4lAudioDevice_items = g_list_append (comboV4lAudioDevice_items, (gpointer) _("/dev/audio0"));
+  comboV4lAudioDevice_items = g_list_append (comboV4lAudioDevice_items, (gpointer) _("/dev/audio1"));
   gtk_combo_set_popdown_strings (GTK_COMBO (comboV4lAudioDevice), comboV4lAudioDevice_items);
   g_list_free (comboV4lAudioDevice_items);
 
@@ -810,6 +845,22 @@ create_pda (void)
                     (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
+  labelV4LTranscode = gtk_label_new (_("Transcode:"));
+  gtk_widget_set_name (labelV4LTranscode, "labelV4LTranscode");
+  gtk_widget_show (labelV4LTranscode);
+  gtk_table_attach (GTK_TABLE (tableV4L), labelV4LTranscode, 0, 1, 12, 13,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelV4LTranscode), GTK_JUSTIFY_LEFT);
+  gtk_misc_set_alignment (GTK_MISC (labelV4LTranscode), 0, 0.5);
+
+  checkV4LTranscode = gtk_check_button_new_with_mnemonic (_("enable"));
+  gtk_widget_set_name (checkV4LTranscode, "checkV4LTranscode");
+  gtk_widget_show (checkV4LTranscode);
+  gtk_table_attach (GTK_TABLE (tableV4L), checkV4LTranscode, 1, 2, 12, 13,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
   hbox16 = gtk_hbox_new (FALSE, 0);
   gtk_widget_set_name (hbox16, "hbox16");
   gtk_widget_show (hbox16);
@@ -824,6 +875,7 @@ create_pda (void)
   gtk_widget_set_name (Camera, "Camera");
   gtk_widget_show (Camera);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 2), Camera);
+  gtk_label_set_justify (GTK_LABEL (Camera), GTK_JUSTIFY_LEFT);
 
   vbox1 = gtk_vbox_new (FALSE, 0);
   gtk_widget_set_name (vbox1, "vbox1");
@@ -852,6 +904,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelVideoCodec, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelVideoCodec), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelVideoCodec), 0, 0.5);
 
   comboVideoCodec = gtk_combo_new ();
@@ -884,6 +937,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelVideoBitrate, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelVideoBitrate), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelVideoBitrate), 0, 0.5);
 
   labelVideoBitrateTolerance = gtk_label_new (_("Bitrate Tolerance:"));
@@ -892,6 +946,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelVideoBitrateTolerance, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelVideoBitrateTolerance), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelVideoBitrateTolerance), 0, 0.5);
 
   labelVideoKeyInterval = gtk_label_new (_("Keyframe Interval:"));
@@ -900,6 +955,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelVideoKeyInterval, 0, 1, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelVideoKeyInterval), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelVideoKeyInterval), 0, 0.5);
 
   labelAudioCodec = gtk_label_new (_("Audio Codec:"));
@@ -908,6 +964,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelAudioCodec, 0, 1, 5, 6,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelAudioCodec), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelAudioCodec), 0, 0.5);
 
   labelVideoDeinterlace = gtk_label_new (_("Deinterlace:"));
@@ -916,6 +973,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelVideoDeinterlace, 0, 1, 4, 5,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelVideoDeinterlace), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelVideoDeinterlace), 0, 0.5);
 
   labelStdAccess = gtk_label_new (_("Access:"));
@@ -924,6 +982,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelStdAccess, 0, 1, 7, 8,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelStdAccess), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelStdAccess), 0, 0.5);
 
   labelStdMuxer = gtk_label_new (_("Muxer:"));
@@ -932,6 +991,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelStdMuxer, 0, 1, 8, 9,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelStdMuxer), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelStdMuxer), 0, 0.5);
 
   labelStdUrl = gtk_label_new (_("URL:"));
@@ -940,6 +1000,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelStdUrl, 0, 1, 9, 10,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelStdUrl), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelStdUrl), 0, 0.5);
 
   labelStdTimeToLive = gtk_label_new (_("Time To Live (TTL):"));
@@ -948,6 +1009,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelStdTimeToLive, 0, 1, 10, 11,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelStdTimeToLive), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelStdTimeToLive), 0, 0.5);
 
   entryStdTTL_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
@@ -1076,6 +1138,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelAudioBitrate, 0, 1, 6, 7,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelAudioBitrate), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelAudioBitrate), 0, 0.5);
 
   comboStdAccess = gtk_combo_new ();
@@ -1086,16 +1149,6 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), comboStdAccess, 1, 2, 7, 8,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  comboStdAccess_items = g_list_append (comboStdAccess_items, (gpointer) _("udp"));
-  comboStdAccess_items = g_list_append (comboStdAccess_items, (gpointer) _("display"));
-  comboStdAccess_items = g_list_append (comboStdAccess_items, (gpointer) _("file"));
-  comboStdAccess_items = g_list_append (comboStdAccess_items, (gpointer) _("http"));
-  comboStdAccess_items = g_list_append (comboStdAccess_items, (gpointer) _("mmsh"));
-  comboStdAccess_items = g_list_append (comboStdAccess_items, (gpointer) _("rtp"));
-  comboStdAccess_items = g_list_append (comboStdAccess_items, (gpointer) _("http"));
-  comboStdAccess_items = g_list_append (comboStdAccess_items, (gpointer) _("ftp"));
-  gtk_combo_set_popdown_strings (GTK_COMBO (comboStdAccess), comboStdAccess_items);
-  g_list_free (comboStdAccess_items);
 
   entryStdAccess = GTK_COMBO (comboStdAccess)->entry;
   gtk_widget_set_name (entryStdAccess, "entryStdAccess");
@@ -1108,6 +1161,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelSAP, 0, 1, 11, 12,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelSAP), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelSAP), 0, 0.5);
 
   checkSAP = gtk_check_button_new_with_mnemonic (_("enable"));
@@ -1130,6 +1184,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelSLP_, 0, 1, 12, 13,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelSLP_), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelSLP_), 0, 0.5);
 
   labelAnounceChannel = gtk_label_new (_("Announce Channel:"));
@@ -1138,6 +1193,7 @@ create_pda (void)
   gtk_table_attach (GTK_TABLE (tableTranscode), labelAnounceChannel, 0, 1, 13, 14,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (labelAnounceChannel), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (labelAnounceChannel), 0, 0.5);
 
   comboAnnounceChannel = gtk_combo_new ();
@@ -1167,7 +1223,6 @@ create_pda (void)
   gtk_widget_set_name (Transcode, "Transcode");
   gtk_widget_show (Transcode);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 3), Transcode);
-  gtk_label_set_justify (GTK_LABEL (Transcode), GTK_JUSTIFY_CENTER);
 
   vbox4 = gtk_vbox_new (FALSE, 0);
   gtk_widget_set_name (vbox4, "vbox4");
@@ -1211,7 +1266,6 @@ create_pda (void)
   gtk_widget_set_name (playlist, "playlist");
   gtk_widget_show (playlist);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 4), playlist);
-  gtk_label_set_justify (GTK_LABEL (playlist), GTK_JUSTIFY_CENTER);
 
   vbox2 = gtk_vbox_new (FALSE, 0);
   gtk_widget_set_name (vbox2, "vbox2");
@@ -1253,7 +1307,6 @@ create_pda (void)
   gtk_widget_set_name (preferences, "preferences");
   gtk_widget_show (preferences);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 5), preferences);
-  gtk_label_set_justify (GTK_LABEL (preferences), GTK_JUSTIFY_CENTER);
 
   scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL);
   gtk_widget_set_name (scrolledwindow3, "scrolledwindow3");
@@ -1283,6 +1336,7 @@ create_pda (void)
   gtk_widget_show (labelDescription);
   gtk_fixed_put (GTK_FIXED (fixed2), labelDescription, 16, 112);
   gtk_widget_set_size_request (labelDescription, 200, 112);
+  gtk_label_set_justify (GTK_LABEL (labelDescription), GTK_JUSTIFY_LEFT);
   gtk_label_set_line_wrap (GTK_LABEL (labelDescription), TRUE);
 
   labelAuthors = gtk_label_new (_("Authors: the VideoLAN Team, http://www.videolan.org/team/"));
@@ -1290,28 +1344,26 @@ create_pda (void)
   gtk_widget_show (labelAuthors);
   gtk_fixed_put (GTK_FIXED (fixed2), labelAuthors, 16, 72);
   gtk_widget_set_size_request (labelAuthors, 208, 32);
+  gtk_label_set_justify (GTK_LABEL (labelAuthors), GTK_JUSTIFY_LEFT);
   gtk_label_set_line_wrap (GTK_LABEL (labelAuthors), TRUE);
 
-  labelCopyright = gtk_label_new (_("(c) 1996-2003 the VideoLAN team"));
+  labelCopyright = gtk_label_new (_("(c) 1996-2004 the VideoLAN team"));
   gtk_widget_set_name (labelCopyright, "labelCopyright");
   gtk_widget_show (labelCopyright);
   gtk_fixed_put (GTK_FIXED (fixed2), labelCopyright, 16, 48);
   gtk_widget_set_size_request (labelCopyright, 208, 16);
-  gtk_label_set_justify (GTK_LABEL (labelCopyright), GTK_JUSTIFY_CENTER);
 
   labelProgramName = gtk_label_new (_("VLC media player"));
   gtk_widget_set_name (labelProgramName, "labelProgramName");
   gtk_widget_show (labelProgramName);
   gtk_fixed_put (GTK_FIXED (fixed2), labelProgramName, 48, 16);
   gtk_widget_set_size_request (labelProgramName, 152, 16);
-  gtk_label_set_justify (GTK_LABEL (labelProgramName), GTK_JUSTIFY_CENTER);
   gtk_label_set_line_wrap (GTK_LABEL (labelProgramName), TRUE);
 
   about = gtk_label_new (_("About"));
   gtk_widget_set_name (about, "about");
   gtk_widget_show (about);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 6), about);
-  gtk_label_set_justify (GTK_LABEL (about), GTK_JUSTIFY_CENTER);
 
   g_signal_connect ((gpointer) pda, "delete_event",
                     G_CALLBACK (onPDADeleteEvent),
@@ -1443,6 +1495,8 @@ create_pda (void)
   GLADE_HOOKUP_OBJECT (pda, comboNetworkProtocolType, "comboNetworkProtocolType");
   GLADE_HOOKUP_OBJECT (pda, entryNetworkProtocolType, "entryNetworkProtocolType");
   GLADE_HOOKUP_OBJECT (pda, labelNetworkProtocol, "labelNetworkProtocol");
+  GLADE_HOOKUP_OBJECT (pda, labelNetworkTranscode, "labelNetworkTranscode");
+  GLADE_HOOKUP_OBJECT (pda, checkNetworkTranscode, "checkNetworkTranscode");
   GLADE_HOOKUP_OBJECT (pda, hbox13, "hbox13");
   GLADE_HOOKUP_OBJECT (pda, AddNetworkPlaylist, "AddNetworkPlaylist");
   GLADE_HOOKUP_OBJECT (pda, Network, "Network");
@@ -1479,6 +1533,8 @@ create_pda (void)
   GLADE_HOOKUP_OBJECT (pda, entryV4LTuner, "entryV4LTuner");
   GLADE_HOOKUP_OBJECT (pda, checkV4LMJPEG, "checkV4LMJPEG");
   GLADE_HOOKUP_OBJECT (pda, entryV4LDecimation, "entryV4LDecimation");
+  GLADE_HOOKUP_OBJECT (pda, labelV4LTranscode, "labelV4LTranscode");
+  GLADE_HOOKUP_OBJECT (pda, checkV4LTranscode, "checkV4LTranscode");
   GLADE_HOOKUP_OBJECT (pda, hbox16, "hbox16");
   GLADE_HOOKUP_OBJECT (pda, AddCameraToPlaylist, "AddCameraToPlaylist");
   GLADE_HOOKUP_OBJECT (pda, Camera, "Camera");