diff options
-rw-r--r-- | apps/menus/main_menu.c | 2 | ||||
-rw-r--r-- | apps/menus/recording_menu.c | 21 | ||||
-rw-r--r-- | apps/settings.c | 23 | ||||
-rw-r--r-- | apps/settings.h | 14 | ||||
-rw-r--r-- | apps/settings_list.c | 70 | ||||
-rw-r--r-- | apps/settings_list.h | 7 | ||||
-rwxr-xr-x | tools/buildzip.pl | 1 |
7 files changed, 98 insertions, 40 deletions
diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c index c118dac444..1632c438dd 100644 --- a/apps/menus/main_menu.c +++ b/apps/menus/main_menu.c | |||
@@ -54,7 +54,7 @@ struct browse_folder_info { | |||
54 | }; | 54 | }; |
55 | static struct browse_folder_info theme = {THEME_DIR, SHOW_CFG}; | 55 | static struct browse_folder_info theme = {THEME_DIR, SHOW_CFG}; |
56 | static struct browse_folder_info config = {ROCKBOX_DIR, SHOW_CFG}; | 56 | static struct browse_folder_info config = {ROCKBOX_DIR, SHOW_CFG}; |
57 | static int browse_folder(void *param) | 57 | int browse_folder(void *param) |
58 | { | 58 | { |
59 | const struct browse_folder_info *info = | 59 | const struct browse_folder_info *info = |
60 | (const struct browse_folder_info*)param; | 60 | (const struct browse_folder_info*)param; |
diff --git a/apps/menus/recording_menu.c b/apps/menus/recording_menu.c index 62af2f94fe..50b49c9db9 100644 --- a/apps/menus/recording_menu.c +++ b/apps/menus/recording_menu.c | |||
@@ -62,6 +62,7 @@ | |||
62 | #endif | 62 | #endif |
63 | #include "action.h" | 63 | #include "action.h" |
64 | 64 | ||
65 | |||
65 | static bool no_source_in_menu = true; | 66 | static bool no_source_in_menu = true; |
66 | int recmenu_callback(int action,const struct menu_item_ex *this_item); | 67 | int recmenu_callback(int action,const struct menu_item_ex *this_item); |
67 | 68 | ||
@@ -803,9 +804,24 @@ MENUITEM_FUNCTION(rectrigger_item, 0, ID2P(LANG_RECORD_TRIGGER), | |||
803 | 804 | ||
804 | 805 | ||
805 | 806 | ||
807 | /* from main_menu.c */ | ||
808 | struct browse_folder_info { | ||
809 | const char* dir; | ||
810 | int show_options; | ||
811 | }; | ||
812 | static struct browse_folder_info rec_config_browse = {RECPRESETS_DIR, SHOW_CFG}; | ||
813 | int browse_folder(void *param); | ||
814 | MENUITEM_FUNCTION(browse_recconfigs, MENU_FUNC_USEPARAM, ID2P(LANG_CUSTOM_CFG), | ||
815 | browse_folder, (void*)&rec_config_browse, NULL, Icon_Config); | ||
816 | static int write_settings_file(void) | ||
817 | { | ||
818 | return settings_save_config(SETTINGS_SAVE_RECPRESETS); | ||
819 | } | ||
820 | MENUITEM_FUNCTION(save_recpresets_item, 0, ID2P(LANG_SAVE_SETTINGS), | ||
821 | write_settings_file, NULL, NULL, Icon_Config); | ||
806 | 822 | ||
807 | 823 | MAKE_MENU(recording_setting_menu, ID2P(LANG_RECORDING_SETTINGS), | |
808 | MAKE_MENU(recording_setting_menu, ID2P(LANG_RECORDING_SETTINGS), NULL, Icon_Recording, | 824 | NULL, Icon_Recording, |
809 | #if CONFIG_CODEC == MAS3587F | 825 | #if CONFIG_CODEC == MAS3587F |
810 | &rec_quality, | 826 | &rec_quality, |
811 | #endif | 827 | #endif |
@@ -827,6 +843,7 @@ MAKE_MENU(recording_setting_menu, ID2P(LANG_RECORDING_SETTINGS), NULL, Icon_Reco | |||
827 | #ifdef HAVE_AGC | 843 | #ifdef HAVE_AGC |
828 | &agc_preset, &agc_cliptime, | 844 | &agc_preset, &agc_cliptime, |
829 | #endif | 845 | #endif |
846 | &browse_recconfigs, &save_recpresets_item | ||
830 | ); | 847 | ); |
831 | 848 | ||
832 | bool recording_menu(bool no_source) | 849 | bool recording_menu(bool no_source) |
diff --git a/apps/settings.c b/apps/settings.c index aa8afe472c..2bae9ae1b1 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -459,7 +459,11 @@ static bool settings_write_config(char* filename, int options) | |||
459 | else if ((options == SETTINGS_SAVE_THEME) && | 459 | else if ((options == SETTINGS_SAVE_THEME) && |
460 | ((settings[i].flags&F_THEMESETTING) == 0)) | 460 | ((settings[i].flags&F_THEMESETTING) == 0)) |
461 | continue; | 461 | continue; |
462 | 462 | #ifdef HAVE_RECORDING | |
463 | else if ((options == SETTINGS_SAVE_RECPRESETS) && | ||
464 | ((settings[i].flags&F_RECSETTING) == 0)) | ||
465 | continue; | ||
466 | #endif | ||
463 | switch (settings[i].flags&F_T_MASK) | 467 | switch (settings[i].flags&F_T_MASK) |
464 | { | 468 | { |
465 | case F_T_INT: | 469 | case F_T_INT: |
@@ -582,8 +586,21 @@ int settings_save( void ) | |||
582 | bool settings_save_config(int options) | 586 | bool settings_save_config(int options) |
583 | { | 587 | { |
584 | char filename[MAX_PATH]; | 588 | char filename[MAX_PATH]; |
585 | 589 | char *folder; | |
586 | create_numbered_filename(filename, ROCKBOX_DIR, "config", ".cfg", 2 | 590 | switch (options) |
591 | { | ||
592 | case SETTINGS_SAVE_THEME: | ||
593 | folder = THEME_DIR; | ||
594 | break; | ||
595 | #ifdef HAVE_RECORDING | ||
596 | case SETTINGS_SAVE_RECPRESETS: | ||
597 | folder = RECPRESETS_DIR; | ||
598 | break; | ||
599 | #endif | ||
600 | default: | ||
601 | folder = ROCKBOX_DIR; | ||
602 | } | ||
603 | create_numbered_filename(filename, folder, "config", ".cfg", 2 | ||
587 | IF_CNFN_NUM_(, NULL)); | 604 | IF_CNFN_NUM_(, NULL)); |
588 | 605 | ||
589 | /* allow user to modify filename */ | 606 | /* allow user to modify filename */ |
diff --git a/apps/settings.h b/apps/settings.h index f60e4bacc7..b9c67dc8ea 100644 --- a/apps/settings.h +++ b/apps/settings.h | |||
@@ -61,7 +61,8 @@ | |||
61 | #define BACKDROP_DIR ROCKBOX_DIR "/backdrops" | 61 | #define BACKDROP_DIR ROCKBOX_DIR "/backdrops" |
62 | #define REC_BASE_DIR "/recordings" | 62 | #define REC_BASE_DIR "/recordings" |
63 | #define EQS_DIR ROCKBOX_DIR "/eqs" | 63 | #define EQS_DIR ROCKBOX_DIR "/eqs" |
64 | #define CODECS_DIR ROCKBOX_DIR"/codecs" | 64 | #define CODECS_DIR ROCKBOX_DIR "/codecs" |
65 | #define RECPRESETS_DIR ROCKBOX_DIR "/recpresets" | ||
65 | #define FMPRESET_PATH ROCKBOX_DIR "/fmpresets" | 66 | #define FMPRESET_PATH ROCKBOX_DIR "/fmpresets" |
66 | 67 | ||
67 | #define VIEWERS_CONFIG ROCKBOX_DIR "/viewers.config" | 68 | #define VIEWERS_CONFIG ROCKBOX_DIR "/viewers.config" |
@@ -231,9 +232,14 @@ bool settings_load_config(const char* file, bool apply); | |||
231 | void status_save( void ); | 232 | void status_save( void ); |
232 | int settings_save(void); | 233 | int settings_save(void); |
233 | /* defines for the options paramater */ | 234 | /* defines for the options paramater */ |
234 | #define SETTINGS_SAVE_CHANGED 0 | 235 | enum { |
235 | #define SETTINGS_SAVE_ALL 1 | 236 | SETTINGS_SAVE_CHANGED = 0, |
236 | #define SETTINGS_SAVE_THEME 2 | 237 | SETTINGS_SAVE_ALL, |
238 | SETTINGS_SAVE_THEME, | ||
239 | #ifdef HAVE_RECORDING | ||
240 | SETTINGS_SAVE_RECPRESETS, | ||
241 | #endif | ||
242 | }; | ||
237 | bool settings_save_config(int options); | 243 | bool settings_save_config(int options); |
238 | 244 | ||
239 | void settings_reset(void); | 245 | void settings_reset(void); |
diff --git a/apps/settings_list.c b/apps/settings_list.c index efac40c7b5..b5e6d85612 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c | |||
@@ -733,7 +733,7 @@ const struct settings_list settings[] = { | |||
733 | 733 | ||
734 | #ifdef HAVE_RECORDING | 734 | #ifdef HAVE_RECORDING |
735 | /* recording */ | 735 | /* recording */ |
736 | STRINGCHOICE_SETTING(0, rec_timesplit, LANG_SPLIT_TIME, 0, | 736 | STRINGCHOICE_SETTING(F_RECSETTING, rec_timesplit, LANG_SPLIT_TIME, 0, |
737 | "rec timesplit", | 737 | "rec timesplit", |
738 | "off,00:05,00:10,00:15,00:30,01:00,01:14,01:20,02:00," | 738 | "off,00:05,00:10,00:15,00:30,01:00,01:14,01:20,02:00," |
739 | "04:00,06:00,08:00,10:00,12:00,18:00,24:00", | 739 | "04:00,06:00,08:00,10:00,12:00,18:00,24:00", |
@@ -744,7 +744,7 @@ const struct settings_list settings[] = { | |||
744 | TALK_ID(6, UNIT_HOUR), TALK_ID(8, UNIT_HOUR), TALK_ID(10, UNIT_HOUR), | 744 | TALK_ID(6, UNIT_HOUR), TALK_ID(8, UNIT_HOUR), TALK_ID(10, UNIT_HOUR), |
745 | TALK_ID(12, UNIT_HOUR), TALK_ID(18, UNIT_HOUR), TALK_ID(20, UNIT_HOUR), | 745 | TALK_ID(12, UNIT_HOUR), TALK_ID(18, UNIT_HOUR), TALK_ID(20, UNIT_HOUR), |
746 | TALK_ID(24, UNIT_HOUR)), | 746 | TALK_ID(24, UNIT_HOUR)), |
747 | STRINGCHOICE_SETTING(0, rec_sizesplit, LANG_SPLIT_SIZE, 0, | 747 | STRINGCHOICE_SETTING(F_RECSETTING, rec_sizesplit, LANG_SPLIT_SIZE, 0, |
748 | "rec sizesplit", | 748 | "rec sizesplit", |
749 | "off,5MB,10MB,15MB,32MB,64MB,75MB,100MB,128MB," | 749 | "off,5MB,10MB,15MB,32MB,64MB,75MB,100MB,128MB," |
750 | "256MB,512MB,650MB,700MB,1GB,1.5GB,1.75GB", | 750 | "256MB,512MB,650MB,700MB,1GB,1.5GB,1.75GB", |
@@ -754,28 +754,30 @@ const struct settings_list settings[] = { | |||
754 | TALK_ID(100, UNIT_MB), TALK_ID(128, UNIT_MB), TALK_ID(256, UNIT_MB), | 754 | TALK_ID(100, UNIT_MB), TALK_ID(128, UNIT_MB), TALK_ID(256, UNIT_MB), |
755 | TALK_ID(512, UNIT_MB), TALK_ID(650, UNIT_MB), TALK_ID(700, UNIT_MB), | 755 | TALK_ID(512, UNIT_MB), TALK_ID(650, UNIT_MB), TALK_ID(700, UNIT_MB), |
756 | TALK_ID(1024, UNIT_MB), TALK_ID(1536, UNIT_MB), TALK_ID(1792, UNIT_MB)), | 756 | TALK_ID(1024, UNIT_MB), TALK_ID(1536, UNIT_MB), TALK_ID(1792, UNIT_MB)), |
757 | {F_T_INT,&global_settings.rec_channels,LANG_RECORDING_CHANNELS,INT(0), | 757 | {F_T_INT|F_RECSETTING, &global_settings.rec_channels, |
758 | LANG_RECORDING_CHANNELS, INT(0), | ||
758 | "rec channels","stereo,mono",UNUSED}, | 759 | "rec channels","stereo,mono",UNUSED}, |
759 | CHOICE_SETTING(0, rec_split_type, LANG_SPLIT_TYPE, 0 , | 760 | CHOICE_SETTING(F_RECSETTING, rec_split_type, LANG_SPLIT_TYPE, 0 , |
760 | "rec split type", "Split, Stop", NULL, 2, | 761 | "rec split type", "Split, Stop", NULL, 2, |
761 | ID2P(LANG_START_NEW_FILE), ID2P(LANG_STOP_RECORDING)), | 762 | ID2P(LANG_START_NEW_FILE), ID2P(LANG_STOP_RECORDING)), |
762 | CHOICE_SETTING(0, rec_split_method, LANG_SPLIT_MEASURE, 0 , | 763 | CHOICE_SETTING(F_RECSETTING, rec_split_method, LANG_SPLIT_MEASURE, 0 , |
763 | "rec split method", "Time,Filesize", NULL, 2, | 764 | "rec split method", "Time,Filesize", NULL, 2, |
764 | ID2P(LANG_REC_TIME), ID2P(LANG_REC_SIZE)), | 765 | ID2P(LANG_REC_TIME), ID2P(LANG_REC_SIZE)), |
765 | {F_T_INT,&global_settings.rec_source,LANG_RECORDING_SOURCE,INT(0), | 766 | {F_T_INT|F_RECSETTING, &global_settings.rec_source, |
767 | LANG_RECORDING_SOURCE, INT(0), | ||
766 | "rec source", | 768 | "rec source", |
767 | &HAVE_MIC_REC_(",mic") | 769 | &HAVE_MIC_REC_(",mic") |
768 | HAVE_LINE_REC_(",line") | 770 | HAVE_LINE_REC_(",line") |
769 | HAVE_SPDIF_REC_(",spdif") | 771 | HAVE_SPDIF_REC_(",spdif") |
770 | HAVE_FMRADIO_REC_(",fmradio")[1] | 772 | HAVE_FMRADIO_REC_(",fmradio")[1] |
771 | ,UNUSED}, | 773 | ,UNUSED}, |
772 | INT_SETTING(0, rec_prerecord_time, LANG_RECORD_PRERECORD_TIME, | 774 | INT_SETTING(F_RECSETTING, rec_prerecord_time, LANG_RECORD_PRERECORD_TIME, |
773 | 0, "prerecording time", | 775 | 0, "prerecording time", |
774 | UNIT_SEC, 0, 30, 1, rectime_formatter, rectime_getlang, NULL), | 776 | UNIT_SEC, 0, 30, 1, rectime_formatter, rectime_getlang, NULL), |
775 | {F_T_INT,&global_settings.rec_directory,LANG_RECORD_DIRECTORY, | 777 | {F_T_INT|F_RECSETTING,&global_settings.rec_directory,LANG_RECORD_DIRECTORY, |
776 | INT(0),"rec directory",REC_BASE_DIR ",current",UNUSED}, | 778 | INT(0),"rec directory",REC_BASE_DIR ",current",UNUSED}, |
777 | #ifdef HAVE_BACKLIGHT | 779 | #ifdef HAVE_BACKLIGHT |
778 | CHOICE_SETTING(0, cliplight, LANG_CLIP_LIGHT, 0 , | 780 | CHOICE_SETTING(F_RECSETTING, cliplight, LANG_CLIP_LIGHT, 0 , |
779 | "cliplight", "off,main,both,remote", NULL, | 781 | "cliplight", "off,main,both,remote", NULL, |
780 | #ifdef HAVE_REMOTE_LCD | 782 | #ifdef HAVE_REMOTE_LCD |
781 | 4, | 783 | 4, |
@@ -787,34 +789,41 @@ const struct settings_list settings[] = { | |||
787 | , ID2P(LANG_REMOTE_MAIN), ID2P(LANG_REMOTE_UNIT) | 789 | , ID2P(LANG_REMOTE_MAIN), ID2P(LANG_REMOTE_UNIT) |
788 | #endif | 790 | #endif |
789 | ), | 791 | ), |
790 | {F_T_INT,&global_settings.cliplight,LANG_CLIP_LIGHT,INT(0), | 792 | {F_T_INT|F_RECSETTING,&global_settings.cliplight,LANG_CLIP_LIGHT,INT(0), |
791 | "cliplight","off,main,both,remote",UNUSED}, | 793 | "cliplight","off,main,both,remote",UNUSED}, |
792 | #endif | 794 | #endif |
793 | {F_T_INT,&global_settings.rec_mic_gain,LANG_RECORDING_GAIN,INT(DEFAULT_REC_MIC_GAIN), | 795 | {F_T_INT|F_RECSETTING,&global_settings.rec_mic_gain, |
796 | LANG_RECORDING_GAIN,INT(DEFAULT_REC_MIC_GAIN), | ||
794 | "rec mic gain",NULL,UNUSED}, | 797 | "rec mic gain",NULL,UNUSED}, |
795 | {F_T_INT,&global_settings.rec_left_gain,LANG_RECORDING_LEFT,INT(DEFAULT_REC_LEFT_GAIN), | 798 | {F_T_INT|F_RECSETTING,&global_settings.rec_left_gain, |
799 | LANG_RECORDING_LEFT,INT(DEFAULT_REC_LEFT_GAIN), | ||
796 | "rec left gain",NULL,UNUSED}, | 800 | "rec left gain",NULL,UNUSED}, |
797 | {F_T_INT,&global_settings.rec_right_gain,LANG_RECORDING_RIGHT, | 801 | {F_T_INT|F_RECSETTING,&global_settings.rec_right_gain,LANG_RECORDING_RIGHT, |
798 | INT(DEFAULT_REC_RIGHT_GAIN), | 802 | INT(DEFAULT_REC_RIGHT_GAIN), |
799 | "rec right gain",NULL,UNUSED}, | 803 | "rec right gain",NULL,UNUSED}, |
800 | #if CONFIG_CODEC == MAS3587F | 804 | #if CONFIG_CODEC == MAS3587F |
801 | {F_T_INT,&global_settings.rec_frequency,LANG_RECORDING_FREQUENCY, | 805 | {F_T_INT|F_RECSETTING,&global_settings.rec_frequency, |
806 | LANG_RECORDING_FREQUENCY, | ||
802 | INT(0),"rec frequency","44,48,32,22,24,16",UNUSED}, | 807 | INT(0),"rec frequency","44,48,32,22,24,16",UNUSED}, |
803 | INT_SETTING(0, rec_quality, LANG_RECORDING_QUALITY, 5, "rec quality", | 808 | INT_SETTING(F_RECSETTING, rec_quality, LANG_RECORDING_QUALITY, |
804 | UNIT_INT, 0, 7, 1, NULL, NULL, NULL), | 809 | 5, "rec quality", |
805 | OFFON_SETTING(0,rec_editable,LANG_RECORDING_EDITABLE, | 810 | UNIT_INT, 0, 7, 1, NULL, NULL, NULL), |
811 | OFFON_SETTING(F_RECSETTING,rec_editable,LANG_RECORDING_EDITABLE, | ||
806 | false,"editable recordings",NULL), | 812 | false,"editable recordings",NULL), |
807 | #endif /* CONFIG_CODEC == MAS3587F */ | 813 | #endif /* CONFIG_CODEC == MAS3587F */ |
808 | #if CONFIG_CODEC == SWCODEC | 814 | #if CONFIG_CODEC == SWCODEC |
809 | {F_T_INT,&global_settings.rec_frequency,LANG_RECORDING_FREQUENCY,INT(REC_FREQ_DEFAULT), | 815 | {F_T_INT|F_RECSETTING,&global_settings.rec_frequency, |
816 | LANG_RECORDING_FREQUENCY,INT(REC_FREQ_DEFAULT), | ||
810 | "rec frequency",REC_FREQ_CFG_VAL_LIST,UNUSED}, | 817 | "rec frequency",REC_FREQ_CFG_VAL_LIST,UNUSED}, |
811 | {F_T_INT,&global_settings.rec_format,LANG_RECORDING_FORMAT,INT(REC_FORMAT_DEFAULT), | 818 | {F_T_INT|F_RECSETTING,&global_settings.rec_format, |
819 | LANG_RECORDING_FORMAT,INT(REC_FORMAT_DEFAULT), | ||
812 | "rec format",REC_FORMAT_CFG_VAL_LIST,UNUSED}, | 820 | "rec format",REC_FORMAT_CFG_VAL_LIST,UNUSED}, |
813 | /** Encoder settings start - keep these together **/ | 821 | /** Encoder settings start - keep these together **/ |
814 | /* aiff_enc */ | 822 | /* aiff_enc */ |
815 | /* (no settings yet) */ | 823 | /* (no settings yet) */ |
816 | /* mp3_enc */ | 824 | /* mp3_enc */ |
817 | {F_T_INT,&global_settings.mp3_enc_config.bitrate,-1,INT(MP3_ENC_BITRATE_CFG_DEFAULT), | 825 | {F_T_INT|F_RECSETTING, &global_settings.mp3_enc_config.bitrate,-1, |
826 | INT(MP3_ENC_BITRATE_CFG_DEFAULT), | ||
818 | "mp3_enc bitrate",MP3_ENC_BITRATE_CFG_VALUE_LIST,UNUSED}, | 827 | "mp3_enc bitrate",MP3_ENC_BITRATE_CFG_VALUE_LIST,UNUSED}, |
819 | /* wav_enc */ | 828 | /* wav_enc */ |
820 | /* (no settings yet) */ | 829 | /* (no settings yet) */ |
@@ -823,17 +832,23 @@ const struct settings_list settings[] = { | |||
823 | /** Encoder settings end **/ | 832 | /** Encoder settings end **/ |
824 | #endif /* CONFIG_CODEC == SWCODEC */ | 833 | #endif /* CONFIG_CODEC == SWCODEC */ |
825 | /* values for the trigger */ | 834 | /* values for the trigger */ |
826 | {F_T_INT,&global_settings.rec_start_thres,LANG_RECORD_START_THRESHOLD,INT(-35), | 835 | {F_T_INT|F_RECSETTING,&global_settings.rec_start_thres, |
836 | LANG_RECORD_START_THRESHOLD, INT(-35), | ||
827 | "trigger start threshold",NULL,UNUSED}, | 837 | "trigger start threshold",NULL,UNUSED}, |
828 | {F_T_INT,&global_settings.rec_stop_thres,LANG_RECORD_STOP_THRESHOLD,INT(-45), | 838 | {F_T_INT|F_RECSETTING,&global_settings.rec_stop_thres, |
839 | LANG_RECORD_STOP_THRESHOLD,INT(-45), | ||
829 | "trigger stop threshold",NULL,UNUSED}, | 840 | "trigger stop threshold",NULL,UNUSED}, |
830 | {F_T_INT,&global_settings.rec_start_duration,LANG_RECORD_MIN_DURATION,INT(0), | 841 | {F_T_INT|F_RECSETTING,&global_settings.rec_start_duration, |
842 | LANG_RECORD_MIN_DURATION,INT(0), | ||
831 | "trigger start duration",trig_durations_conf,UNUSED}, | 843 | "trigger start duration",trig_durations_conf,UNUSED}, |
832 | {F_T_INT,&global_settings.rec_stop_postrec,LANG_RECORD_STOP_POSTREC,INT(2), | 844 | {F_T_INT|F_RECSETTING,&global_settings.rec_stop_postrec, |
845 | LANG_RECORD_STOP_POSTREC,INT(2), | ||
833 | "trigger stop postrec",trig_durations_conf,UNUSED}, | 846 | "trigger stop postrec",trig_durations_conf,UNUSED}, |
834 | {F_T_INT,&global_settings.rec_stop_gap,LANG_RECORD_STOP_GAP,INT(1), | 847 | {F_T_INT|F_RECSETTING,&global_settings.rec_stop_gap, |
848 | LANG_RECORD_STOP_GAP,INT(1), | ||
835 | "trigger min gap",trig_durations_conf,UNUSED}, | 849 | "trigger min gap",trig_durations_conf,UNUSED}, |
836 | {F_T_INT,&global_settings.rec_trigger_mode,LANG_RECORD_TRIGGER_MODE,INT(0), | 850 | {F_T_INT|F_RECSETTING,&global_settings.rec_trigger_mode, |
851 | LANG_RECORD_TRIGGER_MODE,INT(0), | ||
837 | "trigger mode","off,once,repeat",UNUSED}, | 852 | "trigger mode","off,once,repeat",UNUSED}, |
838 | #endif /* HAVE_RECORDING */ | 853 | #endif /* HAVE_RECORDING */ |
839 | 854 | ||
@@ -1111,7 +1126,8 @@ const struct settings_list settings[] = { | |||
1111 | false,"Last.fm Logging",NULL), | 1126 | false,"Last.fm Logging",NULL), |
1112 | 1127 | ||
1113 | #ifdef HAVE_RECORDING | 1128 | #ifdef HAVE_RECORDING |
1114 | {F_T_INT,&global_settings.rec_trigger_type,LANG_RECORD_TRIGGER_TYPE, | 1129 | {F_T_INT|F_RECSETTING,&global_settings.rec_trigger_type, |
1130 | LANG_RECORD_TRIGGER_TYPE, | ||
1115 | INT(0),"trigger type","stop,pause,nf stp",UNUSED}, | 1131 | INT(0),"trigger type","stop,pause,nf stp",UNUSED}, |
1116 | #endif | 1132 | #endif |
1117 | 1133 | ||
diff --git a/apps/settings_list.h b/apps/settings_list.h index 97443e35be..9bc8eb9621 100644 --- a/apps/settings_list.h +++ b/apps/settings_list.h | |||
@@ -91,7 +91,8 @@ struct choice_setting { | |||
91 | #define F_MAX_ISFUNC 0x200000 /* max(above) is function pointer to above type */ | 91 | #define F_MAX_ISFUNC 0x200000 /* max(above) is function pointer to above type */ |
92 | #define F_DEF_ISFUNC 0x400000 /* default_val is function pointer to above type */ | 92 | #define F_DEF_ISFUNC 0x400000 /* default_val is function pointer to above type */ |
93 | 93 | ||
94 | #define F_THEMESETTING 0x800000 | 94 | #define F_THEMESETTING 0x0800000 |
95 | #define F_RECSETTING 0x1000000 | ||
95 | 96 | ||
96 | #define F_NVRAM_BYTES_MASK 0xE000 /*0-4 bytes can be stored */ | 97 | #define F_NVRAM_BYTES_MASK 0xE000 /*0-4 bytes can be stored */ |
97 | #define F_NVRAM_MASK_SHIFT 13 | 98 | #define F_NVRAM_MASK_SHIFT 13 |
@@ -102,10 +103,10 @@ struct choice_setting { | |||
102 | - a NVRAM setting is removed | 103 | - a NVRAM setting is removed |
103 | */ | 104 | */ |
104 | #define F_TEMPVAR 0x400 /* used if the setting should be set using a temp var */ | 105 | #define F_TEMPVAR 0x400 /* used if the setting should be set using a temp var */ |
105 | #define F_FLIPLIST 0x800 /* used if the order in the setting screen is backwards */ | 106 | #define F_FLIPLIST 0x800 /* used if the order in the setting screen is backwards */ |
106 | 107 | ||
107 | struct settings_list { | 108 | struct settings_list { |
108 | uint32_t flags; /* ____ ____ TFFF ____ NNN_ FTVC IFRB STTT */ | 109 | uint32_t flags; /* ____ ___R TFFF ____ NNN_ FTVC IFRB STTT */ |
109 | void *setting; | 110 | void *setting; |
110 | int lang_id; /* -1 for none */ | 111 | int lang_id; /* -1 for none */ |
111 | union storage_type default_val; | 112 | union storage_type default_val; |
diff --git a/tools/buildzip.pl b/tools/buildzip.pl index 4beade7739..98419d8763 100755 --- a/tools/buildzip.pl +++ b/tools/buildzip.pl | |||
@@ -200,6 +200,7 @@ sub buildzip { | |||
200 | 200 | ||
201 | mkdir ".rockbox/langs", 0777; | 201 | mkdir ".rockbox/langs", 0777; |
202 | mkdir ".rockbox/rocks", 0777; | 202 | mkdir ".rockbox/rocks", 0777; |
203 | mkdir ".rockbox/recpresets", 0777; | ||
203 | 204 | ||
204 | if($swcodec) { | 205 | if($swcodec) { |
205 | mkdir ".rockbox/eqs", 0777; | 206 | mkdir ".rockbox/eqs", 0777; |