vlc | branch: master | Felix Paul Kühne <[email protected]> | Fri Mar 22 10:47:28 2019 +0100| [0cacc33c6d660201ea17b804f64a1622a3730ca0] | committer: Felix Paul Kühne
macosx: reimplement audio filter setter for new playlist > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0cacc33c6d660201ea17b804f64a1622a3730ca0 --- .../panels/VLCAudioEffectsWindowController.m | 24 ++++++++++------------ modules/gui/macosx/playlist/VLCPlayerController.h | 2 ++ modules/gui/macosx/playlist/VLCPlayerController.m | 9 ++++++++ 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/modules/gui/macosx/panels/VLCAudioEffectsWindowController.m b/modules/gui/macosx/panels/VLCAudioEffectsWindowController.m index 30db852927..8dd78e2518 100644 --- a/modules/gui/macosx/panels/VLCAudioEffectsWindowController.m +++ b/modules/gui/macosx/panels/VLCAudioEffectsWindowController.m @@ -322,11 +322,6 @@ return [names copy]; } -- (void)setAudioFilter: (char *)psz_name on:(BOOL)b_on -{ - playlist_EnableAudioFilter(pl_Get(getIntf()), psz_name, b_on); -} - - (void)resetProfileSelector { [_profilePopup removeAllItems]; @@ -763,7 +758,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, - (IBAction)equalizerEnable:(id)sender { [_equalizerView enableSubviews:[sender state]]; - [self setAudioFilter: "equalizer" on:[sender state]]; + [_playerController enableAudioFilterWithName:@"equalizer" state:[sender state]]; } - (IBAction)equalizerBandSliderUpdated:(id)sender @@ -970,7 +965,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, - (IBAction)compressorEnable:(id)sender { [_compressorView enableSubviews:[sender state]]; - [self setAudioFilter:"compressor" on:[sender state]]; + [_playerController enableAudioFilterWithName:@"compressor" state:[sender state]]; } - (IBAction)compressorSliderUpdated:(id)sender @@ -1050,6 +1045,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, - (IBAction)resetSpatializerValues:(id)sender { + // FIXME: this no longer works and a fix depends on a future libvlc improvement playlist_t *p_playlist = pl_Get(getIntf()); var_SetFloat(p_playlist, "spatializer-roomsize", .85); var_SetFloat(p_playlist, "spatializer-width", 1.); @@ -1072,7 +1068,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, - (IBAction)spatializerEnable:(id)sender { [_spatializerView enableSubviews:[sender state]]; - [self setAudioFilter:"spatializer" on:[sender state]]; + [_playerController enableAudioFilterWithName:@"spatializer" state:[sender state]]; } - (IBAction)spatializerSliderUpdated:(id)sender @@ -1119,6 +1115,7 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, playlist_t *p_playlist = pl_Get(getIntf()); BOOL bEnable_normvol = NO; char *psz_afilters; + // FIXME: this no longer works and a fix depends on a future libvlc improvement psz_afilters = var_InheritString(p_playlist, "audio-filter"); if (psz_afilters) { [_filterHeadPhoneCheckbox setState: (NSInteger)strstr(psz_afilters, "headphone") ]; @@ -1143,14 +1140,14 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, - (IBAction)filterEnableHeadPhoneVirt:(id)sender { - [self setAudioFilter:"headphone" on:[sender state]]; + [_playerController enableAudioFilterWithName:@"headphone" state:[sender state]]; } - (IBAction)filterEnableVolumeNorm:(id)sender { [_filterNormLevelSlider setEnabled:[sender state]]; [_filterNormLevelLabel setEnabled:[sender state]]; - [self setAudioFilter:"normvol" on:[sender state]]; + [_playerController enableAudioFilterWithName:@"normvol" state:[sender state]]; } - (IBAction)filterVolumeNormSliderUpdated:(id)sender @@ -1163,22 +1160,23 @@ static bool GetEqualizerStatus(intf_thread_t *p_custom_intf, aout_Release(p_aout); } + // FIXME: this no longer works and a fix depends on a future libvlc improvement var_SetFloat(pl_Get(getIntf()), "norm-max-level", f_value); } - (IBAction)filterEnableKaraoke:(id)sender { - [self setAudioFilter:"karaoke" on:[sender state]]; + [_playerController enableAudioFilterWithName:@"karaoke" state:[sender state]]; } - (IBAction)filterEnableScaleTempo:(id)sender { - [self setAudioFilter:"scaletempo" on:[sender state]]; + [_playerController enableAudioFilterWithName:@"scaletempo" state:[sender state]]; } - (IBAction)filterEnableStereoEnhancer:(id)sender { - [self setAudioFilter:"stereo_widen" on:[sender state]]; + [_playerController enableAudioFilterWithName:@"stereo_widen" state:[sender state]]; } @end diff --git a/modules/gui/macosx/playlist/VLCPlayerController.h b/modules/gui/macosx/playlist/VLCPlayerController.h index df3507d871..06b5d65a33 100644 --- a/modules/gui/macosx/playlist/VLCPlayerController.h +++ b/modules/gui/macosx/playlist/VLCPlayerController.h @@ -593,6 +593,8 @@ extern NSString *VLCPlayerMuteChanged; */ @property (readonly, nullable) audio_output_t *mainAudioOutput; +- (int)enableAudioFilterWithName:(NSString *)name state:(BOOL)state; + @end @interface VLCInputStats : NSObject diff --git a/modules/gui/macosx/playlist/VLCPlayerController.m b/modules/gui/macosx/playlist/VLCPlayerController.m index f7c0aaf6b2..8931ffa645 100644 --- a/modules/gui/macosx/playlist/VLCPlayerController.m +++ b/modules/gui/macosx/playlist/VLCPlayerController.m @@ -1239,6 +1239,15 @@ static const struct vlc_player_aout_cbs player_aout_callbacks = { return vlc_player_aout_Hold(_p_player); } +- (int)enableAudioFilterWithName:(NSString *)name state:(BOOL)state +{ + if (name == nil || name.length == 0) { + return VLC_EBADVAR; + } + + return vlc_player_aout_EnableFilter(_p_player, [name UTF8String], state); +} + @end @implementation VLCInputStats _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
