static int EqualizerCallback( vlc_object_t *p_this, char const *psz_cmd, vlc_value_t oldval, vlc_value_t newval, void *p_data ) { aout_instance_t *p_aout = (aout_instance_t *)p_this; char *psz_mode = newval.psz_string; int i_ret; (void)psz_cmd; (void)oldval; (void)p_data; if( !psz_mode || !*psz_mode ) { i_ret = ChangeFiltersString( p_aout, "audio-filter", "equalizer", false ); } else { var_Create( p_aout, "equalizer-preset", VLC_VAR_STRING ); var_SetString( p_aout, "equalizer-preset", psz_mode ); i_ret = ChangeFiltersString( p_aout, "audio-filter", "equalizer", true ); } /* That sucks */ if( i_ret == 1 ) AoutInputsMarkToRestart( p_aout ); return VLC_SUCCESS; }
/** Enable or disable an audio filter * \param p_this a vlc object * \param psz_name name of the filter * \param b_add are we adding or removing the filter ? */ void aout_EnableFilter( vlc_object_t *p_this, const char *psz_name, bool b_add ) { aout_instance_t *p_aout = findAout( p_this ); if( AoutChangeFilterString( p_this, p_aout, "audio-filter", psz_name, b_add ) ) { if( p_aout ) AoutInputsMarkToRestart( p_aout ); } if( p_aout ) vlc_object_release( p_aout ); }
/** Enable or disable an audio filter * \param p_this a vlc object * \param psz_name name of the filter * \param b_add are we adding or removing the filter ? */ void aout_EnableFilter( vlc_object_t *p_this, const char *psz_name, bool b_add ) { aout_instance_t *p_aout = vlc_object_find( p_this, VLC_OBJECT_AOUT, FIND_ANYWHERE ); if( AoutChangeFilterString( p_this, p_aout, "audio-filter", psz_name, b_add ) ) { if( p_aout ) AoutInputsMarkToRestart( p_aout ); } if( p_aout ) vlc_object_release( p_aout ); }
static int VisualizationCallback( vlc_object_t *p_this, char const *psz_cmd, vlc_value_t oldval, vlc_value_t newval, void *p_data ) { aout_instance_t *p_aout = (aout_instance_t *)p_this; char *psz_mode = newval.psz_string; (void)psz_cmd; (void)oldval; (void)p_data; if( !psz_mode || !*psz_mode ) { ChangeFiltersString( p_aout, "audio-visual", "goom", false ); ChangeFiltersString( p_aout, "audio-visual", "visual", false ); ChangeFiltersString( p_aout, "audio-visual", "projectm", false ); } else { if( !strcmp( "goom", psz_mode ) ) { ChangeFiltersString( p_aout, "audio-visual", "visual", false ); ChangeFiltersString( p_aout, "audio-visual", "goom", true ); ChangeFiltersString( p_aout, "audio-visual", "projectm", false ); } else if( !strcmp( "projectm", psz_mode ) ) { ChangeFiltersString( p_aout, "audio-visual", "visual", false ); ChangeFiltersString( p_aout, "audio-visual", "goom", false ); ChangeFiltersString( p_aout, "audio-visual", "projectm", true ); } else { var_Create( p_aout, "effect-list", VLC_VAR_STRING ); var_SetString( p_aout, "effect-list", psz_mode ); ChangeFiltersString( p_aout, "audio-visual", "goom", false ); ChangeFiltersString( p_aout, "audio-visual", "visual", true ); ChangeFiltersString( p_aout, "audio-visual", "projectm", false ); } } /* That sucks */ AoutInputsMarkToRestart( p_aout ); return VLC_SUCCESS; }