summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
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 5821ee8fbf..6cf99d7ce4 100644
--- a/apps/main.c
+++ b/apps/main.c
@@ -103,7 +103,9 @@ void init(void)
103 backlight_init(); 103 backlight_init();
104 104
105 button_init(); 105 button_init();
106 mpeg_init(); 106 mpeg_init( DEFAULT_VOLUME_SETTING,
107 DEFAULT_BASS_SETTING,
108 DEFAULT_TREBLE_SETTING );
107} 109}
108 110
109int main(void) 111int main(void)
diff --git a/apps/settings.c b/apps/settings.c
new file mode 100644
index 0000000000..f6566f41a1
--- /dev/null
+++ b/apps/settings.c
@@ -0,0 +1,103 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2002 by wavey@wavey.org
11 *
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
17 *
18 ****************************************************************************/
19
20#include <stdio.h>
21#include "config.h"
22#include "settings.h"
23#include "disk.h"
24#include "panic.h"
25#include "debug.h"
26
27struct user_settings global_settings;
28
29/*
30 * persist all runtime user settings to disk
31 */
32int persist_all_settings( void )
33{
34 return 1;
35}
36
37/*
38 * persist all the playlist information to disk
39 */
40int persist_all_playlist_info( void )
41{
42 return 1;
43}
44
45/*
46 * load settings from disk
47 */
48void reload_all_settings( struct user_settings *settings )
49{
50 DEBUGF( "reload_all_settings()\n" );
51
52 /* this is a TEMP stub version */
53
54 /* populate settings with default values */
55
56 reset_settings( settings );
57}
58
59/*
60 * reset all settings to their default value
61 */
62void reset_settings( struct user_settings *settings ) {
63
64 DEBUGF( "reset_settings()\n" );
65
66 settings->volume = DEFAULT_VOLUME_SETTING;
67 settings->balance = DEFAULT_BALANCE_SETTING;
68 settings->bass = DEFAULT_BASS_SETTING;
69 settings->treble = DEFAULT_TREBLE_SETTING;
70 settings->loudness = DEFAULT_LOUDNESS_SETTING;
71 settings->bass_boost = DEFAULT_BASS_BOOST_SETTING;
72 settings->contrast = DEFAULT_CONTRAST_SETTING;
73 settings->poweroff = DEFAULT_POWEROFF_SETTING;
74 settings->backlight = DEFAULT_BACKLIGHT_SETTING;
75 settings->wps_display = DEFAULT_WPS_DISPLAY;
76}
77
78
79/*
80 * dump the list of current settings
81 */
82void display_current_settings( struct user_settings *settings )
83{
84#ifdef DEBUG
85 DEBUGF( "\ndisplay_current_settings()\n" );
86
87 DEBUGF( "\nvolume:\t\t%d\nbalance:\t%d\nbass:\t\t%d\ntreble:\t\t%d\nloudness:\t%d\nbass boost:\t%d\n",
88 settings->volume,
89 settings->balance,
90 settings->bass,
91 settings->treble,
92 settings->loudness,
93 settings->bass_boost );
94
95 DEBUGF( "contrast:\t%d\npoweroff:\t%d\nbacklight:\t%d\n",
96 settings->contrast,
97 settings->poweroff,
98 settings->backlight );
99#else
100 /* Get rid of warning */
101 settings = settings;
102#endif
103}
diff --git a/apps/settings.h b/apps/settings.h
new file mode 100644
index 0000000000..b4a8fde56e
--- /dev/null
+++ b/apps/settings.h
@@ -0,0 +1,86 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2002 by wavey@wavey.org
11 *
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
17 *
18 ****************************************************************************/
19
20#ifndef __SETTINGS_H__
21#define __SETTINGS_H__
22
23#include <stdbool.h>
24
25/* data structures */
26
27#define RESUME_NONE 0
28#define RESUME_SONG 1 /* resume song at startup */
29#define RESUME_PLAYLIST 2 /* resume playlist at startup */
30
31struct user_settings
32{
33 /* audio settings */
34
35 int volume; /* audio output volume: 0-100 0=off 100=max */
36 int balance; /* stereo balance: 0-100 0=left 50=bal 100=right */
37 int bass; /* bass eq: 0-100 0=off 100=max */
38 int treble; /* treble eq: 0-100 0=low 100=high */
39 int loudness; /* loudness eq: 0-100 0=off 100=max */
40 int bass_boost; /* bass boost eq: 0-100 0=off 100=max */
41
42 /* device settings */
43
44 int contrast; /* lcd contrast: 0-100 0=low 100=high */
45 int poweroff; /* power off timer: 0-100 0=never:each 1% = 60 secs */
46 int backlight; /* backlight off timer: 0-100 0=never:each 1% = 10 secs */
47
48 /* resume settings */
49
50 int resume; /* power-on song resume: 0=no. 1=yes song. 2=yes pl */
51 int track_time; /* number of seconds into the track to resume */
52
53 /* misc options */
54
55 int loop_playlist; /* do we return to top of playlist at end? */
56 bool mp3filter;
57
58 /* while playing screen settings */
59 int wps_display;
60
61};
62
63/* prototypes */
64
65int persist_all_settings( void );
66void reload_all_settings( struct user_settings *settings );
67void reset_settings( struct user_settings *settings );
68void display_current_settings( struct user_settings *settings );
69
70/* global settings */
71extern struct user_settings global_settings;
72
73/* system defines */
74
75#define DEFAULT_VOLUME_SETTING 70
76#define DEFAULT_BALANCE_SETTING 50
77#define DEFAULT_BASS_SETTING 50
78#define DEFAULT_TREBLE_SETTING 50
79#define DEFAULT_LOUDNESS_SETTING 0
80#define DEFAULT_BASS_BOOST_SETTING 0
81#define DEFAULT_CONTRAST_SETTING 0
82#define DEFAULT_POWEROFF_SETTING 0
83#define DEFAULT_BACKLIGHT_SETTING 5
84#define DEFAULT_WPS_DISPLAY 0
85
86#endif /* __SETTINGS_H__ */