summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-02-07 02:48:19 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-02-07 02:48:19 +0000
commitff3bb3aa18e71860d644a50632088ec282968de4 (patch)
tree8cd33aa24b5db5684cceeffd4c3cbca2dd7d54ea /apps
parent70ebc8feb156613d586b3330d309ec72d1e30c2d (diff)
downloadrockbox-ff3bb3aa18e71860d644a50632088ec282968de4.tar.gz
rockbox-ff3bb3aa18e71860d644a50632088ec282968de4.zip
Don't save the in-out state of the recording screen as a setting. Fixes the statusbar icons if settings were saved while recording screen was on. Humbly may I suggest a global_state structure to do all this state checking more efficiently\? Ignore me if that's being worked on by someone.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12221 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/gui/statusbar.c6
-rw-r--r--apps/recorder/recording.c11
-rw-r--r--apps/recorder/recording.h1
-rw-r--r--apps/settings.h1
-rw-r--r--apps/settings_list.c1
5 files changed, 14 insertions, 6 deletions
diff --git a/apps/gui/statusbar.c b/apps/gui/statusbar.c
index 2f6dfafc81..d3f4813e37 100644
--- a/apps/gui/statusbar.c
+++ b/apps/gui/statusbar.c
@@ -38,6 +38,7 @@
#include "statusbar.h"
#ifdef HAVE_RECORDING
#include "audio.h"
+#include "recording.h"
#endif
/* FIXME: should be removed from icon.h to avoid redefinition,
@@ -257,7 +258,8 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw)
#endif
#ifdef HAVE_RECORDING
/* turn off volume display in recording screen */
- if (!global_settings.recscreen_on)
+ bool recscreen_on = in_recording_screen();
+ if (!recscreen_on)
#endif
bar->redraw_volume = gui_statusbar_icon_volume(bar, bar->info.volume);
gui_statusbar_icon_play_state(display, current_playmode() + Icon_Play);
@@ -265,7 +267,7 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw)
#ifdef HAVE_RECORDING
/* If in recording screen, replace repeat mode, volume
and shuffle icons with recording info */
- if (global_settings.recscreen_on)
+ if (recscreen_on)
gui_statusbar_icon_recording_info(display);
else
#endif
diff --git a/apps/recorder/recording.c b/apps/recorder/recording.c
index a4662ab42e..cb934877a9 100644
--- a/apps/recorder/recording.c
+++ b/apps/recorder/recording.c
@@ -70,6 +70,13 @@
#include "radio.h"
#ifdef HAVE_RECORDING
+static bool in_screen = false;
+
+bool in_recording_screen(void)
+{
+ return in_screen;
+}
+
#define PM_HEIGHT ((LCD_HEIGHT >= 72) ? 2 : 1)
#if CONFIG_KEYPAD == RECORDER_PAD
@@ -794,7 +801,7 @@ bool recording_screen(bool no_source)
struct audio_recording_options rec_options;
- global_settings.recscreen_on = true;
+ in_screen = true;
cursor = 0;
#if (CONFIG_LED == LED_REAL) && !defined(SIMULATOR)
ata_set_led_enabled(false);
@@ -1764,7 +1771,7 @@ bool recording_screen(bool no_source)
peak_meter_trigger(false);
peak_meter_set_trigger_listener(NULL);
- global_settings.recscreen_on = false;
+ in_screen = false;
sound_settings_apply();
FOR_NB_SCREENS(i)
diff --git a/apps/recorder/recording.h b/apps/recorder/recording.h
index a67337b9b6..1b313ecab5 100644
--- a/apps/recorder/recording.h
+++ b/apps/recorder/recording.h
@@ -19,6 +19,7 @@
#ifndef RECORDING_H
#define RECORDING_H
+bool in_recording_screen(void);
bool recording_screen(bool no_source);
char *rec_create_filename(char *buf);
int rec_create_directory(void);
diff --git a/apps/settings.h b/apps/settings.h
index db78cb62a1..7321d39cf5 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -310,7 +310,6 @@ struct user_settings
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 */
/* note: timesplit setting is not saved */
int rec_timesplit; /* 0 = off,
diff --git a/apps/settings_list.c b/apps/settings_list.c
index 939f83aea4..8641cd83b9 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -382,7 +382,6 @@ const struct settings_list settings[] = {
#ifdef HAVE_RECORDING
/* recording */
- OFFON_SETTING(0,recscreen_on,-1,false,"recscreen on",NULL),
OFFON_SETTING(0,rec_startup,LANG_RECORD_STARTUP,false,
"rec screen on startup",NULL),
{F_T_INT,GS(rec_timesplit), LANG_SPLIT_TIME, INT(0),"rec timesplit",