static bool avc(void) { static const struct opt_items names[] = { { STR(LANG_OFF) }, { "20ms", TALK_ID(20, UNIT_MS) }, { "2s", TALK_ID(2, UNIT_SEC) }, { "4s", TALK_ID(4, UNIT_SEC) }, { "8s", TALK_ID(8, UNIT_SEC) } }; return set_option(str(LANG_DECAY), &global_settings.avc, INT, names, 5, set_avc); }
static bool backlight_fade_in(void) { static const struct opt_items names[] = { { STR(LANG_OFF) }, { "500ms", TALK_ID(500, UNIT_MS) }, { "1s", TALK_ID(1, UNIT_SEC) }, { "2s", TALK_ID(2, UNIT_SEC) }, }; return set_option(str(LANG_BACKLIGHT_FADE_IN), &global_settings.backlight_fade_in, INT, names, 4, backlight_set_fade_in ); }
static bool jump_scroll(void) { static const struct opt_items names[] = { { STR(LANG_OFF) }, { STR(LANG_ONE_TIME) }, { "2", TALK_ID(2, UNIT_INT) }, { "3", TALK_ID(3, UNIT_INT) }, { "4", TALK_ID(4, UNIT_INT) }, { STR(LANG_ALWAYS) } }; bool ret; ret=set_option(str(LANG_JUMP_SCROLL), &global_settings.jump_scroll, INT, names, 6, lcd_jump_scroll); return ret; }
static bool crossfade_duration(void) { static const struct opt_items names[] = { { "1s", TALK_ID(1, UNIT_SEC) }, { "2s", TALK_ID(2, UNIT_SEC) }, { "4s", TALK_ID(4, UNIT_SEC) }, { "6s", TALK_ID(6, UNIT_SEC) }, { "8s", TALK_ID(8, UNIT_SEC) }, { "10s", TALK_ID(10, UNIT_SEC) }, { "12s", TALK_ID(12, UNIT_SEC) }, { "14s", TALK_ID(14, UNIT_SEC) }, }; bool ret; ret=set_option( str(LANG_CROSSFADE_DURATION), &global_settings.crossfade_duration, INT, names, 8, NULL); audio_set_crossfade(global_settings.crossfade); return ret; }
static bool backlight_fade_out(void) { static const struct opt_items names[] = { { STR(LANG_OFF) }, { "500ms", TALK_ID(500, UNIT_MS) }, { "1s", TALK_ID(1, UNIT_SEC) }, { "2s", TALK_ID(2, UNIT_SEC) }, { "3s", TALK_ID(3, UNIT_SEC) }, { "4s", TALK_ID(4, UNIT_SEC) }, { "5s", TALK_ID(5, UNIT_SEC) }, { "10s", TALK_ID(10, UNIT_SEC) }, }; return set_option(str(LANG_BACKLIGHT_FADE_OUT), &global_settings.backlight_fade_out, INT, names, 8, backlight_set_fade_out ); }
static bool buffer_margin(void) { int ret; static const struct opt_items names[] = { { "5s", TALK_ID(5, UNIT_SEC) }, { "15s", TALK_ID(15, UNIT_SEC) }, { "30s", TALK_ID(30, UNIT_SEC) }, { "1min", TALK_ID(1, UNIT_MIN) }, { "2min", TALK_ID(2, UNIT_MIN) }, { "3min", TALK_ID(3, UNIT_MIN) }, { "5min", TALK_ID(5, UNIT_MIN) }, { "10min", TALK_ID(10, UNIT_MIN) } }; ret = set_option(str(LANG_MP3BUFFER_MARGIN), &global_settings.buffer_margin, INT, names, 8, NULL); audio_set_buffer_margin(global_settings.buffer_margin); return ret; }
static bool recfrequency(void) { static const struct opt_items names[] = { { "44.1kHz", TALK_ID(44, UNIT_KHZ) }, { "48kHz", TALK_ID(48, UNIT_KHZ) }, { "32kHz", TALK_ID(32, UNIT_KHZ) }, { "22.05kHz", TALK_ID(22, UNIT_KHZ) }, { "24kHz", TALK_ID(24, UNIT_KHZ) }, { "16kHz", TALK_ID(16, UNIT_KHZ) } }; return set_option(str(LANG_RECORDING_FREQUENCY), &global_settings.rec_frequency, INT, names, 6, NULL ); }
static bool ff_rewind_accel(void) { static const struct opt_items names[] = { { STR(LANG_OFF) }, { "2x/1s", TALK_ID(1, UNIT_SEC) }, { "2x/2s", TALK_ID(2, UNIT_SEC) }, { "2x/3s", TALK_ID(3, UNIT_SEC) }, { "2x/4s", TALK_ID(4, UNIT_SEC) }, { "2x/5s", TALK_ID(5, UNIT_SEC) }, { "2x/6s", TALK_ID(6, UNIT_SEC) }, { "2x/7s", TALK_ID(7, UNIT_SEC) }, { "2x/8s", TALK_ID(8, UNIT_SEC) }, { "2x/9s", TALK_ID(9, UNIT_SEC) }, { "2x/10s", TALK_ID(10, UNIT_SEC) }, { "2x/11s", TALK_ID(11, UNIT_SEC) }, { "2x/12s", TALK_ID(12, UNIT_SEC) }, { "2x/13s", TALK_ID(13, UNIT_SEC) }, { "2x/14s", TALK_ID(14, UNIT_SEC) }, { "2x/15s", TALK_ID(15, UNIT_SEC) } }; return set_option(str(LANG_FFRW_ACCEL), &global_settings.ff_rewind_accel, INT, names, 16, NULL ); }
static bool ff_rewind_min_step(void) { static const struct opt_items names[] = { { "1s", TALK_ID(1, UNIT_SEC) }, { "2s", TALK_ID(2, UNIT_SEC) }, { "3s", TALK_ID(3, UNIT_SEC) }, { "4s", TALK_ID(4, UNIT_SEC) }, { "5s", TALK_ID(5, UNIT_SEC) }, { "6s", TALK_ID(6, UNIT_SEC) }, { "8s", TALK_ID(8, UNIT_SEC) }, { "10s", TALK_ID(10, UNIT_SEC) }, { "15s", TALK_ID(15, UNIT_SEC) }, { "20s", TALK_ID(20, UNIT_SEC) }, { "25s", TALK_ID(25, UNIT_SEC) }, { "30s", TALK_ID(30, UNIT_SEC) }, { "45s", TALK_ID(45, UNIT_SEC) }, { "60s", TALK_ID(60, UNIT_SEC) } }; return set_option(str(LANG_FFRW_STEP), &global_settings.ff_rewind_min_step, INT, names, 14, NULL ); }
static bool poweroff_idle_timer(void) { static const struct opt_items names[] = { { STR(LANG_OFF) }, { "1m ", TALK_ID(1, UNIT_MIN) }, { "2m ", TALK_ID(2, UNIT_MIN) }, { "3m ", TALK_ID(3, UNIT_MIN) }, { "4m ", TALK_ID(4, UNIT_MIN) }, { "5m ", TALK_ID(5, UNIT_MIN) }, { "6m ", TALK_ID(6, UNIT_MIN) }, { "7m ", TALK_ID(7, UNIT_MIN) }, { "8m ", TALK_ID(8, UNIT_MIN) }, { "9m ", TALK_ID(9, UNIT_MIN) }, { "10m", TALK_ID(10, UNIT_MIN) }, { "15m", TALK_ID(15, UNIT_MIN) }, { "30m", TALK_ID(30, UNIT_MIN) }, { "45m", TALK_ID(45, UNIT_MIN) }, { "60m", TALK_ID(60, UNIT_MIN) } }; return set_option(str(LANG_POWEROFF_IDLE), &global_settings.poweroff, INT, names, 15, set_poweroff_timeout); }
/** * Menu to set the hold time of clips. */ static bool peak_meter_clip_hold(void) { bool retval = false; static const struct opt_items names[] = { { STR(LANG_PM_ETERNAL) }, { "1s " , TALK_ID(1, UNIT_SEC) }, { "2s " , TALK_ID(2, UNIT_SEC) }, { "3s " , TALK_ID(3, UNIT_SEC) }, { "4s " , TALK_ID(4, UNIT_SEC) }, { "5s " , TALK_ID(5, UNIT_SEC) }, { "6s " , TALK_ID(6, UNIT_SEC) }, { "7s " , TALK_ID(7, UNIT_SEC) }, { "8s " , TALK_ID(8, UNIT_SEC) }, { "9s " , TALK_ID(9, UNIT_SEC) }, { "10s" , TALK_ID(10, UNIT_SEC) }, { "15s" , TALK_ID(15, UNIT_SEC) }, { "20s" , TALK_ID(20, UNIT_SEC) }, { "25s" , TALK_ID(25, UNIT_SEC) }, { "30s" , TALK_ID(30, UNIT_SEC) }, { "45s" , TALK_ID(45, UNIT_SEC) }, { "60s" , TALK_ID(60, UNIT_SEC) }, { "90s" , TALK_ID(90, UNIT_SEC) }, { "2min" , TALK_ID(2, UNIT_MIN) }, { "3min" , TALK_ID(3, UNIT_MIN) }, { "5min" , TALK_ID(5, UNIT_MIN) }, { "10min" , TALK_ID(10, UNIT_MIN) }, { "20min" , TALK_ID(20, UNIT_MIN) }, { "45min" , TALK_ID(45, UNIT_MIN) }, { "90min" , TALK_ID(90, UNIT_MIN) } }; retval = set_option( str(LANG_PM_CLIP_HOLD), &global_settings.peak_meter_clip_hold, INT, names, 25, peak_meter_set_clip_hold); peak_meter_init_times(global_settings.peak_meter_release, global_settings.peak_meter_hold, global_settings.peak_meter_clip_hold); return retval; }
/** * Menu to set the hold time of normal peaks. */ static bool peak_meter_hold(void) { bool retval = false; static const struct opt_items names[] = { { STR(LANG_OFF) }, { "200 ms " , TALK_ID(200, UNIT_MS) }, { "300 ms " , TALK_ID(300, UNIT_MS) }, { "500 ms " , TALK_ID(500, UNIT_MS) }, { "1 s" , TALK_ID(1, UNIT_SEC) }, { "2 s" , TALK_ID(2, UNIT_SEC) }, { "3 s" , TALK_ID(3, UNIT_SEC) }, { "4 s" , TALK_ID(4, UNIT_SEC) }, { "5 s" , TALK_ID(5, UNIT_SEC) }, { "6 s" , TALK_ID(6, UNIT_SEC) }, { "7 s" , TALK_ID(7, UNIT_SEC) }, { "8 s" , TALK_ID(8, UNIT_SEC) }, { "9 s" , TALK_ID(9, UNIT_SEC) }, { "10 s" , TALK_ID(10, UNIT_SEC) }, { "15 s" , TALK_ID(15, UNIT_SEC) }, { "20 s" , TALK_ID(20, UNIT_SEC) }, { "30 s" , TALK_ID(30, UNIT_SEC) }, { "1 min" , TALK_ID(1, UNIT_MIN) } }; retval = set_option( str(LANG_PM_PEAK_HOLD), &global_settings.peak_meter_hold, INT, names, 18, NULL); peak_meter_init_times(global_settings.peak_meter_release, global_settings.peak_meter_hold, global_settings.peak_meter_clip_hold); return retval; }
static bool remote_backlight_timer(void) { static const struct opt_items names[] = { { STR(LANG_OFF) }, { STR(LANG_ON) }, { "1s ", TALK_ID(1, UNIT_SEC) }, { "2s ", TALK_ID(2, UNIT_SEC) }, { "3s ", TALK_ID(3, UNIT_SEC) }, { "4s ", TALK_ID(4, UNIT_SEC) }, { "5s ", TALK_ID(5, UNIT_SEC) }, { "6s ", TALK_ID(6, UNIT_SEC) }, { "7s ", TALK_ID(7, UNIT_SEC) }, { "8s ", TALK_ID(8, UNIT_SEC) }, { "9s ", TALK_ID(9, UNIT_SEC) }, { "10s", TALK_ID(10, UNIT_SEC) }, { "15s", TALK_ID(15, UNIT_SEC) }, { "20s", TALK_ID(20, UNIT_SEC) }, { "25s", TALK_ID(25, UNIT_SEC) }, { "30s", TALK_ID(30, UNIT_SEC) }, { "45s", TALK_ID(45, UNIT_SEC) }, { "60s", TALK_ID(60, UNIT_SEC) }, { "90s", TALK_ID(90, UNIT_SEC) } }; return set_option(str(LANG_BACKLIGHT), &global_settings.remote_backlight_timeout, INT, names, 19, remote_backlight_set_timeout ); }
/* mp3_enc: show the bitrate setting options */ static bool mp3_enc_bitrate(struct menucallback_data *data) { struct encoder_config *cfg = data->cfg; static const struct opt_items items[] = { /* Available in MPEG Version: */ #ifdef HAVE_MPEG2_SAMPR #if 0 /* this sounds awful no matter what */ { "8 kBit/s", TALK_ID(8, UNIT_KBIT) }, /* 2 */ #endif /* mono only */ { "16 kBit/s", TALK_ID(16, UNIT_KBIT) }, /* 2 */ { "24 kBit/s", TALK_ID(24, UNIT_KBIT) }, /* 2 */ #endif /* HAVE_MPEG2_SAMPR */ /* stereo/mono */ { "32 kBit/s", TALK_ID(32, UNIT_KBIT) }, /* 1,2 */ { "40 kBit/s", TALK_ID(40, UNIT_KBIT) }, /* 1,2 */ { "48 kBit/s", TALK_ID(48, UNIT_KBIT) }, /* 1,2 */ { "56 kBit/s", TALK_ID(56, UNIT_KBIT) }, /* 1,2 */ { "64 kBit/s", TALK_ID(64, UNIT_KBIT) }, /* 1,2 */ { "80 kBit/s", TALK_ID(80, UNIT_KBIT) }, /* 1,2 */ { "96 kBit/s", TALK_ID(96, UNIT_KBIT) }, /* 1,2 */ { "112 kBit/s", TALK_ID(112, UNIT_KBIT) }, /* 1,2 */ { "128 kBit/s", TALK_ID(128, UNIT_KBIT) }, /* 1,2 */ /* Leave out 144 when there is both MPEG 1 and 2 */ #if defined(HAVE_MPEG2_SAMPR) && !defined (HAVE_MPEG1_SAMPR) /* oddball MPEG2-only rate stuck in the middle */ { "144 kBit/s", TALK_ID(144, UNIT_KBIT) }, /* 2 */ #endif { "160 kBit/s", TALK_ID(160, UNIT_KBIT) }, /* 1,2 */ #ifdef HAVE_MPEG1_SAMPR /* stereo only */ { "192 kBit/s", TALK_ID(192, UNIT_KBIT) }, /* 1 */ { "224 kBit/s", TALK_ID(224, UNIT_KBIT) }, /* 1 */ { "256 kBit/s", TALK_ID(256, UNIT_KBIT) }, /* 1 */ { "320 kBit/s", TALK_ID(320, UNIT_KBIT) }, /* 1 */ #endif }; unsigned long rate_list[ARRAYLEN(items)]; /* This is rather constant based upon the build but better than storing and maintaining yet another list of numbers */ int n_rates = make_list_from_caps32( MPEG1_BITR_CAPS | MPEG2_BITR_CAPS, mp3_enc_bitr, 0 #ifdef HAVE_MPEG1_SAMPR | MPEG1_BITR_CAPS #endif #ifdef HAVE_MPEG2_SAMPR #ifdef HAVE_MPEG1_SAMPR | (MPEG2_BITR_CAPS & ~(MP3_BITR_CAP_144 | MP3_BITR_CAP_8)) #else | (MPEG2_BITR_CAPS & ~(MP3_BITR_CAP_8)) #endif #endif /* HAVE_MPEG2_SAMPR */ , rate_list); int index = round_value_to_list32(cfg->mp3_enc.bitrate, rate_list, n_rates, false); bool res = set_option(str(LANG_BITRATE), &index, INT, items, n_rates, NULL); index = round_value_to_list32(rate_list[index], mp3_enc_bitr, MP3_ENC_NUM_BITR, false); cfg->mp3_enc.bitrate = mp3_enc_bitr[index]; return res; } /* mp3_enc_bitrate */
static bool recprerecord(void) { static const struct opt_items names[] = { { STR(LANG_OFF) }, { "1s", TALK_ID(1, UNIT_SEC) }, { "2s", TALK_ID(2, UNIT_SEC) }, { "3s", TALK_ID(3, UNIT_SEC) }, { "4s", TALK_ID(4, UNIT_SEC) }, { "5s", TALK_ID(5, UNIT_SEC) }, { "6s", TALK_ID(6, UNIT_SEC) }, { "7s", TALK_ID(7, UNIT_SEC) }, { "8s", TALK_ID(8, UNIT_SEC) }, { "9s", TALK_ID(9, UNIT_SEC) }, { "10s", TALK_ID(10, UNIT_SEC) }, { "11s", TALK_ID(11, UNIT_SEC) }, { "12s", TALK_ID(12, UNIT_SEC) }, { "13s", TALK_ID(13, UNIT_SEC) }, { "14s", TALK_ID(14, UNIT_SEC) }, { "15s", TALK_ID(15, UNIT_SEC) }, { "16s", TALK_ID(16, UNIT_SEC) }, { "17s", TALK_ID(17, UNIT_SEC) }, { "18s", TALK_ID(18, UNIT_SEC) }, { "19s", TALK_ID(19, UNIT_SEC) }, { "20s", TALK_ID(20, UNIT_SEC) }, { "21s", TALK_ID(21, UNIT_SEC) }, { "22s", TALK_ID(22, UNIT_SEC) }, { "23s", TALK_ID(23, UNIT_SEC) }, { "24s", TALK_ID(24, UNIT_SEC) }, { "25s", TALK_ID(25, UNIT_SEC) }, { "26s", TALK_ID(26, UNIT_SEC) }, { "27s", TALK_ID(27, UNIT_SEC) }, { "28s", TALK_ID(28, UNIT_SEC) }, { "29s", TALK_ID(29, UNIT_SEC) }, { "30s", TALK_ID(30, UNIT_SEC) } }; return set_option(str(LANG_RECORD_PRERECORD_TIME), &global_settings.rec_prerecord_time, INT, names, 31, NULL ); }
static bool rectimesplit(void) { static const struct opt_items names[] = { { STR(LANG_OFF) }, { "00:05" , TALK_ID(5, UNIT_MIN) }, { "00:10" , TALK_ID(10, UNIT_MIN) }, { "00:15" , TALK_ID(15, UNIT_MIN) }, { "00:30" , TALK_ID(30, UNIT_MIN) }, { "01:00" , TALK_ID(1, UNIT_HOUR) }, { "01:14" , TALK_ID(74, UNIT_MIN) }, { "01:20" , TALK_ID(80, UNIT_MIN) }, { "02:00" , TALK_ID(2, UNIT_HOUR) }, { "04:00" , TALK_ID(4, UNIT_HOUR) }, { "06:00" , TALK_ID(6, UNIT_HOUR) }, { "08:00" , TALK_ID(8, UNIT_HOUR) }, { "10:00" , TALK_ID(10, UNIT_HOUR) }, { "12:00" , TALK_ID(12, UNIT_HOUR) }, { "18:00" , TALK_ID(18, UNIT_HOUR) }, { "24:00" , TALK_ID(24, UNIT_HOUR) } }; return set_option(str(LANG_RECORD_TIMESPLIT), &global_settings.rec_timesplit, INT, names, 16, NULL ); }