]> git.sesse.net Git - vlc/blobdiff - modules/gui/wxwidgets/dialogs/wizard.cpp
Merge back branch 0.8.6-playlist-vlm to trunk.
[vlc] / modules / gui / wxwidgets / dialogs / wizard.cpp
index 4b6de335aba909aab4e40872cd41751b32fcec5d..800915a583cb46678b43b72b76d58a91f7a47f21 100644 (file)
@@ -31,6 +31,7 @@
 #include <wx/listctrl.h>
 #include <wx/statline.h>
 #include <network.h>
+#include <charset.h>
 
 class wizHelloPage;
 class wizInputPage;
@@ -87,74 +88,80 @@ END_EVENT_TABLE()
 #define HELLO_STREAMING _("Stream to network")
 #define HELLO_STREAMING_DESC _("Use this to stream on a network.")
 #define HELLO_TRANSCODE _("Transcode/Save to file")
-#define HELLO_TRANSCODE_DESC _("Use this to re-encode a stream and save it to a file.")
-#define HELLO_NOTICE _("This wizard only gives access to a small subset of VLC's streaming and transcoding capabilities. Use the Open and Stream Output dialogs to get all of them.")
+#define HELLO_TRANSCODE_DESC _("Use this to re-encode a stream and save it "\
+        "to a file.")
+#define HELLO_NOTICE _("This wizard only contains a small subset " \
+        "of VLC's streaming and transcoding capabilities. Use the Open "\
+        "and Stream Output dialogs to access all of them.")
 
 #define MOREINFO_STREAM _("Use this to stream on a network")
 
-#define MOREINFO_TRANSCODE _("Use this to save a stream to a file. You have the possibility to reencode the stream. You can save whatever VLC can read.\nPlease notice that VLC is not very suited " \
-             "for file to file transcoding. You should use its transcoding " \
-             "features to save network streams, for example." )
+#define MOREINFO_TRANSCODE _("Saves the stream to a file. The stream must " \
+        "be a format that VLC recognizes. If desired, the stream can also " \
+        "be transcoded to another format.\n\nPlease note that VLC is not very" \
+        " suited for file-to-file transcoding. Its transcoding " \
+        "features are more appropriate for saving network streams." )
 
 /* Input page */
-#define INPUT_TITLE _("Choose input")
-#define INPUT_TEXT _("Choose here your input stream.")
+#define INPUT_TITLE _("Input")
+#define INPUT_TEXT _("Input stream")
 
 #define INPUT_OPEN _("Select a stream" )
 #define INPUT_PL _( "Existing playlist item" )
 
 #define CHOOSE_STREAM _("You must choose a stream")
-#define NO_PLAYLIST _("Uh Oh! Unable to find playlist !")
+#define NO_PLAYLIST _("Unable to find playlist")
 
 #define PARTIAL _("Use this to read only a part of the stream. " \
-                  "You must be able to control the incoming stream " \
+                  "To use, enter the starting and ending times (in seconds)." \
+                  "\n\nNote: You must be able to control the incoming stream " \
                   "(for example, a file or a disc, but not a RTP/UDP " \
-                  "network stream.)\n" \
-                  "Enter the starting and ending times (in seconds).")
+                  "network stream).\n" \
+)
 
 #define INPUT_BUTTON _("Choose")
 
 /* Transcode 1 */
 #define TRANSCODE1_TITLE _("Transcode")
-#define TRANSCODE1_TEXT _("If you want to change the compression format of the audio or video tracks, fill in this page. (If you only want to change the container format, proceed to next page.)")
+#define TRANSCODE1_TEXT _("Changes the compression format " \
+        "of the audio or video tracks. To change only the " \
+        "container format, proceed to the next page.")
 
-#define TR_VIDEO_TEXT0 _("If your stream has video and you want to " \
-                         "transcode it, enable this.")
-#define TR_VIDEO_TEXT _("Select your video codec. Click one to get more " \
-                        "information.")
+#define TR_VIDEO_TEXT0 _("Transcode video (if available)" )
+#define TR_VIDEO_TEXT _("Select the target video codec. Choose a codec to " \
+                        "display more information about it.")
 
-#define TR_AUDIO_TEXT0 _("If your stream has audio and you want to "\
-                         "transcode it, enable this.")
-#define TR_AUDIO_TEXT _("Select your audio codec. Click one to get more " \
-                        "information.")
+#define TR_AUDIO_TEXT0 _("Transcode audio (if available)"
+#define TR_AUDIO_TEXT _("Select the target audio codec. Choose a codec to " \
+                        "display more information about it.")
 
 /* Streaming 1 */
 #define STREAMING1_TITLE _("Streaming")
-#define STREAMING1_TEXT _("In this page, you will select how your input stream will be sent.")
+#define STREAMING1_TEXT _("Determines how the input stream will be sent.")
 
 
 #define INVALID_MCAST_ADDRESS _("This does not appear to be a valid " \
                                 "multicast address" )
-#define NO_ADDRESS_TEXT _("You need to enter an address" )
+#define NO_ADDRESS_TEXT _("Please enter an address" )
 
 /* Encap  */
 #define ENCAP_TITLE _("Encapsulation format")
-#define ENCAP_TEXT _("In this page, you will select how the stream will be "\
-                     "encapsulated. Depending on the choices you made, all "\
-                     "formats won't be available." )
+#define ENCAP_TEXT _("Determines how the stream will be encapsulated. " \
+                     "Depending on the previous choices, some formats " \
+                     "might not be available." )
 
 
 /* Transcode 2 */
 #define EXTRATRANSCODE_TITLE _("Additional transcode options")
-#define EXTRATRANSCODE_TEXT _("In this page, you will define a few " \
-                              "additionnal parameters for your transcoding" )
+#define EXTRATRANSCODE_TEXT _("Defines a few additional parameters " \
+                              "for the transcoding." )
 
 #define CHOOSE_OUTFILE _("You must choose a file to save to")
 
 /* Streaming 2 */
 #define EXTRASTREAMING_TITLE _("Additional streaming options")
-#define EXTRASTREAMING_TEXT _("In this page, you will define a few " \
-                              "additionnal parameters for your stream" )
+#define EXTRASTREAMING_TEXT _("Defines a few additional parameters " \
+                              "for the stream." )
 
 #define TTL _("Define the TTL (Time-To-Live) of the stream. This parameter " \
               "is the maximum number of routers your stream can go through. " \
@@ -165,8 +172,8 @@ END_EVENT_TABLE()
               "using the SAP/SDP announcing protocol. This way, the clients " \
               "won't have to type in the multicast address, it will appear " \
               "in their playlist if they enable the SAP extra interface.\n" \
-              "If you want to give a name to your stream, enter it here, " \
-              "else, a default name will be used" )
+              "If you want to give a name to your stream, enter it here. " \
+              "Otherwise, a default name will be used." )
 
 /*****************************************************************************
  * All the pages of the wizard, declaration
@@ -433,7 +440,7 @@ static void pageHeader( wxWindow *window, wxBoxSizer *sizer,
     wtitle->SetFont(font);
     sizer->Add( wtitle, 0, wxALL, 5 );
     sizer->Add( new wxStaticText( window, -1,
-                wxU( vlc_wraptext( psz_text , TEXTWIDTH, false ) ) ),
+                wxU( vlc_wraptext( psz_text , TEXTWIDTH ) ) ),
                         0, wxALL, 5 );
 }
 
@@ -483,7 +490,7 @@ wizHelloPage::wizHelloPage( wxWizard *parent) : wxWizardPageSimple(parent)
                         wxBOTTOM, 5 );
 
         mainSizer->Add( new wxStaticText(this, -1,
-                        wxU( vlc_wraptext(HELLO_NOTICE , TEXTWIDTH , false ))),
+                        wxU( vlc_wraptext(HELLO_NOTICE , TEXTWIDTH ))),
                         0, wxALL, 5 );
 
         SetSizer(mainSizer);
@@ -584,6 +591,7 @@ wizInputPage::wizInputPage( wxWizard *parent, wxWizardPage *prev, intf_thread_t
             listview->InsertColumn( 1, wxU(_("URI")) );
             listview->SetColumnWidth( 0, 250 );
             listview->SetColumnWidth( 1, 100 );
+#if 0
             for( int i=0 ; i < p_playlist->i_size ; i++ )
             {
                 wxString filename = wxL2U( p_playlist->pp_items[i]->input.
@@ -595,6 +603,7 @@ wizInputPage::wizInputPage( wxWizard *parent, wxWizardPage *prev, intf_thread_t
                                   (long)p_playlist->pp_items[i]->input.i_id );
             }
             listview->Select( p_playlist->i_index , TRUE);
+#endif
             mainSizer->Add( listview, 1, wxALL|wxEXPAND, 5 );
 
             listview->Hide();
@@ -720,7 +729,7 @@ void wizInputPage::OnWizardPageChanging(wxWizardEvent& event)
         i = listview->GetNextItem( i , wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
         if( i != -1 )
         {
-            long data = listview->GetItemData( i );            
+            long data = listview->GetItemData( i );
             playlist_t *p_playlist = (playlist_t *)vlc_object_find( p_intf,
                                       VLC_OBJECT_PLAYLIST, FIND_ANYWHERE);
             if( p_playlist )
@@ -729,7 +738,7 @@ void wizInputPage::OnWizardPageChanging(wxWizardEvent& event)
                                                    p_playlist, (int)data );
                 if( p_item )
                 {
-                    p_parent->SetMrl( (const char*)p_item->input.psz_uri );
+                    p_parent->SetMrl( (const char*)p_item->p_input->psz_uri );
                 }
                 else
                     event.Veto();
@@ -845,7 +854,7 @@ wizTranscodeCodecPage::wizTranscodeCodecPage( wxWizard *parent,
 
     /* Line 3 : text */
     video_text = new wxStaticText( this, -1,
-                     wxU( vlc_wraptext( TR_VIDEO_TEXT, TEXTWIDTH, false) ) );
+                     wxU( vlc_wraptext( TR_VIDEO_TEXT, TEXTWIDTH ) ) );
     /* Fill the main video sizer */
     video_sizer->Add( video_sizer1 , 0, wxEXPAND , 5 );
     video_sizer->Add( video_text, 0, wxLEFT|wxTOP , 5 );
@@ -884,7 +893,7 @@ wizTranscodeCodecPage::wizTranscodeCodecPage( wxWizard *parent,
 
     /* Line 3 : text */
     audio_text = new wxStaticText( this, -1,
-                     wxU( vlc_wraptext( TR_AUDIO_TEXT, TEXTWIDTH, false) ) );
+                     wxU( vlc_wraptext( TR_AUDIO_TEXT, TEXTWIDTH ) ) );
 
     audio_sizer->Add(audio_sizer1, 0, wxEXPAND, 5);
     audio_sizer->Add( audio_text, 0, wxLEFT | wxTOP, 5 );
@@ -924,7 +933,7 @@ void wizTranscodeCodecPage::OnVideoCodecChange(wxCommandEvent& event)
 {
     struct codec *c = (struct codec*)
              (video_combo->GetClientData(video_combo->GetSelection()));
-    video_text->SetLabel( wxU( vlc_wraptext(c->psz_descr, TEXTWIDTH, false) ) );
+    video_text->SetLabel( wxU( vlc_wraptext(c->psz_descr, TEXTWIDTH ) ) );
     i_video_codec = video_combo->GetSelection();
     vcodec = strdup(c->psz_codec);
 }
@@ -933,7 +942,7 @@ void wizTranscodeCodecPage::OnAudioCodecChange(wxCommandEvent& event)
 {
     struct codec *c = (struct codec*)
              (audio_combo->GetClientData(audio_combo->GetSelection()));
-    audio_text->SetLabel( wxU( vlc_wraptext(c->psz_descr, TEXTWIDTH, false) ) );
+    audio_text->SetLabel( wxU( vlc_wraptext(c->psz_descr, TEXTWIDTH ) ) );
     i_audio_codec = audio_combo->GetSelection();
     acodec = strdup(c->psz_codec);
 
@@ -1049,8 +1058,7 @@ wizStreamingMethodPage::wizStreamingMethodPage( intf_thread_t *p_this, wxWizard
 
     /* Big kludge, we take the longest text to get the size */
     address_text = new wxStaticText(this, -1,
-               wxU( vlc_wraptext(methods_array[2].psz_address,
-                                 TEXTWIDTH, false ) ),
+               wxU( vlc_wraptext(methods_array[2].psz_address, TEXTWIDTH ) ),
                wxDefaultPosition, wxDefaultSize );
 
     address_txtctrl = new wxTextCtrl( this, -1, wxU(""), wxDefaultPosition,
@@ -1062,7 +1070,7 @@ wizStreamingMethodPage::wizStreamingMethodPage( intf_thread_t *p_this, wxWizard
     /* Set the minimum size */
     address_sizer->SetMinSize( address_sizer->GetSize() );
     address_text->SetLabel( wxU(
-     vlc_wraptext( _(methods_array[0].psz_address), TEXTWIDTH, false)));
+     vlc_wraptext( _(methods_array[0].psz_address), TEXTWIDTH )));
 
     mainSizer->Add( method_sizer, 0, wxALL | wxEXPAND, 5 );
     mainSizer->Add( address_sizer, 0, wxALL | wxEXPAND, 5 );
@@ -1127,7 +1135,7 @@ void wizStreamingMethodPage::OnMethodChange( wxCommandEvent& event )
 {
     i_method = event.GetId() - MethodRadio0_Event;
     address_text->SetLabel( wxU(
-     vlc_wraptext( _(methods_array[i_method].psz_address), TEXTWIDTH, false)));
+     vlc_wraptext( _(methods_array[i_method].psz_address), TEXTWIDTH )));
     address_sizer->Layout();
     mainSizer->Layout();
 }
@@ -1545,9 +1553,9 @@ void WizardDialog::Run()
 
         if( i_action == ACTION_TRANSCODE )
         {
-            msg_Dbg( p_intf,"Starting transcode of %s to file %s",
+            msg_Dbg( p_intf,"starting transcode of %s to file %s",
                                   mrl, address);
-            msg_Dbg( p_intf,"Using %s (%i kbps) / %s (%i kbps),encap %s",
+            msg_Dbg( p_intf,"using %s (%i kbps) / %s (%i kbps),encap %s",
                                 vcodec,vb,acodec,ab,mux);
             char *psz_transcode;
 
@@ -1598,7 +1606,7 @@ void WizardDialog::Run()
             char *psz_sap_option = NULL;
             bool v6;
 
-            msg_Dbg( p_intf, "Starting stream of %s to %s using %s, encap %s",
+            msg_Dbg( p_intf, "starting stream of %s to %s using %s, encap %s",
                                mrl, address, method, mux );
             if( b_sap )
             {
@@ -1625,27 +1633,28 @@ void WizardDialog::Run()
                             VLC_OBJECT_PLAYLIST, FIND_ANYWHERE);
         if( p_playlist )
         {
-            playlist_item_t *p_item = playlist_ItemNew( p_playlist, mrl,
-                                                        ITEM_NAME );
-            playlist_ItemAddOption( p_item, psz_opt);
+            input_item_t *p_input = input_ItemNew( p_playlist, mrl,
+                                                   ITEM_NAME );
+            vlc_input_item_AddOption( p_input, psz_opt );
             if( i_from != 0)
             {
                 char psz_from[20];
                 snprintf( psz_from, 20, "start-time=%i", i_from);
-                playlist_ItemAddOption( p_item, psz_from);
+                vlc_input_item_AddOption( p_input, psz_from );
             }
             if( i_to != 0)
             {
                 char psz_to[20];
                 snprintf( psz_to, 20, "stop-time=%i", i_to);
-                playlist_ItemAddOption( p_item, psz_to);
+                vlc_input_item_AddOption( p_input, psz_to );
             }
 
             char psz_ttl[20];
             snprintf( psz_ttl, 20, "ttl=%i",i_ttl );
-            playlist_ItemAddOption( p_item, psz_ttl );
+            vlc_input_item_AddOption( p_input, psz_ttl );
 
-            playlist_AddItem( p_playlist, p_item, PLAYLIST_GO, PLAYLIST_END );
+            playlist_PlaylistAddInput( p_playlist, p_input,
+                                       PLAYLIST_GO, PLAYLIST_END );
             vlc_object_release(p_playlist);
         }
         else