Commit 6ea5cf5e authored by Felix Paul Kühne's avatar Felix Paul Kühne

* macosx/extended.*: finished the extended-controls for OSX (closes #268)

    - save the prefs when they are changed, so the settings are kept
    - restore the objects to the correct values
    - fixed some compiler warnings
    - i18n support additions
    
* Extended.nib: minor tweak
    
* wxwidgets/extrapanel.cpp: fixed typo
parent f9d13dd1
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
</array> </array>
<key>IBOpenObjects</key> <key>IBOpenObjects</key>
<array> <array>
<integer>32</integer>
<integer>18</integer> <integer>18</integer>
<integer>32</integer>
<integer>5</integer> <integer>5</integer>
</array> </array>
<key>IBSystem Version</key> <key>IBSystem Version</key>
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
*****************************************************************************/ *****************************************************************************/
#import <Cocoa/Cocoa.h> #import <Cocoa/Cocoa.h>
#import <vlc/vlc.h>
@interface VLCExtended : NSObject @interface VLCExtended : NSObject
{ {
...@@ -80,9 +81,9 @@ ...@@ -80,9 +81,9 @@
IBOutlet id o_sld_saturation; IBOutlet id o_sld_saturation;
/* global variables */ /* global variables */
BOOL * o_adjImg_expanded; BOOL o_adjImg_expanded;
BOOL * o_audFlts_expanded; BOOL o_audFlts_expanded;
BOOL * o_vidFlts_expanded; BOOL o_vidFlts_expanded;
} }
- (IBAction)adjImg_Enbl:(id)sender; - (IBAction)adjImg_Enbl:(id)sender;
...@@ -101,6 +102,7 @@ ...@@ -101,6 +102,7 @@
- (void)showPanel; - (void)showPanel;
- (void)initStrings; - (void)initStrings;
- (void)changeVFiltersString: (char *)psz_name onOrOff: (BOOL)o_onOrOff; - (void)changeVFiltersString: (char *)psz_name onOrOff: (vlc_bool_t )b_add;
- (void)changeAFiltersString: (char *)psz_name onOrOff: (BOOL)o_onOrOff; - (void)changeAFiltersString: (char *)psz_name onOrOff: (vlc_bool_t )b_add;
- (void)savePrefs;
@end @end
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
#import "extended.h" #import "extended.h"
#import "intf.h" #import "intf.h"
#import <vlc/vlc.h>
#import <vlc/aout.h> #import <vlc/aout.h>
#import <aout_internal.h> #import <aout_internal.h>
#import <vlc/vout.h> #import <vlc/vout.h>
...@@ -80,13 +79,23 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -80,13 +79,23 @@ static VLCExtended *_o_sharedInstance = nil;
[o_lbl_adjustImage setStringValue: _NS("Adjust Image")]; [o_lbl_adjustImage setStringValue: _NS("Adjust Image")];
[o_btn_vidFlts_mrInfo setTitle: _NS("More Info")]; [o_btn_vidFlts_mrInfo setTitle: _NS("More Info")];
[o_ckb_blur setTitle: _NS("Blurring")]; [o_ckb_blur setTitle: _NS("Blurring")];
[o_ckb_blur setToolTip: _NS("Creates a motion blurring on the image")];
[o_ckb_distortion setTitle: _NS("Distortion")]; [o_ckb_distortion setTitle: _NS("Distortion")];
[o_ckb_distortion setToolTip: _NS("Adds distorsion effects")];
[o_ckb_imgClone setTitle: _NS("Image clone")]; [o_ckb_imgClone setTitle: _NS("Image clone")];
[o_ckb_imgClone setToolTip: _NS("Creates several clones of the image")];
[o_ckb_imgCrop setTitle: _NS("Image cropping")]; [o_ckb_imgCrop setTitle: _NS("Image cropping")];
[o_ckb_imgCrop setToolTip: _NS("Crops the image")];
[o_ckb_imgInvers setTitle: _NS("Image inversion")]; [o_ckb_imgInvers setTitle: _NS("Image inversion")];
[o_ckb_imgInvers setToolTip: _NS("Inverts the image colors")];
[o_ckb_trnsform setTitle: _NS("Transformation")]; [o_ckb_trnsform setTitle: _NS("Transformation")];
[o_ckb_trnsform setToolTip: _NS("Rotates or flips the image")];
[o_ckb_vlme_norm setTitle: _NS("Volume normalization")]; [o_ckb_vlme_norm setTitle: _NS("Volume normalization")];
[o_ckb_vlme_norm setToolTip: _NS("This filters prevents the audio output " \
"power from going over a defined value.")];
[o_ckb_hdphnVirt setTitle: _NS("Headphone virtualization")]; [o_ckb_hdphnVirt setTitle: _NS("Headphone virtualization")];
[o_ckb_hdphnVirt setToolTip: _NS("This filter gives the feeling of a " \
"5.1 speaker set when using a headphone.")];
[o_lbl_maxLevel setStringValue: _NS("Maximum level")]; [o_lbl_maxLevel setStringValue: _NS("Maximum level")];
[o_btn_rstrDefaults setTitle: _NS("Restore Defaults")]; [o_btn_rstrDefaults setTitle: _NS("Restore Defaults")];
[o_ckb_enblAdjustImg setTitle: _NS("Enable")]; [o_ckb_enblAdjustImg setTitle: _NS("Enable")];
...@@ -95,6 +104,7 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -95,6 +104,7 @@ static VLCExtended *_o_sharedInstance = nil;
[o_lbl_gamma setStringValue: _NS("Gamma")]; [o_lbl_gamma setStringValue: _NS("Gamma")];
[o_lbl_hue setStringValue: _NS("Hue")]; [o_lbl_hue setStringValue: _NS("Hue")];
[o_lbl_saturation setStringValue: _NS("Saturation")]; [o_lbl_saturation setStringValue: _NS("Saturation")];
} }
- (void)awakeFromNib - (void)awakeFromNib
...@@ -124,7 +134,6 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -124,7 +134,6 @@ static VLCExtended *_o_sharedInstance = nil;
[o_sld_hue setEnabled: NO]; [o_sld_hue setEnabled: NO];
[o_sld_saturation setEnabled: NO]; [o_sld_saturation setEnabled: NO];
} }
if( psz_vfilters ) free( psz_vfilters );
int i_value = config_GetInt( p_intf, "hue" ); int i_value = config_GetInt( p_intf, "hue" );
if( i_value > 0 && i_value < 360 ) if( i_value > 0 && i_value < 360 )
...@@ -158,6 +167,18 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -158,6 +167,18 @@ static VLCExtended *_o_sharedInstance = nil;
[o_sld_gamma setIntValue: (int)(10 * f_value) ]; [o_sld_gamma setIntValue: (int)(10 * f_value) ];
} }
/* set the other video-filter-checkboxes to the correct values */
if( psz_vfilters )
{
[o_ckb_blur setState: (int)strstr( psz_vfilters, "motionblur")];
[o_ckb_distortion setState: (int)strstr( psz_vfilters, "distort")];
[o_ckb_imgClone setState: (int)strstr( psz_vfilters, "clone")];
[o_ckb_imgCrop setState: (int)strstr( psz_vfilters, "crop")];
[o_ckb_imgInvers setState: (int)strstr( psz_vfilters, "invert")];
[o_ckb_trnsform setState: (int)strstr( psz_vfilters, "transform")];
free( psz_vfilters );
}
/* set the audio-filter-checkboxes to the values taken from the prefs */ /* set the audio-filter-checkboxes to the values taken from the prefs */
char * psz_afilters; char * psz_afilters;
...@@ -166,8 +187,12 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -166,8 +187,12 @@ static VLCExtended *_o_sharedInstance = nil;
{ {
[o_ckb_hdphnVirt setState: (int)strstr( psz_afilters, "headphone" ) ]; [o_ckb_hdphnVirt setState: (int)strstr( psz_afilters, "headphone" ) ];
[o_ckb_vlme_norm setState: (int)strstr( psz_afilters, "normvol" ) ]; [o_ckb_vlme_norm setState: (int)strstr( psz_afilters, "normvol" ) ];
free( psz_afilters ); free( psz_afilters );
} }
[o_sld_maxLevel setFloatValue: (config_GetFloat(p_intf, "norm-max-level") \
* 10)];
} }
- (void)showPanel - (void)showPanel
...@@ -188,7 +213,7 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -188,7 +213,7 @@ static VLCExtended *_o_sharedInstance = nil;
[o_sld_gamma setEnabled: YES]; [o_sld_gamma setEnabled: YES];
[o_sld_hue setEnabled: YES]; [o_sld_hue setEnabled: YES];
[o_sld_saturation setEnabled: YES]; [o_sld_saturation setEnabled: YES];
[self changeVFiltersString: "adjust" onOrOff: YES]; [self changeVFiltersString: "adjust" onOrOff: VLC_TRUE];
}else{ }else{
[o_btn_rstrDefaults setEnabled: NO]; [o_btn_rstrDefaults setEnabled: NO];
[o_sld_brightness setEnabled: NO]; [o_sld_brightness setEnabled: NO];
...@@ -196,7 +221,7 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -196,7 +221,7 @@ static VLCExtended *_o_sharedInstance = nil;
[o_sld_gamma setEnabled: NO]; [o_sld_gamma setEnabled: NO];
[o_sld_hue setEnabled: NO]; [o_sld_hue setEnabled: NO];
[o_sld_saturation setEnabled: NO]; [o_sld_saturation setEnabled: NO];
[self changeVFiltersString: "adjust" onOrOff: NO]; [self changeVFiltersString: "adjust" onOrOff: VLC_FALSE];
} }
} }
...@@ -284,9 +309,9 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -284,9 +309,9 @@ static VLCExtended *_o_sharedInstance = nil;
/* en-/disable headphone virtualisation */ /* en-/disable headphone virtualisation */
if ([o_ckb_hdphnVirt state] == NSOnState) if ([o_ckb_hdphnVirt state] == NSOnState)
{ {
[self changeAFiltersString: "headphone" onOrOff: YES ]; [self changeAFiltersString: "headphone" onOrOff: VLC_TRUE ];
}else{ }else{
[self changeAFiltersString: "headphone" onOrOff: NO ]; [self changeAFiltersString: "headphone" onOrOff: VLC_FALSE ];
} }
} }
...@@ -503,7 +528,7 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -503,7 +528,7 @@ static VLCExtended *_o_sharedInstance = nil;
"string (Preferences / Video / Filters).")); "string (Preferences / Video / Filters)."));
} }
- (void)changeVFiltersString:(char *)psz_name onOrOff:(BOOL)o_onOrOff - (void)changeVFiltersString:(char *)psz_name onOrOff:(vlc_bool_t )b_add
{ {
/* copied from ../wxwidgets/extrapanel.cpp /* copied from ../wxwidgets/extrapanel.cpp
* renamed to conform with Cocoa's rules */ * renamed to conform with Cocoa's rules */
...@@ -518,7 +543,7 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -518,7 +543,7 @@ static VLCExtended *_o_sharedInstance = nil;
psz_parser = strstr( psz_string, psz_name ); psz_parser = strstr( psz_string, psz_name );
if( o_onOrOff ) if( b_add )
{ {
if( !psz_parser ) if( !psz_parser )
{ {
...@@ -565,10 +590,12 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -565,10 +590,12 @@ static VLCExtended *_o_sharedInstance = nil;
} }
free( psz_string ); free( psz_string );
[self savePrefs];
} }
- (void)changeAFiltersString: (char *)psz_name onOrOff: (BOOL)o_onOrOff; - (void)changeAFiltersString: (char *)psz_name onOrOff: (vlc_bool_t )b_add;
{ {
char *psz_parser, *psz_string; char *psz_parser, *psz_string;
intf_thread_t * p_intf = VLCIntf; intf_thread_t * p_intf = VLCIntf;
...@@ -588,7 +615,7 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -588,7 +615,7 @@ static VLCExtended *_o_sharedInstance = nil;
psz_parser = strstr( psz_string, psz_name ); psz_parser = strstr( psz_string, psz_name );
if( o_onOrOff ) if( b_add )
{ {
if( !psz_parser ) if( !psz_parser )
{ {
...@@ -638,5 +665,24 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -638,5 +665,24 @@ static VLCExtended *_o_sharedInstance = nil;
vlc_object_release( p_aout ); vlc_object_release( p_aout );
} }
free( psz_string ); free( psz_string );
[self savePrefs];
}
- (void)savePrefs
{
/* save the preferences to make sure that our module-changes will up on
* next launch again */
intf_thread_t * p_intf = VLCIntf;
int returnedValue;
returnedValue = config_SaveConfigFile( p_intf, NULL);
if (returnedValue == 0)
{
msg_Dbg(p_intf, "VLCExtended: saved preferences successfully");
} else {
msg_Dbg(p_intf, "VLCExtended: error while saving the preferences (%i) " \
, returnedValue);
}
} }
@end @end
...@@ -472,7 +472,7 @@ wxPanel *ExtraPanel::EqzPanel( wxWindow *parent ) ...@@ -472,7 +472,7 @@ wxPanel *ExtraPanel::EqzPanel( wxWindow *parent )
eq_2p_chkbox = new wxCheckBox( panel, Eq2Pass_Event, eq_2p_chkbox = new wxCheckBox( panel, Eq2Pass_Event,
wxU(_("2 Pass") ) ); wxU(_("2 Pass") ) );
eq_2p_chkbox->SetToolTip( wxU(_("If you enable this settting, the " eq_2p_chkbox->SetToolTip( wxU(_("If you enable this setting, the "
"equalizer filter will be applied twice. The effect will be sharper.") ) ); "equalizer filter will be applied twice. The effect will be sharper.") ) );
top_sizer->Add( eq_2p_chkbox, 0, wxALL, 2 ); top_sizer->Add( eq_2p_chkbox, 0, wxALL, 2 );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment