summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2002-06-27 00:20:00 +0000
committerBjörn Stenberg <bjorn@haxx.se>2002-06-27 00:20:00 +0000
commitf80d8a704d7955ec2c1cca41ebc5975130e69f64 (patch)
tree8165095647f0dc71a3f856a79c94f8952b0a727e /apps
parent2d98ae3d03b128b6449f388134aefbd56daede3d (diff)
downloadrockbox-f80d8a704d7955ec2c1cca41ebc5975130e69f64.zip
rockbox-f80d8a704d7955ec2c1cca41ebc5975130e69f64.tar.gz
rockbox-f80d8a704d7955ec2c1cca41ebc5975130e69f64.tar.bz2
rockbox-f80d8a704d7955ec2c1cca41ebc5975130e69f64.tar.xz
Moved settings.c/h to apps/
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1215 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/main.c4
-rw-r--r--apps/settings.c103
-rw-r--r--apps/settings.h86
3 files changed, 192 insertions, 1 deletions
diff --git a/apps/main.c b/apps/main.c
index 5821ee8..6cf99d7 100644
--- a/apps/main.c
+++ b/apps/main.c
@@ -103,7 +103,9 @@ void init(void)
backlight_init();
button_init();
- mpeg_init();
+ mpeg_init( DEFAULT_VOLUME_SETTING,
+ DEFAULT_BASS_SETTING,
+ DEFAULT_TREBLE_SETTING );
}
int main(void)
diff --git a/apps/settings.c b/apps/settings.c
new file mode 100644
index 0000000..f6566f4
--- /dev/null
+++ b/apps/settings.c
@@ -0,0 +1,103 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2002 by wavey@wavey.org
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#include <stdio.h>
+#include "config.h"
+#include "settings.h"
+#include "disk.h"
+#include "panic.h"
+#include "debug.h"
+
+struct user_settings global_settings;
+
+/*
+ * persist all runtime user settings to disk
+ */
+int persist_all_settings( void )
+{
+ return 1;
+}
+
+/*
+ * persist all the playlist information to disk
+ */
+int persist_all_playlist_info( void )
+{
+ return 1;
+}
+
+/*
+ * load settings from disk
+ */
+void reload_all_settings( struct user_settings *settings )
+{
+ DEBUGF( "reload_all_settings()\n" );
+
+ /* this is a TEMP stub version */
+
+ /* populate settings with default values */
+
+ reset_settings( settings );
+}
+
+/*
+ * reset all settings to their default value
+ */
+void reset_settings( struct user_settings *settings ) {
+
+ DEBUGF( "reset_settings()\n" );
+
+ settings->volume = DEFAULT_VOLUME_SETTING;
+ settings->balance = DEFAULT_BALANCE_SETTING;
+ settings->bass = DEFAULT_BASS_SETTING;
+ settings->treble = DEFAULT_TREBLE_SETTING;
+ settings->loudness = DEFAULT_LOUDNESS_SETTING;
+ settings->bass_boost = DEFAULT_BASS_BOOST_SETTING;
+ settings->contrast = DEFAULT_CONTRAST_SETTING;
+ settings->poweroff = DEFAULT_POWEROFF_SETTING;
+ settings->backlight = DEFAULT_BACKLIGHT_SETTING;
+ settings->wps_display = DEFAULT_WPS_DISPLAY;
+}
+
+
+/*
+ * dump the list of current settings
+ */
+void display_current_settings( struct user_settings *settings )
+{
+#ifdef DEBUG
+ DEBUGF( "\ndisplay_current_settings()\n" );
+
+ DEBUGF( "\nvolume:\t\t%d\nbalance:\t%d\nbass:\t\t%d\ntreble:\t\t%d\nloudness:\t%d\nbass boost:\t%d\n",
+ settings->volume,
+ settings->balance,
+ settings->bass,
+ settings->treble,
+ settings->loudness,
+ settings->bass_boost );
+
+ DEBUGF( "contrast:\t%d\npoweroff:\t%d\nbacklight:\t%d\n",
+ settings->contrast,
+ settings->poweroff,
+ settings->backlight );
+#else
+ /* Get rid of warning */
+ settings = settings;
+#endif
+}
diff --git a/apps/settings.h b/apps/settings.h
new file mode 100644
index 0000000..b4a8fde
--- /dev/null
+++ b/apps/settings.h
@@ -0,0 +1,86 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2002 by wavey@wavey.org
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#ifndef __SETTINGS_H__
+#define __SETTINGS_H__
+
+#include <stdbool.h>
+
+/* data structures */
+
+#define RESUME_NONE 0
+#define RESUME_SONG 1 /* resume song at startup */
+#define RESUME_PLAYLIST 2 /* resume playlist at startup */
+
+struct user_settings
+{
+ /* audio settings */
+
+ int volume; /* audio output volume: 0-100 0=off 100=max */
+ int balance; /* stereo balance: 0-100 0=left 50=bal 100=right */
+ int bass; /* bass eq: 0-100 0=off 100=max */
+ int treble; /* treble eq: 0-100 0=low 100=high */
+ int loudness; /* loudness eq: 0-100 0=off 100=max */
+ int bass_boost; /* bass boost eq: 0-100 0=off 100=max */
+
+ /* device settings */
+
+ int contrast; /* lcd contrast: 0-100 0=low 100=high */
+ int poweroff; /* power off timer: 0-100 0=never:each 1% = 60 secs */
+ int backlight; /* backlight off timer: 0-100 0=never:each 1% = 10 secs */
+
+ /* resume settings */
+
+ int resume; /* power-on song resume: 0=no. 1=yes song. 2=yes pl */
+ int track_time; /* number of seconds into the track to resume */
+
+ /* misc options */
+
+ int loop_playlist; /* do we return to top of playlist at end? */
+ bool mp3filter;
+
+ /* while playing screen settings */
+ int wps_display;
+
+};
+
+/* prototypes */
+
+int persist_all_settings( void );
+void reload_all_settings( struct user_settings *settings );
+void reset_settings( struct user_settings *settings );
+void display_current_settings( struct user_settings *settings );
+
+/* global settings */
+extern struct user_settings global_settings;
+
+/* system defines */
+
+#define DEFAULT_VOLUME_SETTING 70
+#define DEFAULT_BALANCE_SETTING 50
+#define DEFAULT_BASS_SETTING 50
+#define DEFAULT_TREBLE_SETTING 50
+#define DEFAULT_LOUDNESS_SETTING 0
+#define DEFAULT_BASS_BOOST_SETTING 0
+#define DEFAULT_CONTRAST_SETTING 0
+#define DEFAULT_POWEROFF_SETTING 0
+#define DEFAULT_BACKLIGHT_SETTING 5
+#define DEFAULT_WPS_DISPLAY 0
+
+#endif /* __SETTINGS_H__ */