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:
parent
2d98ae3d03
commit
f80d8a704d
7 changed files with 206 additions and 10 deletions
|
|
@ -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)
|
||||
|
|
|
|||
103
apps/settings.c
Normal file
103
apps/settings.c
Normal 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
86
apps/settings.h
Normal 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__ */
|
||||
|
|
@ -24,7 +24,6 @@
|
|||
#include "i2c.h"
|
||||
#include "debug.h"
|
||||
#include "rtc.h"
|
||||
#include "settings.h"
|
||||
|
||||
#define BACKLIGHT_ON 1
|
||||
#define BACKLIGHT_OFF 2
|
||||
|
|
@ -34,6 +33,7 @@ static char backlight_stack[0x100];
|
|||
static struct event_queue backlight_queue;
|
||||
|
||||
static int backlight_timer;
|
||||
static int backlight_timeout = 5;
|
||||
|
||||
void backlight_thread(void)
|
||||
{
|
||||
|
|
@ -45,7 +45,7 @@ void backlight_thread(void)
|
|||
switch(ev.id)
|
||||
{
|
||||
case BACKLIGHT_ON:
|
||||
backlight_timer = HZ*global_settings.backlight;
|
||||
backlight_timer = HZ*backlight_timeout;
|
||||
if(backlight_timer)
|
||||
{
|
||||
#ifdef HAVE_RTC
|
||||
|
|
@ -76,6 +76,12 @@ void backlight_off(void)
|
|||
queue_post(&backlight_queue, BACKLIGHT_OFF, NULL);
|
||||
}
|
||||
|
||||
void backlight_time(int seconds)
|
||||
{
|
||||
backlight_timeout = seconds;
|
||||
backlight_on();
|
||||
}
|
||||
|
||||
void backlight_tick(void)
|
||||
{
|
||||
if(backlight_timer)
|
||||
|
|
|
|||
|
|
@ -23,5 +23,6 @@ void backlight_init(void);
|
|||
void backlight_on(void);
|
||||
void backlight_off(void);
|
||||
void backlight_tick(void);
|
||||
void backlight_time(int seconds);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
#include "thread.h"
|
||||
#include "panic.h"
|
||||
#include "file.h"
|
||||
#include "settings.h"
|
||||
#include "id3.h"
|
||||
|
||||
#define MPEG_STACK_SIZE 0x2000
|
||||
|
|
@ -672,7 +671,7 @@ void mpeg_treble(int percent)
|
|||
#endif
|
||||
}
|
||||
|
||||
void mpeg_init(void)
|
||||
void mpeg_init(int volume, int bass, int treble)
|
||||
{
|
||||
#ifdef ARCHOS_RECORDER
|
||||
int rc;
|
||||
|
|
@ -737,8 +736,7 @@ void mpeg_init(void)
|
|||
dac_config(0x04); /* DAC on, all else off */
|
||||
#endif
|
||||
|
||||
mpeg_bass(DEFAULT_BASS_SETTING);
|
||||
mpeg_treble(DEFAULT_TREBLE_SETTING);
|
||||
mpeg_volume(DEFAULT_VOLUME_SETTING);
|
||||
|
||||
mpeg_bass(bass);
|
||||
mpeg_treble(treble);
|
||||
mpeg_volume(volume);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
#ifndef _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_stop(void);
|
||||
void mpeg_pause(void);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue