*****************************************************************************/
/* TODO:
- - l10n string fixes (both in OSX and WX)
- fill the playlist-table on t2
- - implement l10n on t8
- see FIXME's
*/
*****************************************************************************/
#import "wizard.h"
#import "intf.h"
+#import "network.h"
/*****************************************************************************
* VLCWizard implementation
"addresses you want to listen to. Do not enter anything if you want to " \
"listen to all adresses or if you don't understand. This is generally " \
"the best thing to do. Other computers can then access the stream at " \
- "http://yourip:8080 by default") , _NS("Use this to stream to several " \
+ "http://yourip:8080 by default.") , _NS("Use this to stream to several " \
"computers. This method is less efficient, as the server needs to send " \
- "several times the stream."), nil];
+ "the stream several times."), nil];
o_udp_multi = [NSArray arrayWithObjects: @"udp", @"UDP-Multicast", _NS("Enter " \
"the multicast address to stream to in this field. This must be an IP " \
"address between 224.0.0.0 and 239.255.255.255. For a private use, " \
"is the most efficient method to stream to several computers, but it " \
"does not work over Internet."), nil];
o_udp_uni = [NSArray arrayWithObjects: @"udp", @"UDP-Unicast", _NS("Enter " \
- "the address of the computer to stream to"), _NS("Use this to stream " \
- "to a single computer"), nil];
+ "the address of the computer to stream to."), _NS("Use this to stream " \
+ "to a single computer."), nil];
o_strmgMthds = [[NSArray alloc] initWithObjects: o_http, o_udp_multi, o_udp_uni, nil];
}
[o_userSelections removeAllObjects];
[o_t1_matrix_strmgOrTrnscd selectCellAtRow:0 column:0];
[[o_t1_matrix_strmgOrTrnscd cellAtRow:1 column:0] setState: NSOffState];
- [o_btn_forward setTitle: [_NS("Next") stringByAppendingString:@" >"]];
+ [o_btn_forward setTitle: _NS("Next")];
/* "Input" */
[o_t2_fld_pathToNewStrm setStringValue: @""];
/* page one ("Hello") */
[o_t1_txt_title setStringValue: _NS("Streaming/Transcoding Wizard")];
- [o_t1_txt_text setStringValue: _NS("This wizard helps you to stream, transcode or save a stream")];
+ [o_t1_txt_text setStringValue: _NS("This wizard helps you to stream, transcode or save a stream.")];
[o_t1_btn_mrInfo_strmg setTitle: _NS("More Info")];
[o_t1_btn_mrInfo_trnscd setTitle: _NS("More Info")];
- [o_t1_txt_notice setStringValue: _NS("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")];
+ [o_t1_txt_notice setStringValue: _NS("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.")];
[[o_t1_matrix_strmgOrTrnscd cellAtRow:0 column:0] setTitle: _NS("Stream to network")];
[[o_t1_matrix_strmgOrTrnscd cellAtRow:1 column:0] setTitle: _NS("Transcode/Save to file")];
/* page two ("Input") */
[o_t2_title setStringValue: _NS("Choose input")];
- [o_t2_text setStringValue: _NS("Choose here your input stream")];
+ [o_t2_text setStringValue: _NS("Choose here your input stream.")];
[[o_t2_matrix_inputSourceType cellAtRow:0 column:0] setTitle: _NS("Select a stream")];
[[o_t2_matrix_inputSourceType cellAtRow:1 column:0] setTitle: _NS("Existing playlist item")];
[o_t2_btn_chooseFile setTitle: _NS("Choose...")];
[[[o_t2_tbl_plst tableColumnWithIdentifier:@"uri"] headerCell] setStringValue: _NS("URI")];
[o_t2_box_prtExtrct setTitle: _NS("Partial Extract")];
[o_t2_ckb_enblPartExtrct setTitle: _NS("Enable")];
+ [o_t2_ckb_enblPartExtrct setToolTip: _NS("Use this to read only a part of " \
+ "the stream. You must be able to control the incoming stream " \
+ "(for example, a file or a disc, but not an UDP network stream.)\n" \
+ "Enter the starting and ending times (in seconds).")];
[o_t2_txt_prtExtrctFrom setStringValue: _NS("From")];
[o_t2_txt_prtExtrctTo setStringValue: _NS("To")];
[o_t3_txt_text setStringValue: _NS("In this page, you will select how your input stream will be sent.")];
[o_t3_box_dest setTitle: _NS("Destination")];
[o_t3_box_strmgMthd setTitle: _NS("Streaming method")];
- [o_t3_txt_destInfo setStringValue: _NS("Enter the address of the computer to stream to")];
+ [o_t3_txt_destInfo setStringValue: _NS("Enter the address of the computer to stream to.")];
[[o_t3_matrix_stmgMhd cellAtRow:1 column:0] setTitle: _NS("UDP Unicast")];
[[o_t3_matrix_stmgMhd cellAtRow:1 column:1] setTitle: _NS("UDP Multicast")];
- [o_t3_txt_strgMthdInfo setStringValue: _NS("Use this to stream to a single computer")];
+ [o_t3_txt_strgMthdInfo setStringValue: _NS("Use this to stream to a single computer.")];
/* page four ("Transcode 1") */
[o_t4_title setStringValue: _NS("Transcode")];
- [o_t4_text setStringValue: _NS("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).")];
+ [o_t4_text setStringValue: _NS("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.)")];
[o_t4_box_audio setTitle: _NS("Audio")];
[o_t4_box_video setTitle: _NS("Video")];
[o_t4_ckb_audio setTitle: _NS("Transcode audio")];
[o_t4_txt_videoBitrate setStringValue: _NS("Bitrate (kb/s)")];
[o_t4_txt_videoCodec setStringValue: _NS("Codec")];
[o_t4_txt_hintAudio setStringValue: _NS("If your stream has audio and you want to " \
- "transcode it, enable this")];
+ "transcode it, enable this.")];
[o_t4_txt_hintVideo setStringValue: _NS("If your stream has video and you want to " \
- "transcode it, enable this")];
+ "transcode it, enable this.")];
/* page five ("Encap") */
[o_t5_title setStringValue: _NS("Encapsulation format")];
[o_t7_btn_chooseFile setTitle: _NS("Choose...")];
/* page eight ("Summary") */
- /* FIXME: currently not implemented as it unsure whether we show this tab
- * to the public or use it for debugging only */
+ [o_t8_txt_text setStringValue: _NS("This page lists all your selections. " \
+ "Click \"Finish\" to start your streaming or transcoding.")];
+ [o_t8_txt_title setStringValue: _NS("Summary")];
+ [o_t8_txt_destination setStringValue: [_NS("Destination") stringByAppendingString: @":"]];
+ [o_t8_txt_encapFormat setStringValue: [_NS("Encap. format") stringByAppendingString: @":"]];
+ [o_t8_txt_inputStream setStringValue: [_NS("Input stream") stringByAppendingString: @":"]];
+ [o_t8_txt_partExtract setStringValue: [_NS("Partial Extract") stringByAppendingString: @":"]];
+ [o_t8_txt_sap setStringValue: [_NS("SAP Announce") stringByAppendingString: @":"]];
+ [o_t8_txt_saveFileTo setStringValue: [_NS("Save file to") stringByAppendingString: @":"]];
+ [o_t8_txt_strmgMthd setStringValue: [_NS("Streaming method") stringByAppendingString: @":"]];
+ [o_t8_txt_trnscdAudio setStringValue: [_NS("Transcode audio") stringByAppendingString: @":"]];
+ [o_t8_txt_trnscdVideo setStringValue: [_NS("Transcode video") stringByAppendingString: @":"]];
/* wizard help window */
[o_wh_btn_okay setTitle: _NS("OK")];
/* set a flag that no file is selected */
stop = YES;
}else{
- [o_userSelections setObject:[o_t2_fld_pathToNewStrm stringValue] forKey:@"pathToStrm"];
+ [o_userSelections setObject:[@"file://" stringByAppendingString:[o_t2_fld_pathToNewStrm stringValue]] forKey:@"pathToStrm"];
}
}else{
if ([o_t2_tbl_plst selectedRow] != -1)
if(! [o_mode isEqualToString: @"HTTP"] )
{
/* empty field is valid for HTTP */
-
if( [[o_t3_fld_address stringValue] isEqualToString: @""] )
{
-
- /* complain to the user that "" is no valid dest. */
+ /* complain to the user that "" is no valid dest. */
[o_wh_txt_title setStringValue: _NS("No valid destination")];
[o_wh_txt_text setStringValue: _NS("You need to enter " \
"a valid destination you want to stream to. Enter either a " \
didEndSelector: nil
contextInfo: nil];
} else {
- /* FIXME: stupid code duplication, should be solved by a GoTo-like-thing -- FK */
- [o_userSelections setObject:[o_t3_fld_address stringValue] forKey:@"stmgDest"];
+ /* FIXME: check whether the entered IP is really valid */
+ [o_userSelections setObject:[o_t3_fld_address stringValue] forKey:@"stmgDest"];
/* let's go to the encap-tab */
[o_tab_pageHolder selectTabViewItemAtIndex:4];
}
VLC_OBJECT_PLAYLIST, FIND_ANYWHERE);
if( p_playlist )
{
- playlist_item_t *p_item = playlist_ItemNew( p_playlist, [[@"file://" stringByAppendingString: [o_userSelections objectForKey:@"pathToStrm"]] UTF8String], _("Streaming/Transcoding Wizard") );
+ playlist_item_t *p_item = playlist_ItemNew( p_playlist, [[o_userSelections objectForKey:@"pathToStrm"] UTF8String], _("Streaming/Transcoding Wizard") );
playlist_ItemAddOption( p_item, [[o_userSelections objectForKey:@"opts"] UTF8String]);
if(! [[o_userSelections objectForKey:@"partExtractFrom"] isEqualToString:@""] )
}
}
-- (IBAction)t3_addressEntered:(id)sender
-{
- /* check whether the entered address is valid */
-}
-
- (IBAction)t3_strmMthdChanged:(id)sender
{
/* change the captions of o_t3_txt_destInfo according to the chosen
static struct method methods_array[] =
{
- {"udp:",N_("UDP Unicast"), N_("Use this to stream to a single computer"),
- N_("Enter the address of the computer to stream to"),
+ {"udp:",N_("UDP Unicast"), N_("Use this to stream to a single computer."),
+ N_("Enter the address of the computer to stream to."),
{ MUX_TS, -1,-1,-1,-1,-1,-1,-1,-1 } },
{"udp:",N_("UDP Multicast"),
N_("Use this to stream to a dynamic group of computers on a "
"multicast-enabled network. This is the most efficient method "
"to stream to several computers, but it does not work over Internet."),
N_("Enter the multicast address to stream to in this field. "
- "This must be an IP address between 224.0.0.0 an 239.255.255.255 "
- "For a private use, enter an address beginning with 239.255"),
+ "This must be an IP address between 224.0.0.0 an 239.255.255.255. "
+ "For a private use, enter an address beginning with 239.255."),
{ MUX_TS, -1,-1,-1,-1,-1,-1,-1,-1 } },
- {"http://",N_("HTTP"),
+ {"http://","HTTP",
N_("Use this to stream to several computers. This method is "
- "less efficient, as the server needs to send several times the "
- "stream."),
+ "less efficient, as the server needs to send the "
+ "stream several times."),
N_("Enter the local addresses you want to listen to. Do not enter "
"anything if you want to listen to all adresses or if you don't "
"understand. This is generally the best thing to do. Other computers "
- "can then access the stream at http://yourip:8080 by default"),
+ "can then access the stream at http://yourip:8080 by default."),
{ MUX_TS, MUX_PS, MUX_MPEG, MUX_OGG, MUX_RAW, MUX_ASF, -1,-1,-1} },
{ NULL, NULL,NULL,NULL , {-1,-1,-1,-1,-1,-1,-1,-1,-1}} /* Do not remove me */
};
/* Hello page */
#define HELLO_TITLE _("Streaming/Transcoding Wizard")
#define HELLO_TEXT _("This wizard helps you to stream, transcode or" \
- " save a stream")
+ " save a stream.")
#define HELLO_STREAMING _("Stream to network")
-#define HELLO_STREAMING_DESC _("Use this to stream on a 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 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 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" )
+ "features to save network streams, for example." )
/* Input page */
#define INPUT_TITLE _("Choose input")
-#define INPUT_TEXT _("Choose here your input stream")
+#define INPUT_TEXT _("Choose here your input stream.")
#define INPUT_OPEN _("Select a stream" )
#define INPUT_PL _( "Existing playlist item" )
"You must be able to control the incoming stream " \
"(for example, a file or a disc, but not an UDP " \
"network stream.)\n" \
- "Enter the starting and ending times (in seconds)")
+ "Enter the starting and ending times (in seconds).")
#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 _("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 TR_VIDEO_TEXT0 _("If your stream has video and you want to " \
- "transcode it, enable this")
+ "transcode it, enable this.")
#define TR_VIDEO_TEXT _("Select your video codec. Click one to get more " \
- "information")
+ "information.")
#define TR_AUDIO_TEXT0 _("If your stream has audio and you want to "\
- "transcode it, enable this")
+ "transcode it, enable this.")
#define TR_AUDIO_TEXT _("Select your audio codec. Click one to get more " \
- "information")
+ "information.")
/* Streaming 1 */
#define STREAMING1_TITLE _("Streaming")