X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fmacosx%2Fextended.m;h=c16044a9cbd6b16d84bfcdcf336c9e57dedcb6b7;hb=c67627c63b23033eccbf1251151b324c6e0d5c62;hp=e8247825be1fc71bcb06d21016a9d1cd219c1726;hpb=7fef8b8726f85876ffe110a949e1a09251094c83;p=vlc diff --git a/modules/gui/macosx/extended.m b/modules/gui/macosx/extended.m index e8247825be..c16044a9cb 100644 --- a/modules/gui/macosx/extended.m +++ b/modules/gui/macosx/extended.m @@ -1,10 +1,10 @@ /***************************************************************************** * extended.m: MacOS X Extended interface panel ***************************************************************************** - * Copyright (C) 2005-2006 the VideoLAN team + * Copyright (C) 2005-2008 the VideoLAN team * $Id$ * - * Authors: Felix Kühne + * Authors: Felix Paul 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 @@ -22,27 +22,15 @@ *****************************************************************************/ -/***************************************************************************** - * 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 views was inspired by intf.m, - * written by Derk-Jan Hartman and Benjamin Pracht. - * (all 3 are members of the VideoLAN team) - *****************************************************************************/ - - /***************************************************************************** * Preamble *****************************************************************************/ #import "extended.h" -#import "intf.h" #import "vout.h" -#import -#import -#import -#import +#import +#import +#import /***************************************************************************** * VLCExtended implementation @@ -82,7 +70,7 @@ static VLCExtended *_o_sharedInstance = nil; [o_lbl_audioFlts setStringValue: _NS("Audio filters")]; [o_lbl_videoFlts setStringValue: _NS("Video filters")]; [o_lbl_adjustImage setStringValue: _NS("Image adjustment")]; - [o_btn_vidFlts_mrInfo setTitle: _NS("More Info")]; + [o_btn_vidFlts_mrInfo setToolTip: _NS("Shows more information about the available video filters.")]; [o_ckb_wave setTitle: _NS("Wave")]; [o_ckb_ripple setTitle: _NS("Ripple")]; [o_ckb_psycho setTitle: _NS("Psychedelic")]; @@ -104,10 +92,10 @@ static VLCExtended *_o_sharedInstance = nil; [o_ckb_intZoom setToolTip: _NS("Enables an interactive Zoom feature")]; [o_ckb_vlme_norm setTitle: _NS("Volume normalization")]; [o_ckb_vlme_norm setToolTip: _NS("Prevents the audio output from going " - "over a predefined value.")]; + "over a predefined value.")]; [o_ckb_hdphnVirt setTitle: _NS("Headphone virtualization")]; [o_ckb_hdphnVirt setToolTip: _NS("Imitates the effect of surround sound " - "when using headphones.")]; + "when using headphones.")]; [o_lbl_maxLevel setStringValue: _NS("Maximum level")]; [o_btn_rstrDefaults setTitle: _NS("Restore Defaults")]; [o_ckb_enblAdjustImg setTitle: _NS("Enable")]; @@ -117,7 +105,7 @@ static VLCExtended *_o_sharedInstance = nil; [o_lbl_hue setStringValue: _NS("Hue")]; [o_lbl_saturation setStringValue: _NS("Saturation")]; [o_lbl_opaque setStringValue: _NS("Opaqueness")]; - + } - (void)awakeFromNib @@ -127,7 +115,21 @@ static VLCExtended *_o_sharedInstance = nil; char * psz_vfilters; intf_thread_t * p_intf = VLCIntf; psz_vfilters = config_GetPsz( p_intf, "vout-filter" ); - if( psz_vfilters && strstr( psz_vfilters, "adjust" ) ) + /* set the video-filter-checkboxes to the correct values */ + if( psz_vfilters ) + { + [o_ckb_blur setState: (int)strstr( psz_vfilters, "motionblur")]; + [o_ckb_imgClone setState: (int)strstr( psz_vfilters, "clone")]; + [o_ckb_imgCrop setState: (int)strstr( psz_vfilters, "crop")]; + [o_ckb_trnsform setState: (int)strstr( psz_vfilters, "transform")]; + + free( psz_vfilters ); + } + + /* set the video-filter checkboxes to the correct values */ + char * psz_vifilters; + psz_vifilters = config_GetPsz( p_intf, "video-filter" ); + if( psz_vifilters && strstr( psz_vifilters, "adjust" ) ) { [o_ckb_enblAdjustImg setState: NSOnState]; [o_btn_rstrDefaults setEnabled: YES]; @@ -147,21 +149,6 @@ static VLCExtended *_o_sharedInstance = nil; [o_sld_hue setEnabled: NO]; [o_sld_saturation setEnabled: NO]; } - - /* set the other video-filter-checkboxes to the correct values */ - if( psz_vfilters ) - { - [o_ckb_blur setState: (int)strstr( psz_vfilters, "motionblur")]; - [o_ckb_imgClone setState: (int)strstr( psz_vfilters, "clone")]; - [o_ckb_imgCrop setState: (int)strstr( psz_vfilters, "crop")]; - [o_ckb_trnsform setState: (int)strstr( psz_vfilters, "transform")]; - - free( psz_vfilters ); - } - - /* set the video-filter checkboxes to the correct values */ - char * psz_vifilters; - psz_vifilters = config_GetPsz( p_intf, "video-filter" ); if( psz_vifilters ) { [o_ckb_wave setState: (int)strstr( psz_vifilters, "wave")]; @@ -172,7 +159,7 @@ static VLCExtended *_o_sharedInstance = nil; free( psz_vifilters ); } - + /* set the audio-filter-checkboxes to the values taken from the prefs */ char * psz_afilters; psz_afilters = config_GetPsz( p_intf, "audio-filter" ); @@ -180,7 +167,7 @@ static VLCExtended *_o_sharedInstance = nil; { [o_ckb_hdphnVirt setState: (int)strstr( psz_afilters, "headphone" ) ]; [o_ckb_vlme_norm setState: (int)strstr( psz_afilters, "normvol" ) ]; - + free( psz_afilters ); } } @@ -189,17 +176,13 @@ static VLCExtended *_o_sharedInstance = nil; { /* collaps all views so Cocoa saves the window position correctly */ if( o_adjImg_expanded ) - { - [self extWin_exp_adjImg: nil]; - } + [self expandAdjustImage: nil]; + if( o_audFlts_expanded ) - { - [self extWin_exp_audFlts: nil]; - } + [self expandAudioFilters: nil]; + if( o_vidFlts_expanded ) - { - [self extWin_exp_vidFlts: nil]; - } + [self expandVideoFilters: nil]; } - (BOOL)getConfigChanged @@ -220,47 +203,36 @@ static VLCExtended *_o_sharedInstance = nil; } 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) ]; - } f_value = config_GetFloat( p_intf, "norm-max-level" ); if( f_value > 0 && f_value < 10 ) - { [o_sld_maxLevel setFloatValue: f_value ]; - } [o_sld_opaque setFloatValue: (config_GetFloat( p_intf, "macosx-opaqueness") * 100)]; - /* show the window */ [o_extended_window displayIfNeeded]; [o_extended_window makeKeyAndOrderFront:nil]; } -- (IBAction)adjImg_Enbl:(id)sender +- (IBAction)enableAdjustImage:(id)sender { /* en-/disable the sliders */ if ([o_ckb_enblAdjustImg state] == NSOnState) @@ -271,19 +243,21 @@ static VLCExtended *_o_sharedInstance = nil; [o_sld_gamma setEnabled: YES]; [o_sld_hue setEnabled: YES]; [o_sld_saturation setEnabled: YES]; - [self changeVoutFiltersString: "adjust" onOrOff: VLC_TRUE]; - }else{ + [self changeVideoFiltersString: "adjust" onOrOff: true]; + } + 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 changeVoutFiltersString: "adjust" onOrOff: VLC_FALSE]; + [self changeVideoFiltersString: "adjust" onOrOff: false]; } } -- (IBAction)adjImg_rstrDefaults:(id)sender +- (IBAction)restoreDefaultsForAdjustImage:(id)sender { /* reset the sliders */ [o_sld_brightness setIntValue: 100]; @@ -291,71 +265,94 @@ static VLCExtended *_o_sharedInstance = nil; [o_sld_gamma setIntValue: 10]; [o_sld_hue setIntValue: 0]; [o_sld_saturation setIntValue: 100]; - + [o_sld_opaque 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]; + [self sliderActionAdjustImage: o_sld_brightness]; + [self sliderActionAdjustImage: o_sld_contrast]; + [self sliderActionAdjustImage: o_sld_gamma]; + [self sliderActionAdjustImage: o_sld_hue]; + [self sliderActionAdjustImage: o_sld_saturation]; + [self opaqueSliderAction: o_sld_opaque]; } -- (IBAction)adjImg_sliders:(id)sender +- (IBAction)sliderActionAdjustImage:(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); + vout_thread_t *p_vout = (vout_thread_t *)vlc_object_find(p_intf, VLC_OBJECT_VOUT, FIND_ANYWHERE); + vlc_object_t *p_filter; + if( p_vout == NULL ) { + msg_Dbg( p_intf, "no vout present, saving settings anyway" ); if (sender == o_sld_brightness) { config_PutFloat( p_intf , "brightness" , [o_sld_brightness floatValue] / 100); - } else if (sender == o_sld_contrast) + } + else if (sender == o_sld_contrast) { config_PutFloat( p_intf , "contrast" , [o_sld_contrast floatValue] / 100); - } else if (sender == o_sld_gamma) + } + else if (sender == o_sld_gamma) { config_PutFloat( p_intf , "gamma" , [o_sld_gamma floatValue] / 10); - } else if (sender == o_sld_hue) + } + else if (sender == o_sld_hue) { config_PutInt( p_intf , "hue" , [o_sld_hue intValue]); - } else if (sender == o_sld_saturation) + } + else if (sender == o_sld_saturation) { config_PutFloat( p_intf , "saturation" , [o_sld_saturation floatValue] / 100); - } else { + } + else + { msg_Warn( p_intf, "the corresponding subfilter coundn't be found" ); } - } else { - vlc_value_t val; + } + else + { + msg_Dbg( p_intf, "we found a vout to adjust, let's look for the filter" ); + p_filter = (vlc_object_t *)vlc_object_find_name( p_intf, "adjust", FIND_ANYWHERE ); + + if(! p_filter ) + { + msg_Err( p_intf, "we're unable to find the adjust filter!" ); + vlc_object_release( p_vout ); + return; + } + 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) + var_SetFloat( p_filter, "brightness", [o_sld_brightness floatValue] / 100 ); + 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) + var_SetFloat( p_filter, "contrast", [o_sld_contrast floatValue] / 100 ); + 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) + var_SetFloat( p_filter, "gamma", [o_sld_gamma floatValue] / 10 ); + 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) + var_SetInteger( p_filter, "hue", [o_sld_hue intValue] ); + 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); - } else { - msg_Warn( p_intf, "the corresponding subfilter coundn't be found" ); + var_SetFloat( p_filter, "saturation", [o_sld_saturation floatValue] / 100 ); + config_PutFloat( p_intf , "saturation" , [o_sld_saturation floatValue] / 100 ); + } + else + { + msg_Warn( p_intf, "couldn't find variable for slider!" ); } + vlc_object_release( p_filter ); vlc_object_release( p_vout ); } @@ -363,7 +360,7 @@ static VLCExtended *_o_sharedInstance = nil; } /* change the opaqueness of the vouts */ -- (IBAction)adjImg_opaque:(id)sender +- (IBAction)opaqueSliderAction:(id)sender { vlc_value_t val; id o_window = [NSApp keyWindow]; @@ -375,7 +372,6 @@ static VLCExtended *_o_sharedInstance = nil; val.f_float = [o_sld_opaque floatValue] / 100; - if( p_vout != NULL ) { p_real_vout = [VLCVoutView getRealVout: p_vout]; @@ -383,7 +379,7 @@ static VLCExtended *_o_sharedInstance = nil; while ((o_window = [o_enumerator nextObject])) { - if( [[o_window className] isEqualToString: @"VLCWindow"] || + if( [[o_window className] isEqualToString: @"VLCVoutWindow"] || [[[VLCMain sharedInstance] getEmbeddedList] windowContainsEmbedded: o_window]) { @@ -393,62 +389,59 @@ static VLCExtended *_o_sharedInstance = nil; } vlc_object_release( p_vout ); } - + /* store to prefs */ config_PutFloat( p_playlist , "macosx-opaqueness" , val.f_float ); - + vlc_object_release( p_playlist ); o_config_changed = YES; } -- (IBAction)audFtls_hdphnVirt:(id)sender +- (IBAction)enableHeadphoneVirtualizer:(id)sender { /* en-/disable headphone virtualisation */ if ([o_ckb_hdphnVirt state] == NSOnState) - { - [self changeAFiltersString: "headphone_channel_mixer" onOrOff: VLC_TRUE ]; - }else{ - [self changeAFiltersString: "headphone_channel_mixer" onOrOff: VLC_FALSE ]; - } + [self changeAFiltersString: "headphone_channel_mixer" onOrOff: true ]; + else + [self changeAFiltersString: "headphone_channel_mixer" onOrOff: false ]; } -- (IBAction)audFtls_maxLevelSld:(id)sender +- (IBAction)sliderActionMaximumAudioLevel:(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); + 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] ); vlc_object_release( p_aout ); } + config_PutFloat( p_intf, "norm-max-level", [o_sld_maxLevel floatValue] ); o_config_changed = YES; } -- (IBAction)audFtls_vlmeNorm:(id)sender +- (IBAction)enableVolumeNormalization:(id)sender { /* en-/disable volume normalisation */ - if ([o_ckb_vlme_norm state] == NSOnState) - { + if( [o_ckb_vlme_norm state] == NSOnState ) [self changeAFiltersString: "normvol" onOrOff: YES ]; - }else{ + else [self changeAFiltersString: "normvol" onOrOff: NO ]; - } } -- (IBAction)extWin_exp_adjImg:(id)sender +- (IBAction)expandAdjustImage:(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) + + if( o_adjImg_expanded ) { /* move the window contents upwards (partially done through settings * inside the nib) and resize the window */ @@ -456,28 +449,31 @@ static VLCExtended *_o_sharedInstance = nil; o_win_rect.origin.y = [o_extended_window frame].origin.y + 193; o_box_audFlts_rect.origin.y = o_box_audFlts_rect.origin.y + 193; o_box_vidFlts_rect.origin.y = o_box_vidFlts_rect.origin.y + 193; - + /* remove the inserted view */ [o_adjustImg_view removeFromSuperviewWithoutNeedingDisplay]; - }else{ - + } + else + { /* move the window contents downwards and resize the window */ o_win_rect.size.height = o_win_rect.size.height + 193; o_win_rect.origin.y = [o_extended_window frame].origin.y - 193; o_box_audFlts_rect.origin.y = o_box_audFlts_rect.origin.y - 193; o_box_vidFlts_rect.origin.y = o_box_vidFlts_rect.origin.y - 193; } - + [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) + + if( o_adjImg_expanded ) { o_box_adjImg_rect.size.height = [o_box_adjImg frame].size.height - 193; o_adjImg_expanded = NO; - } else { + } + else + { /* insert view */ o_box_adjImg_rect.size.height = [o_box_adjImg frame].size.height + 193; [o_adjustImg_view setFrame: NSMakeRect( 20, -10, 370, 203)]; @@ -489,35 +485,39 @@ static VLCExtended *_o_sharedInstance = nil; [o_box_adjImg setFrameFromContentFrame: o_box_adjImg_rect]; } -- (IBAction)extWin_exp_audFlts:(id)sender +- (IBAction)expandAudioFilters:(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) + + 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{ + } + 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) + + + if( o_audFlts_expanded ) { o_box_audFlts_rect.size.height = [o_box_audFlts frame].size.height - 66; o_audFlts_expanded = NO; - } else { + } + 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)]; @@ -529,43 +529,46 @@ static VLCExtended *_o_sharedInstance = nil; [o_box_audFlts setFrameFromContentFrame: o_box_audFlts_rect]; } -- (IBAction)extWin_exp_vidFlts:(id)sender +- (IBAction)expandVideoFilters:(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) + + 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 - 188; - o_win_rect.origin.y = [o_extended_window frame].origin.y + 188; - o_box_audFlts_rect.origin.y = o_box_audFlts_rect.origin.y + 188; - + o_win_rect.size.height = o_win_rect.size.height - 172; + o_win_rect.origin.y = [o_extended_window frame].origin.y + 172; + o_box_audFlts_rect.origin.y = o_box_audFlts_rect.origin.y + 172; + /* remove the inserted view */ [o_videoFilters_view removeFromSuperviewWithoutNeedingDisplay]; - }else{ - + } + else + { /* move the window contents downwards and resize the window */ - o_win_rect.size.height = o_win_rect.size.height + 188; - o_win_rect.origin.y = [o_extended_window frame].origin.y - 188; - o_box_audFlts_rect.origin.y = o_box_audFlts_rect.origin.y - 188; + o_win_rect.size.height = o_win_rect.size.height + 172; + o_win_rect.origin.y = [o_extended_window frame].origin.y - 172; + o_box_audFlts_rect.origin.y = o_box_audFlts_rect.origin.y - 172; } - + [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) + + if( o_vidFlts_expanded ) { - o_box_vidFlts_rect.size.height = [o_box_vidFlts frame].size.height - 188; + o_box_vidFlts_rect.size.height = [o_box_vidFlts frame].size.height - 172; o_vidFlts_expanded = NO; - } else { + } + else + { /* insert view */ - o_box_vidFlts_rect.size.height = [o_box_vidFlts frame].size.height + 188; - [o_videoFilters_view setFrame: NSMakeRect( 20, -10, 370, 188)]; + o_box_vidFlts_rect.size.height = [o_box_vidFlts frame].size.height + 172; + [o_videoFilters_view setFrame: NSMakeRect( 20, -10, 370, 172)]; [o_videoFilters_view setNeedsDisplay:YES]; [o_videoFilters_view setAutoresizesSubviews: YES]; [[o_box_vidFlts contentView] addSubview: o_videoFilters_view]; @@ -574,7 +577,7 @@ static VLCExtended *_o_sharedInstance = nil; [o_box_vidFlts setFrameFromContentFrame: o_box_vidFlts_rect]; } -- (IBAction)vidFlts:(id)sender +- (IBAction)videoFilterAction:(id)sender { /* en-/disable video filters */ if (sender == o_ckb_blur) @@ -607,22 +610,27 @@ static VLCExtended *_o_sharedInstance = nil; else if (sender == o_ckb_ripple ) [self changeVideoFiltersString: "ripple" onOrOff: [o_ckb_ripple state]]; - else { - /* this shouldn't happen */ - msg_Warn (VLCIntf, "cannot find switched video-filter"); - } + else + msg_Err( VLCIntf, "cannot find switched video-filter" ); /* this can't happen */ } -- (IBAction)vidFlts_mrInfo:(id)sender +- (IBAction)moreInfoVideoFilters:(id)sender { /* show info sheet */ - NSBeginInformationalAlertSheet(_NS("More Information"), _NS("OK"), @"", @"", - o_extended_window, nil, nil, nil, nil, _NS("This panel allows to " - "select video effects filters to apply.\n" - "The filters can be configured individually in the Preferences, in " - "the subsections of Video/Filters.\n" - "To choose the order in which the filter are applied, a filter " - "option string can be set in the Preferences, Video / Filters section.")); + NSBeginInformationalAlertSheet(_NS("About the video filters"), + _NS("OK"), + @"", + @"", + o_extended_window, + nil, + nil, + nil, + nil, + _NS("This panel allows on-the-fly selection of various video effects.\n" + "These filters can be configured individually in the Preferences, in " + "the subsections of Video/Filters.\n" + "To choose the order in which the filter are applied, a filter " + "option string can be set in the Preferences, Video / Filters section.")); } @@ -630,20 +638,20 @@ static VLCExtended *_o_sharedInstance = nil; * methods to communicate changes to VLC's core *****************************************************************************/ -- (void)changeVoutFiltersString:(char *)psz_name onOrOff:(vlc_bool_t )b_add +- (void)changeVoutFiltersString:(char *)psz_name onOrOff:(bool )b_add { /* copied from ../wxwidgets/extrapanel.cpp * renamed to conform with Cocoa's rules */ - /* this method only changes 1st generation video filters (the ones which + /* this method only changes 1st generation video filters (the ones that * can't be used for transcoding). Have a look at changeVideoFiltersString * for the 2nd generation filters. */ - + 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 ); @@ -700,17 +708,17 @@ static VLCExtended *_o_sharedInstance = nil; } -- (void)changeVideoFiltersString:(char *)psz_name onOrOff:(vlc_bool_t )b_add +- (void)changeVideoFiltersString:(char *)psz_name onOrOff:(bool )b_add { /* same as changeVoutFiltersString but addressing the "video-filter" * variable which represents the video filter 2 modules */ - + vout_thread_t *p_vout; intf_thread_t * p_intf = VLCIntf; - + char *psz_parser, *psz_string; psz_string = config_GetPsz( p_intf, "video-filter" ); - + if( !psz_string ) psz_string = strdup(""); psz_parser = strstr( psz_string, psz_name ); @@ -766,7 +774,7 @@ static VLCExtended *_o_sharedInstance = nil; o_config_changed = YES; } -- (void)changeAFiltersString: (char *)psz_name onOrOff: (vlc_bool_t )b_add; +- (void)changeAFiltersString: (char *)psz_name onOrOff: (bool )b_add; { /* copied from ../wxwidgets/extrapanel.cpp * renamed to conform with Cocoa's rules */ @@ -778,7 +786,7 @@ static VLCExtended *_o_sharedInstance = nil; if( p_aout ) { - psz_string = var_GetString( p_aout, "audio-filter" ); + psz_string = var_GetNonEmptyString( p_aout, "audio-filter" ); } else { @@ -833,7 +841,7 @@ static VLCExtended *_o_sharedInstance = nil; int i = 0; while( i < p_aout->i_nb_inputs ) { - p_aout->pp_inputs[i]->b_restart = VLC_TRUE; + p_aout->pp_inputs[i]->b_restart = true; i = (i + 1); } vlc_object_release( p_aout ); @@ -844,18 +852,27 @@ static VLCExtended *_o_sharedInstance = nil; } - (void)savePrefs -{ +{ /* save the preferences to make sure that our module-changes will up on * next launch again */ playlist_t * p_playlist = pl_Yield( VLCIntf ); int returnedValue; NSArray * theModules; - theModules = [[NSArray alloc] initWithObjects: @"main", @"headphone", - @"transform", @"adjust", @"invert", @"motionblur", @"distort", - @"clone", @"crop", @"normvol", @"headphone_channel_mixer", @"macosx", + theModules = [[NSArray alloc] initWithObjects: @"main", + @"headphone", + @"transform", + @"adjust", + @"invert", + @"motionblur", + @"distort", + @"clone", + @"crop", + @"normvol", + @"headphone_channel_mixer", + @"macosx", nil]; unsigned int x = 0; - + while ( x != [theModules count] ) { returnedValue = config_SaveConfigFile( p_playlist, [[theModules @@ -864,19 +881,19 @@ static VLCExtended *_o_sharedInstance = nil; if (returnedValue != 0) { msg_Err(p_playlist, "unable to save the preferences of the " - "extended control attribute '%s' (%i)", + "extended control attribute '%s' (%i)", [[theModules objectAtIndex: x] UTF8String] , returnedValue); [theModules release]; vlc_object_release( p_playlist ); - + return; } x = ( x + 1 ); } - - msg_Dbg( p_playlist, "VLCExtended: saved certain preferences successfully" ); - + + msg_Dbg( VLCIntf, "VLCExtended: saved certain preferences successfully" ); + [theModules release]; vlc_object_release( p_playlist ); }