From 36ef2f6c3a6405a222d359cc5041e24beaaa32ab Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20Paul=20K=C3=BChne?= Date: Thu, 4 Aug 2005 23:24:50 +0000 Subject: [PATCH] * port of the WX-advanded-GUI to OSX (refs #268) - the adjust-image-filter and the audio-filters are completely useable ToDo: - complete i18n support - video-filters - loading the settings from the prefs correctly - probably minor layout tweaks, etc. --- Makefile.am | 4 + .../English.lproj/Extended.nib/classes.nib | 64 ++ .../English.lproj/Extended.nib/info.nib | 31 + .../Extended.nib/keyedobjects.nib | Bin 0 -> 18903 bytes .../English.lproj/MainMenu.nib/classes.nib | 64 +- .../English.lproj/MainMenu.nib/info.nib | 9 +- .../MainMenu.nib/keyedobjects.nib | Bin 76956 -> 77398 bytes extras/MacOSX/vlc.pbproj/project.pbxproj | 51 ++ modules/gui/macosx/Modules.am | 2 + modules/gui/macosx/extended.h | 104 ++++ modules/gui/macosx/extended.m | 579 ++++++++++++++++++ modules/gui/macosx/intf.h | 4 + modules/gui/macosx/intf.m | 15 + 13 files changed, 899 insertions(+), 28 deletions(-) create mode 100644 extras/MacOSX/Resources/English.lproj/Extended.nib/classes.nib create mode 100644 extras/MacOSX/Resources/English.lproj/Extended.nib/info.nib create mode 100644 extras/MacOSX/Resources/English.lproj/Extended.nib/keyedobjects.nib create mode 100644 modules/gui/macosx/extended.h create mode 100644 modules/gui/macosx/extended.m diff --git a/Makefile.am b/Makefile.am index 909cd4a9e0..d8e4d64157 100644 --- a/Makefile.am +++ b/Makefile.am @@ -561,6 +561,8 @@ VLC-release.app: vlc voutgl.m \ wizard.h \ wizard.m \ + extended.h \ + extended.m \ vout.m; do \ cp "$(srcdir)/modules/gui/macosx/$$i" \ $(top_builddir)/tmp/modules/gui/macosx; \ @@ -671,6 +673,8 @@ VLC.app: vlc voutgl.m \ wizard.h \ wizard.m \ + extended.h \ + extended.m \ vout.m; do \ cp "$(srcdir)/modules/gui/macosx/$$i" \ $(top_builddir)/tmp/modules/gui/macosx; \ diff --git a/extras/MacOSX/Resources/English.lproj/Extended.nib/classes.nib b/extras/MacOSX/Resources/English.lproj/Extended.nib/classes.nib new file mode 100644 index 0000000000..d83209bc3e --- /dev/null +++ b/extras/MacOSX/Resources/English.lproj/Extended.nib/classes.nib @@ -0,0 +1,64 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = { + "adjImg_Enbl" = id; + "adjImg_rstrDefaults" = id; + "adjImg_sliders" = id; + "audFtls_hdphnVirt" = id; + "audFtls_maxLevelSld" = id; + "audFtls_vlmeNorm" = id; + "extWin_exp_adjImg" = id; + "extWin_exp_audFlts" = id; + "extWin_exp_vidFlts" = id; + vidFlts = id; + "vidFlts_mrInfo" = id; + }; + CLASS = VLCExtended; + LANGUAGE = ObjC; + OUTLETS = { + "o_adjustImg_view" = id; + "o_audioFlts_view" = id; + "o_box_adjImg" = id; + "o_box_audFlts" = id; + "o_box_vidFlts" = id; + "o_btn_rstrDefaults" = id; + "o_btn_vidFlts_mrInfo" = id; + "o_ckb_blur" = id; + "o_ckb_distortion" = id; + "o_ckb_enblAdjustImg" = id; + "o_ckb_hdphnVirt" = id; + "o_ckb_imgClone" = id; + "o_ckb_imgCrop" = id; + "o_ckb_imgInvers" = id; + "o_ckb_trnsform" = id; + "o_ckb_vlme_norm" = id; + "o_expBtn_adjustImage" = id; + "o_expBtn_audioFlts" = id; + "o_expBtn_videoFlts" = id; + "o_extWin_adjImg_sepe" = id; + "o_extWin_vidFlts_sepe" = id; + "o_extended_window" = id; + "o_lbl_adjustImage" = id; + "o_lbl_audioFlts" = id; + "o_lbl_brightness" = id; + "o_lbl_contrast" = id; + "o_lbl_gamma" = id; + "o_lbl_hue" = id; + "o_lbl_maxLevel" = id; + "o_lbl_saturation" = id; + "o_lbl_videoFlts" = id; + "o_sld_brightness" = id; + "o_sld_contrast" = id; + "o_sld_gamma" = id; + "o_sld_hue" = id; + "o_sld_maxLevel" = id; + "o_sld_saturation" = id; + "o_videoFilters_view" = id; + }; + SUPERCLASS = NSObject; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/extras/MacOSX/Resources/English.lproj/Extended.nib/info.nib b/extras/MacOSX/Resources/English.lproj/Extended.nib/info.nib new file mode 100644 index 0000000000..ad4f9d9fca --- /dev/null +++ b/extras/MacOSX/Resources/English.lproj/Extended.nib/info.nib @@ -0,0 +1,31 @@ + + + + + IBDocumentLocation + 219 20 356 292 0 0 1440 878 + IBEditorPositions + + 13 + 506 668 390 138 0 0 1440 878 + 32 + 525 497 390 213 0 0 1440 878 + 5 + 598 370 390 196 0 0 1440 878 + + IBFramework Version + 437.0 + IBLockedObjects + + 32 + + IBOpenObjects + + 18 + 32 + 5 + + IBSystem Version + 8C46 + + diff --git a/extras/MacOSX/Resources/English.lproj/Extended.nib/keyedobjects.nib b/extras/MacOSX/Resources/English.lproj/Extended.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..19e5323ce0f68cc57e2abcafa1ff2eed271c803a GIT binary patch literal 18903 zcmbU|2Ygdi_xHZ{l9#6Ib*4LM(sYlECe2e+C_`o$Wt7#@kwPJDN(WHNco$hBBBIFN zpiB{vB_IxvAtD=O2qJDp5eFh4{?B_a4Q2T0_iuh_-Z=N(bI-cxoO^CbwX34G&SW}; zFrpBR7^FZ-#3FUygyNdgAr&K>H3bRqueQQn)ia^aU0smiE*a`9t*b5K0`u}aIUAg1 ztvrCi2v1&m9I24czz(^YGFVx0U9o^S22l#+i~Nuo*^nJQj#{9Ws0||MSu`CzkLIG+ z(3@y0`WPKU=g=qUBD#V;L)Xw3=v(v?`W@ZE3|3$t?1wq5!4WtWr(+W~<7}LRpTtk$ z4!9%kiF@JRxIZ3SJ#}&8|*W(d*JSKQ5eiqNfFXFj)9$t!<<286K-h?;fo%k*M z9^QvP#7FQ+dP{6I8M3xmoqHFYC`d#`xXz@OMh(1goq0i9g=_~Y?^pEsS=2h#(KRNXF)#^q6=P)5m<%R|d7Np*v}3w3c}y>+H#3kaWCk-8%us+B z#tdg_nL4JP8NrNXMl+3!zz}9KGliMXJkQKxUSj4l^O(iV5@sc{idoC7W8PpkG258! z%x-26^B(g)bC5a29A!RcPBEvM^UMY23iBEBCG!>YJ@W(eGjo%<#r(nCW&Tny3WY+g z@Ktb%AVs)Bqli(&D)b72B3Y55$W&x0EQ%b3L-B;-NkwZ#dqo#T4@DnEfnuPdP*JKV zQ&cF1D%^@{MZIE#qERtMK@<}dQxsDb&nspqUQ)cQn5USpSfW^|SfhAdu|=^%u~YG# z;s>Qx*-1H4IZD}}9Ib3rj!}+Pj#G|T3QD4!pnOI-Q8`IDSveU^S586Kl~V!oS>-h4 zbIR$;=h64d8PH-p{JsEfXTtjzm9vyD!FQJOW#t^@e3oVF*m`yZJCYs6Hn5}FMs^H4 zmL12AX9bq96WC|iiR>hHGCPHx%0A0ZW1nNEv(K|L*caHD?2GIy_9gaZb~aYAuds92 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 literal 0 HcmV?d00001 diff --git a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib index a8f2171073..687e6213f0 100644 --- a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib +++ b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib @@ -2,12 +2,6 @@ IBClasses = ( {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, {CLASS = MPSlider; LANGUAGE = ObjC; SUPERCLASS = NSSlider; }, - { - ACTIONS = {showPanel = id; }; - CLASS = VLAboutBox; - LANGUAGE = ObjC; - SUPERCLASS = NSObject; - }, {CLASS = VLBrushedMetalImageView; LANGUAGE = ObjC; SUPERCLASS = NSImageView; }, {CLASS = VLCApplication; LANGUAGE = ObjC; SUPERCLASS = NSApplication; }, {CLASS = VLCControllerView; LANGUAGE = ObjC; SUPERCLASS = NSView; }, @@ -71,6 +65,43 @@ }; SUPERCLASS = NSObject; }, + { + CLASS = VLCExtended; + LANGUAGE = ObjC; + OUTLETS = { + "o_adjustImg_view" = id; + "o_audioFlts_view" = id; + "o_btn_rstrDefaults" = id; + "o_btn_vidFlts_mrInfo" = id; + "o_ckb_blur" = id; + "o_ckb_distortion" = id; + "o_ckb_enblAdjustImg" = id; + "o_ckb_hdphn_virt" = id; + "o_ckb_imgClone" = id; + "o_ckb_imgCrop" = id; + "o_ckb_imgInvers" = id; + "o_ckb_trnsform" = id; + "o_ckb_vlme_norm" = id; + "o_expBtn_adjustImage" = id; + "o_expBtn_audioFlts" = id; + "o_expBtn_videoFlts" = id; + "o_extended_window" = id; + "o_lbl_brightness" = id; + "o_lbl_contrast" = id; + "o_lbl_gamma" = id; + "o_lbl_hue" = id; + "o_lbl_maxLevel" = id; + "o_lbl_saturation" = id; + "o_sld_brightness" = id; + "o_sld_contrast" = id; + "o_sld_gamma" = id; + "o_sld_hue" = id; + "o_sld_maxLevel" = id; + "o_sld_saturation" = id; + "o_videoFilters_view" = id; + }; + SUPERCLASS = NSObject; + }, { ACTIONS = { createOutlineGroup = id; @@ -113,6 +144,7 @@ openRecentItem = id; openWebsite = id; reportABug = id; + showExtended = id; showWizard = id; timesliderUpdate = id; togglePlaylist = id; @@ -162,6 +194,7 @@ "o_mi_documentation" = id; "o_mi_double_window" = id; "o_mi_equalizer" = id; + "o_mi_extended" = id; "o_mi_faster" = id; "o_mi_ffmpeg_pp" = id; "o_mi_fittoscreen" = id; @@ -242,8 +275,6 @@ }; SUPERCLASS = NSObject; }, - {CLASS = VLCOpen; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - {CLASS = VLCOutput; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, { ACTIONS = { deleteItem = id; @@ -285,22 +316,7 @@ }; SUPERCLASS = NSObject; }, - {CLASS = VLCPlaylistView; LANGUAGE = ObjC; SUPERCLASS = NSOutlineView; }, - { - ACTIONS = {advancedToggle = id; closePrefs = id; resetAll = id; savePrefs = id; }; - CLASS = VLCPrefs; - LANGUAGE = ObjC; - OUTLETS = { - "o_advanced_ckb" = id; - "o_cancel_btn" = id; - "o_prefs_view" = id; - "o_prefs_window" = id; - "o_reset_btn" = id; - "o_save_btn" = id; - "o_tree" = id; - }; - SUPERCLASS = NSObject; - } + {CLASS = VLCPlaylistView; LANGUAGE = ObjC; SUPERCLASS = NSOutlineView; } ); IBVersion = 1; } \ No newline at end of file diff --git a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib index b80338c6cb..af003ad301 100644 --- a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib +++ b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib @@ -3,13 +3,13 @@ IBDocumentLocation - 43 309 496 270 0 0 1024 746 + 52 78 496 270 0 0 1440 878 IBEditorPositions 1617 542 480 104 149 0 0 1024 746 2197 - 214 442 596 144 0 0 1024 746 + 422 532 596 143 0 0 1440 878 29 557 789 437 44 0 0 1440 878 915 @@ -21,10 +21,11 @@ IBOpenObjects - 29 + 2029 21 + 29 IBSystem Version - 8C40 + 8C46 diff --git a/extras/MacOSX/Resources/English.lproj/MainMenu.nib/keyedobjects.nib b/extras/MacOSX/Resources/English.lproj/MainMenu.nib/keyedobjects.nib index 027493ed7909ba0cfc1585fe88257176c7801aaf..190081811456e2a6b9728c68e34d60a2e9477d76 100644 GIT binary patch literal 77398 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 -eLa5y~}ngVV52208Y`AU3~ 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 K`TxIZ>i+;mGC2wW diff --git a/extras/MacOSX/vlc.pbproj/project.pbxproj b/extras/MacOSX/vlc.pbproj/project.pbxproj index 6da705cb28..c51f1290dc 100644 --- a/extras/MacOSX/vlc.pbproj/project.pbxproj +++ b/extras/MacOSX/vlc.pbproj/project.pbxproj @@ -813,6 +813,7 @@ DCF358BB077F10BA007DB450, DCA693C30789DF8700139EC6, DCFCCDB9085CE18F001E36AF, + DC7F46ED08A183FC0027DB24, ); isa = PBXResourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -895,6 +896,8 @@ 8E9CA1A606D7DEE800B7186C, DC769AB8085DF0DB001A838D, DC769AB7085DF0DB001A838D, + DC7F46F008A187F60027DB24, + DC7F46F108A187F60027DB24, ); isa = PBXGroup; name = Classes; @@ -2159,12 +2162,15 @@ //DC4 DC769AB7085DF0DB001A838D = { fileEncoding = 5; + indentWidth = 4; isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = wizard.m; path = ../../modules/gui/macosx/wizard.m; refType = 2; sourceTree = SOURCE_ROOT; + tabWidth = 4; + usesTabs = 0; }; DC769AB8085DF0DB001A838D = { fileEncoding = 5; @@ -2175,6 +2181,50 @@ refType = 2; sourceTree = SOURCE_ROOT; }; + DC7F46EB08A183FC0027DB24 = { + children = ( + DC7F46EC08A183FC0027DB24, + ); + isa = PBXVariantGroup; + name = Extended.nib; + path = ""; + refType = 4; + sourceTree = ""; + }; + DC7F46EC08A183FC0027DB24 = { + isa = PBXFileReference; + lastKnownFileType = wrapper.nib; + name = English; + path = Resources/English.lproj/Extended.nib; + refType = 4; + sourceTree = ""; + }; + DC7F46ED08A183FC0027DB24 = { + fileRef = DC7F46EB08A183FC0027DB24; + isa = PBXBuildFile; + settings = { + }; + }; + DC7F46F008A187F60027DB24 = { + explicitFileType = sourcecode.c.objc; + fileEncoding = 5; + isa = PBXFileReference; + name = extended.h; + path = ../../modules/gui/macosx/extended.h; + refType = 2; + sourceTree = SOURCE_ROOT; + usesTabs = 0; + }; + DC7F46F108A187F60027DB24 = { + explicitFileType = sourcecode.c.objc; + fileEncoding = 5; + includeInIndex = 0; + isa = PBXFileReference; + name = extended.m; + path = ../../modules/gui/macosx/extended.m; + refType = 2; + sourceTree = SOURCE_ROOT; + }; DCA00AA7075F948800E6BF46 = { children = ( DCA00AA8075F948800E6BF46, @@ -2260,6 +2310,7 @@ DCF358B9077F10BA007DB450, DCA693C10789DF8700139EC6, DCFCCDB7085CE18F001E36AF, + DC7F46EB08A183FC0027DB24, ); isa = PBXGroup; name = nibs; diff --git a/modules/gui/macosx/Modules.am b/modules/gui/macosx/Modules.am index eda20da922..f6d98fb710 100644 --- a/modules/gui/macosx/Modules.am +++ b/modules/gui/macosx/Modules.am @@ -30,5 +30,7 @@ SOURCES_macosx = \ vout.h \ wizard.h \ wizard.m \ + extended.h \ + extended.m \ $(NULL) diff --git a/modules/gui/macosx/extended.h b/modules/gui/macosx/extended.h new file mode 100644 index 0000000000..a8157f2148 --- /dev/null +++ b/modules/gui/macosx/extended.h @@ -0,0 +1,104 @@ +/***************************************************************************** + * extended.h: MacOS X Extended interface panel + ***************************************************************************** + * Copyright (C) 2005 the VideoLAN team + * $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. + *****************************************************************************/ + +/***************************************************************************** + * VLCExtended + *****************************************************************************/ + +#import + +@interface VLCExtended : NSObject +{ + /* views and window */ + IBOutlet id o_adjustImg_view; + IBOutlet id o_audioFlts_view; + IBOutlet id o_videoFilters_view; + IBOutlet id o_extended_window; + + /* window content */ + IBOutlet id o_expBtn_adjustImage; + IBOutlet id o_expBtn_audioFlts; + IBOutlet id o_expBtn_videoFlts; + IBOutlet id o_lbl_audioFlts; + IBOutlet id o_lbl_videoFlts; + IBOutlet id o_lbl_adjustImage; + IBOutlet id o_extWin_adjImg_sepe; + IBOutlet id o_extWin_vidFlts_sepe; + IBOutlet id o_box_vidFlts; + IBOutlet id o_box_audFlts; + IBOutlet id o_box_adjImg; + + /* video filters */ + IBOutlet id o_btn_vidFlts_mrInfo; + IBOutlet id o_ckb_blur; + IBOutlet id o_ckb_distortion; + IBOutlet id o_ckb_imgClone; + IBOutlet id o_ckb_imgCrop; + IBOutlet id o_ckb_imgInvers; + IBOutlet id o_ckb_trnsform; + + /* audio filters */ + IBOutlet id o_ckb_vlme_norm; + IBOutlet id o_ckb_hdphnVirt; + IBOutlet id o_lbl_maxLevel; + IBOutlet id o_sld_maxLevel; + + /* adjust image */ + IBOutlet id o_btn_rstrDefaults; + IBOutlet id o_ckb_enblAdjustImg; + IBOutlet id o_lbl_brightness; + IBOutlet id o_lbl_contrast; + IBOutlet id o_lbl_gamma; + IBOutlet id o_lbl_hue; + IBOutlet id o_lbl_saturation; + IBOutlet id o_sld_brightness; + IBOutlet id o_sld_contrast; + IBOutlet id o_sld_gamma; + IBOutlet id o_sld_hue; + IBOutlet id o_sld_saturation; + + /* global variables */ + BOOL * o_adjImg_expanded; + BOOL * o_audFlts_expanded; + BOOL * o_vidFlts_expanded; +} + +- (IBAction)adjImg_Enbl:(id)sender; +- (IBAction)adjImg_rstrDefaults:(id)sender; +- (IBAction)adjImg_sliders:(id)sender; +- (IBAction)audFtls_hdphnVirt:(id)sender; +- (IBAction)audFtls_maxLevelSld:(id)sender; +- (IBAction)audFtls_vlmeNorm:(id)sender; +- (IBAction)extWin_exp_adjImg:(id)sender; +- (IBAction)extWin_exp_audFlts:(id)sender; +- (IBAction)extWin_exp_vidFlts:(id)sender; +- (IBAction)vidFlts:(id)sender; +- (IBAction)vidFlts_mrInfo:(id)sender; + ++ (VLCExtended *)sharedInstance; + +- (void)showPanel; +- (void)initStrings; +- (void)changeVFiltersString: (char *)psz_name onOrOff: (BOOL)o_onOrOff; +- (void)changeAFiltersString: (char *)psz_name onOrOff: (BOOL)o_onOrOff; +@end diff --git a/modules/gui/macosx/extended.m b/modules/gui/macosx/extended.m new file mode 100644 index 0000000000..5488f3b4d2 --- /dev/null +++ b/modules/gui/macosx/extended.m @@ -0,0 +1,579 @@ +/***************************************************************************** + * extended.m: MacOS X Extended interface panel + ***************************************************************************** + * Copyright (C) 2005 the VideoLAN team + * $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: + * the code used to bind with VLC's modules is heavily based upon + * ../wxwidgets/extrapanel.cpp, written by Clément Stenac. + * the code used to insert/remove the view and resize/remove the other stuff + * was inspired by intf.m, written by Derk-Jan Hartman. + * (both are members of the VideoLAN team) + *****************************************************************************/ + + +/***************************************************************************** + * Preamble + *****************************************************************************/ + +#import "extended.h" +#import "intf.h" +#import +#import +#import +#import +#import + +/***************************************************************************** + * VLCExtended implementation + *****************************************************************************/ + +@implementation VLCExtended + +static VLCExtended *_o_sharedInstance = nil; + ++ (VLCExtended *)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)initStrings +{ + /* localise GUI-strings */ + /* method is called from intf.m (in method showExtended) */ +} + +- (void)awakeFromNib +{ + /* set the adjust-filter-sliders to the values from the prefs and enable + * them, if wanted */ + char * psz_vfilters; + intf_thread_t * p_intf = VLCIntf; + psz_vfilters = config_GetPsz( p_intf, "vout-filter" ); + if( psz_vfilters && strstr( psz_vfilters, "adjust" ) ) + { + [o_ckb_enblAdjustImg setState: NSOnState]; + [o_btn_rstrDefaults setEnabled: YES]; + [o_sld_brightness setEnabled: YES]; + [o_sld_contrast setEnabled: YES]; + [o_sld_gamma setEnabled: YES]; + [o_sld_hue setEnabled: YES]; + [o_sld_saturation setEnabled: YES]; + } + else + { + [o_ckb_enblAdjustImg setState: NSOffState]; + [o_btn_rstrDefaults setEnabled: NO]; + [o_sld_brightness setEnabled: NO]; + [o_sld_contrast setEnabled: NO]; + [o_sld_gamma setEnabled: NO]; + [o_sld_hue setEnabled: NO]; + [o_sld_saturation setEnabled: NO]; + } + if( psz_vfilters ) free( psz_vfilters ); + + int i_value = config_GetInt( p_intf, "hue" ); + if( i_value > 0 && i_value < 360 ) + { + [o_sld_hue setIntValue: i_value]; + } + + float f_value; + + f_value = config_GetFloat( p_intf, "saturation" ); + if( f_value > 0 && f_value < 5 ) + { + [o_sld_saturation setIntValue: (int)(100 * f_value) ]; + } + + f_value = config_GetFloat( p_intf, "contrast" ); + if( f_value > 0 && f_value < 4 ) + { + [o_sld_contrast setIntValue: (int)(100 * f_value) ]; + } + + f_value = config_GetFloat( p_intf, "brightness" ); + if( f_value > 0 && f_value < 2 ) + { + [o_sld_brightness setIntValue: (int)(100 * f_value) ]; + } + + f_value = config_GetFloat( p_intf, "gamma" ); + if( f_value > 0 && f_value < 10 ) + { + [o_sld_gamma setIntValue: (int)(10 * f_value) ]; + } + + + /* set the audio-filter-checkboxes to the values taken from the prefs */ + char * psz_afilters; + psz_afilters = config_GetPsz( p_intf, "audio-filter" ); + if( psz_afilters ) + { + [o_ckb_hdphnVirt setState: (int)strstr( psz_afilters, "headphone" ) ]; + [o_ckb_vlme_norm setState: (int)strstr( psz_afilters, "normvol" ) ]; + free( psz_afilters ); + } +} + +- (void)showPanel +{ + /* show the window */ + [o_extended_window displayIfNeeded]; + [o_extended_window makeKeyAndOrderFront:nil]; +} + +- (IBAction)adjImg_Enbl:(id)sender +{ + /* en-/disable the sliders */ + if ([o_ckb_enblAdjustImg state] == NSOnState) + { + [o_btn_rstrDefaults setEnabled: YES]; + [o_sld_brightness setEnabled: YES]; + [o_sld_contrast setEnabled: YES]; + [o_sld_gamma setEnabled: YES]; + [o_sld_hue setEnabled: YES]; + [o_sld_saturation setEnabled: YES]; + [self changeVFiltersString: "adjust" onOrOff: YES]; + }else{ + [o_btn_rstrDefaults setEnabled: NO]; + [o_sld_brightness setEnabled: NO]; + [o_sld_contrast setEnabled: NO]; + [o_sld_gamma setEnabled: NO]; + [o_sld_hue setEnabled: NO]; + [o_sld_saturation setEnabled: NO]; + [self changeVFiltersString: "adjust" onOrOff: NO]; + } +} + +- (IBAction)adjImg_rstrDefaults:(id)sender +{ + /* reset the sliders */ + [o_sld_brightness setIntValue: 100]; + [o_sld_contrast setIntValue: 100]; + [o_sld_gamma setIntValue: 10]; + [o_sld_hue setIntValue: 0]; + [o_sld_saturation setIntValue: 100]; + + /* transmit the values */ + [self adjImg_sliders: o_sld_brightness]; + [self adjImg_sliders: o_sld_contrast]; + [self adjImg_sliders: o_sld_gamma]; + [self adjImg_sliders: o_sld_hue]; + [self adjImg_sliders: o_sld_saturation]; +} + +- (IBAction)adjImg_sliders:(id)sender +{ + /* read-out the sliders' values and apply them */ + intf_thread_t * p_intf = VLCIntf; + vout_thread_t *p_vout = (vout_thread_t *)vlc_object_find(p_intf, + VLC_OBJECT_VOUT, FIND_ANYWHERE); + if( p_vout == NULL ) + { + if (sender == o_sld_brightness) + { + config_PutFloat( p_intf , "brightness" , [o_sld_brightness floatValue] / 100); + } else if (sender == o_sld_contrast) + { + config_PutFloat( p_intf , "contrast" , [o_sld_contrast floatValue] / 100); + } else if (sender == o_sld_gamma) + { + config_PutFloat( p_intf , "gamma" , [o_sld_gamma floatValue] / 10); + } else if (sender == o_sld_hue) + { + config_PutInt( p_intf , "hue" , [o_sld_hue intValue]); + } else if (sender == o_sld_saturation) + { + config_PutFloat( p_intf , "saturation" , [o_sld_saturation floatValue] / 100); + } + } else { + vlc_value_t val; + if (sender == o_sld_brightness) + { + val.f_float = [o_sld_brightness floatValue] / 100; + var_Set( p_vout, "brightness", val ); + config_PutFloat( p_intf , "brightness" , [o_sld_brightness floatValue] / 100); + } else if (sender == o_sld_contrast) + { + val.f_float = [o_sld_contrast floatValue] / 100; + var_Set( p_vout, "contrast", val ); + config_PutFloat( p_intf , "contrast" , [o_sld_contrast floatValue] / 100); + } else if (sender == o_sld_gamma) + { + val.f_float = [o_sld_gamma floatValue] / 10; + var_Set( p_vout, "gamma", val ); + config_PutFloat( p_intf , "gamma" , [o_sld_gamma floatValue] / 10); + } else if (sender == o_sld_hue) + { + val.i_int = [o_sld_hue intValue]; + var_Set( p_vout, "hue", val ); + config_PutInt( p_intf , "hue" , [o_sld_hue intValue]); + } else if (sender == o_sld_saturation) + { + val.f_float = [o_sld_saturation floatValue] / 100; + var_Set( p_vout, "saturation", val ); + config_PutFloat( p_intf , "saturation" , [o_sld_saturation floatValue] / 100); + } + } +} + +- (IBAction)audFtls_hdphnVirt:(id)sender +{ + /* en-/disable headphone virtualisation */ + if ([o_ckb_hdphnVirt state] == NSOnState) + { + [self changeAFiltersString: "headphone" onOrOff: YES ]; + }else{ + [self changeAFiltersString: "headphone" onOrOff: NO ]; + } +} + +- (IBAction)audFtls_maxLevelSld:(id)sender +{ + /* read-out the slider's value and apply it */ + intf_thread_t * p_intf = VLCIntf; + aout_instance_t * p_aout= (aout_instance_t *)vlc_object_find(p_intf, + VLC_OBJECT_AOUT, FIND_ANYWHERE); + if( p_aout != NULL ) + { + var_SetFloat( p_aout, "norm-max-level", [o_sld_maxLevel floatValue] / 10 ); + vlc_object_release( p_aout ); + } + else + { + config_PutFloat( p_intf, "norm-max-level", [o_sld_maxLevel floatValue] /10 ); + } +} + +- (IBAction)audFtls_vlmeNorm:(id)sender +{ + /* en-/disable volume normalisation */ + if ([o_ckb_vlme_norm state] == NSOnState) + { + [self changeAFiltersString: "normvol" onOrOff: YES ]; + }else{ + [self changeAFiltersString: "normvol" onOrOff: NO ]; + } +} + +- (IBAction)extWin_exp_adjImg:(id)sender +{ + /* expand or collapse adjImg */ + NSRect o_win_rect = [o_extended_window frame]; + NSRect o_box_audFlts_rect = [o_box_audFlts frame]; + NSRect o_box_vidFlts_rect = [o_box_vidFlts frame]; + NSRect o_box_adjImg_rect = [o_box_adjImg frame]; + + if (o_adjImg_expanded) + { + /* move the window contents upwards (partially done through settings + * inside the nib) and resize the window */ + o_win_rect.size.height = o_win_rect.size.height - 151; + o_win_rect.origin.y = [o_extended_window frame].origin.y + 151; + o_box_audFlts_rect.origin.y = o_box_audFlts_rect.origin.y + 151; + o_box_vidFlts_rect.origin.y = o_box_vidFlts_rect.origin.y + 151; + + /* remove the inserted view */ + [o_adjustImg_view removeFromSuperviewWithoutNeedingDisplay]; + }else{ + + /* move the window contents downwards and resize the window */ + o_win_rect.size.height = o_win_rect.size.height + 151; + o_win_rect.origin.y = [o_extended_window frame].origin.y - 151; + o_box_audFlts_rect.origin.y = o_box_audFlts_rect.origin.y - 151; + o_box_vidFlts_rect.origin.y = o_box_vidFlts_rect.origin.y - 151; + } + + [o_box_audFlts setFrameFromContentFrame: o_box_audFlts_rect]; + [o_box_vidFlts setFrameFromContentFrame: o_box_vidFlts_rect]; + [o_extended_window displayIfNeeded]; + [o_extended_window setFrame: o_win_rect display:YES animate: YES]; + + if (o_adjImg_expanded) + { + o_box_adjImg_rect.size.height = [o_box_adjImg frame].size.height - 151; + o_adjImg_expanded = NO; + } else { + /* insert view */ + o_box_adjImg_rect.size.height = [o_box_adjImg frame].size.height + 151; + [o_adjustImg_view setFrame: NSMakeRect( 20, -10, 370, 161)]; + [o_adjustImg_view setNeedsDisplay:YES]; + [o_adjustImg_view setAutoresizesSubviews: YES]; + [[o_box_adjImg contentView] addSubview: o_adjustImg_view]; + o_adjImg_expanded = YES; + } + [o_box_adjImg setFrameFromContentFrame: o_box_adjImg_rect]; +} + +- (IBAction)extWin_exp_audFlts:(id)sender +{ + /* expand or collapse audFlts */ + NSRect o_win_rect = [o_extended_window frame]; + NSRect o_box_audFlts_rect = [o_box_audFlts frame]; + + if (o_audFlts_expanded) + { + /* move the window contents upwards (partially done through settings + * inside the nib) and resize the window */ + o_win_rect.size.height = o_win_rect.size.height - 66; + o_win_rect.origin.y = [o_extended_window frame].origin.y + 66; + + /* remove the inserted view */ + [o_audioFlts_view removeFromSuperviewWithoutNeedingDisplay]; + }else{ + /* move the window contents downwards and resize the window */ + o_win_rect.size.height = o_win_rect.size.height + 66; + o_win_rect.origin.y = [o_extended_window frame].origin.y - 66; + } + [o_extended_window displayIfNeeded]; + [o_extended_window setFrame: o_win_rect display:YES animate: YES]; + + + if (o_audFlts_expanded) + { + o_box_audFlts_rect.size.height = [o_box_audFlts frame].size.height - 66; + o_audFlts_expanded = NO; + } else { + /* insert view */ + o_box_audFlts_rect.size.height = [o_box_audFlts frame].size.height + 66; + [o_audioFlts_view setFrame: NSMakeRect( 20, -20, 370, 76)]; + [o_audioFlts_view setNeedsDisplay:YES]; + [o_audioFlts_view setAutoresizesSubviews: YES]; + [[o_box_audFlts contentView] addSubview: o_audioFlts_view]; + o_audFlts_expanded = YES; + } + [o_box_audFlts setFrameFromContentFrame: o_box_audFlts_rect]; +} + +- (IBAction)extWin_exp_vidFlts:(id)sender +{ + /* expand or collapse vidFlts */ + NSRect o_win_rect = [o_extended_window frame]; + NSRect o_box_audFlts_rect = [o_box_audFlts frame]; + NSRect o_box_vidFlts_rect = [o_box_vidFlts frame]; + + if (o_vidFlts_expanded) + { + /* move the window contents upwards (partially done through settings + * inside the nib) and resize the window */ + o_win_rect.size.height = o_win_rect.size.height - 134; + o_win_rect.origin.y = [o_extended_window frame].origin.y + 134; + o_box_audFlts_rect.origin.y = o_box_audFlts_rect.origin.y + 134; + + /* remove the inserted view */ + [o_videoFilters_view removeFromSuperviewWithoutNeedingDisplay]; + }else{ + + /* move the window contents downwards and resize the window */ + o_win_rect.size.height = o_win_rect.size.height + 134; + o_win_rect.origin.y = [o_extended_window frame].origin.y - 134; + o_box_audFlts_rect.origin.y = o_box_audFlts_rect.origin.y - 134; + } + + [o_box_audFlts setFrameFromContentFrame: o_box_audFlts_rect]; + [o_extended_window displayIfNeeded]; + [o_extended_window setFrame: o_win_rect display:YES animate: YES]; + + if (o_vidFlts_expanded) + { + o_box_vidFlts_rect.size.height = [o_box_vidFlts frame].size.height - 134; + o_vidFlts_expanded = NO; + } else { + /* insert view */ + o_box_vidFlts_rect.size.height = [o_box_vidFlts frame].size.height + 134; + [o_videoFilters_view setFrame: NSMakeRect( 20, -10, 370, 144)]; + [o_videoFilters_view setNeedsDisplay:YES]; + [o_videoFilters_view setAutoresizesSubviews: YES]; + [[o_box_vidFlts contentView] addSubview: o_videoFilters_view]; + o_vidFlts_expanded = YES; + } + [o_box_vidFlts setFrameFromContentFrame: o_box_vidFlts_rect]; +} + +- (IBAction)vidFlts:(id)sender +{ + /* en-/disable video filters */ +} + +- (IBAction)vidFlts_mrInfo:(id)sender +{ + /* show info sheet */ + NSBeginInformationalAlertSheet(_NS("More information"), _NS("OK"), @"", @"", \ + o_extended_window, nil, nil, nil, nil, _NS("Select the video effects " \ + "filters to apply. You must restart the stream for these settings to " \ + "take effect.\nTo configure the filters, go to the Preferences, and " \ + "go to Modules/Video Filters. You can then configure each filter.\n" \ + "If you want fine control over the filters ( to choose the order in " \ + "which they are applied ), you need to enter manually a filters " \ + "string (Preferences / Video / Filters).")); +} + +- (void)changeVFiltersString:(char *)psz_name onOrOff:(BOOL)o_onOrOff +{ + /* copied from ../wxwidgets/extrapanel.cpp + * renamed to conform with Cocoa's rules */ + + vout_thread_t *p_vout; + intf_thread_t * p_intf = VLCIntf; + + char *psz_parser, *psz_string; + psz_string = config_GetPsz( p_intf, "vout-filter" ); + + if( !psz_string ) psz_string = strdup(""); + + psz_parser = strstr( psz_string, psz_name ); + + if( o_onOrOff ) + { + if( !psz_parser ) + { + psz_parser = psz_string; + asprintf( &psz_string, (*psz_string) ? "%s:%s" : "%s%s", + psz_string, psz_name ); + free( psz_parser ); + } + else + { + return; + } + } + else + { + if( psz_parser ) + { + memmove( psz_parser, psz_parser + strlen(psz_name) + + (*(psz_parser + strlen(psz_name)) == ':' ? 1 : 0 ), + strlen(psz_parser + strlen(psz_name)) + 1 ); + + /* Remove trailing : : */ + if( *(psz_string+strlen(psz_string ) -1 ) == ':' ) + { + *(psz_string+strlen(psz_string ) -1 ) = '\0'; + } + } + else + { + free( psz_string ); + return; + } + } + /* Vout is not kept, so put that in the config */ + config_PutPsz( p_intf, "vout-filter", psz_string ); + + /* Try to set on the fly */ + p_vout = (vout_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT, + FIND_ANYWHERE ); + if( p_vout ) + { + var_SetString( p_vout, "vout-filter", psz_string ); + vlc_object_release( p_vout ); + } + + free( psz_string ); +} + + +- (void)changeAFiltersString: (char *)psz_name onOrOff: (BOOL)o_onOrOff; +{ + char *psz_parser, *psz_string; + intf_thread_t * p_intf = VLCIntf; + aout_instance_t * p_aout= (aout_instance_t *)vlc_object_find(p_intf, + VLC_OBJECT_AOUT, FIND_ANYWHERE); + + if( p_aout ) + { + psz_string = var_GetString( p_aout, "audio-filter" ); + } + else + { + psz_string = config_GetPsz( p_intf, "audio-filter" ); + } + + if( !psz_string ) psz_string = strdup(""); + + psz_parser = strstr( psz_string, psz_name ); + + if( o_onOrOff ) + { + if( !psz_parser ) + { + psz_parser = psz_string; + asprintf( &psz_string, (*psz_string) ? "%s:%s" : "%s%s", + psz_string, psz_name ); + free( psz_parser ); + } + else + { + return; + } + } + else + { + if( psz_parser ) + { + memmove( psz_parser, psz_parser + strlen(psz_name) + + (*(psz_parser + strlen(psz_name)) == ':' ? 1 : 0 ), + strlen(psz_parser + strlen(psz_name)) + 1 ); + + if( *(psz_string+strlen(psz_string ) -1 ) == ':' ) + { + *(psz_string+strlen(psz_string ) -1 ) = '\0'; + } + } + else + { + free( psz_string ); + return; + } + } + + if( p_aout == NULL ) + { + config_PutPsz( p_intf, "audio-filter", psz_string ); + } + else + { + var_SetString( p_aout, "audio-filter", psz_string ); + int i = 0; + while( i < p_aout->i_nb_inputs ) + { + p_aout->pp_inputs[i]->b_restart = VLC_TRUE; + i = (i + 1); + } + vlc_object_release( p_aout ); + } + free( psz_string ); +} +@end diff --git a/modules/gui/macosx/intf.h b/modules/gui/macosx/intf.h index 004add4c17..75237ca069 100644 --- a/modules/gui/macosx/intf.h +++ b/modules/gui/macosx/intf.h @@ -91,9 +91,11 @@ struct intf_sys_t id o_about; /* VLAboutBox */ id o_open; /* VLCOpen */ id o_wizard; /* VLCWizard */ + id o_extended; /* VLCExtended */ BOOL nib_open_loaded; /* reference to the open-nib */ BOOL nib_about_loaded; /* reference to the about-nib */ BOOL nib_wizard_loaded; /* reference to the wizard-nib */ + BOOL nib_extended_loaded; /* reference to the extended-nib */ IBOutlet id o_window; /* main window */ IBOutlet id o_playlist_view;/* playlist view */ @@ -226,6 +228,7 @@ struct intf_sys_t IBOutlet id o_mi_close_window; IBOutlet id o_mi_controller; IBOutlet id o_mi_equalizer; + IBOutlet id o_mi_extended; IBOutlet id o_mi_playlist; IBOutlet id o_mi_info; IBOutlet id o_mi_messages; @@ -292,6 +295,7 @@ struct intf_sys_t - (IBAction)intfOpenNet:(id)sender; - (IBAction)showWizard:(id)sender; +- (IBAction)showExtended:(id)sender; - (IBAction)viewAbout:(id)sender; - (IBAction)viewPreferences:(id)sender; diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m index e0c8a1f50b..e9bc0cf76a 100644 --- a/modules/gui/macosx/intf.m +++ b/modules/gui/macosx/intf.m @@ -39,6 +39,7 @@ #include "about.h" #include "open.h" #include "wizard.h" +#include "extended.h" /***************************************************************************** * Local prototypes. @@ -298,6 +299,7 @@ static VLCMain *_o_sharedMainInstance = nil; o_prefs = nil; o_open = [[VLCOpen alloc] init]; o_wizard = [[VLCWizard alloc] init]; + o_extended = [[VLCExtended alloc] init]; i_lastShownVolume = -1; return _o_sharedMainInstance; @@ -527,6 +529,7 @@ static VLCMain *_o_sharedMainInstance = nil; [o_mi_close_window setTitle: _NS("Close Window")]; [o_mi_controller setTitle: _NS("Controller")]; [o_mi_equalizer setTitle: _NS("Equalizer")]; + [o_mi_extended setTitle: _NS("Extended controls")]; [o_mi_playlist setTitle: _NS("Playlist")]; [o_mi_info setTitle: _NS("Info")]; [o_mi_messages setTitle: _NS("Messages")]; @@ -1444,6 +1447,18 @@ static VLCMain *_o_sharedMainInstance = nil; } } +- (IBAction)showExtended:(id)sender +{ + if (!nib_extended_loaded) + { + nib_extended_loaded = [NSBundle loadNibNamed:@"Extended" owner:self]; + [o_extended initStrings]; + [o_extended showPanel]; + } else { + [o_extended showPanel]; + } +} + - (IBAction)viewAbout:(id)sender { if (!nib_about_loaded) -- 2.39.2