summaryrefslogtreecommitdiff
path: root/apps/settings.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/settings.h')
-rw-r--r--apps/settings.h520
1 files changed, 244 insertions, 276 deletions
diff --git a/apps/settings.h b/apps/settings.h
index f9b3239e05..e48e5b5dd0 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -316,14 +316,14 @@ struct user_settings
316 int stereo_width; /* 0-255% */ 316 int stereo_width; /* 0-255% */
317 317
318#if CONFIG_CODEC != SWCODEC 318#if CONFIG_CODEC != SWCODEC
319 int loudness; /* loudness eq: 0-100 0=off 100=max */ 319 int loudness; /* loudness eq: 0-100 0=off 100=max */
320 int avc; /* auto volume correct: 0=off, 1=20ms, 2=2s 3=4s 4=8s */ 320 int avc; /* auto volume correct: 0=off, 1=20ms, 2=2s 3=4s 4=8s */
321 int mdb_strength; /* 0-127dB */ 321 int mdb_strength; /* 0-127dB */
322 int mdb_harmonics; /* 0-100% */ 322 int mdb_harmonics; /* 0-100% */
323 int mdb_center; /* 20-300Hz */ 323 int mdb_center; /* 20-300Hz */
324 int mdb_shape; /* 50-300Hz */ 324 int mdb_shape; /* 50-300Hz */
325 bool mdb_enable; /* true/false */ 325 bool mdb_enable; /* true/false */
326 bool superbass; /* true/false */ 326 bool superbass; /* true/false */
327#endif 327#endif
328 328
329#ifdef HAVE_WM8758 329#ifdef HAVE_WM8758
@@ -332,16 +332,83 @@ struct user_settings
332#endif 332#endif
333 333
334#if CONFIG_CODEC == SWCODEC 334#if CONFIG_CODEC == SWCODEC
335 int crossfade; /* Enable crossfade (0=off,1=shuffle,2=trackskip,3=shuff&trackskip,4=always) */ 335 /* Crossfade */
336 int crossfade; /* Enable crossfade (0=off, 1=shuffle, 2=trackskip,
337 3=shuff&trackskip, 4=always) */
336 int crossfade_fade_in_delay; /* Fade in delay (0-15s) */ 338 int crossfade_fade_in_delay; /* Fade in delay (0-15s) */
337 int crossfade_fade_out_delay; /* Fade out delay (0-15s) */ 339 int crossfade_fade_out_delay; /* Fade out delay (0-15s) */
338 int crossfade_fade_in_duration; /* Fade in duration (0-15s) */ 340 int crossfade_fade_in_duration; /* Fade in duration (0-15s) */
339 int crossfade_fade_out_duration; /* Fade out duration (0-15s) */ 341 int crossfade_fade_out_duration; /* Fade out duration (0-15s) */
340 int crossfade_fade_out_mixmode; /* Fade out mode (0=crossfade,1=mix) */ 342 int crossfade_fade_out_mixmode; /* Fade out mode (0=crossfade,1=mix) */
341#endif 343
344 /* Replaygain */
345 bool replaygain; /* enable replaygain */
346 bool replaygain_noclip; /* scale to prevent clips */
347 int replaygain_type; /* 0=track gain, 1=album gain, 2=track gain if
348 shuffle is on, album gain otherwise */
349 int replaygain_preamp; /* scale replaygained tracks by this */
350
351 /* Crossfeed */
352 bool crossfeed; /* enable crossfeed */
353 unsigned int crossfeed_direct_gain; /* dB x 10 */
354 unsigned int crossfeed_cross_gain; /* dB x 10 */
355 unsigned int crossfeed_hf_attenuation; /* dB x 10 */
356 unsigned int crossfeed_hf_cutoff; /* Frequency in Hz */
357
358 /* EQ */
359 bool eq_enabled; /* Enable equalizer */
360 unsigned int eq_precut; /* dB */
361
362 /* Order is important here, must be cutoff, q, then gain for each band.
363 See dsp_set_eq_coefs in dsp.c for why. */
364
365 /* Band 0 settings */
366 int eq_band0_cutoff; /* Hz */
367 int eq_band0_q;
368 int eq_band0_gain; /* +/- dB */
369
370 /* Band 1 settings */
371 int eq_band1_cutoff; /* Hz */
372 int eq_band1_q;
373 int eq_band1_gain; /* +/- dB */
374
375 /* Band 2 settings */
376 int eq_band2_cutoff; /* Hz */
377 int eq_band2_q;
378 int eq_band2_gain; /* +/- dB */
379
380 /* Band 3 settings */
381 int eq_band3_cutoff; /* Hz */
382 int eq_band3_q;
383 int eq_band3_gain; /* +/- dB */
384
385 /* Band 4 settings */
386 int eq_band4_cutoff; /* Hz */
387 int eq_band4_q;
388 int eq_band4_gain; /* +/- dB */
389
390 /* Misc. swcodec */
391 int beep; /* system beep volume when changing tracks etc. */
392 int keyclick; /* keyclick volume */
393 int keyclick_repeats; /* keyclick on repeats */
394 bool dithering_enabled;
395#endif /* CONFIG_CODEC == SWCODEC */
396
342#ifdef HAVE_RECORDING 397#ifdef HAVE_RECORDING
343#if CONFIG_CODEC == SWCODEC 398#if CONFIG_CODEC == SWCODEC
344 int rec_format; /* record format index */ 399 int rec_format; /* record format index */
400 int rec_mono_mode; /* how to create mono: L, R, L+R */
401
402 /* Encoder Settings Start - keep these together */
403 struct mp3_enc_config mp3_enc_config;
404#if 0 /* These currently contain no members but their places in line
405 should be held */
406 struct aiff_enc_config aiff_enc_config;
407 struct wav_enc_config wav_enc_config;
408 struct wavpack_enc_config wavpack_enc_config;
409#endif
410 /* Encoder Settings End */
411
345#else 412#else
346 int rec_quality; /* 0-7 */ 413 int rec_quality; /* 0-7 */
347#endif /* CONFIG_CODEC == SWCODEC */ 414#endif /* CONFIG_CODEC == SWCODEC */
@@ -353,12 +420,11 @@ struct user_settings
353 4 = 24kHz 420 4 = 24kHz
354 5 = 16kHz */ 421 5 = 16kHz */
355 int rec_channels; /* 0=Stereo, 1=Mono */ 422 int rec_channels; /* 0=Stereo, 1=Mono */
356#if CONFIG_CODEC == SWCODEC 423
357 int rec_mono_mode; /* how to create mono: L, R, L+R */
358#endif
359 int rec_mic_gain; /* depends on target */ 424 int rec_mic_gain; /* depends on target */
360 int rec_left_gain; /* depends on target */ 425 int rec_left_gain; /* depends on target */
361 int rec_right_gain; /* depands on target */ 426 int rec_right_gain; /* depends on target */
427 bool peak_meter_clipcounter; /* clipping count indicator */
362 bool rec_editable; /* true means that the bit reservoir is off */ 428 bool rec_editable; /* true means that the bit reservoir is off */
363 429
364 /* note: timesplit setting is not saved */ 430 /* note: timesplit setting is not saved */
@@ -412,148 +478,133 @@ struct user_settings
412 int rec_agc_cliptime; /* 0.2, 0.4, 0.6, 0.8, 1s */ 478 int rec_agc_cliptime; /* 0.2, 0.4, 0.6, 0.8, 1s */
413#endif 479#endif
414#endif /* HAVE_RECORDING */ 480#endif /* HAVE_RECORDING */
415 /* device settings */
416 481
417#ifdef HAVE_LCD_CONTRAST 482#if CONFIG_TUNER
418 int contrast; /* lcd contrast */ 483 int fm_region;
419#endif 484 bool fm_force_mono; /* Forces Mono mode if true */
420 bool invert; /* invert display */ 485 unsigned char fmr_file[MAX_FILENAME+1]; /* last fmr preset */
421 int cursor_style; /* style of the selection cursor */
422 bool flip_display; /* turn display (and button layout) by 180 degrees */
423 int poweroff; /* power off timer */
424 int backlight_timeout; /* backlight off timeout: 0-18 0=never,
425 1=always,
426 then according to timeout_values[] */
427#if CONFIG_CHARGING
428 int backlight_timeout_plugged;
429#endif 486#endif
430 487
431#if defined(HAVE_BACKLIGHT_PWM_FADING) 488 /* misc options */
432 int backlight_fade_in; /* backlight fade in timing: 0..3 */ 489#ifndef HAVE_SCROLLWHEEL
433 int backlight_fade_out; /* backlight fade in timing: 0..7 */ 490 int list_accel_start_delay; /* ms before we start increaseing step size */
434#elif defined(USE_BACKLIGHT_SW_FADING) \ 491 int list_accel_wait; /* ms between increases */
435 || defined(USE_BACKLIGHT_CUSTOM_FADING_BOOL)
436 bool backlight_fade_in;
437 bool backlight_fade_out;
438#endif 492#endif
439 493
440#ifdef HAVE_BACKLIGHT_BRIGHTNESS 494#ifdef HAVE_TOUCHPAD_SENSITIVITY_SETTING
441 int brightness; 495 int touchpad_sensitivity;
442#endif
443 int battery_capacity; /* in mAh */
444#if BATTERY_TYPES_COUNT > 1
445 int battery_type; /* for units which can take multiple types (Ondio). */
446#endif 496#endif
447#ifdef HAVE_SPDIF_POWER 497
448 bool spdif_enable; /* S/PDIF power on/off */ 498#ifdef HAVE_HEADPHONE_DETECTION
499 int unplug_mode; /* pause on headphone unplug */
500 int unplug_rw; /* time in s to rewind when pausing */
501 bool unplug_autoresume; /* disable auto-resume if no phones */
449#endif 502#endif
450 503
451#if CONFIG_TUNER 504#ifdef HAVE_QUICKSCREEN
452 unsigned char fmr_file[MAX_FILENAME+1]; /* last fmr preset */ 505 /* these are split because settings_list cant handle arrays */
506 int qs_item_left;
507 int qs_item_right;
508 int qs_item_bottom;
453#endif 509#endif
454#ifdef HAVE_LCD_BITMAP 510
455 unsigned char font_file[MAX_FILENAME+1]; /* last font */ 511#if CONFIG_RTC
512 int timeformat; /* time format: 0=24 hour clock, 1=12 hour clock */
456#endif 513#endif
457 unsigned char wps_file[MAX_FILENAME+1]; /* last wps */
458 unsigned char lang_file[MAX_FILENAME+1]; /* last language */
459 514
460 /* misc options */ 515#ifdef HAVE_DISK_STORAGE
516 int disk_spindown; /* time until disk spindown, in seconds (0=off) */
517 int buffer_margin; /* audio buffer watermark margin, in seconds */
518#endif
461 519
462 int repeat_mode; /* 0=off 1=repeat all 2=repeat one 3=shuffle 4=ab */
463 int dirfilter; /* 0=display all, 1=only supported, 2=only music, 520 int dirfilter; /* 0=display all, 1=only supported, 2=only music,
464 3=dirs+playlists, 4=ID3 database */ 521 3=dirs+playlists, 4=ID3 database */
465 bool sort_case; /* dir sort order: 0=case insensitive, 1=sensitive */
466 int show_filename_ext; /* show filename extensions in file browser? 522 int show_filename_ext; /* show filename extensions in file browser?
467 0 = no, 1 = yes, 2 = only unknown 0 */ 523 0 = no, 1 = yes, 2 = only unknown 0 */
468 int volume_type; /* how volume is displayed: 0=graphic, 1=percent */ 524 int default_codepage; /* set default codepage for tag conversion */
469 int battery_display; /* how battery is displayed: 0=graphic, 1=percent */ 525 bool hold_lr_for_scroll_in_list; /* hold L/R scrolls the list left/right */
470 int timeformat; /* time format: 0=24 hour clock, 1=12 hour clock */
471 bool playlist_shuffle;
472 bool play_selected; /* Plays selected file even in shuffle mode */ 526 bool play_selected; /* Plays selected file even in shuffle mode */
527 bool party_mode; /* party mode - unstoppable music */
528 bool audioscrobbler; /* Audioscrobbler logging */
529 bool cuesheet;
530 bool car_adapter_mode; /* 0=off 1=on */
531 int start_in_screen;
532#if defined(HAVE_RTC_ALARM) && \
533 (defined(HAVE_RECORDING) || CONFIG_TUNER)
534 int alarm_wake_up_screen;
535#endif
473 int ff_rewind_min_step; /* FF/Rewind minimum step size */ 536 int ff_rewind_min_step; /* FF/Rewind minimum step size */
474 int ff_rewind_accel; /* FF/Rewind acceleration (in seconds per doubling) */ 537 int ff_rewind_accel; /* FF/Rewind acceleration (in seconds per doubling) */
475 538
476#ifdef HAVE_DISK_STORAGE
477 int disk_spindown; /* time until disk spindown, in seconds (0=off) */
478 int buffer_margin; /* MP3 buffer watermark margin, in seconds */
479#endif
480
481 int peak_meter_release; /* units per read out */ 539 int peak_meter_release; /* units per read out */
482 int peak_meter_hold; /* hold time for peak meter in 1/100 s */ 540 int peak_meter_hold; /* hold time for peak meter in 1/100 s */
483 int peak_meter_clip_hold; /* hold time for clips */ 541 int peak_meter_clip_hold; /* hold time for clips */
484 bool peak_meter_dbfs; /* show linear or dbfs values */ 542 bool peak_meter_dbfs; /* show linear or dbfs values */
485 int peak_meter_min; /* range minimum */ 543 int peak_meter_min; /* range minimum */
486 int peak_meter_max; /* range maximum */ 544 int peak_meter_max; /* range maximum */
487#ifdef HAVE_RECORDING
488 bool peak_meter_clipcounter; /* clipping count indicator */
489#endif
490 bool car_adapter_mode; /* 0=off 1=on */
491#ifdef IPOD_ACCESSORY_PROTOCOL
492 int serial_bitrate; /* 0=auto 1=9600 2=19200 3=38400 4=57600 */
493#endif
494#ifdef HAVE_ACCESSORY_SUPPLY
495 bool accessory_supply; /* 0=off 1=on, accessory power supply for iPod */
496#endif
497 545
498 /* show status bar */ 546 unsigned char wps_file[MAX_FILENAME+1]; /* last wps */
547 unsigned char lang_file[MAX_FILENAME+1]; /* last language */
548 unsigned char playlist_catalog_dir[MAX_FILENAME+1];
549 int skip_length; /* skip length */
550 int max_files_in_dir; /* Max entries in directory (file browser) */
551 int max_files_in_playlist; /* Max entries in playlist */
552 int volume_type; /* how volume is displayed: 0=graphic, 1=percent */
553 int battery_display; /* how battery is displayed: 0=graphic, 1=percent */
554 bool show_icons; /* 0=hide 1=show */
499 bool statusbar; /* 0=hide, 1=show */ 555 bool statusbar; /* 0=hide, 1=show */
500 556
501#if CONFIG_KEYPAD == RECORDER_PAD 557#if CONFIG_KEYPAD == RECORDER_PAD
502 /* show button bar */
503 bool buttonbar; /* 0=hide, 1=show */ 558 bool buttonbar; /* 0=hide, 1=show */
504#endif 559#endif
505 560
506 /* show scroll bar */
507 bool scrollbar; /* 0=hide, 1=show */ 561 bool scrollbar; /* 0=hide, 1=show */
508
509 /* goto current song when exiting WPS */ 562 /* goto current song when exiting WPS */
510 bool browse_current; /* 1=goto current song, 563 bool browse_current; /* 1=goto current song,
511 0=goto previous location */ 564 0=goto previous location */
512 565 bool scroll_paginated; /* 0=dont 1=do */
513 566 int scroll_speed; /* long texts scrolling speed: 1-30 */
514 int scroll_speed; /* long texts scrolling speed: 1-30 */ 567 int bidir_limit; /* bidir scroll length limit */
515 int bidir_limit; /* bidir scroll length limit */ 568 int scroll_delay; /* delay (in 1/10s) before starting scroll */
516 int scroll_delay; /* delay (in 1/10s) before starting scroll */ 569 int scroll_step; /* pixels to advance per update */
517 int scroll_step; /* pixels to advance per update */
518#ifdef HAVE_REMOTE_LCD
519 int remote_scroll_speed; /* long texts scrolling speed: 1-30 */
520 int remote_scroll_delay; /* delay (in 1/10s) before starting scroll */
521 int remote_scroll_step; /* pixels to advance per update */
522 int remote_bidir_limit; /* bidir scroll length limit */
523#endif
524
525#ifdef HAVE_LCD_BITMAP
526 bool offset_out_of_view;
527 int screen_scroll_step;
528#endif
529 570
530 /* auto bookmark settings */ 571 /* auto bookmark settings */
531 int autoloadbookmark; /* auto load option: 0=off, 1=ask, 2=on */ 572 int autoloadbookmark; /* auto load option: 0=off, 1=ask, 2=on */
532 int autocreatebookmark; /* auto create option: 0=off, 1=ask, 2=on */ 573 int autocreatebookmark; /* auto create option: 0=off, 1=ask, 2=on */
533 int usemrb; /* use MRB list: 0=No, 1=Yes*/ 574 int usemrb; /* use MRB list: 0=No, 1=Yes*/
534#ifdef HAVE_LCD_CHARCELLS
535 int jump_scroll; /* Fast jump when scrolling */
536 int jump_scroll_delay; /* Delay between jump scroll screens */
537#endif
538 bool fade_on_stop; /* fade on pause/unpause/stop */
539 bool caption_backlight; /* turn on backlight at end and start of track */
540 575
541#if CONFIG_TUNER 576#ifdef HAVE_DIRCACHE
542 int fm_freq_step; /* Frequency step for manual tuning, in kHz */ 577 bool dircache; /* enable directory cache */
543 bool fm_force_mono; /* Forces Mono mode if true */ 578#endif
544 bool fm_full_range; /* Enables full 10MHz-160MHz range if true, else 579#ifdef HAVE_TAGCACHE
545 only 88MHz-108MHz */ 580#ifdef HAVE_TC_RAMCACHE
581 bool tagcache_ram; /* load tagcache to ram? */
546#endif 582#endif
583 bool tagcache_autoupdate; /* automatically keep tagcache in sync? */
584 bool runtimedb; /* runtime database active? */
585#endif /* HAVE_TAGCACHE */
547 586
548 int max_files_in_dir; /* Max entries in directory (file browser) */ 587#if LCD_DEPTH > 1
549 int max_files_in_playlist; /* Max entries in playlist */ 588 unsigned char backdrop_file[MAX_FILENAME+1]; /* backdrop bitmap file */
550 bool show_icons; /* 0=hide 1=show */ 589#endif
551 int recursive_dir_insert; /* should directories be inserted recursively */
552 590
553#if CONFIG_CODEC == MAS3507D 591#ifdef HAVE_LCD_COLOR
554 bool line_in; /* false=off, true=active */ 592 int bg_color; /* background color native format */
593 int fg_color; /* foreground color native format */
594 int lss_color; /* background color for the selector or start color for the gradient */
595 int lse_color; /* end color for the selector gradient */
596 int lst_color; /* color of the text for the selector */
597 unsigned char colors_file[MAX_FILENAME+1];
555#endif 598#endif
556 599
600 /* playlist/playback settings */
601 int repeat_mode; /* 0=off 1=repeat all 2=repeat one 3=shuffle 4=ab */
602 int next_folder; /* move to next folder */
603 int recursive_dir_insert; /* should directories be inserted recursively */
604 bool fade_on_stop; /* fade on pause/unpause/stop */
605 bool playlist_shuffle;
606 bool warnon_erase_dynplaylist; /* warn when erasing dynamic playlist */
607
557 /* playlist viewer settings */ 608 /* playlist viewer settings */
558 bool playlist_viewer_icons; /* display icons on viewer */ 609 bool playlist_viewer_icons; /* display icons on viewer */
559 bool playlist_viewer_indices; /* display playlist indices on viewer */ 610 bool playlist_viewer_indices; /* display playlist indices on viewer */
@@ -569,116 +620,59 @@ struct user_settings
569 bool talk_battery_level; 620 bool talk_battery_level;
570 621
571 /* file browser sorting */ 622 /* file browser sorting */
572 int sort_file; /* 0=alpha, 1=date, 2=date (new first), 3=type */ 623 bool sort_case; /* dir sort order: 0=case insensitive, 1=sensitive */
573 int sort_dir; /* 0=alpha, 1=date (old first), 2=date (new first) */ 624 int sort_file; /* 0=alpha, 1=date, 2=date (new first), 3=type */
574 625 int sort_dir; /* 0=alpha, 1=date (old first), 2=date (new first) */
575#ifdef HAVE_REMOTE_LCD
576 /* remote lcd */
577 int remote_contrast; /* lcd contrast: 0-63 0=low 63=high */
578 bool remote_invert; /* invert display */
579 bool remote_flip_display; /* turn display (and button layout) by 180 degrees */
580 int remote_backlight_timeout; /* backlight off timeout: 0-18 0=never,
581 1=always,
582 then according to timeout_values[] */
583 int remote_backlight_timeout_plugged;
584 bool remote_caption_backlight; /* turn on backlight at end and start of track */
585#ifdef HAS_REMOTE_BUTTON_HOLD
586 int remote_backlight_on_button_hold; /* what to do with remote backlight when hold
587 switch is on */
588#endif
589#ifdef HAVE_REMOTE_LCD_TICKING
590 bool remote_reduce_ticking; /* 0=normal operation,
591 1=EMI reduce on with cost more CPU. */
592#endif
593#endif /* HAVE_REMOTE_LCD */
594
595 int next_folder; /* move to next folder */
596 bool runtimedb; /* runtime database active? */
597 626
598#if CONFIG_CODEC == SWCODEC 627 /* power settings */
599 bool replaygain; /* enable replaygain */ 628 int poweroff; /* idle power off timer */
600 bool replaygain_noclip; /* scale to prevent clips */ 629 int battery_capacity; /* in mAh */
601 int replaygain_type; /* 0=track gain, 1=album gain, 2=track gain if
602 shuffle is on, album gain otherwise */
603 int replaygain_preamp; /* scale replaygained tracks by this */
604 int beep; /* system beep volume when changing tracks etc. */
605 630
606 /* Crossfeed settings */ 631#if BATTERY_TYPES_COUNT > 1
607 bool crossfeed; /* enable crossfeed */ 632 int battery_type; /* for units which can take multiple types (Ondio). */
608 unsigned int crossfeed_direct_gain; /* dB x 10 */
609 unsigned int crossfeed_cross_gain; /* dB x 10 */
610 unsigned int crossfeed_hf_attenuation; /* dB x 10 */
611 unsigned int crossfeed_hf_cutoff; /* Frequency in Hz */
612#endif
613#ifdef HAVE_DIRCACHE
614 bool dircache; /* enable directory cache */
615#endif
616#ifdef HAVE_TAGCACHE
617#ifdef HAVE_TC_RAMCACHE
618 bool tagcache_ram; /* load tagcache to ram? */
619#endif 633#endif
620 bool tagcache_autoupdate; /* automatically keep tagcache in sync? */ 634#ifdef HAVE_SPDIF_POWER
635 bool spdif_enable; /* S/PDIF power on/off */
621#endif 636#endif
622 int default_codepage; /* set default codepage for tag conversion */ 637#ifdef HAVE_USB_CHARGING_ENABLE
623#ifdef HAVE_REMOTE_LCD 638 bool usb_charging;
624 unsigned char rwps_file[MAX_FILENAME+1]; /* last remote-wps */
625#endif 639#endif
626 640
627#if CONFIG_CODEC == SWCODEC 641 /* device settings */
628 bool eq_enabled; /* Enable equalizer */ 642#ifdef HAVE_LCD_CONTRAST
629 unsigned int eq_precut; /* dB */ 643 int contrast; /* lcd contrast */
630
631 /* Order is important here, must be cutoff, q, then gain for each band.
632 See dsp_eq_update_data in dsp.c for why. */
633
634 /* Band 0 settings */
635 int eq_band0_cutoff; /* Hz */
636 int eq_band0_q;
637 int eq_band0_gain; /* +/- dB */
638
639 /* Band 1 settings */
640 int eq_band1_cutoff; /* Hz */
641 int eq_band1_q;
642 int eq_band1_gain; /* +/- dB */
643
644 /* Band 2 settings */
645 int eq_band2_cutoff; /* Hz */
646 int eq_band2_q;
647 int eq_band2_gain; /* +/- dB */
648
649 /* Band 3 settings */
650 int eq_band3_cutoff; /* Hz */
651 int eq_band3_q;
652 int eq_band3_gain; /* +/- dB */
653
654 /* Band 4 settings */
655 int eq_band4_cutoff; /* Hz */
656 int eq_band4_q;
657 int eq_band4_gain; /* +/- dB */
658
659 bool dithering_enabled;
660#endif 644#endif
661 645
662 646#ifdef HAVE_LCD_BITMAP
663#if LCD_DEPTH > 1 647#ifdef HAVE_LCD_INVERT
664 unsigned char backdrop_file[MAX_FILENAME+1]; /* backdrop bitmap file */ 648 bool invert; /* invert display */
665#endif 649#endif
650#ifdef HAVE_LCD_FLIP
651 bool flip_display; /* turn display (and button layout) by 180 degrees */
652#endif
653 int cursor_style; /* style of the selection cursor */
654 int screen_scroll_step;
655 int show_path_in_browser; /* 0=off, 1=current directory, 2=full path */
656 bool offset_out_of_view;
657 unsigned char icon_file[MAX_FILENAME+1];
658 unsigned char viewers_icon_file[MAX_FILENAME+1];
659 unsigned char font_file[MAX_FILENAME+1]; /* last font */
660 unsigned char kbd_file[MAX_FILENAME+1]; /* last keyboard */
661#endif /* HAVE_LCD_BITMAP */
666 662
667 bool warnon_erase_dynplaylist; /* warn when erasing dynamic playlist */ 663#ifdef HAVE_LCD_CHARCELLS
668 bool scroll_paginated; /* 0=dont 1=do */ 664 int jump_scroll; /* Fast jump when scrolling */
669#ifdef HAVE_LCD_COLOR 665 int jump_scroll_delay; /* Delay between jump scroll screens */
670 int bg_color; /* background color native format */
671 int fg_color; /* foreground color native format */
672 int lss_color; /* background color for the selector or start color for the gradient */
673 int lse_color; /* end color for the selector gradient */
674 int lst_color; /* color of the text for the selector */
675#endif 666#endif
676 bool party_mode; /* party mode - unstoppable music */
677 667
678#ifdef HAVE_BACKLIGHT 668#ifdef HAVE_BACKLIGHT
669 int backlight_timeout; /* backlight off timeout: 0-18 0=never,
670 1=always,
671 then according to timeout_values[] */
672 bool caption_backlight; /* turn on backlight at end and start of track */
679 bool bl_filter_first_keypress; /* filter first keypress when dark? */ 673 bool bl_filter_first_keypress; /* filter first keypress when dark? */
680#ifdef HAVE_REMOTE_LCD 674#if CONFIG_CHARGING
681 bool remote_bl_filter_first_keypress; /* filter first remote keypress when remote dark? */ 675 int backlight_timeout_plugged;
682#endif 676#endif
683#ifdef HAS_BUTTON_HOLD 677#ifdef HAS_BUTTON_HOLD
684 int backlight_on_button_hold; /* what to do with backlight when hold 678 int backlight_on_button_hold; /* what to do with backlight when hold
@@ -688,93 +682,67 @@ struct user_settings
688 int lcd_sleep_after_backlight_off; /* when to put lcd to sleep after backlight 682 int lcd_sleep_after_backlight_off; /* when to put lcd to sleep after backlight
689 has turned off */ 683 has turned off */
690#endif 684#endif
691#endif /* HAVE_BACKLIGHT */ 685#if defined(HAVE_BACKLIGHT_PWM_FADING)
692 686 int backlight_fade_in; /* backlight fade in timing: 0..3 */
693#ifdef HAVE_LCD_BITMAP 687 int backlight_fade_out; /* backlight fade in timing: 0..7 */
694 unsigned char kbd_file[MAX_FILENAME+1]; /* last keyboard */ 688#elif defined(USE_BACKLIGHT_SW_FADING) \
695#endif 689 || defined(USE_BACKLIGHT_CUSTOM_FADING_BOOL)
696 690 bool backlight_fade_in;
697#ifdef HAVE_USB_CHARGING_ENABLE 691 bool backlight_fade_out;
698 bool usb_charging;
699#endif
700
701 bool hold_lr_for_scroll_in_list; /* hold L/R scrolls the list left/right */
702#ifdef HAVE_LCD_BITMAP
703 int show_path_in_browser; /* 0=off, 1=current directory, 2=full path */
704#endif
705
706#ifdef HAVE_HEADPHONE_DETECTION
707 int unplug_mode; /* pause on headphone unplug */
708 int unplug_rw; /* time in s to rewind when pausing */
709 bool unplug_autoresume; /* disable auto-resume if no phones */
710#endif 692#endif
711#if CONFIG_TUNER 693#ifdef HAVE_BACKLIGHT_BRIGHTNESS
712 int fm_region; 694 int brightness;
713#endif 695#endif
714 bool audioscrobbler; /* Audioscrobbler logging */ 696#endif /* HAVE_BACKLIGHT */
715
716 /* If values are just added to the end, no need to bump plugin API
717 version. */
718 /* new stuff to be added at the end */
719 697
720#if defined(HAVE_RECORDING) && CONFIG_CODEC == SWCODEC
721 /* Encoder Settings Start - keep these together */
722 struct mp3_enc_config mp3_enc_config;
723#if 0 /* These currently contain no members but their places in line
724 should be held */
725 struct aiff_enc_config aiff_enc_config;
726 struct wav_enc_config wav_enc_config;
727 struct wavpack_enc_config wavpack_enc_config;
728#endif
729 /* Encoder Settings End */
730#endif /* CONFIG_CODEC == SWCODEC */
731 bool cuesheet;
732 int start_in_screen;
733#if defined(HAVE_RTC_ALARM) && \
734 (defined(HAVE_RECORDING) || CONFIG_TUNER)
735 int alarm_wake_up_screen;
736#endif
737 /* customizable icons */
738#ifdef HAVE_LCD_BITMAP
739 unsigned char icon_file[MAX_FILENAME+1];
740 unsigned char viewers_icon_file[MAX_FILENAME+1];
741#endif
742#ifdef HAVE_REMOTE_LCD 698#ifdef HAVE_REMOTE_LCD
699 /* remote lcd */
700 int remote_contrast; /* lcd contrast: 0-63 0=low 63=high */
701 int remote_backlight_timeout; /* backlight off timeout: 0-18 0=never,
702 1=always, then according to timeout_values[] */
703 int remote_backlight_timeout_plugged;
704 int remote_scroll_speed; /* long texts scrolling speed: 1-30 */
705 int remote_scroll_delay; /* delay (in 1/10s) before starting scroll */
706 int remote_scroll_step; /* pixels to advance per update */
707 int remote_bidir_limit; /* bidir scroll length limit */
708 bool remote_invert; /* invert display */
709 bool remote_flip_display; /* turn display (and button layout) by 180 degrees */
710 bool remote_caption_backlight; /* turn on backlight at end and start of track */
711 bool remote_bl_filter_first_keypress; /* filter first remote keypress when remote dark? */
743 unsigned char remote_icon_file[MAX_FILENAME+1]; 712 unsigned char remote_icon_file[MAX_FILENAME+1];
744 unsigned char remote_viewers_icon_file[MAX_FILENAME+1]; 713 unsigned char remote_viewers_icon_file[MAX_FILENAME+1];
714 unsigned char rwps_file[MAX_FILENAME+1]; /* last remote-wps */
715#ifdef HAS_REMOTE_BUTTON_HOLD
716 int remote_backlight_on_button_hold; /* what to do with remote backlight when hold
717 switch is on */
745#endif 718#endif
746#ifdef HAVE_LCD_COLOR 719#ifdef HAVE_REMOTE_LCD_TICKING
747 unsigned char colors_file[MAX_FILENAME+1]; 720 bool remote_reduce_ticking; /* 0=normal operation,
721 1=EMI reduce on with cost more CPU. */
748#endif 722#endif
723#endif /* HAVE_REMOTE_LCD */
724
725#if CONFIG_CODEC == MAS3507D
726 bool line_in; /* false=off, true=active */
727#endif
728
749#ifdef HAVE_BUTTON_LIGHT 729#ifdef HAVE_BUTTON_LIGHT
750 int buttonlight_timeout; 730 int buttonlight_timeout;
751#endif 731#endif
752#ifdef HAVE_BUTTONLIGHT_BRIGHTNESS 732#ifdef HAVE_BUTTONLIGHT_BRIGHTNESS
753 int buttonlight_brightness; 733 int buttonlight_brightness;
754#endif 734#endif
755#ifndef HAVE_SCROLLWHEEL 735
756 int list_accel_start_delay; /* ms before we start increaseing step size */ 736#ifdef IPOD_ACCESSORY_PROTOCOL
757 int list_accel_wait; /* ms between increases */ 737 int serial_bitrate; /* 0=auto 1=9600 2=19200 3=38400 4=57600 */
758#endif
759#ifdef HAVE_USBSTACK
760 int usb_stack_mode; /* device or host */
761 unsigned char usb_stack_device_driver[32]; /* usb device driver to load */
762#endif
763#if CONFIG_CODEC == SWCODEC
764 int keyclick; /* keyclick volume */
765 int keyclick_repeats; /* keyclick on repeats */
766#endif
767 unsigned char playlist_catalog_dir[MAX_FILENAME+1];
768 int skip_length; /* skip length */
769#ifdef HAVE_TOUCHPAD_SENSITIVITY_SETTING
770 int touchpad_sensitivity;
771#endif 738#endif
772#ifdef HAVE_QUICKSCREEN 739#ifdef HAVE_ACCESSORY_SUPPLY
773 /* these are split because settings_list cant handle arrays */ 740 bool accessory_supply; /* 0=off 1=on, accessory power supply for iPod */
774 int qs_item_left;
775 int qs_item_right;
776 int qs_item_bottom;
777#endif 741#endif
742
743 /* If values are just added to the end, no need to bump plugin API
744 version. */
745 /* new stuff to be added at the end */
778}; 746};
779 747
780/** global variables **/ 748/** global variables **/