⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 equalizer.m

📁 VLC Player Source Code
💻 M
📖 第 1 页 / 共 2 页
字号:
    sprintf( psz_values, "%s %.1f", psz_values, [o_slider_band2 floatValue] );    sprintf( psz_values, "%s %.1f", psz_values, [o_slider_band3 floatValue] );    sprintf( psz_values, "%s %.1f", psz_values, [o_slider_band4 floatValue] );    sprintf( psz_values, "%s %.1f", psz_values, [o_slider_band5 floatValue] );    sprintf( psz_values, "%s %.1f", psz_values, [o_slider_band6 floatValue] );    sprintf( psz_values, "%s %.1f", psz_values, [o_slider_band7 floatValue] );    sprintf( psz_values, "%s %.1f", psz_values, [o_slider_band8 floatValue] );    sprintf( psz_values, "%s %.1f", psz_values, [o_slider_band9 floatValue] );    sprintf( psz_values, "%s %.1f", psz_values, [o_slider_band10 floatValue] );    var_SetString( p_object, "equalizer-bands", psz_values );    if( (BOOL)config_GetInt( p_intf, "macosx-eq-keep" ) == YES )    {        /* save changed to config */        config_PutPsz( p_intf, "equalizer-bands", psz_values );        /* save to vlcrc */        config_SaveConfigFile( p_intf, "equalizer" );    }    vlc_object_release( p_object );}- (IBAction)changePreset:(id)sender{    intf_thread_t *p_intf = VLCIntf;    int i;    vlc_object_t *p_object= vlc_object_find( p_intf,                                             VLC_OBJECT_AOUT, FIND_ANYWHERE );    if( p_object == NULL )        p_object = (vlc_object_t *)pl_Yield( p_intf );    char psz_values[102];    memset( psz_values, 0, 102 );    var_SetString( p_object , "equalizer-preset" , preset_list[[sender indexOfSelectedItem]] );    for( i = 0; i < 10; i++ )        sprintf( psz_values, "%s %.1f", psz_values, eqz_preset_10b[[sender indexOfSelectedItem]]->f_amp[i] );    var_SetString( p_object, "equalizer-bands", psz_values );    var_SetFloat( p_object, "equalizer-preamp", eqz_preset_10b[[sender indexOfSelectedItem]]->f_preamp);    [o_slider_preamp setFloatValue: eqz_preset_10b[[sender indexOfSelectedItem]]->f_preamp];    [self setBandSlidersValues:(float *)eqz_preset_10b[[sender indexOfSelectedItem]]->f_amp];    if( (BOOL)config_GetInt( p_intf, "macosx-eq-keep" ) == YES )    {        /* save changed to config */        config_PutPsz( p_intf, "equalizer-bands", psz_values );        config_PutFloat( p_intf, "equalizer-preamp", eqz_preset_10b[[sender indexOfSelectedItem]]->f_preamp );        config_PutPsz( p_intf, "equalizer-preset", preset_list[[sender indexOfSelectedItem]] );        /* save to vlcrc */        config_SaveConfigFile( p_intf, "equalizer" );    }    vlc_object_release( p_object );}- (IBAction)enable:(id)sender{    ChangeFiltersString( VLCIntf, (char *)"equalizer", [sender state] );}- (IBAction)preampSliderUpdated:(id)sender{    intf_thread_t *p_intf = VLCIntf;    float f_preamp = [sender floatValue] ;    vlc_object_t *p_object = vlc_object_find( p_intf,                                              VLC_OBJECT_AOUT, FIND_ANYWHERE );    if( p_object == NULL )        p_object = (vlc_object_t *)pl_Yield( p_intf );    var_SetFloat( p_object, "equalizer-preamp", f_preamp );    if( (BOOL)config_GetInt( p_intf, "macosx-eq-keep" ) == YES )    {        /* save changed to config */        config_PutFloat( p_intf, "equalizer-preamp", f_preamp );        /* save to vlcrc */        config_SaveConfigFile( p_intf, "equalizer" );    }    vlc_object_release( p_object );}- (IBAction)toggleWindow:(id)sender{    if( [o_window isVisible] )    {        [o_window orderOut:sender];        [o_btn_equalizer setState:NSOffState];    }    else    {        [o_window makeKeyAndOrderFront:sender];        [o_btn_equalizer setState:NSOnState];    }}- (IBAction)twopass:(id)sender{    intf_thread_t *p_intf = VLCIntf;    bool b_2p = [sender state] ? true : false;    vlc_object_t *p_object= vlc_object_find( p_intf,                                             VLC_OBJECT_AOUT, FIND_ANYWHERE );    aout_instance_t *p_aout = (aout_instance_t *)p_object;    if( p_object == NULL )        p_object = (vlc_object_t *)pl_Yield( p_intf );    var_SetBool( p_object, "equalizer-2pass", b_2p );    if( ( [o_ckb_enable state] ) && ( p_aout != NULL ) )    {        int i;        for( i = 0; i < p_aout->i_nb_inputs; i++ )        {            p_aout->pp_inputs[i]->b_restart = true;        }    }    if( (BOOL)config_GetInt( p_intf, "macosx-eq-keep" ) == YES )    {        /* save changed to config */        config_PutInt( p_intf, "equalizer-2pass", (int)b_2p );        /* save to vlcrc */        config_SaveConfigFile( p_intf, "equalizer" );    }    vlc_object_release( p_object );}- (void)windowWillClose:(NSNotification *)aNotification{    [o_btn_equalizer setState: NSOffState];}- (void)awakeFromNib{    int i;    vlc_object_t *p_object= vlc_object_find( VLCIntf,                                             VLC_OBJECT_AOUT, FIND_ANYWHERE );    if( p_object == NULL )        p_object = (vlc_object_t *)pl_Yield( VLCIntf );    [o_window setExcludedFromWindowsMenu: TRUE];    [self initStrings];    if( p_object )    {        char *psz_preset;        var_Create( p_object, "equalizer-preset", VLC_VAR_STRING |                    VLC_VAR_DOINHERIT );        psz_preset = var_GetNonEmptyString( p_object, "equalizer-preset" );        for( i = 0 ; (psz_preset != NULL) && (i < 18) ; i++ )        {            if( strcmp( preset_list[i], psz_preset ) )                continue;                [o_popup_presets selectItemAtIndex: i];                    [o_slider_preamp setFloatValue: eqz_preset_10b[i]->f_preamp];            [self setBandSlidersValues: (float *)eqz_preset_10b[i]->f_amp];            if( strcmp( psz_preset, "flat" ) )            {                char psz_bands[100];                    snprintf( psz_bands, sizeof( psz_bands ),                          "%.1f %.1f %.1f %.1f %.1f %.1f %.1f "                          "%.1f %.1f %.1f",                          eqz_preset_10b[i]->f_amp[0],                          eqz_preset_10b[i]->f_amp[1],                          eqz_preset_10b[i]->f_amp[2],                          eqz_preset_10b[i]->f_amp[3],                          eqz_preset_10b[i]->f_amp[4],                          eqz_preset_10b[i]->f_amp[5],                          eqz_preset_10b[i]->f_amp[6],                          eqz_preset_10b[i]->f_amp[7],                          eqz_preset_10b[i]->f_amp[8],                          eqz_preset_10b[i]->f_amp[9] );                    var_Create( p_object, "equalizer-preamp", VLC_VAR_FLOAT |                            VLC_VAR_DOINHERIT );                var_Create( p_object, "equalizer-bands", VLC_VAR_STRING |                            VLC_VAR_DOINHERIT );                var_SetFloat( p_object, "equalizer-preamp",                              eqz_preset_10b[i]->f_preamp );                var_SetString( p_object, "equalizer-bands", psz_bands );            }        }        free( psz_preset );        vlc_object_release( p_object );    }    [self equalizerUpdated];    }- (id)getSliderByIndex:(int)index{    switch(index)    {        case 0 : return o_slider_band1;        case 1 : return o_slider_band2;        case 2 : return o_slider_band3;        case 3 : return o_slider_band4;        case 4 : return o_slider_band5;        case 5 : return o_slider_band6;        case 6 : return o_slider_band7;        case 7 : return o_slider_band8;        case 8 : return o_slider_band9;        case 9 : return o_slider_band10;        default : return nil;    }}- (void)setBandSlidersValues:(float *)values{    int i = 0;    for (i = 0 ; i<= 9 ; i++)    {        [self setValue:values[i] forSlider:i];    }}- (void)initBandSliders{    int i = 0;    for (i = 0 ; i< 9 ; i++)    {        [self setValue:0.0 forSlider:i];    }}- (void)setValue:(float)value forSlider:(int)index{    id slider = [self getSliderByIndex:index];    if (slider != nil)    {        [slider setFloatValue:value];    }}@end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -