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

📄 settings.c

📁 编译后直接运行的MP3播放器全部C语言源代码 一个包含FAT文件系统、系统引导 Boot、FLASH Driver等内容的
💻 C
📖 第 1 页 / 共 5 页
字号:
            set_cfg_option(&global_settings.rec_source, value, options, 3);         }        else if (!strcasecmp(name, "rec frequency")) {            static char* options[] = {"44", "48", "32", "22", "24", "16"};            set_cfg_option(&global_settings.rec_frequency, value, options, 6);        }        else if (!strcasecmp(name, "rec channels")) {            static char* options[] = {"stereo", "mono"};            set_cfg_option(&global_settings.rec_channels, value, options, 2);        }        else if (!strcasecmp(name, "editable recordings")) {            set_cfg_bool(&global_settings.rec_editable, value);        }        else if (!strcasecmp(name, "prerecording time")) {            set_cfg_int(&global_settings.rec_prerecord_time, value, 0, 30);        }        else if (!strcasecmp(name, "rec directory")) {            static char* options[] = {rec_base_directory, "current"};            set_cfg_option(&global_settings.rec_directory, value, options, 2);        }#endif        else if (!strcasecmp(name, "idle poweroff")) {            static char* options[] = {"off","1","2","3","4","5","6","7","8",                                      "9","10","15","30","45","60"};            set_cfg_option(&global_settings.poweroff, value, options, 15);        }#ifdef HAVE_MAS3507D        else if (!strcasecmp(name, "line in")){            set_cfg_bool(&global_settings.line_in, value);	    dac_line_in(global_settings.line_in);	}#endif        else if (!strcasecmp(name, "battery capacity"))            set_cfg_int(&global_settings.battery_capacity, value,                        1500, BATTERY_CAPACITY_MAX);#ifdef HAVE_CHARGE_CTRL        else if (!strcasecmp(name, "deep discharge"))            set_cfg_bool(&global_settings.discharge, value);        else if (!strcasecmp(name, "trickle charge"))            set_cfg_bool(&global_settings.trickle_charge, value);#endif        else if (!strcasecmp(name, "volume fade"))            set_cfg_bool(&global_settings.fade_on_stop, value);        else if (!strcasecmp(name, "max files in dir"))            set_cfg_int(&global_settings.max_files_in_dir, value,                        50, 10000);        else if (!strcasecmp(name, "max files in playlist"))            set_cfg_int(&global_settings.max_files_in_playlist, value,                        1000, 20000);        else if (!strcasecmp(name, "car adapter mode"))            set_cfg_bool(&global_settings.car_adapter_mode, value);        else if (!strcasecmp(name, "recursive directory insert")) {            static char* options[] = {"off", "on", "ask"};            set_cfg_option(&global_settings.recursive_dir_insert, value,                options, 3);        }        else if (!strcasecmp(name, "autoload bookmarks"))        {            static char* options[] = {"off", "on", "ask"};            set_cfg_option(&global_settings.autoloadbookmark, value, options, 3);        }        else if (!strcasecmp(name, "autocreate bookmarks"))        {            static char* options[] = {"off", "on", "ask","recent only - yes","recent only - ask"};            set_cfg_option(&global_settings.autocreatebookmark, value, options, 5);        }        else if (!strcasecmp(name, "use most-recent-bookmarks"))        {            static char* options[] = {"off", "on", "unique only"};            set_cfg_option(&global_settings.usemrb, value, options, 3);        }        else if (!strcasecmp(name, "playlist viewer icons"))            set_cfg_bool(&global_settings.playlist_viewer_icons, value);        else if (!strcasecmp(name, "playlist viewer indices"))            set_cfg_bool(&global_settings.playlist_viewer_indices, value);        else if (!strcasecmp(name, "playlist viewer track display"))        {            static char* options[] = {"track name", "full path"};            set_cfg_option(&global_settings.playlist_viewer_track_display,                value, options, 2);        }    }    close(fd);    settings_apply();    settings_save();    return true;}bool settings_save_config(void){    bool done = false;    int fd, i, value;    char filename[MAX_PATH];    char* boolopt[] = {"off","on"};    char* triopt[] = {"off","on","ask"};    /* find unused filename */    for (i=0; ; i++) {        snprintf(filename, sizeof filename, ROCKBOX_DIR "/config%02d.cfg", i);        fd = open(filename, O_RDONLY);        if (fd < 0)            break;        close(fd);    }    /* allow user to modify filename */    while (!done) {        if (!kbd_input(filename, sizeof filename)) {            fd = creat(filename,0);            if (fd < 0) {                lcd_clear_display();                lcd_puts(0,0,str(LANG_FAILED));                lcd_update();                sleep(HZ);            }            else                done = true;        }        else            break;    }    /* abort if file couldn't be created */    if (!done) {        lcd_clear_display();        lcd_puts(0,0,str(LANG_RESET_DONE_CANCEL));        lcd_update();        sleep(HZ);        return false;    }    fprintf(fd, "# >>> .cfg file created by rockbox %s <<<\r\n", appsversion);    fprintf(fd, "# >>>    http://rockbox.haxx.se    <<<\r\n#\r\n");    fprintf(fd, "#\r\n# wps / language / font \r\n#\r\n");    if (global_settings.wps_file[0] != 0)        fprintf(fd, "wps: %s/%s.wps\r\n", ROCKBOX_DIR,                global_settings.wps_file);    if (global_settings.lang_file[0] != 0)        fprintf(fd, "lang: %s/%s.lng\r\n", ROCKBOX_DIR LANG_DIR,                 global_settings.lang_file);#ifdef HAVE_LCD_BITMAP    if (global_settings.font_file[0] != 0)        fprintf(fd, "font: %s/%s.fnt\r\n", ROCKBOX_DIR FONT_DIR,                global_settings.font_file);#endif    fprintf(fd, "#\r\n# Sound settings\r\n#\r\n");    value = mpeg_val2phys(SOUND_VOLUME, global_settings.volume);    fprintf(fd, "volume: %d\r\n", value);    value = mpeg_val2phys(SOUND_BASS, global_settings.bass);    fprintf(fd, "bass: %d\r\n", value);    value = mpeg_val2phys(SOUND_TREBLE, global_settings.treble);    fprintf(fd, "treble: %d\r\n", value);    value = mpeg_val2phys(SOUND_BALANCE, global_settings.balance);    fprintf(fd, "balance: %d\r\n", value);    {        static char* options[] =        {"stereo","stereo narrow","mono","mono left",         "mono right","karaoke","stereo wide"};        fprintf(fd, "channels: %s\r\n",                options[global_settings.channel_config]);    }#ifdef HAVE_MAS3587F    value = mpeg_val2phys(SOUND_LOUDNESS, global_settings.loudness);    fprintf(fd, "loudness: %d\r\n", value);    value = mpeg_val2phys(SOUND_SUPERBASS, global_settings.bass_boost);    fprintf(fd, "bass boost: %d\r\n", value);    {        static char* options[] = {"off", "2", "4", "8" };        fprintf(fd, "auto volume: %s\r\n", options[global_settings.avc]);    }#endif    fprintf(fd, "#\r\n# Playback\r\n#\r\n");    fprintf(fd, "shuffle: %s\r\n", boolopt[global_settings.playlist_shuffle]);    {        static char* options[] = {"off", "all", "one"};        fprintf(fd, "repeat: %s\r\n", options[global_settings.repeat_mode]);    }    fprintf(fd, "play selected: %s\r\n",            boolopt[global_settings.play_selected]);    {        static char* options[] = {"off", "ask", "ask once", "on"};        fprintf(fd, "resume: %s\r\n", options[global_settings.resume]);    }    {        static char* options[] =        {"1","2","3","4","5","6","8","10",         "15","20","25","30","45","60"};        fprintf(fd, "scan min step: %s\r\n",                options[global_settings.ff_rewind_min_step]);    }    fprintf(fd, "scan accel: %d\r\nantiskip: %d\r\n",            global_settings.ff_rewind_accel,            global_settings.buffer_margin);    fprintf(fd, "volume fade: %s\r\n", boolopt[global_settings.fade_on_stop]);    fprintf(fd, "#\r\n# File View\r\n#\r\n");    fprintf(fd, "sort case: %s\r\n", boolopt[global_settings.sort_case]);    {        static char* options[] = {"all", "supported","music", "playlists"};        fprintf(fd, "show files: %s\r\n", options[global_settings.dirfilter]);    }    fprintf(fd, "follow playlist: %s\r\n",            boolopt[global_settings.browse_current]);    fprintf(fd, "#\r\n# Display\r\n#\r\n");    #ifdef HAVE_LCD_BITMAP    fprintf(fd, "statusbar: %s\r\nscrollbar: %s\r\n",            boolopt[global_settings.statusbar],            boolopt[global_settings.scrollbar]);    {        static char* options[] = {"graphic", "numeric"};        fprintf(fd, "volume display: %s\r\nbattery display: %s\r\n",                options[global_settings.volume_type],                options[global_settings.battery_type]);    }#endif    fprintf(fd, "scroll speed: %d\r\nscroll delay: %d\r\n",             global_settings.scroll_speed,             global_settings.scroll_delay);#ifdef HAVE_LCD_BITMAP    fprintf(fd, "scroll step: %d\r\n", global_settings.scroll_step);#else    fprintf(fd, "jump scroll: %d\r\n", global_settings.jump_scroll);    fprintf(fd, "jump scroll delay: %d\r\n", global_settings.jump_scroll_delay);#endif    fprintf(fd, "bidir limit: %d\r\n", global_settings.bidir_limit);    {        static char* options[] =        {"off","on","1","2","3","4","5","6","7","8","9",         "10","15","20","25","30","45","60","90"};        fprintf(fd, "backlight timeout: %s\r\n",                 options[global_settings.backlight_timeout]);    }    fprintf(fd, "backlight when plugged: %s\r\n",            boolopt[global_settings.backlight_on_when_charging]);    fprintf(fd, "caption backlight: %s\r\n",            boolopt[global_settings.caption_backlight]);    fprintf(fd, "contrast: %d\r\n", global_settings.contrast);#ifdef HAVE_LCD_BITMAP    fprintf(fd, "invert: %s\r\n", boolopt[global_settings.invert]);        fprintf(fd, "flip display: %s\r\n", boolopt[global_settings.flip_display]);    fprintf(fd, "invert cursor: %s\r\n",            boolopt[global_settings.invert_cursor]);    fprintf(fd, "show icons: %s\r\n",            boolopt[global_settings.show_icons]);    fprintf(fd, "peak meter release: %d\r\n",            global_settings.peak_meter_release);    {        static char* options[] =        {"off","200ms","300ms","500ms","1","2","3","4","5",         "6","7","8","9","10","15","20","30","1min"};        fprintf(fd, "peak meter hold: %s\r\n",                options[global_settings.peak_meter_hold]);    }    {        static char* options[] =        {"on","1","2","3","4","5","6","7","8","9","10","15","20","25","30",         "45","60","90","2min","3min","5min","10min","20min","45min","90min"};        fprintf(fd, "peak meter clip hold: %s\r\n",                options[global_settings.peak_meter_clip_hold]);    }    fprintf(fd, "peak meter busy: %s\r\npeak meter dbfs: %s\r\n",            boolopt[global_settings.peak_meter_performance],            boolopt[global_settings.peak_meter_dbfs]);    fprintf(fd, "peak meter min: %d\r\npeak meter max: %d\r\n",            global_settings.peak_meter_min,            global_settings.peak_meter_max);#endif    fprintf(fd, "#\r\n# System\r\n#\r\ndisk spindown: %d\r\n",             global_settings.disk_spindown);#ifdef HAVE_ATA_POWER_OFF    fprintf(fd, "disk poweroff: %s\r\n",            boolopt[global_settings.disk_poweroff]);#endif    fprintf(fd, "battery capacity: %d\r\n", global_settings.battery_capacity);#ifdef HAVE_CHARGE_CTRL    fprintf(fd, "deep discharge: %s\r\ntrickle charge: %s\r\n",            boolopt[global_settings.discharge],            boolopt[global_settings.trickle_charge]);#endif#ifdef HAVE_LCD_BITMAP    {        static char* options[] = {"24hour", "12hour"};        fprintf(fd, "time format: %s\r\n",                options[global_settings.timeformat]);    }#endif    {        static char* options[] =        {"off","1","2","3","4","5","6","7","8",         "9","10","15","30","45","60"};        fprintf(fd, "idle poweroff: %s\r\n",                options[global_settings.poweroff]);    }    fprintf(fd, "car adapter mode: %s\r\n",            boolopt[global_settings.car_adapter_mode]);#ifdef HAVE_MAS3507D    fprintf(fd, "line in: %s\r\n", boolopt[global_settings.line_in]);#endif    fprintf(fd, "max files in dir: %d\r\n", global_settings.max_files_in_dir);    fprintf(fd, "max files in playlist: %d\r\n",            global_settings.max_files_in_playlist);    #ifdef HAVE_MAS3587F    fprintf(fd, "#\r\n# Recording\r\n#\r\n");    fprintf(fd, "rec quality: %d\r\n", global_settings.rec_quality);        {        static char* options[] = {"44", "48", "32", "22", "24", "16"};        fprintf(fd, "rec frequency: %s\r\n",                options[global_settings.rec_frequency]);    }    {        static char* options[] = {"mic", "line", "spdif"};        fprintf(fd, "rec source: %s\r\n", options[global_settings.rec_source]);    }    {        static char* options[] = {"stereo", "mono"};        fprintf(fd, "rec channels: %s\r\n",

⌨️ 快捷键说明

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