1
0
Fork 0
forked from len0rd/rockbox

Moved settings.c/h to apps/

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1215 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Björn Stenberg 2002-06-27 00:20:00 +00:00
parent 2d98ae3d03
commit f80d8a704d
7 changed files with 206 additions and 10 deletions

View file

@ -103,7 +103,9 @@ void init(void)
backlight_init(); backlight_init();
button_init(); button_init();
mpeg_init(); mpeg_init( DEFAULT_VOLUME_SETTING,
DEFAULT_BASS_SETTING,
DEFAULT_TREBLE_SETTING );
} }
int main(void) int main(void)

103
apps/settings.c Normal file
View file

@ -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
}

86
apps/settings.h Normal file
View file

@ -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__ */

View file

@ -24,7 +24,6 @@
#include "i2c.h" #include "i2c.h"
#include "debug.h" #include "debug.h"
#include "rtc.h" #include "rtc.h"
#include "settings.h"
#define BACKLIGHT_ON 1 #define BACKLIGHT_ON 1
#define BACKLIGHT_OFF 2 #define BACKLIGHT_OFF 2
@ -34,6 +33,7 @@ static char backlight_stack[0x100];
static struct event_queue backlight_queue; static struct event_queue backlight_queue;
static int backlight_timer; static int backlight_timer;
static int backlight_timeout = 5;
void backlight_thread(void) void backlight_thread(void)
{ {
@ -45,7 +45,7 @@ void backlight_thread(void)
switch(ev.id) switch(ev.id)
{ {
case BACKLIGHT_ON: case BACKLIGHT_ON:
backlight_timer = HZ*global_settings.backlight; backlight_timer = HZ*backlight_timeout;
if(backlight_timer) if(backlight_timer)
{ {
#ifdef HAVE_RTC #ifdef HAVE_RTC
@ -76,6 +76,12 @@ void backlight_off(void)
queue_post(&backlight_queue, BACKLIGHT_OFF, NULL); queue_post(&backlight_queue, BACKLIGHT_OFF, NULL);
} }
void backlight_time(int seconds)
{
backlight_timeout = seconds;
backlight_on();
}
void backlight_tick(void) void backlight_tick(void)
{ {
if(backlight_timer) if(backlight_timer)

View file

@ -23,5 +23,6 @@ void backlight_init(void);
void backlight_on(void); void backlight_on(void);
void backlight_off(void); void backlight_off(void);
void backlight_tick(void); void backlight_tick(void);
void backlight_time(int seconds);
#endif #endif

View file

@ -27,7 +27,6 @@
#include "thread.h" #include "thread.h"
#include "panic.h" #include "panic.h"
#include "file.h" #include "file.h"
#include "settings.h"
#include "id3.h" #include "id3.h"
#define MPEG_STACK_SIZE 0x2000 #define MPEG_STACK_SIZE 0x2000
@ -672,7 +671,7 @@ void mpeg_treble(int percent)
#endif #endif
} }
void mpeg_init(void) void mpeg_init(int volume, int bass, int treble)
{ {
#ifdef ARCHOS_RECORDER #ifdef ARCHOS_RECORDER
int rc; int rc;
@ -737,8 +736,7 @@ void mpeg_init(void)
dac_config(0x04); /* DAC on, all else off */ dac_config(0x04); /* DAC on, all else off */
#endif #endif
mpeg_bass(DEFAULT_BASS_SETTING); mpeg_bass(bass);
mpeg_treble(DEFAULT_TREBLE_SETTING); mpeg_treble(treble);
mpeg_volume(DEFAULT_VOLUME_SETTING); mpeg_volume(volume);
} }

View file

@ -19,7 +19,7 @@
#ifndef _MPEG_H_ #ifndef _MPEG_H_
#define _MPEG_H_ #define _MPEG_H_
void mpeg_init(void); void mpeg_init(int volume, int bass, int treble);
void mpeg_play(char* trackname); void mpeg_play(char* trackname);
void mpeg_stop(void); void mpeg_stop(void);
void mpeg_pause(void); void mpeg_pause(void);