Commit cda8bbdb authored by Felix Paul Kühne's avatar Felix Paul Kühne

* added video filters and i18n support -- still ToDo: loaded the settings from the prefs correctly

parent 4d6d9949
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
"o_extWin_vidFlts_sepe" = id; "o_extWin_vidFlts_sepe" = id;
"o_extended_window" = id; "o_extended_window" = id;
"o_lbl_adjustImage" = id; "o_lbl_adjustImage" = id;
"o_lbl_audio" = id;
"o_lbl_audioFlts" = id; "o_lbl_audioFlts" = id;
"o_lbl_brightness" = id; "o_lbl_brightness" = id;
"o_lbl_contrast" = id; "o_lbl_contrast" = id;
...@@ -48,6 +49,7 @@ ...@@ -48,6 +49,7 @@
"o_lbl_hue" = id; "o_lbl_hue" = id;
"o_lbl_maxLevel" = id; "o_lbl_maxLevel" = id;
"o_lbl_saturation" = id; "o_lbl_saturation" = id;
"o_lbl_video" = id;
"o_lbl_videoFlts" = id; "o_lbl_videoFlts" = id;
"o_sld_brightness" = id; "o_sld_brightness" = id;
"o_sld_contrast" = id; "o_sld_contrast" = id;
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<key>32</key> <key>32</key>
<string>525 497 390 213 0 0 1440 878 </string> <string>525 497 390 213 0 0 1440 878 </string>
<key>5</key> <key>5</key>
<string>598 370 390 196 0 0 1440 878 </string> <string>525 506 390 196 0 0 1440 878 </string>
</dict> </dict>
<key>IBFramework Version</key> <key>IBFramework Version</key>
<string>437.0</string> <string>437.0</string>
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
</array> </array>
<key>IBOpenObjects</key> <key>IBOpenObjects</key>
<array> <array>
<integer>18</integer>
<integer>32</integer> <integer>32</integer>
<integer>18</integer>
<integer>5</integer> <integer>5</integer>
</array> </array>
<key>IBSystem Version</key> <key>IBSystem Version</key>
......
...@@ -42,6 +42,8 @@ ...@@ -42,6 +42,8 @@
IBOutlet id o_lbl_audioFlts; IBOutlet id o_lbl_audioFlts;
IBOutlet id o_lbl_videoFlts; IBOutlet id o_lbl_videoFlts;
IBOutlet id o_lbl_adjustImage; IBOutlet id o_lbl_adjustImage;
IBOutlet id o_lbl_video;
IBOutlet id o_lbl_audio;
IBOutlet id o_extWin_adjImg_sepe; IBOutlet id o_extWin_adjImg_sepe;
IBOutlet id o_extWin_vidFlts_sepe; IBOutlet id o_extWin_vidFlts_sepe;
IBOutlet id o_box_vidFlts; IBOutlet id o_box_vidFlts;
......
...@@ -26,9 +26,9 @@ ...@@ -26,9 +26,9 @@
* Note: * Note:
* the code used to bind with VLC's modules is heavily based upon * the code used to bind with VLC's modules is heavily based upon
* ../wxwidgets/extrapanel.cpp, written by Clment Stenac. * ../wxwidgets/extrapanel.cpp, written by Clment Stenac.
* the code used to insert/remove the view and resize/remove the other stuff * the code used to insert/remove the views was inspired by intf.m,
* was inspired by intf.m, written by Derk-Jan Hartman. * written by Derk-Jan Hartman and Benjamin Pracht.
* (both are members of the VideoLAN team) * (all 3 are members of the VideoLAN team)
*****************************************************************************/ *****************************************************************************/
...@@ -72,6 +72,29 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -72,6 +72,29 @@ static VLCExtended *_o_sharedInstance = nil;
{ {
/* localise GUI-strings */ /* localise GUI-strings */
/* method is called from intf.m (in method showExtended) */ /* method is called from intf.m (in method showExtended) */
[o_extended_window setTitle: _NS("Extended controls")];
[o_lbl_video setStringValue: _NS("Video")];
[o_lbl_audio setStringValue: _NS("Audio")];
[o_lbl_audioFlts setStringValue: _NS("Audio filters")];
[o_lbl_videoFlts setStringValue: _NS("Video filters")];
[o_lbl_adjustImage setStringValue: _NS("Adjust Image")];
[o_btn_vidFlts_mrInfo setTitle: _NS("More Info")];
[o_ckb_blur setTitle: _NS("Blurring")];
[o_ckb_distortion setTitle: _NS("Distortion")];
[o_ckb_imgClone setTitle: _NS("Image clone")];
[o_ckb_imgCrop setTitle: _NS("Image cropping")];
[o_ckb_imgInvers setTitle: _NS("Image inversion")];
[o_ckb_trnsform setTitle: _NS("Transformation")];
[o_ckb_vlme_norm setTitle: _NS("Volume normalization")];
[o_ckb_hdphnVirt setTitle: _NS("Headphone virtualization")];
[o_lbl_maxLevel setStringValue: _NS("Maximum level")];
[o_btn_rstrDefaults setTitle: _NS("Restore Defaults")];
[o_ckb_enblAdjustImg setTitle: _NS("Enable")];
[o_lbl_brightness setStringValue: _NS("Brightness")];
[o_lbl_contrast setStringValue: _NS("Contrast")];
[o_lbl_gamma setStringValue: _NS("Gamma")];
[o_lbl_hue setStringValue: _NS("Hue")];
[o_lbl_saturation setStringValue: _NS("Saturation")];
} }
- (void)awakeFromNib - (void)awakeFromNib
...@@ -217,6 +240,9 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -217,6 +240,9 @@ static VLCExtended *_o_sharedInstance = nil;
} else if (sender == o_sld_saturation) } else if (sender == o_sld_saturation)
{ {
config_PutFloat( p_intf , "saturation" , [o_sld_saturation floatValue] / 100); config_PutFloat( p_intf , "saturation" , [o_sld_saturation floatValue] / 100);
} else {
msg_Warn( p_intf, "cannot find adjust-image-subfilter related to " \
"moved slider");
} }
} else { } else {
vlc_value_t val; vlc_value_t val;
...@@ -245,6 +271,9 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -245,6 +271,9 @@ static VLCExtended *_o_sharedInstance = nil;
val.f_float = [o_sld_saturation floatValue] / 100; val.f_float = [o_sld_saturation floatValue] / 100;
var_Set( p_vout, "saturation", val ); var_Set( p_vout, "saturation", val );
config_PutFloat( p_intf , "saturation" , [o_sld_saturation floatValue] / 100); config_PutFloat( p_intf , "saturation" , [o_sld_saturation floatValue] / 100);
} else {
msg_Warn( p_intf, "cannot find adjust-image-subfilter related to " \
"moved slider");
} }
} }
} }
...@@ -324,6 +353,7 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -324,6 +353,7 @@ static VLCExtended *_o_sharedInstance = nil;
if (o_adjImg_expanded) if (o_adjImg_expanded)
{ {
o_box_adjImg_rect.size.height = [o_box_adjImg frame].size.height - 151; o_box_adjImg_rect.size.height = [o_box_adjImg frame].size.height - 151;
msg_Dbg( VLCIntf, "collapsed adjust-image section");
o_adjImg_expanded = NO; o_adjImg_expanded = NO;
} else { } else {
/* insert view */ /* insert view */
...@@ -332,6 +362,7 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -332,6 +362,7 @@ static VLCExtended *_o_sharedInstance = nil;
[o_adjustImg_view setNeedsDisplay:YES]; [o_adjustImg_view setNeedsDisplay:YES];
[o_adjustImg_view setAutoresizesSubviews: YES]; [o_adjustImg_view setAutoresizesSubviews: YES];
[[o_box_adjImg contentView] addSubview: o_adjustImg_view]; [[o_box_adjImg contentView] addSubview: o_adjustImg_view];
msg_Dbg( VLCIntf, "expanded adjust-image section");
o_adjImg_expanded = YES; o_adjImg_expanded = YES;
} }
[o_box_adjImg setFrameFromContentFrame: o_box_adjImg_rect]; [o_box_adjImg setFrameFromContentFrame: o_box_adjImg_rect];
...@@ -364,6 +395,7 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -364,6 +395,7 @@ static VLCExtended *_o_sharedInstance = nil;
if (o_audFlts_expanded) if (o_audFlts_expanded)
{ {
o_box_audFlts_rect.size.height = [o_box_audFlts frame].size.height - 66; o_box_audFlts_rect.size.height = [o_box_audFlts frame].size.height - 66;
msg_Dbg( VLCIntf, "collapsed audio-filters section");
o_audFlts_expanded = NO; o_audFlts_expanded = NO;
} else { } else {
/* insert view */ /* insert view */
...@@ -372,6 +404,7 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -372,6 +404,7 @@ static VLCExtended *_o_sharedInstance = nil;
[o_audioFlts_view setNeedsDisplay:YES]; [o_audioFlts_view setNeedsDisplay:YES];
[o_audioFlts_view setAutoresizesSubviews: YES]; [o_audioFlts_view setAutoresizesSubviews: YES];
[[o_box_audFlts contentView] addSubview: o_audioFlts_view]; [[o_box_audFlts contentView] addSubview: o_audioFlts_view];
msg_Dbg( VLCIntf, "expanded audio-filters section");
o_audFlts_expanded = YES; o_audFlts_expanded = YES;
} }
[o_box_audFlts setFrameFromContentFrame: o_box_audFlts_rect]; [o_box_audFlts setFrameFromContentFrame: o_box_audFlts_rect];
...@@ -409,6 +442,7 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -409,6 +442,7 @@ static VLCExtended *_o_sharedInstance = nil;
if (o_vidFlts_expanded) if (o_vidFlts_expanded)
{ {
o_box_vidFlts_rect.size.height = [o_box_vidFlts frame].size.height - 134; o_box_vidFlts_rect.size.height = [o_box_vidFlts frame].size.height - 134;
msg_Dbg( VLCIntf, "collapsed video-filters section");
o_vidFlts_expanded = NO; o_vidFlts_expanded = NO;
} else { } else {
/* insert view */ /* insert view */
...@@ -417,6 +451,7 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -417,6 +451,7 @@ static VLCExtended *_o_sharedInstance = nil;
[o_videoFilters_view setNeedsDisplay:YES]; [o_videoFilters_view setNeedsDisplay:YES];
[o_videoFilters_view setAutoresizesSubviews: YES]; [o_videoFilters_view setAutoresizesSubviews: YES];
[[o_box_vidFlts contentView] addSubview: o_videoFilters_view]; [[o_box_vidFlts contentView] addSubview: o_videoFilters_view];
msg_Dbg( VLCIntf, "expanded video-filters section");
o_vidFlts_expanded = YES; o_vidFlts_expanded = YES;
} }
[o_box_vidFlts setFrameFromContentFrame: o_box_vidFlts_rect]; [o_box_vidFlts setFrameFromContentFrame: o_box_vidFlts_rect];
...@@ -425,6 +460,33 @@ static VLCExtended *_o_sharedInstance = nil; ...@@ -425,6 +460,33 @@ static VLCExtended *_o_sharedInstance = nil;
- (IBAction)vidFlts:(id)sender - (IBAction)vidFlts:(id)sender
{ {
/* en-/disable video filters */ /* en-/disable video filters */
if (sender == o_ckb_blur)
{
[self changeVFiltersString: "motionblur" onOrOff: [o_ckb_blur state]];
}
else if (sender == o_ckb_distortion)
{
[self changeVFiltersString: "distort" onOrOff: [o_ckb_distortion state]];
}
else if (sender == o_ckb_imgClone)
{
[self changeVFiltersString: "clone" onOrOff: [o_ckb_imgClone state]];
}
else if (sender == o_ckb_imgCrop)
{
[self changeVFiltersString: "crop" onOrOff: [o_ckb_imgCrop state]];
}
else if (sender == o_ckb_imgInvers)
{
[self changeVFiltersString: "invert" onOrOff: [o_ckb_imgInvers state]];
}
else if (sender == o_ckb_trnsform)
{
[self changeVFiltersString: "transform" onOrOff: [o_ckb_trnsform state]];
} else {
/* this shouldn't happen */
msg_Warn (VLCIntf, "cannot find selected video-filter");
}
} }
- (IBAction)vidFlts_mrInfo:(id)sender - (IBAction)vidFlts_mrInfo:(id)sender
......
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