Integrate the warble tool in the regular build system.

Only sdl app builds work properly for now.

Change-Id: I7807d42f69b8577b401e48cdc63de71e54f49217
This commit is contained in:
Frank Gevaerts 2012-03-03 19:37:40 +01:00
parent 13a7c9ac70
commit 466a7c6a40
8 changed files with 110 additions and 4 deletions

View File

@ -9,7 +9,7 @@
struct buflib_context core_ctx;
/* defined in linker script */
#if (CONFIG_PLATFORM & PLATFORM_NATIVE)
#if (CONFIG_PLATFORM & PLATFORM_NATIVE) && !defined(__PCTOOL__)
#if defined(IPOD_VIDEO) && !defined(BOOTLOADER)
extern unsigned char *audiobufend_lds[];
unsigned char *audiobufend;

View File

@ -192,6 +192,7 @@ enum {
#include "system-sdl.h"
#define NEED_GENERIC_BYTESWAPS
#elif defined(__PCTOOL__)
#include "system-sdl.h"
#define NEED_GENERIC_BYTESWAPS
#endif
#include "bitswap.h"

49
lib/rbcodec/test/SOURCES Normal file
View File

@ -0,0 +1,49 @@
warble.c
../../../apps/metadata.c
../../../apps/replaygain.c
../../../firmware/buflib.c
../../../firmware/core_alloc.c
../../../firmware/common/strlcpy.c
../../../firmware/common/unicode.c
../../../firmware/common/structec.c
../../../apps/mp3data.c
../../../apps/fixedpoint.c
../../../uisimulator/common/io.c
../../../apps/compressor.c
../../../apps/dsp.c
../../../apps/eq.c
../../../apps/tdspeed.c
../../../apps/metadata/a52.c
../../../apps/metadata/adx.c
../../../apps/metadata/aiff.c
../../../apps/metadata/ape.c
../../../apps/metadata/asap.c
../../../apps/metadata/asf.c
../../../apps/metadata/au.c
../../../apps/metadata/ay.c
../../../apps/metadata/flac.c
../../../apps/metadata/gbs.c
../../../apps/metadata/hes.c
../../../apps/metadata/id3tags.c
../../../apps/metadata/kss.c
../../../apps/metadata/metadata_common.c
../../../apps/metadata/mod.c
../../../apps/metadata/monkeys.c
../../../apps/metadata/mp3.c
../../../apps/metadata/mp4.c
../../../apps/metadata/mpc.c
../../../apps/metadata/nsf.c
../../../apps/metadata/ogg.c
../../../apps/metadata/oma.c
../../../apps/metadata/rm.c
../../../apps/metadata/sgc.c
../../../apps/metadata/sid.c
../../../apps/metadata/smaf.c
../../../apps/metadata/spc.c
../../../apps/metadata/tta.c
../../../apps/metadata/vgm.c
../../../apps/metadata/vorbis.c
../../../apps/metadata/vox.c
../../../apps/metadata/wave.c
../../../apps/metadata/wavpack.c

View File

@ -358,9 +358,11 @@ static void perform_config(void)
codec_action_param = atoi(val);
} else if (!strncmp(name, "tempo=", 6)) {
dsp_set_timestretch(atof(val) * PITCH_SPEED_100);
#ifdef HAVE_SW_VOLUME_CONTROL
} else if (!strncmp(name, "vol=", 4)) {
global_settings.volume = atoi(val);
dsp_callback(DSP_CALLBACK_SET_SW_VOLUME, 0);
#endif
} else {
fprintf(stderr, "error: unrecognized config \"%.*s\"\n",
(int)(eq - name), name);
@ -775,7 +777,9 @@ static void print_help(const char *progname)
" rate=<n> Multiply rate by <n> [1.0]\n"
" seek=<n> Seek <n> ms into the file\n"
" tempo=<n> Timestretch by <n> [1.0]\n"
#ifdef HAVE_SW_VOLUME_CONTROL
" vol=<n> Set volume to <n> dB [0]\n"
#endif
" wait=<n> Don't apply remaining configuration until\n"
" <n> total samples have output\n"
"\n"

View File

@ -0,0 +1,37 @@
# __________ __ ___.
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
# \/ \/ \/ \/ \/
# $Id$
#
include $(ROOTDIR)/tools/functions.make
include $(ROOTDIR)/apps/codecs/codecs.make
FLAGS=-g -D__PCTOOL__ $(TARGET) -Wall
SRC= $(call preprocess, $(ROOTDIR)/lib/rbcodec/test/SOURCES)
INCLUDES += -I$(ROOTDIR)/apps -I$(ROOTDIR)/apps/codecs -I$(ROOTDIR)/apps/codecs/lib \
-I$(ROOTDIR)/apps/gui -I$(ROOTDIR)/apps/metadata
INCLUDES += -I$(ROOTDIR)/firmware/export -I$(ROOTDIR)/firmware/include \
-I$(ROOTDIR)/firmware/target/hosted \
-I$(ROOTDIR)/firmware/target/hosted/sdl
GCCOPTS+=-D__PCTOOL__ -g -std=gnu99 `$(SDLCONFIG) --cflags` -DCODECDIR="\"$(CODECDIR)\""
LIBS=`$(SDLCONFIG) --libs` -lc
ifneq ($(findstring MINGW,$(shell uname)),MINGW)
LIBS += -ldl
endif
.SECONDEXPANSION: # $$(OBJ) is not populated until after this
$(BUILDDIR)/$(BINARY): $(CODECS)
$(BUILDDIR)/$(BINARY): $$(OBJ)
@echo LD $(BINARY)
$(SILENT)$(HOSTCC) $(SIMFLAGS) $(LIBS) -o $@ $+

View File

@ -15,6 +15,8 @@ INCLUDES = -I$(ROOTDIR)/apps/gui \
-I$(ROOTDIR)/apps/gui/skin_engine \
-I$(ROOTDIR)/firmware/export \
-I$(ROOTDIR)/firmware/include \
-I$(ROOTDIR)/firmware/target/hosted \
-I$(ROOTDIR)/firmware/target/hosted/sdl \
-I$(ROOTDIR)/apps \
-I$(ROOTDIR)/apps/recorder \
-I$(ROOTDIR)/apps/radio \

13
tools/configure vendored
View File

@ -3383,7 +3383,7 @@ esac
if [ "$ARG_TYPE" ]; then
btype=$ARG_TYPE
else
echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool$gdbstub: (Defaults to N)"
echo "Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, (C)heckWPS, (D)atabase tool, (W)arble codec tool$gdbstub: (Defaults to N)"
btype=`input`;
fi
@ -3484,6 +3484,17 @@ fi
echo "Database tool build selected"
;;
[Ww])
uname=`uname`
simcc "warble"
toolset='';
t_cpu='';
GCCOPTS='';
extradefines="$extradefines -DDEBUG"
output='warble.'${modelname};
archosrom='';
echo "Warble build selected"
;;
*)
if [ "$modelname" = "sansae200r" ]; then
echo "Do not use the e200R target for regular builds. Use e200 instead."

View File

@ -87,11 +87,13 @@ ifneq (,$(findstring bootloader,$(APPSDIR)))
else ifneq (,$(findstring bootbox,$(APPSDIR)))
BOOTBOXLDOPTS = -Wl,--gc-sections
include $(APPSDIR)/bootbox.make
else ifneq (,$(findstring checkwps,$(APPSDIR)))
else ifneq (,$(findstring checkwps,$(APP_TYPE)))
include $(APPSDIR)/checkwps.make
include $(ROOTDIR)/lib/skin_parser/skin_parser.make
else ifneq (,$(findstring database,$(APPSDIR)))
else ifneq (,$(findstring database,$(APP_TYPE)))
include $(APPSDIR)/database.make
else ifneq (,$(findstring warble,$(APP_TYPE)))
include $(ROOTDIR)/lib/rbcodec/test/warble.make
else
include $(APPSDIR)/apps.make
include $(APPSDIR)/lang/lang.make