📄 settings.c
字号:
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 + -