- /* Prepare FIFO. */
- aout_FifoInit( p_aout, &p_input->fifo, p_aout->mixer.mixer.i_rate );
- p_input->p_first_byte_to_mix = NULL;
-
- /* Prepare format structure */
- memcpy( &chain_input_format, &p_input->input,
- sizeof(audio_sample_format_t) );
- memcpy( &chain_output_format, &p_aout->mixer.mixer,
- sizeof(audio_sample_format_t) );
- chain_output_format.i_rate = p_input->input.i_rate;
- aout_FormatPrepare( &chain_output_format );
-
- /* Now add user filters */
- if( var_Type( p_aout, "visual" ) == 0 )
- {
- var_Create( p_aout, "visual", VLC_VAR_STRING | VLC_VAR_HASCHOICE );
- text.psz_string = _("Visualizations");
- var_Change( p_aout, "visual", VLC_VAR_SETTEXT, &text, NULL );
- val.psz_string = (char*)""; text.psz_string = _("Disable");
- var_Change( p_aout, "visual", VLC_VAR_ADDCHOICE, &val, &text );
- val.psz_string = (char*)"spectrometer"; text.psz_string = _("Spectrometer");
- var_Change( p_aout, "visual", VLC_VAR_ADDCHOICE, &val, &text );
- val.psz_string = (char*)"scope"; text.psz_string = _("Scope");
- var_Change( p_aout, "visual", VLC_VAR_ADDCHOICE, &val, &text );
- val.psz_string = (char*)"spectrum"; text.psz_string = _("Spectrum");
- var_Change( p_aout, "visual", VLC_VAR_ADDCHOICE, &val, &text );
- val.psz_string = (char*)"vuMeter"; text.psz_string = _("Vu meter");
- var_Change( p_aout, "visual", VLC_VAR_ADDCHOICE, &val, &text );
-
- /* Look for goom plugin */
- if( module_Exists( VLC_OBJECT(p_aout), "goom" ) )
- {
- val.psz_string = (char*)"goom"; text.psz_string = (char*)"Goom";
- var_Change( p_aout, "visual", VLC_VAR_ADDCHOICE, &val, &text );
- }
-
- /* Look for galaktos plugin */
- if( module_Exists( VLC_OBJECT(p_aout), "galaktos" ) )
- {
- val.psz_string = (char*)"galaktos"; text.psz_string = (char*)"GaLaktos";
- var_Change( p_aout, "visual", VLC_VAR_ADDCHOICE, &val, &text );
- }
-
- if( var_Get( p_aout, "effect-list", &val ) == VLC_SUCCESS )
- {
- var_Set( p_aout, "visual", val );
- free( val.psz_string );
- }
- var_AddCallback( p_aout, "visual", VisualizationCallback, NULL );
- }
-
- if( var_Type( p_aout, "equalizer" ) == 0 )
- {
- module_config_t *p_config;
- int i;
-
- p_config = config_FindConfig( VLC_OBJECT(p_aout), "equalizer-preset" );
- if( p_config && p_config->i_list )
- {
- var_Create( p_aout, "equalizer",
- VLC_VAR_STRING | VLC_VAR_HASCHOICE );
- text.psz_string = _("Equalizer");
- var_Change( p_aout, "equalizer", VLC_VAR_SETTEXT, &text, NULL );
-
- val.psz_string = (char*)""; text.psz_string = _("Disable");
- var_Change( p_aout, "equalizer", VLC_VAR_ADDCHOICE, &val, &text );
-
- for( i = 0; i < p_config->i_list; i++ )
- {
- val.psz_string = (char *)p_config->ppsz_list[i];
- text.psz_string = (char *)p_config->ppsz_list_text[i];
- var_Change( p_aout, "equalizer", VLC_VAR_ADDCHOICE,
- &val, &text );
- }
-
- var_AddCallback( p_aout, "equalizer", EqualizerCallback, NULL );
- }
- }
-
- if( var_Type( p_aout, "audio-filter" ) == 0 )