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

📄 simple_prefs.m

📁 VLC Player Source Code
💻 M
📖 第 1 页 / 共 4 页
字号:
        [self resetControls];    }}static inline void save_int_list( intf_thread_t * p_intf, id object, const char * name ){    NSNumber *p_valueobject;    module_config_t *p_item;    p_item = config_FindConfig( VLC_OBJECT(p_intf), name );    p_valueobject = (NSNumber *)[[object selectedItem] representedObject];    assert([p_valueobject isKindOfClass:[NSNumber class]]);    if( p_valueobject) config_PutInt( p_intf, name, [p_valueobject intValue] );}static inline void save_string_list( intf_thread_t * p_intf, id object, const char * name ){    NSString *p_stringobject;    module_config_t *p_item;    p_item = config_FindConfig( VLC_OBJECT(p_intf), name );    p_stringobject = (NSString *)[[object selectedItem] representedObject];    assert([p_stringobject isKindOfClass:[NSString class]]);    if( p_stringobject ) config_PutPsz( p_intf, name, [p_stringobject UTF8String] );}static inline void save_module_list( intf_thread_t * p_intf, id object, const char * name ){    module_config_t *p_item;    module_t *p_parser;    vlc_list_t *p_list;    p_item = config_FindConfig( VLC_OBJECT(p_intf), name );    p_list = vlc_list_find( VLCIntf, VLC_OBJECT_MODULE, FIND_ANYWHERE );    for( int i_module_index = 0; i_module_index < p_list->i_count; i_module_index++ )    {        p_parser = (module_t *)p_list->p_values[i_module_index].p_object;        if( p_item->i_type == CONFIG_ITEM_MODULE && module_IsCapable( p_parser, p_item->psz_type ) )        {            if( [[[object selectedItem] title] isEqualToString: _NS( module_GetLongName( p_parser ) )] )            {                config_PutPsz( p_intf, name, strdup( module_GetObjName( p_parser )));                break;            }        }    }    vlc_list_release( p_list );    if( [[[object selectedItem] title] isEqualToString: _NS( "Default" )] )        config_PutPsz( p_intf, name, "" );}- (void)saveChangedSettings{    char *psz_tmp;    int i;    NSString *p_stringobject;    #define SaveIntList( object, name ) save_int_list( p_intf, object, name )                    #define SaveStringList( object, name ) save_string_list( p_intf, object, name )#define SaveModuleList( object, name ) save_module_list( p_intf, object, name )    /**********************     * interface settings *     **********************/    if( b_intfSettingChanged )    {        SaveStringList( o_intf_lang_pop, "language" );        SaveIntList( o_intf_art_pop, "album-art" );        config_PutInt( p_intf, "macosx-fspanel", [o_intf_fspanel_ckb state] );        config_PutInt( p_intf, "embedded-video", [o_intf_embedded_ckb state] );        /* okay, let's save our changes to vlcrc */        i = config_SaveConfigFile( p_intf, "main" );        i = i + config_SaveConfigFile( p_intf, "macosx" );        if( i != 0 )        {            msg_Err( p_intf, "An error occurred while saving the Interface settings using SimplePrefs (%i)", i );            intf_UserFatal( p_intf, false, _("Interface Settings not saved"),                        _("An error occured while saving your settings via SimplePrefs (%i)."), i );            i = 0;        }        b_intfSettingChanged = NO;    }        /******************     * audio settings *     ******************/    if( b_audioSettingChanged )    {        config_PutInt( p_intf, "audio", [o_audio_enable_ckb state] );        config_PutInt( p_intf, "volume", [o_audio_vol_sld intValue] );        config_PutInt( p_intf, "spdif", [o_audio_spdif_ckb state] );        SaveIntList( o_audio_dolby_pop, "force-dolby-surround" );        config_PutPsz( p_intf, "audio-language", [[o_audio_lang_fld stringValue] UTF8String] );        config_PutInt( p_intf, "headphone-dolby", [o_audio_headphone_ckb state] );        psz_tmp = config_GetPsz( p_intf, "audio-filter" );        if(! psz_tmp)            config_PutPsz( p_intf, "audio-filter", "volnorm" );        else if( (int)strstr( psz_tmp, "normvol" ) == NO )        {            /* work-around a GCC 4.0.1 bug */            psz_tmp = (char *)[[NSString stringWithFormat: @"%s:volnorm", psz_tmp] UTF8String];            config_PutPsz( p_intf, "audio-filter", psz_tmp );        }        else        {            psz_tmp = (char *)[[[NSString stringWithUTF8String: psz_tmp] stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:@":volnorm"]] UTF8String];            psz_tmp = (char *)[[[NSString stringWithUTF8String: psz_tmp] stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:@"volnorm:"]] UTF8String];            psz_tmp = (char *)[[[NSString stringWithUTF8String: psz_tmp] stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:@"volnorm"]] UTF8String];            config_PutPsz( p_intf, "audio-filter", psz_tmp );        }        config_PutFloat( p_intf, "norm-max-level", [o_audio_norm_fld floatValue] );        SaveModuleList( o_audio_visual_pop, "audio-visual" );        /* Last.FM is optional */        if( module_Exists( p_intf, "audioscrobbler" ) )        {               [o_audio_last_ckb setEnabled: YES];            if( [o_audio_last_ckb state] == NSOnState )                config_AddIntf( p_intf, "audioscrobbler" );            else                config_RemoveIntf( p_intf, "audioscrobbler" );            config_PutPsz( p_intf, "lastfm-username", [[o_audio_lastuser_fld stringValue] UTF8String] );            config_PutPsz( p_intf, "lastfm-password", [[o_audio_lastpwd_sfld stringValue] UTF8String] );        }        else            [o_audio_last_ckb setEnabled: NO];        /* okay, let's save our changes to vlcrc */        i = config_SaveConfigFile( p_intf, "main" );        i = i + config_SaveConfigFile( p_intf, "audioscrobbler" );        i = i + config_SaveConfigFile( p_intf, "volnorm" );        if( i != 0 )        {            msg_Err( p_intf, "An error occurred while saving the Audio settings using SimplePrefs (%i)", i );            intf_UserFatal( p_intf, false, _("Audio Settings not saved"),                        _("An error occured while saving your settings via SimplePrefs (%i)."), i );                        i = 0;        }        b_audioSettingChanged = NO;    }        /******************     * video settings *     ******************/    if( b_videoSettingChanged )    {        config_PutInt( p_intf, "video", [o_video_enable_ckb state] );        config_PutInt( p_intf, "fullscreen", [o_video_fullscreen_ckb state] );        config_PutInt( p_intf, "video-on-top", [o_video_onTop_ckb state] );        config_PutInt( p_intf, "skip-frames", [o_video_skipFrames_ckb state] );        config_PutInt( p_intf, "macosx-black", [o_video_black_ckb state] );        SaveModuleList( o_video_output_pop, "vout" );        config_PutInt( p_intf, "macosx-vdev", [[o_video_device_pop selectedItem] tag] );        config_PutPsz( p_intf, "snapshot-path", [[o_video_snap_folder_fld stringValue] UTF8String] );        config_PutPsz( p_intf, "snapshot-prefix", [[o_video_snap_prefix_fld stringValue] UTF8String] );        config_PutInt( p_intf, "snapshot-sequential", [o_video_snap_seqnum_ckb state] );        SaveStringList( o_video_snap_format_pop, "snapshot-format" );        i = config_SaveConfigFile( p_intf, "main" );        i = i + config_SaveConfigFile( p_intf, "macosx" );        if( i != 0 )        {            msg_Err( p_intf, "An error occurred while saving the Video settings using SimplePrefs (%i)", i );            intf_UserFatal( p_intf, false, _("Video Settings not saved"),                        _("An error occured while saving your settings via SimplePrefs (%i)."), i );            i = 0;        }        b_videoSettingChanged = NO;    }        /***************************     * input & codecs settings *     ***************************/    if( b_inputSettingChanged )    {        config_PutInt( p_intf, "server-port", [o_input_serverport_fld intValue] );        config_PutPsz( p_intf, "http-proxy", [[o_input_httpproxy_fld stringValue] UTF8String] );        config_PutPsz( p_intf, "http-proxy-pwd", [[o_input_httpproxypwd_sfld stringValue] UTF8String] );        config_PutInt( p_intf, "ffmpeg-pp-q", [o_input_postproc_fld intValue] );        SaveIntList( o_input_avi_pop, "avi-index" );        config_PutInt( p_intf, "rtsp-tcp", [o_input_rtsp_ckb state] );        #define CaCi( name, int ) config_PutInt( p_intf, name, int * [[o_input_cachelevel_pop selectedItem] tag] )        #define CaC( name ) CaCi( name, 1 )        msg_Dbg( p_intf, "Adjusting all cache values to: %i", [[o_input_cachelevel_pop selectedItem] tag] );        CaC( "udp-caching" );        if( module_Exists (p_intf, "dvdread" ) )        {            CaC( "dvdread-caching" );            i = i + config_SaveConfigFile( p_intf, "dvdread" );        }        if( module_Exists (p_intf, "dvdnav" ) )        {            CaC( "dvdnav-caching" );            i = i + config_SaveConfigFile( p_intf, "dvdnav" );        }        CaC( "tcp-caching" ); CaC( "vcd-caching" );        CaC( "fake-caching" ); CaC( "cdda-caching" ); CaC( "file-caching" );        CaC( "screen-caching" );        CaCi( "rtsp-caching", 4 ); CaCi( "ftp-caching", 2 );        CaCi( "http-caching", 4 );        if( module_Exists (p_intf, "access_realrtsp" ) )        {            CaCi( "realrtsp-caching", 10 );            i = i + config_SaveConfigFile( p_intf, "access_realrtsp" );        }        CaCi( "mms-caching", 19 );        #define SaveAccessFilter( object, name ) \        if( [object state] == NSOnState ) \        { \            if( b_first ) \            { \                [o_temp appendString: name]; \                b_first = NO; \            } \            else \                [o_temp appendFormat: @":%@", name]; \        }        BOOL b_first = YES;        NSMutableString *o_temp = [[NSMutableString alloc] init];        SaveAccessFilter( o_input_record_ckb, @"record" );        SaveAccessFilter( o_input_dump_ckb, @"dump" );        SaveAccessFilter( o_input_bandwidth_ckb, @"bandwidth" );        SaveAccessFilter( o_input_timeshift_ckb, @"timeshift" );        config_PutPsz( p_intf, "access-filter", [o_temp UTF8String] );        [o_temp release];        i = config_SaveConfigFile( p_intf, "main" );        i = i + config_SaveConfigFile( p_intf, "ffmpeg" );        i = i + config_SaveConfigFile( p_intf, "access_http" );        i = i + config_SaveConfigFile( p_intf, "access_file" );        i = i + config_SaveConfigFile( p_intf, "access_tcp" );        i = i + config_SaveConfigFile( p_intf, "access_fake" );        i = i + config_SaveConfigFile( p_intf, "cdda" );        i = i + config_SaveConfigFile( p_intf, "screen" );        i = i + config_SaveConfigFile( p_intf, "vcd" );        i = i + config_SaveConfigFile( p_intf, "access_ftp" );        i = i + config_SaveConfigFile( p_intf, "access_mms" );        i = i + config_SaveConfigFile( p_intf, "live555" );        i = i + config_SaveConfigFile( p_intf, "avi" );        if( i != 0 )        {            msg_Err( p_intf, "An error occurred while saving the Input settings using SimplePrefs (%i)", i );            intf_UserFatal( p_intf, false, _("Input Settings not saved"),                        _("An error occured while saving your settings via SimplePrefs (%i)."), i );            i = 0;        }        b_inputSettingChanged = NO;    }        /**********************     * subtitles settings *     **********************/    if( b_osdSettingChanged )    {        config_PutInt( p_intf, "osd", [o_osd_osd_ckb state] );        if( [o_osd_encoding_pop indexOfSelectedItem] >= 0 )            config_PutPsz( p_intf, "subsdec-encoding", [[[o_osd_encoding_pop selectedItem] title] UTF8String] );        config_PutPsz( p_intf, "sub-language", [[o_osd_lang_fld stringValue] UTF8String] );        config_PutPsz( p_intf, "quartztext-font", [[o_osd_font_fld stringValue] UTF8String] );        SaveIntList( o_osd_font_color_pop, "quartztext-color" );        SaveIntList( o_osd_font_size_pop, "quartztext-rel-fontsize" );        i = config_SaveConfigFile( p_intf, NULL );        if( i != 0 )        {            msg_Err( p_intf, "An error occurred while saving the OSD/Subtitle settings using SimplePrefs (%i)", i );            intf_UserFatal( p_intf, false, _("On Screen Display/Subtitle Settings not saved"),                        _("An error occured while saving your settings via SimplePrefs (%i)."), i );            i = 0;        }        b_osdSettingChanged = NO;    }        /********************     * hotkeys settings *     ********************/    if( b_hotkeyChanged )    {        struct hotkey *p_hotkeys = p_intf->p_libvlc->p_hotkeys;        i = 1;        while( i < [o_hotkeySettings count] )        {            config_PutInt( p_intf, p_hotkeys[i].psz_action, [[o_hotkeySettings objectAtIndex: i-1] intValue] );            i++;        }                i = config_SaveConfigFile( p_intf, "main" );        if( i != 0 )        {            msg_Err( p_intf, "An error occurred while saving the Hotkey settings using SimplePrefs (%i)", i );            intf_UserFatal( p_intf, false, _("Hotkeys not saved"),                        _("An error occured while saving your settings via SimplePrefs (%i)."), i );            i = 0;        }        b_hotkeyChanged = NO;    }}

⌨️ 快捷键说明

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