mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-07 13:45:03 -05:00
Philip Pertermanns peak meter
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2436 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
acfacd938c
commit
bb572c4412
10 changed files with 212 additions and 6 deletions
|
|
@ -834,3 +834,33 @@ id: LANG_SET_BOOL_NO
|
||||||
desc: bool false representation
|
desc: bool false representation
|
||||||
eng: "No"
|
eng: "No"
|
||||||
new:
|
new:
|
||||||
|
|
||||||
|
id: LANG_PM_MENU
|
||||||
|
desc: in the display menu
|
||||||
|
eng: "Peak meter"
|
||||||
|
new:
|
||||||
|
|
||||||
|
id: LANG_PM_RELEASE
|
||||||
|
desc: in the peak meter menu
|
||||||
|
eng: "Peak release"
|
||||||
|
new:
|
||||||
|
|
||||||
|
id: LANG_PM_PEAK_HOLD
|
||||||
|
desc: in the peak meter menu
|
||||||
|
eng: "Peak hold time"
|
||||||
|
new:
|
||||||
|
|
||||||
|
id: LANG_PM_CLIP_HOLD
|
||||||
|
desc: in the peak meter menu
|
||||||
|
eng: "Clip hold time"
|
||||||
|
new:
|
||||||
|
|
||||||
|
id: LANG_PM_ETERNAL
|
||||||
|
desc: in the peak meter menu
|
||||||
|
eng: "eternal"
|
||||||
|
new:
|
||||||
|
|
||||||
|
id: LANG_PM_UNITS_PER_READ
|
||||||
|
desc: in the peak meter menu
|
||||||
|
eng: "Units per read"
|
||||||
|
new:
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,12 @@ char rockboxdir[] = ROCKBOX_DIR; /* config/font/data file directory */
|
||||||
#define CONFIG_BLOCK_SIZE 512
|
#define CONFIG_BLOCK_SIZE 512
|
||||||
#define RTC_BLOCK_SIZE 44
|
#define RTC_BLOCK_SIZE 44
|
||||||
|
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
#define MAX_LINES 10
|
||||||
|
#else
|
||||||
|
#define MAX_LINES 2
|
||||||
|
#endif
|
||||||
|
|
||||||
/********************************************
|
/********************************************
|
||||||
|
|
||||||
Config block as saved on the battery-packed RTC user RAM memory block
|
Config block as saved on the battery-packed RTC user RAM memory block
|
||||||
|
|
@ -80,6 +86,9 @@ offset abs
|
||||||
0x16 0x2a <(int) Byte offset into resume file>
|
0x16 0x2a <(int) Byte offset into resume file>
|
||||||
0x1a 0x2e <time until disk spindown>
|
0x1a 0x2e <time until disk spindown>
|
||||||
0x1b 0x2f <browse current, play selected>
|
0x1b 0x2f <browse current, play selected>
|
||||||
|
0x1c 0x30 <peak meter hold timeout (bit 0-4)>
|
||||||
|
0x1d 0x31 <peak meter clip hold timeout (bit 0-4)>
|
||||||
|
0x1e 0x32 <peak meter release step size>
|
||||||
|
|
||||||
<all unused space filled with 0xff>
|
<all unused space filled with 0xff>
|
||||||
|
|
||||||
|
|
@ -290,6 +299,10 @@ int settings_save( void )
|
||||||
(((global_settings.browse_current & 1)) |
|
(((global_settings.browse_current & 1)) |
|
||||||
((global_settings.play_selected & 1) << 1));
|
((global_settings.play_selected & 1) << 1));
|
||||||
|
|
||||||
|
config_block[0x1c] = (unsigned char)global_settings.peak_meter_hold;
|
||||||
|
config_block[0x1d] = (unsigned char)global_settings.peak_meter_clip_hold;
|
||||||
|
config_block[0x1e] = (unsigned char)global_settings.peak_meter_release;
|
||||||
|
|
||||||
memcpy(&config_block[0xF8], &global_settings.resume_seed, 4);
|
memcpy(&config_block[0xF8], &global_settings.resume_seed, 4);
|
||||||
|
|
||||||
memcpy(&config_block[0x24], &global_settings.total_uptime, 4);
|
memcpy(&config_block[0x24], &global_settings.total_uptime, 4);
|
||||||
|
|
@ -400,6 +413,15 @@ void settings_load(void)
|
||||||
global_settings.play_selected = (config_block[0x1b] >> 1) & 1;
|
global_settings.play_selected = (config_block[0x1b] >> 1) & 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (config_block[0x1c] != 0xFF)
|
||||||
|
global_settings.peak_meter_hold = (config_block[0x1c]) & 0x1f;
|
||||||
|
|
||||||
|
if (config_block[0x1d] != 0xFF)
|
||||||
|
global_settings.peak_meter_clip_hold = (config_block[0x1d]) & 0x1f;
|
||||||
|
|
||||||
|
if (config_block[0x1e] != 0xFF)
|
||||||
|
global_settings.peak_meter_release = config_block[0x1e];
|
||||||
|
|
||||||
memcpy(&global_settings.resume_seed, &config_block[0xF8], 4);
|
memcpy(&global_settings.resume_seed, &config_block[0xF8], 4);
|
||||||
|
|
||||||
if (config_block[0x24] != 0xFF)
|
if (config_block[0x24] != 0xFF)
|
||||||
|
|
@ -471,7 +493,7 @@ bool settings_load_eq(char* file)
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
snprintf(buf_disp,sizeof(buf_disp),"[%s]%s", buf_set, buf_val);
|
snprintf(buf_disp,sizeof(buf_disp),"[%s]%s", buf_set, buf_val);
|
||||||
lcd_puts(0,line++ % 6,buf_disp);
|
lcd_puts(0,line++ % MAX_LINES, buf_disp);
|
||||||
lcd_update();
|
lcd_update();
|
||||||
sleep(HZ/2);
|
sleep(HZ/2);
|
||||||
if (!strcasecmp(buf_set,"volume")) {
|
if (!strcasecmp(buf_set,"volume")) {
|
||||||
|
|
@ -610,6 +632,9 @@ void settings_reset(void) {
|
||||||
global_settings.disk_spindown = 5;
|
global_settings.disk_spindown = 5;
|
||||||
global_settings.browse_current = false;
|
global_settings.browse_current = false;
|
||||||
global_settings.play_selected = true;
|
global_settings.play_selected = true;
|
||||||
|
global_settings.peak_meter_release = 8;
|
||||||
|
global_settings.peak_meter_hold = 1;
|
||||||
|
global_settings.peak_meter_clip_hold = 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,10 @@ struct user_settings
|
||||||
int ff_rewind_accel; /* FF/Rewind acceleration (in seconds per doubling) */
|
int ff_rewind_accel; /* FF/Rewind acceleration (in seconds per doubling) */
|
||||||
int disk_spindown; /* time until disk spindown, in seconds (0=off) */
|
int disk_spindown; /* time until disk spindown, in seconds (0=off) */
|
||||||
|
|
||||||
|
int peak_meter_release; /* units per read out */
|
||||||
|
int peak_meter_hold; /* hold time for peak meter in 1/100 s */
|
||||||
|
int peak_meter_clip_hold; /* hold time for clips */
|
||||||
|
|
||||||
/* show status bar */
|
/* show status bar */
|
||||||
bool statusbar; /* 0=hide, 1=show */
|
bool statusbar; /* 0=hide, 1=show */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@
|
||||||
#include "powermgmt.h"
|
#include "powermgmt.h"
|
||||||
#include "rtc.h"
|
#include "rtc.h"
|
||||||
#include "ata.h"
|
#include "ata.h"
|
||||||
|
#include "peakmeter.h"
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
|
|
||||||
static bool contrast(void)
|
static bool contrast(void)
|
||||||
|
|
@ -44,6 +45,68 @@ static bool contrast(void)
|
||||||
lcd_set_contrast, 1, 0, MAX_CONTRAST_SETTING );
|
lcd_set_contrast, 1, 0, MAX_CONTRAST_SETTING );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
/**
|
||||||
|
* Menu to set the hold time of normal peaks.
|
||||||
|
*/
|
||||||
|
static bool peak_meter_hold(void) {
|
||||||
|
char* names[] = { str(LANG_OFF),
|
||||||
|
"200 ms ", "300 ms ", "500 ms ", "1 s ", "2 s ",
|
||||||
|
"3 s ", "4 s ", "5 s ", "6 s ", "7 s",
|
||||||
|
"8 s", "9 s", "10 s", "15 s", "20 s",
|
||||||
|
"30 s", "1 min"
|
||||||
|
};
|
||||||
|
return set_option( str(LANG_PM_PEAK_HOLD),
|
||||||
|
&global_settings.peak_meter_hold, names,
|
||||||
|
18, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Menu to set the hold time of clips.
|
||||||
|
*/
|
||||||
|
static bool peak_meter_clip_hold(void) {
|
||||||
|
char* names[] = { str(LANG_PM_ETERNAL),
|
||||||
|
"1s ", "2s ", "3s ", "4s ", "5s ",
|
||||||
|
"6s ", "7s ", "8s ", "9s ", "10s",
|
||||||
|
"15s", "20s", "25s", "30s", "45s",
|
||||||
|
"60s", "90s", "2min", "3min", "5min",
|
||||||
|
"10min", "20min", "45min", "90min"
|
||||||
|
};
|
||||||
|
return set_option( str(LANG_PM_CLIP_HOLD),
|
||||||
|
&global_settings.peak_meter_clip_hold, names,
|
||||||
|
25, peak_meter_set_clip_hold);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Menu to set the release time of the peak meter.
|
||||||
|
*/
|
||||||
|
static bool peak_meter_release(void) {
|
||||||
|
return set_int( str(LANG_PM_RELEASE), str(LANG_PM_UNITS_PER_READ),
|
||||||
|
&global_settings.peak_meter_release,
|
||||||
|
NULL, 1, 1, LCD_WIDTH);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Menu to configure the peak meter
|
||||||
|
*/
|
||||||
|
static bool peak_meter_menu(void)
|
||||||
|
{
|
||||||
|
int m;
|
||||||
|
bool result;
|
||||||
|
|
||||||
|
struct menu_items items[] = {
|
||||||
|
{ str(LANG_PM_RELEASE) , peak_meter_release },
|
||||||
|
{ str(LANG_PM_PEAK_HOLD), peak_meter_hold },
|
||||||
|
{ str(LANG_PM_CLIP_HOLD), peak_meter_clip_hold },
|
||||||
|
};
|
||||||
|
|
||||||
|
m=menu_init( items, sizeof items / sizeof(struct menu_items) );
|
||||||
|
result = menu_run(m);
|
||||||
|
menu_exit(m);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef HAVE_RECORDER_KEYPAD
|
#ifndef HAVE_RECORDER_KEYPAD
|
||||||
static bool shuffle(void)
|
static bool shuffle(void)
|
||||||
{
|
{
|
||||||
|
|
@ -313,6 +376,9 @@ static bool display_settings_menu(void)
|
||||||
{ str(LANG_SCROLL_MENU), scroll_speed },
|
{ str(LANG_SCROLL_MENU), scroll_speed },
|
||||||
{ str(LANG_BACKLIGHT), backlight_timer },
|
{ str(LANG_BACKLIGHT), backlight_timer },
|
||||||
{ str(LANG_CONTRAST), contrast },
|
{ str(LANG_CONTRAST), contrast },
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
{ str(LANG_PM_MENU), peak_meter_menu },
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
m=menu_init( items, sizeof items / sizeof(struct menu_items) );
|
m=menu_init( items, sizeof items / sizeof(struct menu_items) );
|
||||||
|
|
|
||||||
|
|
@ -37,10 +37,13 @@
|
||||||
#include "status.h"
|
#include "status.h"
|
||||||
#include "wps-display.h"
|
#include "wps-display.h"
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
|
#include "mas.h"
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
|
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
#include "icons.h"
|
#include "icons.h"
|
||||||
#include "widgets.h"
|
#include "widgets.h"
|
||||||
|
#include "peakmeter.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define WPS_CONFIG ROCKBOX_DIR "/default.wps"
|
#define WPS_CONFIG ROCKBOX_DIR "/default.wps"
|
||||||
|
|
@ -52,12 +55,12 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FORMAT_BUFFER_SIZE 300
|
#define FORMAT_BUFFER_SIZE 300
|
||||||
|
|
||||||
struct format_flags
|
struct format_flags
|
||||||
{
|
{
|
||||||
bool dynamic;
|
bool dynamic;
|
||||||
bool scroll;
|
bool scroll;
|
||||||
bool player_progress;
|
bool player_progress;
|
||||||
|
bool peak_meter;
|
||||||
};
|
};
|
||||||
|
|
||||||
static char format_buffer[FORMAT_BUFFER_SIZE];
|
static char format_buffer[FORMAT_BUFFER_SIZE];
|
||||||
|
|
@ -331,6 +334,13 @@ static char* get_tag(struct mp3entry* id3,
|
||||||
case 't': /* Total Time */
|
case 't': /* Total Time */
|
||||||
format_time(buf, buf_size, id3->length);
|
format_time(buf, buf_size, id3->length);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
case 'm': /* Peak Meter */
|
||||||
|
flags->peak_meter = true;
|
||||||
|
flags->dynamic = true;
|
||||||
|
return "\x01";
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -518,6 +528,15 @@ bool wps_refresh(struct mp3entry* id3, int ffwd_offset, bool refresh_all)
|
||||||
bool scroll_active = false;
|
bool scroll_active = false;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
/* to find out wether the peak meter is enabled we
|
||||||
|
assume it wasn't until we find a line that contains
|
||||||
|
the peak meter. We can't use peak_meter_enabled itself
|
||||||
|
because that would mean to turn off the meter thread
|
||||||
|
temporarily. (That shouldn't matter unless yield
|
||||||
|
or sleep is called but who knows...)
|
||||||
|
*/
|
||||||
|
bool enable_pm = false;
|
||||||
|
|
||||||
if (!id3)
|
if (!id3)
|
||||||
{
|
{
|
||||||
lcd_stop_scroll();
|
lcd_stop_scroll();
|
||||||
|
|
@ -537,6 +556,7 @@ bool wps_refresh(struct mp3entry* id3, int ffwd_offset, bool refresh_all)
|
||||||
flags.dynamic = false;
|
flags.dynamic = false;
|
||||||
flags.scroll = false;
|
flags.scroll = false;
|
||||||
flags.player_progress = false;
|
flags.player_progress = false;
|
||||||
|
flags.peak_meter = false;
|
||||||
format_display(buf, sizeof(buf), id3, format_lines[i], &flags);
|
format_display(buf, sizeof(buf), id3, format_lines[i], &flags);
|
||||||
dynamic_lines[i] = flags.dynamic;
|
dynamic_lines[i] = flags.dynamic;
|
||||||
|
|
||||||
|
|
@ -556,6 +576,30 @@ bool wps_refresh(struct mp3entry* id3, int ffwd_offset, bool refresh_all)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
if (flags.peak_meter) {
|
||||||
|
int peak_meter_y;
|
||||||
|
int w,h;
|
||||||
|
int offset = global_settings.statusbar ? STATUSBAR_HEIGHT : 0;
|
||||||
|
lcd_getstringsize("M",&w,&h);
|
||||||
|
|
||||||
|
peak_meter_y = i * h + offset;
|
||||||
|
|
||||||
|
/* The user might decide to have the peak meter in the last
|
||||||
|
line so that it is only displayed if no status bar is
|
||||||
|
visible. If so we neither want do draw nor enable the
|
||||||
|
peak meter. */
|
||||||
|
if (peak_meter_y + h <= LCD_HEIGHT) {
|
||||||
|
/* found a line with a peak meter -> remember that we must
|
||||||
|
enable it later */
|
||||||
|
enable_pm = true;
|
||||||
|
peak_meter_draw(0, peak_meter_y, LCD_WIDTH,
|
||||||
|
MIN(h, LCD_HEIGHT - peak_meter_y));
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!scroll_active && flags.scroll && !flags.dynamic)
|
if (!scroll_active && flags.scroll && !flags.dynamic)
|
||||||
{
|
{
|
||||||
scroll_active = true;
|
scroll_active = true;
|
||||||
|
|
@ -567,6 +611,10 @@ bool wps_refresh(struct mp3entry* id3, int ffwd_offset, bool refresh_all)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Now we know wether the peak meter is used.
|
||||||
|
So we can enable / disable the peak meter thread */
|
||||||
|
peak_meter_enabled = enable_pm;
|
||||||
lcd_update();
|
lcd_update();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -602,7 +650,8 @@ void wps_display(struct mp3entry* id3)
|
||||||
"%ia\n"
|
"%ia\n"
|
||||||
"%fb kbit %fv\n"
|
"%fb kbit %fv\n"
|
||||||
"Time: %pc / %pt\n"
|
"Time: %pc / %pt\n"
|
||||||
"%pb\n");
|
"%pb\n"
|
||||||
|
"%pm\n");
|
||||||
#else
|
#else
|
||||||
wps_format("%s%pp/%pe: %?ia<%ia - >%?it<%it|%fm>\n"
|
wps_format("%s%pp/%pe: %?ia<%ia - >%?it<%it|%fm>\n"
|
||||||
"%pc/%pt\n");
|
"%pc/%pt\n");
|
||||||
|
|
|
||||||
24
apps/wps.c
24
apps/wps.c
|
|
@ -40,6 +40,7 @@
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
#include "icons.h"
|
#include "icons.h"
|
||||||
|
#include "peakmeter.h"
|
||||||
#endif
|
#endif
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
#define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */
|
#define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */
|
||||||
|
|
@ -610,7 +611,7 @@ static bool menu(void)
|
||||||
/* demonstrates showing different formats from playtune */
|
/* demonstrates showing different formats from playtune */
|
||||||
int wps_show(void)
|
int wps_show(void)
|
||||||
{
|
{
|
||||||
int button, lastbutton = 0;
|
int button = 0, lastbutton = 0;
|
||||||
int old_repeat_mask;
|
int old_repeat_mask;
|
||||||
bool ignore_keyup = true;
|
bool ignore_keyup = true;
|
||||||
bool restore = false;
|
bool restore = false;
|
||||||
|
|
@ -644,7 +645,27 @@ int wps_show(void)
|
||||||
|
|
||||||
while ( 1 )
|
while ( 1 )
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
/* when the peak meter is enabled we want to have a
|
||||||
|
few extra updates to make it look smooth. On the
|
||||||
|
other hand we don't want to waste energy if it
|
||||||
|
isn't displayed */
|
||||||
|
if (peak_meter_enabled) {
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < 4; i++) {
|
||||||
|
button = button_get_w_tmo(HZ / 20);
|
||||||
|
if (button != 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
wps_refresh(id3, 0, false);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
button = button_get_w_tmo(HZ/5);
|
||||||
|
}
|
||||||
|
#else
|
||||||
button = button_get_w_tmo(HZ/5);
|
button = button_get_w_tmo(HZ/5);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* discard first event if it's a button release */
|
/* discard first event if it's a button release */
|
||||||
if (button && ignore_keyup)
|
if (button && ignore_keyup)
|
||||||
|
|
@ -839,4 +860,5 @@ int wps_show(void)
|
||||||
if(button != BUTTON_NONE)
|
if(button != BUTTON_NONE)
|
||||||
lastbutton = button;
|
lastbutton = button;
|
||||||
}
|
}
|
||||||
|
return 0; /* unreachable - just to reduce compiler warnings */
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,8 @@ Playlist/Song Info Tags:
|
||||||
Player: This will display a 1 character "cup" that empties as the
|
Player: This will display a 1 character "cup" that empties as the
|
||||||
progresses.
|
progresses.
|
||||||
Recorder: This will replace the entire line with a progress bar.
|
Recorder: This will replace the entire line with a progress bar.
|
||||||
|
%pm : Peak Meter (Recorder only)
|
||||||
|
The entire line is used as volume peak meter.
|
||||||
%pp : Playlist Position
|
%pp : Playlist Position
|
||||||
%pe : Total Number of Playlist Entries
|
%pe : Total Number of Playlist Entries
|
||||||
%pc : Current Time In Song
|
%pc : Current Time In Song
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,8 @@
|
||||||
#define MAS_BANK_D0 0
|
#define MAS_BANK_D0 0
|
||||||
#define MAS_BANK_D1 1
|
#define MAS_BANK_D1 1
|
||||||
|
|
||||||
|
#define MAX_PEAK 0x8000
|
||||||
|
|
||||||
/*
|
/*
|
||||||
MAS I2C defs
|
MAS I2C defs
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ FIRMSRCS = lcd-recorder.c power.c sprintf.c id3.c usb.c \
|
||||||
|
|
||||||
APPS = main.c tree.c menu.c credits.c main_menu.c icons.c language.c \
|
APPS = main.c tree.c menu.c credits.c main_menu.c icons.c language.c \
|
||||||
playlist.c showtext.c wps.c wps-display.c settings.c status.c \
|
playlist.c showtext.c wps.c wps-display.c settings.c status.c \
|
||||||
screens.c
|
screens.c peakmeter.c
|
||||||
|
|
||||||
MENUS = games_menu.c demo_menu.c settings_menu.c sound_menu.c
|
MENUS = games_menu.c demo_menu.c settings_menu.c sound_menu.c
|
||||||
|
|
||||||
|
|
@ -203,6 +203,9 @@ $(OBJDIR)/status.o: $(APPDIR)/status.c
|
||||||
$(OBJDIR)/screens.o: $(APPDIR)/screens.c
|
$(OBJDIR)/screens.o: $(APPDIR)/screens.c
|
||||||
$(CC) $(APPCFLAGS) -c $< -o $@
|
$(CC) $(APPCFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
$(OBJDIR)/peakmeter.o: $(RECDIR)/peakmeter.c
|
||||||
|
$(CC) $(APPCFLAGS) -c $< -o $@
|
||||||
|
|
||||||
$(OBJDIR)/version.o: $(FIRMWAREDIR)/version.c
|
$(OBJDIR)/version.o: $(FIRMWAREDIR)/version.c
|
||||||
$(CC) $(CFLAGS) -c $< -o $@
|
$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ FIRMSRCS = lcd-recorder.c sprintf.c id3.c debug.c usb.c mpeg.c power.c\
|
||||||
|
|
||||||
APPS = main.c tree.c menu.c credits.c main_menu.c language.c\
|
APPS = main.c tree.c menu.c credits.c main_menu.c language.c\
|
||||||
playlist.c showtext.c wps.c wps-display.c settings.c status.c icons.c\
|
playlist.c showtext.c wps.c wps-display.c settings.c status.c icons.c\
|
||||||
screens.c
|
screens.c peakmeter.c
|
||||||
|
|
||||||
MENUS = games_menu.c demo_menu.c settings_menu.c sound_menu.c
|
MENUS = games_menu.c demo_menu.c settings_menu.c sound_menu.c
|
||||||
|
|
||||||
|
|
@ -242,6 +242,9 @@ $(OBJDIR)/status.o: $(APPDIR)/status.c
|
||||||
$(OBJDIR)/screens.o: $(APPDIR)/screens.c
|
$(OBJDIR)/screens.o: $(APPDIR)/screens.c
|
||||||
$(CC) $(APPCFLAGS) -c $< -o $@
|
$(CC) $(APPCFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
$(OBJDIR)/peakmeter.o: $(RECDIR)/peakmeter.c
|
||||||
|
$(CC) $(APPCFLAGS) -c $< -o $@
|
||||||
|
|
||||||
$(OBJDIR)/id3.o: $(FIRMWAREDIR)/id3.c
|
$(OBJDIR)/id3.o: $(FIRMWAREDIR)/id3.c
|
||||||
$(CC) $(APPCFLAGS) -c $< -o $@
|
$(CC) $(APPCFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue