From 94d20dd3cd674ee73fe6221091df82b55c4107cc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20Paul=20K=C3=BChne?= Date: Sun, 19 Jun 2005 19:37:42 +0000 Subject: [PATCH] * ALL: basic skeleton for a streaming-wizard (refs #13) done: - all items are included with complete l10n support - checkboxes and select-file-buttons behave as they are supposed to todo: - implementation of the logic, i.e. handling of the collected values, respective manipulation of the GUI, start of the stream - move some arrays to an external header file - some GUI things (e.g. radio buttons on page 2, etc. - see FIXMEs) - implementation of some help-dialogues (it might be necessary to create a re-usable window in the nib for that, since NSAlert is Panther and Tiger only) - l10n string fixes (both in OSX and WX) => most of the work still needs to be done --- Makefile.am | 7 + .../English.lproj/MainMenu.nib/classes.nib | 1 + .../English.lproj/MainMenu.nib/info.nib | 5 +- .../English.lproj/MainMenu.nib/objects.nib | Bin 35286 -> 34054 bytes .../English.lproj/Wizard.nib/classes.nib | 96 ++++++ .../English.lproj/Wizard.nib/info.nib | 22 ++ .../English.lproj/Wizard.nib/keyedobjects.nib | Bin 0 -> 32403 bytes extras/MacOSX/vlc.pbproj/project.pbxproj | 46 +++ modules/gui/macosx/Modules.am | 2 + modules/gui/macosx/intf.h | 5 + modules/gui/macosx/intf.m | 27 +- modules/gui/macosx/wizard.h | 117 +++++++ modules/gui/macosx/wizard.m | 319 ++++++++++++++++++ 13 files changed, 640 insertions(+), 7 deletions(-) create mode 100644 extras/MacOSX/Resources/English.lproj/Wizard.nib/classes.nib create mode 100644 extras/MacOSX/Resources/English.lproj/Wizard.nib/info.nib create mode 100644 extras/MacOSX/Resources/English.lproj/Wizard.nib/keyedobjects.nib create mode 100644 modules/gui/macosx/wizard.h create mode 100644 modules/gui/macosx/wizard.m diff --git a/Makefile.am b/Makefile.am index 51fc5fdb0a..20e0b1aed7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -159,6 +159,9 @@ EXTRA_DIST += \ extras/MacOSX/Resources/English.lproj/Preferences.nib/classes.nib \ extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \ extras/MacOSX/Resources/English.lproj/Preferences.nib/keyedobjects.nib \ + extras/MacOSX/Resources/English.lproj/Wizard.nib/classes.nib \ + extras/MacOSX/Resources/English.lproj/Wizard.nib/info.nib \ + extras/MacOSX/Resources/English.lproj/Wizard.nib/keyedobjects.nib \ extras/MacOSX/Resources/English.lproj/InfoPlist.strings \ extras/MacOSX/Resources/a52.icns \ extras/MacOSX/Resources/aac.icns \ @@ -532,6 +535,8 @@ VLC-release.app: vlc vout.h \ voutqt.m \ voutgl.m \ + wizard.h \ + wizard.m \ vout.m; do \ cp "$(srcdir)/modules/gui/macosx/$$i" \ $(top_builddir)/tmp/modules/gui/macosx; \ @@ -629,6 +634,8 @@ VLC.app: vlc vout.h \ voutqt.m \ voutgl.m \ + wizard.h \ + wizard.m \ vout.m; do \ cp "$(srcdir)/modules/gui/macosx/$$i" \ $(top_builddir)/tmp/modules/gui/macosx; \ diff --git a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib index 1ba5bff402..7306954a95 100644 --- a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib +++ b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib @@ -113,6 +113,7 @@ openRecentItem = id; openWebsite = id; reportABug = id; + showWizard = id; timesliderUpdate = id; togglePlaylist = id; viewAbout = id; diff --git a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib index 0f7a2377d1..243de85a48 100644 --- a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib +++ b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib @@ -3,7 +3,7 @@ IBDocumentLocation - 101 241 496 270 0 0 800 578 + 91 42 496 270 0 0 800 578 IBEditorPositions 1617 @@ -11,7 +11,7 @@ 2197 214 442 596 144 0 0 1024 746 29 - 72 702 419 44 0 0 1024 746 + 205 505 419 44 0 0 800 578 915 730 416 178 211 0 0 1024 746 @@ -21,6 +21,7 @@ IBOpenObjects + 29 2029 21 diff --git a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib index 39feff409dd491d8cb69e58952fa3963b3e8ad85..a1545d968e4e2c6851f5bc8f2937c31ec1614148 100644 GIT binary patch literal 34054 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 diff --git a/extras/MacOSX/Resources/English.lproj/Wizard.nib/classes.nib b/extras/MacOSX/Resources/English.lproj/Wizard.nib/classes.nib new file mode 100644 index 0000000000..e0916e774c --- /dev/null +++ b/extras/MacOSX/Resources/English.lproj/Wizard.nib/classes.nib @@ -0,0 +1,96 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = { + cancelRun = id; + nextTab = id; + prevTab = id; + "t1_mrInfo_streaming" = id; + "t1_mrInfo_transcode" = id; + "t2_addNewStream" = id; + "t2_chooseStreamOrPlst" = id; + "t2_enableExtract" = id; + "t3_addressEntered" = id; + "t4_AudCdcChanged" = id; + "t4_VidCdcChanged" = id; + "t4_enblAudTrnscd" = id; + "t4_enblVidTrnscd" = id; + "t6_enblSapAnnce" = id; + "t6_mrInfo_sap" = id; + "t6_mrInfo_ttl" = id; + "t7_selectTrnscdDestFile" = id; + }; + CLASS = VLCWizard; + LANGUAGE = ObjC; + OUTLETS = { + "o_btn_backward" = id; + "o_btn_cancel" = id; + "o_btn_forward" = id; + "o_t1_btn_mrInfo_strmg" = id; + "o_t1_btn_mrInfo_trnscd" = id; + "o_t1_rdo_streaming" = id; + "o_t1_rdo_transcode" = id; + "o_t1_txt_notice" = id; + "o_t1_txt_text" = id; + "o_t1_txt_title" = id; + "o_t2_box_prtExtrct" = id; + "o_t2_btn_chooseFile" = id; + "o_t2_ckb_enblPartExtrct" = id; + "o_t2_fld_pathToNewStrm" = id; + "o_t2_fld_prtExtrctFrom" = id; + "o_t2_fld_prtExtrctTo" = id; + "o_t2_rdo_exstPlstItm" = id; + "o_t2_rdo_newStrm" = id; + "o_t2_tbl_plst" = id; + "o_t2_text" = id; + "o_t2_title" = id; + "o_t2_txt_prtExtrctFrom" = id; + "o_t2_txt_prtExtrctTo" = id; + "o_t3_box_dest" = id; + "o_t3_box_strmgMthd" = id; + "o_t3_fld_address" = id; + "o_t3_matrix_stmgMhd" = id; + "o_t3_txt_destInfo" = id; + "o_t3_txt_text" = id; + "o_t3_txt_title" = id; + "o_t4_box_audio" = id; + "o_t4_box_video" = id; + "o_t4_ckb_audio" = id; + "o_t4_ckb_video" = id; + "o_t4_pop_audioBitrate" = id; + "o_t4_pop_audioCodec" = id; + "o_t4_pop_videoBitrate" = id; + "o_t4_pop_videoCodec" = id; + "o_t4_text" = id; + "o_t4_title" = id; + "o_t4_txt_bitrateAudio" = id; + "o_t4_txt_bitrateVideo" = id; + "o_t4_txt_codecAudio" = id; + "o_t4_txt_codecVideo" = id; + "o_t4_txt_hintAudio" = id; + "o_t4_txt_hintVideo" = id; + "o_t5_matrix_encap" = id; + "o_t5_text" = id; + "o_t5_title" = id; + "o_t6_btn_mrInfo_sap" = id; + "o_t6_btn_mrInfo_ttl" = id; + "o_t6_ckb_sap" = id; + "o_t6_fld_sap" = id; + "o_t6_fld_ttl" = id; + "o_t6_text" = id; + "o_t6_title" = id; + "o_t6_txt_ttl" = id; + "o_t7_btn_chooseFile" = id; + "o_t7_fld_filePath" = id; + "o_t7_text" = id; + "o_t7_title" = id; + "o_t7_txt_saveFileTo" = id; + "o_tab_pageHolder" = id; + "o_wizard_window" = id; + }; + SUPERCLASS = NSObject; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/extras/MacOSX/Resources/English.lproj/Wizard.nib/info.nib b/extras/MacOSX/Resources/English.lproj/Wizard.nib/info.nib new file mode 100644 index 0000000000..be5f5cfc24 --- /dev/null +++ b/extras/MacOSX/Resources/English.lproj/Wizard.nib/info.nib @@ -0,0 +1,22 @@ + + + + + IBDocumentLocation + 62 303 356 241 0 0 800 578 + IBFramework Version + 364.0 + IBLockedObjects + + 6 + 14 + 10 + + IBOpenObjects + + 6 + + IBSystem Version + 7W98 + + diff --git a/extras/MacOSX/Resources/English.lproj/Wizard.nib/keyedobjects.nib b/extras/MacOSX/Resources/English.lproj/Wizard.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..366fd18515a44fd18c2528fbf093c146b0bd2d28 GIT binary patch literal 32403 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 literal 0 HcmV?d00001 diff --git a/extras/MacOSX/vlc.pbproj/project.pbxproj b/extras/MacOSX/vlc.pbproj/project.pbxproj index cafe59ed91..c49a0c9a55 100644 --- a/extras/MacOSX/vlc.pbproj/project.pbxproj +++ b/extras/MacOSX/vlc.pbproj/project.pbxproj @@ -812,6 +812,7 @@ DCA00AA9075F948800E6BF46, DCF358BB077F10BA007DB450, DCA693C30789DF8700139EC6, + DCFCCDB9085CE18F001E36AF, ); isa = PBXResourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -892,6 +893,8 @@ 8ED6C28803E2EB1C0059A3A7, 8E9CA1A506D7DEE800B7186C, 8E9CA1A606D7DEE800B7186C, + DC769AB8085DF0DB001A838D, + DC769AB7085DF0DB001A838D, ); isa = PBXGroup; name = Classes; @@ -2154,6 +2157,24 @@ //DC2 //DC3 //DC4 + DC769AB7085DF0DB001A838D = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + name = wizard.m; + path = "/Users/felix/Desktop/Programming/VideoLAN/vlc-trunk/modules/gui/macosx/wizard.m"; + refType = 0; + sourceTree = ""; + }; + DC769AB8085DF0DB001A838D = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = wizard.h; + path = "/Users/felix/Desktop/Programming/VideoLAN/vlc-trunk/modules/gui/macosx/wizard.h"; + refType = 0; + sourceTree = ""; + }; DCA00AA7075F948800E6BF46 = { children = ( DCA00AA8075F948800E6BF46, @@ -2238,12 +2259,37 @@ F74F13EA02C2A79C01EE194C, DCF358B9077F10BA007DB450, DCA693C10789DF8700139EC6, + DCFCCDB7085CE18F001E36AF, ); isa = PBXGroup; name = nibs; refType = 4; sourceTree = ""; }; + DCFCCDB7085CE18F001E36AF = { + children = ( + DCFCCDB8085CE18F001E36AF, + ); + isa = PBXVariantGroup; + name = Wizard.nib; + path = ""; + refType = 4; + sourceTree = ""; + }; + DCFCCDB8085CE18F001E36AF = { + isa = PBXFileReference; + lastKnownFileType = wrapper.nib; + name = English; + path = Resources/English.lproj/Wizard.nib; + refType = 4; + sourceTree = ""; + }; + DCFCCDB9085CE18F001E36AF = { + fileRef = DCFCCDB7085CE18F001E36AF; + isa = PBXBuildFile; + settings = { + }; + }; //DC0 //DC1 //DC2 diff --git a/modules/gui/macosx/Modules.am b/modules/gui/macosx/Modules.am index cc84857ef5..eda20da922 100644 --- a/modules/gui/macosx/Modules.am +++ b/modules/gui/macosx/Modules.am @@ -28,5 +28,7 @@ SOURCES_macosx = \ voutqt.m \ voutgl.m \ vout.h \ + wizard.h \ + wizard.m \ $(NULL) diff --git a/modules/gui/macosx/intf.h b/modules/gui/macosx/intf.h index 1a7fc3c673..ea51c1e69b 100644 --- a/modules/gui/macosx/intf.h +++ b/modules/gui/macosx/intf.h @@ -90,7 +90,9 @@ struct intf_sys_t id o_prefs; /* VLCPrefs */ id o_about; /* VLAboutBox */ id o_open; /* VLCOpen */ + id o_wizard; /* VLCWizard */ BOOL nib_open_loaded; /* reference to the open-nib */ + BOOL nib_wizard_loaded; /* reference to the wizard-nib */ IBOutlet id o_window; /* main window */ IBOutlet id o_playlist_view;/* playlist view */ @@ -154,6 +156,7 @@ struct intf_sys_t IBOutlet id o_mi_open_net; IBOutlet id o_mi_open_recent; IBOutlet id o_mi_open_recent_cm; + IBOutlet id o_mi_open_wizard; IBOutlet id o_mu_edit; IBOutlet id o_mi_cut; @@ -286,6 +289,8 @@ struct intf_sys_t - (IBAction)intfOpenDisc:(id)sender; - (IBAction)intfOpenNet:(id)sender; +- (IBAction)showWizard:(id)sender; + - (IBAction)viewAbout:(id)sender; - (IBAction)viewPreferences:(id)sender; - (IBAction)closeError:(id)sender; diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m index 58e3e75e3d..b3bff37f23 100644 --- a/modules/gui/macosx/intf.m +++ b/modules/gui/macosx/intf.m @@ -38,6 +38,7 @@ #include "controls.h" #include "about.h" #include "open.h" +#include "wizard.h" /***************************************************************************** * Local prototypes. @@ -296,6 +297,7 @@ static VLCMain *_o_sharedMainInstance = nil; o_about = [[VLAboutBox alloc] init]; o_prefs = nil; o_open = [[VLCOpen alloc] init]; + o_wizard = [[VLCWizard alloc] init]; i_lastShownVolume = -1; return _o_sharedMainInstance; @@ -459,6 +461,7 @@ static VLCMain *_o_sharedMainInstance = nil; [o_mi_open_net setTitle: _NS("Open Network...")]; [o_mi_open_recent setTitle: _NS("Open Recent")]; [o_mi_open_recent_cm setTitle: _NS("Clear Menu")]; + [o_mi_open_wizard setTitle: _NS("Wizard...")]; [o_mu_edit setTitle: _NS("Edit")]; [o_mi_cut setTitle: _NS("Cut")]; @@ -1421,6 +1424,18 @@ static VLCMain *_o_sharedMainInstance = nil; } } +- (IBAction)showWizard:(id)sender +{ + if (!nib_wizard_loaded) + { + nib_wizard_loaded = [NSBundle loadNibNamed:@"Wizard" owner:self]; + [o_wizard initStrings]; + [o_wizard showWizard]; + } else { + [o_wizard showWizard]; + } +} + - (IBAction)viewAbout:(id)sender { [o_about showPanel]; @@ -1557,12 +1572,13 @@ static VLCMain *_o_sharedMainInstance = nil; else { o_rect.size.height = 500; - if ( o_rect.size.width == [o_window minSize].width ) - { - o_rect.size.width = 500; - } - } + + if ( o_rect.size.width == [o_window minSize].width ) + { + o_rect.size.width = 500; + } + o_rect.size.height = (o_size_with_playlist.height > 200) ? o_size_with_playlist.height : 500; o_rect.origin.x = [o_window frame].origin.x; @@ -1574,6 +1590,7 @@ static VLCMain *_o_sharedMainInstance = nil; { /* make small */ o_rect.size.height = [o_window minSize].height; + o_rect.size.width = [o_window minSize].width; o_rect.origin.x = [o_window frame].origin.x; /* Calculate the position of the lower right corner after resize */ o_rect.origin.y = [o_window frame].origin.y + diff --git a/modules/gui/macosx/wizard.h b/modules/gui/macosx/wizard.h new file mode 100644 index 0000000000..b0895502bd --- /dev/null +++ b/modules/gui/macosx/wizard.h @@ -0,0 +1,117 @@ +/***************************************************************************** + * wizard.h: MacOS X Streaming Wizard + ***************************************************************************** + * Copyright (C) 2005 VideoLAN + * $Id$ + * + * Authors: Felix Kühne + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + *****************************************************************************/ + +/***************************************************************************** + * VLCWizard + *****************************************************************************/ + +#import + +@interface VLCWizard : NSObject +{ + IBOutlet id o_btn_backward; + IBOutlet id o_btn_cancel; + IBOutlet id o_btn_forward; + IBOutlet id o_t1_btn_mrInfo_strmg; + IBOutlet id o_t1_btn_mrInfo_trnscd; + IBOutlet id o_t1_rdo_streaming; + IBOutlet id o_t1_rdo_transcode; + IBOutlet id o_t1_txt_notice; + IBOutlet id o_t1_txt_text; + IBOutlet id o_t1_txt_title; + IBOutlet id o_t2_box_prtExtrct; + IBOutlet id o_t2_ckb_enblPartExtrct; + IBOutlet id o_t2_btn_chooseFile; + IBOutlet id o_t2_fld_pathToNewStrm; + IBOutlet id o_t2_fld_prtExtrctFrom; + IBOutlet id o_t2_fld_prtExtrctTo; + IBOutlet id o_t2_rdo_exstPlstItm; + IBOutlet id o_t2_rdo_newStrm; + IBOutlet id o_t2_tbl_plst; + IBOutlet id o_t2_text; + IBOutlet id o_t2_title; + IBOutlet id o_t2_txt_prtExtrctFrom; + IBOutlet id o_t2_txt_prtExtrctTo; + IBOutlet id o_t3_box_dest; + IBOutlet id o_t3_box_strmgMthd; + IBOutlet id o_t3_fld_address; + IBOutlet id o_t3_matrix_stmgMhd; + IBOutlet id o_t3_txt_destInfo; + IBOutlet id o_t3_txt_text; + IBOutlet id o_t3_txt_title; + IBOutlet id o_t4_box_audio; + IBOutlet id o_t4_box_video; + IBOutlet id o_t4_ckb_audio; + IBOutlet id o_t4_ckb_video; + IBOutlet id o_t4_pop_audioBitrate; + IBOutlet id o_t4_pop_audioCodec; + IBOutlet id o_t4_pop_videoBitrate; + IBOutlet id o_t4_pop_videoCodec; + IBOutlet id o_t4_text; + IBOutlet id o_t4_title; + IBOutlet id o_t4_txt_audioBitrate; + IBOutlet id o_t4_txt_videoBitrate; + IBOutlet id o_t4_txt_audioCodec; + IBOutlet id o_t4_txt_videoCodec; + IBOutlet id o_t4_txt_hintAudio; + IBOutlet id o_t4_txt_hintVideo; + IBOutlet id o_t5_matrix_encap; + IBOutlet id o_t5_text; + IBOutlet id o_t5_title; + IBOutlet id o_t6_ckb_sap; + IBOutlet id o_t6_fld_sap; + IBOutlet id o_t6_fld_ttl; + IBOutlet id o_t6_text; + IBOutlet id o_t6_title; + IBOutlet id o_t6_txt_ttl; + IBOutlet id o_t6_btn_mrInfo_ttl; + IBOutlet id o_t6_btn_mrInfo_sap; + IBOutlet id o_t7_btn_chooseFile; + IBOutlet id o_t7_fld_filePath; + IBOutlet id o_t7_text; + IBOutlet id o_t7_title; + IBOutlet id o_t7_txt_saveFileTo; + IBOutlet id o_tab_pageHolder; + IBOutlet id o_wizard_window; +} +- (IBAction)cancelRun:(id)sender; +- (IBAction)nextTab:(id)sender; +- (IBAction)prevTab:(id)sender; +- (IBAction)t1_mrInfo_streaming:(id)sender; +- (IBAction)t1_mrInfo_transcode:(id)sender; +- (IBAction)t2_addNewStream:(id)sender; +- (IBAction)t2_chooseStreamOrPlst:(id)sender; +- (IBAction)t2_enableExtract:(id)sender; +- (IBAction)t3_addressEntered:(id)sender; +- (IBAction)t4_AudCdcChanged:(id)sender; +- (IBAction)t4_enblAudTrnscd:(id)sender; +- (IBAction)t4_enblVidTrnscd:(id)sender; +- (IBAction)t4_VidCdcChanged:(id)sender; +- (IBAction)t6_enblSapAnnce:(id)sender; +- (IBAction)t6_mrInfo_ttl:(id)sender; +- (IBAction)t6_mrInfo_sap:(id)sender; +- (IBAction)t7_selectTrnscdDestFile:(id)sender; + ++ (VLCWizard *)sharedInstance; +- (void)showWizard; +@end diff --git a/modules/gui/macosx/wizard.m b/modules/gui/macosx/wizard.m new file mode 100644 index 0000000000..f0048cec0d --- /dev/null +++ b/modules/gui/macosx/wizard.m @@ -0,0 +1,319 @@ +/***************************************************************************** + * wizard.h: MacOS X Streaming Wizard + ***************************************************************************** + * Copyright (C) 2005 VideoLAN + * $Id$ + * + * Authors: Felix Kühne + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + *****************************************************************************/ + + +/***************************************************************************** + * Note: this code is based upon ../wxwindows/wizard.cpp, + * written by Clément Stenac. + *****************************************************************************/ + + +/***************************************************************************** + * Preamble + *****************************************************************************/ +#import "wizard.h" +#import "intf.h" + + +/***************************************************************************** + * VLCWizard implementation + *****************************************************************************/ + +@implementation VLCWizard + +static VLCWizard *_o_sharedInstance = nil; + ++ (VLCWizard *)sharedInstance +{ + return _o_sharedInstance ? _o_sharedInstance : [[self alloc] init]; +} + +- (id)init +{ + if (_o_sharedInstance) { + [self dealloc]; + } else { + _o_sharedInstance = [super init]; + } + + return _o_sharedInstance; +} + +- (void)awakeFromNib +{ + /* some minor cleanup */ + [o_t2_tbl_plst setEnabled:NO]; + + /* FIXME: make the both arrays global */ + + /* add audio-codecs for transcoding */ + NSArray * audioBitratesArray; + audioBitratesArray = [NSArray arrayWithObjects: @"512", @"256", @"192", @"128", @"64", @"32", @"16", nil ]; + [o_t4_pop_audioBitrate removeAllItems]; + [o_t4_pop_audioBitrate addItemsWithTitles: audioBitratesArray]; + [o_t4_pop_audioBitrate selectItemWithTitle: @"192"]; + + /* add video-codecs for transcoding */ + NSArray * videoBitratesArray; + videoBitratesArray = [NSArray arrayWithObjects: @"3072", @"2048", @"1024", @"768", @"512", @"256", @"192", @"128", @"64", @"32", @"16", nil ]; + [o_t4_pop_videoBitrate removeAllItems]; + [o_t4_pop_videoBitrate addItemsWithTitles: videoBitratesArray]; + [o_t4_pop_videoBitrate selectItemWithTitle: @"1024"]; + + /* FIXME: fill the codec-popups as well */ +} + +- (void)showWizard +{ + /* just present the window to the user */ + /* we might need a method to reset the window first */ + [o_tab_pageHolder selectFirstTabViewItem:self]; + + [o_wizard_window center]; + [o_wizard_window displayIfNeeded]; + [o_wizard_window makeKeyAndOrderFront:nil]; +} + +- (void)initStrings +{ + /* localise all strings to the users lang */ + /* method is called from intf.m (in method openWizard) */ + + /* general items */ + [o_btn_backward setTitle: _NS("< Back")]; + [o_btn_cancel setTitle: _NS("Cancel")]; + [o_btn_forward setTitle: _NS("Next >")]; + [o_wizard_window setTitle: _NS("Streaming/Transcoding Wizard")]; + + /* 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_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_rdo_streaming setTitle: _NS("Stream to network")]; + [o_t1_rdo_transcode 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_rdo_newStrm setTitle: _NS("Select a stream")]; + [o_t2_rdo_exstPlstItm setTitle: _NS("Existing playlist item")]; + [o_t2_btn_chooseFile setTitle: _NS("Choose...")]; + [[[o_t2_tbl_plst tableColumnWithIdentifier:@"name"] headerCell] setStringValue: _NS("Name")]; + [o_t2_box_prtExtrct setTitle: _NS("Partial Extract")]; + [o_t2_ckb_enblPartExtrct setTitle: _NS("Enable")]; + [o_t2_txt_prtExtrctFrom setStringValue: _NS("From")]; + [o_t2_txt_prtExtrctTo setStringValue: _NS("To")]; + + /* page three ("Streaming 1") */ + [o_t3_txt_title setStringValue: _NS("Streaming")]; + [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_matrix_stmgMhd cellAtRow:1 column:0] setTitle: _NS("UDP Unicast")]; + [[o_t3_matrix_stmgMhd cellAtRow:1 column:1] setTitle: _NS("UDP Multicast")]; + + /* 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_box_audio setTitle: _NS("Audio")]; + [o_t4_box_video setTitle: _NS("Video")]; + [o_t4_ckb_audio setTitle: _NS("Transcode audio")]; + [o_t4_ckb_video setTitle: _NS("Transcode video")]; + [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")]; + [o_t4_txt_hintVideo setStringValue: _NS("If your stream has video and you want to " \ + "transcode it, enable this")]; + + /* page five ("Encap") */ + [o_t5_title setStringValue: _NS("Encapsulation format")]; + [o_t5_text setStringValue: _NS("In this page, you will select how the stream will be "\ + "encapsulated. Depending on the choices you made, all "\ + "formats won't be available.")]; + + /* page six ("Streaming 2") */ + [o_t6_title setStringValue: _NS("Additional streaming options")]; + [o_t6_text setStringValue: _NS("In this page, you will define a few " \ + "additional parameters for your stream.")]; + [o_t6_txt_ttl setStringValue: _NS("Time-To-Live (TTL)")]; + [o_t6_btn_mrInfo_ttl setTitle: _NS("More Info")]; + [o_t6_ckb_sap setTitle: _NS("SAP Announce")]; + [o_t6_btn_mrInfo_sap setTitle: _NS("More Info")]; + + /* page seven ("Transcode 2") */ + [o_t7_title setStringValue: _NS("Additional transcode options")]; + [o_t7_text setStringValue: _NS("In this page, you will define a few " \ + "additionnal parameters for your transcoding.")]; + [o_t7_txt_saveFileTo setStringValue: _NS("Select the file to save to")]; + [o_t7_btn_chooseFile setTitle: _NS("Choose...")]; +} + +- (IBAction)cancelRun:(id)sender +{ + [o_wizard_window close]; +} + +- (IBAction)nextTab:(id)sender +{ + /* only a stub atm; needs to be implemented correctly later on */ + [o_tab_pageHolder selectNextTabViewItem:self]; +} + +- (IBAction)prevTab:(id)sender +{ + /* only a stub atm; needs to be implemented correctly later on */ + [o_tab_pageHolder selectPreviousTabViewItem:self]; +} + +- (IBAction)t1_mrInfo_streaming:(id)sender +{ + /* show a simple notify sheet for the help */ +} + +- (IBAction)t1_mrInfo_transcode:(id)sender +{ + /* show a simple notify sheet for the help */ +} + +- (IBAction)t2_addNewStream:(id)sender +{ + NSOpenPanel * openPanel = [NSOpenPanel openPanel]; + SEL sel = @selector(t2_getNewStreamFromDialog:returnCode:contextInfo:); + [openPanel beginSheetForDirectory:@"~" file:nil types:nil modalForWindow:o_wizard_window modalDelegate:self didEndSelector:sel contextInfo:nil]; +} + +- (void)t2_getNewStreamFromDialog: (NSOpenPanel *)sheet returnCode: (int)returnCode contextInfo: (void *)contextInfo +{ + if (returnCode == NSOKButton) + { + [o_t2_fld_pathToNewStrm setStringValue:[sheet filename]]; + /* FIXME: store path in a global variable */ + } +} + +- (IBAction)t2_chooseStreamOrPlst:(id)sender +{ + /* enable and disable the respective items depending on user's choice */ + /* TODO */ +} + +- (IBAction)t2_enableExtract:(id)sender +{ + /* enable/disable the respective items */ + if([o_t2_ckb_enblPartExtrct state] == NSOnState) + { + [o_t2_fld_prtExtrctFrom setEnabled:YES]; + [o_t2_fld_prtExtrctTo setEnabled:YES]; + } else { + [o_t2_fld_prtExtrctFrom setEnabled:NO]; + [o_t2_fld_prtExtrctTo setEnabled:NO]; + } +} + +- (IBAction)t3_addressEntered:(id)sender +{ + /* check whether the entered address is valid */ +} + +- (IBAction)t4_AudCdcChanged:(id)sender +{ + /* update codec info */ +} + +- (IBAction)t4_enblAudTrnscd:(id)sender +{ + /* enable/disable the respective items */ + if([o_t4_ckb_audio state] == NSOnState) + { + [o_t4_pop_audioCodec setEnabled:YES]; + + [o_t4_pop_audioBitrate setEnabled:YES]; + } else { + [o_t4_pop_audioCodec setEnabled:NO]; + [o_t4_pop_audioBitrate setEnabled:NO]; + } +} + +- (IBAction)t4_enblVidTrnscd:(id)sender +{ + /* enable/disable the respective items */ + if([o_t4_ckb_video state] == NSOnState) + { + [o_t4_pop_videoCodec setEnabled:YES]; + [o_t4_pop_videoBitrate setEnabled:YES]; + } else { + [o_t4_pop_videoCodec setEnabled:NO]; + [o_t4_pop_videoBitrate setEnabled:NO]; + } +} + +- (IBAction)t4_VidCdcChanged:(id)sender +{ + /* update codec info */ +} + +- (IBAction)t6_enblSapAnnce:(id)sender +{ + /* enable/disable input fld */ + if([o_t6_ckb_sap state] == NSOnState) + { + [o_t6_fld_sap setEnabled:YES]; + } else { + [o_t6_fld_sap setEnabled:NO]; + [o_t6_fld_sap setStringValue:@""]; + } +} + +- (IBAction)t6_mrInfo_ttl:(id)sender +{ + /* show a simple notify sheet for the help */ +} + +- (IBAction)t6_mrInfo_sap:(id)sender +{ + /* show a simple notify sheet for the help */ +} + +- (IBAction)t7_selectTrnscdDestFile:(id)sender +{ + /* provide a save-to-dialogue, so the user can choose a location for his/her new file */ + NSSavePanel * savePanel = [NSSavePanel savePanel]; + SEL sel = @selector(t7_getTrnscdDestFile:returnCode:contextInfo:); + [savePanel beginSheetForDirectory:@"~" file:nil modalForWindow:o_wizard_window modalDelegate:self didEndSelector:sel contextInfo:nil]; + /* FIXME: insert a suffix in file depending on the chosen encap-format */ +} + +- (void)t7_getTrnscdDestFile: (NSSavePanel *)sheet returnCode: (int)returnCode contextInfo: (void *)contextInfo +{ + if (returnCode == NSOKButton) + { + [o_t7_fld_filePath setStringValue:[sheet filename]]; + /* FIXME: store path in a global variable and add a suffix depending on the chosen encap-format, if needed */ + } +} + +@end -- 2.39.2