summaryrefslogtreecommitdiff
path: root/apps/settings.h
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2006-11-06 18:07:30 +0000
committerMichael Sevakis <jethead71@rockbox.org>2006-11-06 18:07:30 +0000
commit0f5cb94aa4a334366a746fcbb22f3335ca413265 (patch)
tree8f89a96628c1810d51ee9816daf78edb8c76fcd4 /apps/settings.h
parent0b22795e26ee09de14f6ac23219adeda12f2fd5b (diff)
Big Patch adds primarily: Samplerate and format selection to recording for SWCODEC. Supprort for samplerates changing in playback (just goes with the recording part inseparably). Samplerates to all encoders. Encoders can be configured individually on a menu specific to the encoder in the recording menu. File creation is delayed until flush time to reduce spinups when splitting. Misc: statusbar icons for numbers are individual digits to display any number. Audio buffer was rearranged to maximize memory available to recording and properly reinitialized when trashed. ColdFire PCM stuff moved to target tree to avoid a complicated mess when adding samplerate switching. Some needed API changes and to neaten up growing gap between hardware and software codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/settings.h')
-rw-r--r--apps/settings.h34
1 files changed, 28 insertions, 6 deletions
diff --git a/apps/settings.h b/apps/settings.h
index 435d8e9ce2..09d4974eee 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -29,6 +29,10 @@
#include "tagcache.h"
#include "button.h"
+#if CONFIG_CODEC == SWCODEC
+#include "audio.h"
+#endif
+
#ifdef HAVE_BACKLIGHT_BRIGHTNESS
#include "backlight.h" /* for [MIN|MAX]_BRIGHTNESS_SETTING */
#endif
@@ -142,18 +146,22 @@ struct user_settings
int crossfade_fade_out_mixmode; /* Fade out mode (0=crossfade,1=mix) */
#endif
+#if CONFIG_CODEC == SWCODEC
+ int rec_format; /* record format index */
+#else
int rec_quality; /* 0-7 */
- int rec_source; /* 0=mic, 1=line, 2=S/PDIF */
- int rec_frequency; /* 0 = 44.1kHz
+#endif /* CONFIG_CODEC == SWCODEC */
+ int rec_source; /* 0=mic, 1=line, 2=S/PDIF, 2 or 3=FM Radio */
+ int rec_frequency; /* 0 = 44.1kHz (depends on target)
1 = 48kHz
2 = 32kHz
3 = 22.05kHz
4 = 24kHz
5 = 16kHz */
int rec_channels; /* 0=Stereo, 1=Mono */
- int rec_mic_gain; /* 0-15 */
- int rec_left_gain; /* 0-15 */
- int rec_right_gain; /* 0-15 */
+ int rec_mic_gain; /* depends on target */
+ int rec_left_gain; /* depends on target */
+ int rec_right_gain; /* depands on target */
bool rec_editable; /* true means that the bit reservoir is off */
bool recscreen_on; /* true if using the recording screen */
@@ -504,6 +512,20 @@ struct user_settings
#endif
bool audioscrobbler; /* Audioscrobbler logging */
+ /* If values are just added to the end, no need to bump plugin API
+ version. */
+ /* new stuff to be added at the end */
+
+#if defined(HAVE_RECORDING) && CONFIG_CODEC == SWCODEC
+ /* Encoder Settings Start - keep these together */
+ struct mp3_enc_config mp3_enc_config;
+#if 0 /* These currently contain no members but their places in line
+ should be held */
+ struct wav_enc_config wav_enc_config;
+ struct wavpack_enc_config wavpack_enc_config;
+#endif
+ /* Encoder Settings End */
+#endif /* CONFIG_CODEC == SWCODEC */
};
enum optiontype { INT, BOOL };
@@ -584,7 +606,7 @@ extern const char rec_base_directory[];
/* argument bits for settings_load() */
#define SETTINGS_RTC 1 /* only the settings from the RTC nonvolatile RAM */
-#define SETTINGS_HD 2 /* only the settings fron the disk sector */
+#define SETTINGS_HD 2 /* only the settings from the disk sector */
#define SETTINGS_ALL 3 /* both */
/* repeat mode options */