</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="1"/>
+ <integer value="2"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="BGHUDTabViewItem" id="313931694">
<string key="NSIdentifier">basic</string>
<object class="NSView" key="NSView" id="1044285835">
- <nil key="NSNextResponder"/>
+ <reference key="NSNextResponder" ref="898819366"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="NSTextColor" ref="314723737"/>
</object>
</object>
- <object class="NSSlider" id="248577800">
- <reference key="NSNextResponder" ref="627843039"/>
- <int key="NSvFlags">268</int>
- <string key="NSFrame">{{119, 14}, {171, 15}}</string>
- <reference key="NSSuperview" ref="627843039"/>
- <bool key="NSEnabled">YES</bool>
- <object class="BGHUDSliderCell" key="NSCell" id="631341256">
- <int key="NSCellFlags">-2079981824</int>
- <int key="NSCellFlags2">131072</int>
- <string key="NSContents"/>
- <reference key="NSControlView" ref="248577800"/>
- <double key="NSMaxValue">1</double>
- <double key="NSMinValue">0.0</double>
- <double key="NSValue">1</double>
- <double key="NSAltIncValue">0.0</double>
- <int key="NSNumberOfTickMarks">0</int>
- <int key="NSTickMarkPosition">1</int>
- <bool key="NSAllowsTickMarkValuesOnly">NO</bool>
- <bool key="NSVertical">NO</bool>
- <string key="themeKey">gradientTheme</string>
- </object>
- </object>
<object class="NSSlider" id="1033837370">
<reference key="NSNextResponder" ref="627843039"/>
<int key="NSvFlags">268</int>
<string key="themeKey">gradientTheme</string>
</object>
</object>
- <object class="NSTextField" id="502307597">
- <reference key="NSNextResponder" ref="627843039"/>
- <int key="NSvFlags">256</int>
- <string key="NSFrame">{{15, 14}, {99, 14}}</string>
- <reference key="NSSuperview" ref="627843039"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="381045278">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">272629760</int>
- <string key="NSContents">Opaqueness</string>
- <reference key="NSSupport" ref="26"/>
- <reference key="NSControlView" ref="502307597"/>
- <reference key="NSBackgroundColor" ref="279270326"/>
- <reference key="NSTextColor" ref="314723737"/>
- </object>
- </object>
</object>
<string key="NSFrame">{{1, 1}, {308, 164}}</string>
<reference key="NSSuperview" ref="308548124"/>
</object>
</object>
<string key="NSFrame">{{10, 33}, {638, 197}}</string>
+ <reference key="NSSuperview" ref="898819366"/>
</object>
<string key="NSLabel">Basic</string>
<reference key="NSColor" ref="279270326"/>
<object class="BGHUDTabViewItem" id="52756061">
<string key="NSIdentifier">crop</string>
<object class="NSView" key="NSView" id="838226260">
- <reference key="NSNextResponder" ref="898819366"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<string key="NSFrame">{{10, 33}, {638, 197}}</string>
- <reference key="NSSuperview" ref="898819366"/>
</object>
<string key="NSLabel">Crop</string>
<reference key="NSColor" ref="279270326"/>
<reference key="NSTabView" ref="898819366"/>
</object>
</object>
- <reference key="NSSelectedTabViewItem" ref="52756061"/>
+ <reference key="NSSelectedTabViewItem" ref="313931694"/>
<object class="NSFont" key="NSFont">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<nil key="themeKey"/>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="838226260"/>
+ <reference ref="1044285835"/>
</object>
</object>
</object>
</object>
<int key="connectionID">497</int>
</object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">o_adjust_opaque_lbl</string>
- <reference key="source" ref="707254443"/>
- <reference key="destination" ref="502307597"/>
- </object>
- <int key="connectionID">498</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">o_adjust_opaque_sld</string>
- <reference key="source" ref="707254443"/>
- <reference key="destination" ref="248577800"/>
- </object>
- <int key="connectionID">499</int>
- </object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_adjust_saturation_lbl</string>
</object>
<int key="connectionID">581</int>
</object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">adjustSliderChanged:</string>
- <reference key="source" ref="707254443"/>
- <reference key="destination" ref="248577800"/>
- </object>
- <int key="connectionID">582</int>
- </object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">bandingSliderChanged:</string>
<reference ref="665985520"/>
<reference ref="714538558"/>
<reference ref="372967191"/>
- <reference ref="248577800"/>
<reference ref="1033837370"/>
<reference ref="376722054"/>
<reference ref="760066178"/>
<reference ref="685913676"/>
<reference ref="396951138"/>
<reference ref="279446133"/>
- <reference ref="502307597"/>
</object>
<reference key="parent" ref="1044285835"/>
</object>
<reference key="object" ref="353533066"/>
<reference key="parent" ref="279446133"/>
</object>
- <object class="IBObjectRecord">
- <int key="objectID">26</int>
- <reference key="object" ref="248577800"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="631341256"/>
- </object>
- <reference key="parent" ref="308548124"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">37</int>
- <reference key="object" ref="631341256"/>
- <reference key="parent" ref="248577800"/>
- </object>
<object class="IBObjectRecord">
<int key="objectID">31</int>
<reference key="object" ref="1033837370"/>
<reference key="object" ref="920103185"/>
<reference key="parent" ref="760066178"/>
</object>
- <object class="IBObjectRecord">
- <int key="objectID">20</int>
- <reference key="object" ref="502307597"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="381045278"/>
- </object>
- <reference key="parent" ref="308548124"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">43</int>
- <reference key="object" ref="381045278"/>
- <reference key="parent" ref="502307597"/>
- </object>
<object class="IBObjectRecord">
<int key="objectID">49</int>
<reference key="object" ref="702049168"/>
<string>199.IBPluginDependency</string>
<string>199.IBViewBoundsToFrameTransform</string>
<string>2.IBPluginDependency</string>
- <string>20.CustomClassName</string>
- <string>20.IBPluginDependency</string>
- <string>20.IBViewBoundsToFrameTransform</string>
- <string>20.ImportedFromIB2</string>
<string>200.IBPluginDependency</string>
<string>201.IBPluginDependency</string>
<string>201.IBViewBoundsToFrameTransform</string>
<string>258.IBPluginDependency</string>
<string>258.IBViewBoundsToFrameTransform</string>
<string>259.IBPluginDependency</string>
- <string>26.IBPluginDependency</string>
- <string>26.IBViewBoundsToFrameTransform</string>
<string>260.IBPluginDependency</string>
<string>260.IBViewBoundsToFrameTransform</string>
<string>261.IBPluginDependency</string>
<string>363.IBNumberFormatterBehaviorMetadataKey</string>
<string>363.IBNumberFormatterLocalizesFormatMetadataKey</string>
<string>363.IBPluginDependency</string>
- <string>37.IBPluginDependency</string>
<string>38.IBPluginDependency</string>
<string>39.IBPluginDependency</string>
<string>4.IBPluginDependency</string>
<string>40.IBPluginDependency</string>
<string>41.IBPluginDependency</string>
<string>42.IBPluginDependency</string>
- <string>43.IBPluginDependency</string>
<string>46.IBPluginDependency</string>
<string>46.IBViewBoundsToFrameTransform</string>
<string>47.IBPluginDependency</string>
<bytes key="NSTransformStruct">P4AAAL+AAABDpgAAww8AAA</bytes>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>BGHUDLabel</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <object class="NSAffineTransform">
- <bytes key="NSTransformStruct">P4AAAL+AAABBcAAAwdAAAA</bytes>
- </object>
- <boolean value="YES"/>
<string>com.binarymethod.BGHUDAppKitPlugin</string>
<string>com.binarymethod.BGHUDAppKitPlugin</string>
<object class="NSAffineTransform">
</object>
<string>com.binarymethod.BGHUDAppKitPlugin</string>
<string>com.binarymethod.BGHUDAppKitPlugin</string>
- <object class="NSAffineTransform">
- <bytes key="NSTransformStruct">P4AAAL+AAABC7gAAwlQAAA</bytes>
- </object>
- <string>com.binarymethod.BGHUDAppKitPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABDz4AAwagAAA</bytes>
</object>
<integer value="1040"/>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.binarymethod.BGHUDAppKitPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.binarymethod.BGHUDAppKitPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.binarymethod.BGHUDAppKitPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABC6AAAwrwAAA</bytes>
#import "CompatibilityFixes.h"
#import "intf.h"
#import <vlc_common.h>
+#import <vlc_modules.h>
#import "VideoEffects.h"
#pragma mark -
[o_adjust_brightness_ckb setTitle:_NS("Brightness Threshold")];
[o_adjust_saturation_lbl setStringValue:_NS("Saturation")];
[o_adjust_gamma_lbl setStringValue:_NS("Gamma")];
- [o_adjust_opaque_lbl setStringValue:_NS("Opaqueness")];
[o_sharpen_ckb setTitle:_NS("Sharpen")];
[o_sharpen_lbl setStringValue:_NS("Sigma")];
[o_banding_ckb setTitle:_NS("Banding removal")];
[o_invert_ckb setTitle:_NS("Invert colors")];
[o_posterize_ckb setTitle:_NS("Posterize")];
[o_posterize_lbl setStringValue:_NS("Posterize level")];
- [o_blur_ckb setTitle:_NS("Motion blue")];
+ [o_blur_ckb setTitle:_NS("Motion blur")];
[o_blur_lbl setStringValue:_NS("Factor")];
[o_motiondetect_ckb setTitle:_NS("Motion Detect")];
[o_watereffect_ckb setTitle:_NS("Water effect")];
[o_adjust_gamma_lbl setEnabled: [o_adjust_ckb state]];
[o_adjust_hue_lbl setEnabled: [o_adjust_ckb state]];
[o_adjust_saturation_lbl setEnabled: [o_adjust_ckb state]];
- [o_adjust_opaque_sld setFloatValue: config_GetFloat( p_intf, "macosx-opaqueness" )];
- [o_adjust_opaque_sld setEnabled: [o_adjust_ckb state]];
- [o_adjust_opaque_lbl setEnabled: [o_adjust_ckb state]];
[o_sharpen_sld setFloatValue: config_GetFloat( p_intf, "sharpen-sigma" )];
[o_sharpen_sld setEnabled: [o_sharpen_ckb state]];
[o_sharpen_lbl setEnabled: [o_sharpen_ckb state]];
- (void)setVideoFilter: (char *)psz_name on:(BOOL)b_on
{
- char *psz_tmp;
- vout_thread_t * p_vout = getVout();
- if( p_vout )
- psz_tmp = var_GetNonEmptyString( p_vout, "video-filter" );
- else
- psz_tmp = config_GetPsz( p_intf, "video-filter" );
+ char *psz_string, *psz_parser;
+ const char *psz_filter_type;
- if( b_on )
+ module_t *p_obj = module_find( psz_name );
+ if( !p_obj )
+ {
+ msg_Err( p_intf, "Unable to find filter module \"%s\".", psz_name );
+ return;
+ }
+ msg_Dbg( p_intf, "will set filter %s", psz_name );
+
+ if( module_provides( p_obj, "video splitter" ) )
+ {
+ psz_filter_type = "video-splitter";
+ }
+ else if( module_provides( p_obj, "video filter2" ) )
+ {
+ psz_filter_type = "video-filter";
+ }
+ else if( module_provides( p_obj, "sub source" ) )
+ {
+ psz_filter_type = "sub-source";
+ }
+ else if( module_provides( p_obj, "sub filter" ) )
{
- if(! psz_tmp)
- config_PutPsz( p_intf, "video-filter", psz_name );
- else if( (NSInteger)strstr( psz_tmp, psz_name ) == NO )
+ psz_filter_type = "sub-filter";
+ }
+ else
+ {
+ msg_Err( p_intf, "Unknown video filter type." );
+ return;
+ }
+
+ psz_string = config_GetPsz( p_intf, psz_filter_type );
+
+ if (b_on) {
+ if(! psz_string)
+ psz_string = psz_name;
+ else if( (NSInteger)strstr( psz_string, psz_name ) == NO )
+ psz_string = (char *)[[NSString stringWithFormat: @"%s:%s", psz_string, psz_name] UTF8String];
+ } else {
+ psz_parser = strstr( psz_string, psz_name );
+ if( psz_parser )
{
- psz_tmp = (char *)[[NSString stringWithFormat: @"%s:%s", psz_tmp, psz_name] UTF8String];
- config_PutPsz( p_intf, "video-filter", psz_tmp );
+ if( *( psz_parser + strlen( psz_name ) ) == ':' )
+ {
+ memmove( psz_parser, psz_parser + strlen( psz_name ) + 1,
+ strlen( psz_parser + strlen( psz_name ) + 1 ) + 1 );
+ }
+ else
+ {
+ *psz_parser = '\0';
+ }
+
+ /* Remove trailing : : */
+ if( strlen( psz_string ) > 0 &&
+ *( psz_string + strlen( psz_string ) -1 ) == ':' )
+ {
+ *( psz_string + strlen( psz_string ) -1 ) = '\0';
+ }
}
- } else {
- if( psz_tmp )
+ else
{
- psz_tmp = (char *)[[[NSString stringWithUTF8String: psz_tmp] stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:[NSString stringWithFormat:@":%s",psz_name]]] UTF8String];
- psz_tmp = (char *)[[[NSString stringWithUTF8String: psz_tmp] stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:[NSString stringWithFormat:@"%s:",psz_name]]] UTF8String];
- psz_tmp = (char *)[[[NSString stringWithUTF8String: psz_tmp] stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:[NSString stringWithUTF8String:psz_name]]] UTF8String];
- config_PutPsz( p_intf, "video-filter", psz_tmp );
+ free( psz_string );
+ return;
}
}
+ config_PutPsz( p_intf, psz_filter_type, psz_string );
+ msg_Dbg( p_intf, "set string '%s'", psz_string );
- if( p_vout ) {
- var_SetString( p_vout, "video-filter", psz_tmp );
- vlc_object_release( p_vout );
+ /* Try to set on the fly */
+ if( !strcmp( psz_filter_type, "video-splitter" ) )
+ {
+ playlist_t *p_playlist = pl_Get( p_intf );
+ var_SetString( p_playlist, psz_filter_type, psz_string );
+ }
+ else
+ {
+ vout_thread_t *p_vout = getVout();
+ if( p_vout )
+ {
+ NSLog( @"set on the fly" );
+ var_SetString( p_vout, psz_filter_type, psz_string );
+ vlc_object_release( p_vout );
+ }
}
}
vlc_object_release( p_vout );
return;
}
- var_SetFloat( p_filter, psz_name, i_value );
- config_PutFloat( p_intf, psz_name, i_value );
+ var_SetInteger( p_filter, psz_name, i_value );
+ config_PutInt( p_intf, psz_name, i_value );
vlc_object_release( p_vout );
}
}
[o_adjust_hue_lbl setEnabled: state];
[o_adjust_saturation_sld setEnabled: state];
[o_adjust_saturation_lbl setEnabled: state];
- [o_adjust_opaque_sld setEnabled: state];
- [o_adjust_opaque_lbl setEnabled: state];
}
- (IBAction)adjustSliderChanged:(id)sender
{
- if( sender == o_adjust_opaque_sld ){
- vlc_value_t val;
- id o_tmpWindow = [NSApp keyWindow];
- NSArray *o_windows = [NSApp orderedWindows];
- NSEnumerator *o_enumerator = [o_windows objectEnumerator];
- playlist_t * p_playlist = pl_Get( p_intf );
- vout_thread_t *p_vout = getVout();
- vout_thread_t *p_real_vout;
-
- val.f_float = [o_adjust_opaque_sld floatValue];
-
- if( p_vout != NULL )
- {
- //FIXME: update this implementation once the vout is fixed
- #if 0
- p_real_vout = [VLCVoutView realVout: p_vout];
- var_Set( p_real_vout, "macosx-opaqueness", val );
-
- while ((o_tmpWindow = [o_enumerator nextObject]))
- {
- if( [[o_tmpWindow className] isEqualToString: @"VLCVoutWindow"] ||
- [[[VLCMain sharedInstance] embeddedList] windowContainsEmbedded: o_tmpWindow])
- {
- [o_tmpWindow setAlphaValue: val.f_float];
- }
- break;
- }
- #endif
- vlc_object_release( p_vout );
- }
-
- config_PutFloat( p_playlist , "macosx-opaqueness" , val.f_float );
- } else {
if( sender == o_adjust_brightness_sld )
- [self setVideoFilterProperty: "brightness" forFilter: "adjust" float: [o_adjust_brightness_sld floatValue]];
- else if( sender == o_adjust_contrast_sld )
- [self setVideoFilterProperty: "contrast" forFilter: "adjust" float: [o_adjust_contrast_sld floatValue]];
- else if( sender == o_adjust_gamma_sld )
- [self setVideoFilterProperty: "gamma" forFilter: "adjust" float: [o_adjust_gamma_sld floatValue]];
- else if( sender == o_adjust_hue_sld )
- [self setVideoFilterProperty: "hue" forFilter: "adjust" integer: [o_adjust_hue_sld intValue]];
- else if( sender == o_adjust_saturation_sld )
- [self setVideoFilterProperty: "saturation" forFilter: "adjust" float: [o_adjust_saturation_sld floatValue]];
- }
+ [self setVideoFilterProperty: "brightness" forFilter: "adjust" float: [o_adjust_brightness_sld floatValue]];
+ else if( sender == o_adjust_contrast_sld )
+ [self setVideoFilterProperty: "contrast" forFilter: "adjust" float: [o_adjust_contrast_sld floatValue]];
+ else if( sender == o_adjust_gamma_sld )
+ [self setVideoFilterProperty: "gamma" forFilter: "adjust" float: [o_adjust_gamma_sld floatValue]];
+ else if( sender == o_adjust_hue_sld )
+ [self setVideoFilterProperty: "hue" forFilter: "adjust" integer: [o_adjust_hue_sld intValue]];
+ else if( sender == o_adjust_saturation_sld )
+ [self setVideoFilterProperty: "saturation" forFilter: "adjust" float: [o_adjust_saturation_sld floatValue]];
}
- (IBAction)enableAdjustBrightnessThreshold:(id)sender