Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,6 @@
path = project/lib/hashlink
url = https://github.com/HaxeFoundation/hashlink
shallow = true
[submodule "project/lib/sdl_sound"]
path = project/lib/sdl_sound
url = https://github.com/icculus/SDL_sound
1 change: 1 addition & 0 deletions include.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
<define name="lime-opengl" if="desktop" unless="html5" />
<define name="lime-opengles" if="emscripten || mobile" />
<define name="lime-vorbis" if="native" />
<define name="lime-sdlsound" if="native"/>
<define name="lime-webgl" if="html5" />

<define name="no-typedarray-inline" if="cs" />
Expand Down
18 changes: 18 additions & 0 deletions project/Build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
<set name="LIME_PIXMAN" value="1" />
<set name="LIME_PNG" value="1" />
<set name="LIME_SDL" value="1" />
<set name="LIME_SDL_SOUND" value="1" />
<!-- <set name="LIME_SDL_ANGLE" value="1" if="windows" unless="static_link" /> -->
<set name="LIME_SDL_ANGLE" value="1" if="windows LIME_SDL_ANGLE" unless="static_link" />
<set name="LIME_SDL_ANGLE" value="1" if="windows angle" unless="static_link" />
Expand All @@ -51,6 +52,7 @@
<set name="NATIVE_TOOLKIT_HAVE_MBEDTLS" value="1" if="LIME_MBEDTLS" />
<set name="NATIVE_TOOLKIT_HAVE_PNG" value="1" if="LIME_PNG" />
<set name="NATIVE_TOOLKIT_HAVE_SDL" value="1" if="LIME_SDL" />
<set name="NATIVE_TOOLKIT_HAVE_SDL_SOUND" value="1" if="LIME_SDL_SOUND" />

<set name="NATIVE_TOOLKIT_SDL_STATIC" value="1" />
<set name="NATIVE_TOOLKIT_SDL_ANGLE" value="1" if="LIME_SDL_ANGLE" />
Expand Down Expand Up @@ -272,6 +274,20 @@

</section>

<section if="LIME_SDL_SOUND">

<compilerflag value="-DLIME_SDL_SOUND" />
<compilerflag value="-D__IPHONEOS__" if="ios || tvos" />
<compilerflag value="-D__APPLETVOS__" if="tvos" />
<compilerflag value="-DAPPLETV" if="tvos" />
<compilerflag value="-DHAVE_STDIO_H" unless="windows" />
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/sdl_sound/src/" />

<file name="src/media/decoders/SDL_sound.cpp" />
<file name="src/media/decoders/SDL_soundBindings.cpp" />

</section>

<section if="LIME_TINYFILEDIALOGS">

<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/tinyfiledialogs/" />
Expand Down Expand Up @@ -364,6 +380,7 @@
<include name="lib/pixman-files.xml" />
<include name="lib/png-files.xml" />
<include name="lib/sdl-files.xml" />
<include name="lib/sdl_sound-files.xml" />
<include name="lib/tinyfiledialogs-files.xml" />
<include name="lib/vorbis-files.xml" />
<include name="lib/vpx-files.xml" />
Expand Down Expand Up @@ -397,6 +414,7 @@
<files id="native-toolkit-pixman" if="LIME_PIXMAN" />
<files id="native-toolkit-png" if="LIME_PNG" />
<files id="native-toolkit-sdl" if="LIME_SDL" unless="emscripten" />
<files id="native-toolkit-sdl_sound" if="LIME_SDL_SOUND" />
<files id="native-toolkit-tinyfiledialogs" if="LIME_TINYFILEDIALOGS" />
<files id="native-toolkit-vorbis" if="LIME_VORBIS" />
<files id="native-toolkit-vpx" if="LIME_VPX" />
Expand Down
15 changes: 2 additions & 13 deletions project/BuildHashlink.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,31 +55,20 @@
<file name="${HASHLINK_PATH}/src/std/ucs2.c" />

<!-- PCRE2 -->
<file name="${HASHLINK_PATH}/include/pcre/pcre16_ord2utf16.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_ord2utf.c" />
<compilerflag value="-DHAVE_CONFIG_H" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_globals.c" />
<compilerflag value="-DPCRE2_CODE_UNIT_WIDTH=16" />
<file name="${HASHLINK_PATH}/include/pcre/pcre16_valid_utf16.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_valid_utf.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_auto_possess.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_newline.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_chartables.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_chartables.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_compile.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_string_utils.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_config.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_compile.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_context.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_tables.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_convert.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_dfa_exec.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_dfa_match.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_ucd.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_error.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_exec.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_extuni.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_xclass.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_find_bracket.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_fullinfo.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_jit_compile.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_maketables.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_match_data.c" />
Expand Down
1 change: 1 addition & 0 deletions project/include/media/AudioBuffer.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ namespace lime {
int channels;
ArrayBufferView* data;
int sampleRate;
int dataFormat;

vdynamic* __srcAudio;
vdynamic* __srcBuffer;
Expand Down
29 changes: 29 additions & 0 deletions project/include/media/decoders/SDL_sound.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#ifndef LIME_MEDIA_DECODERS_SDL_SOUND_H
#define LIME_MEDIA_DECODERS_SDL_SOUND_H


#include <media/AudioBuffer.h>
#include <utils/Resource.h>
#include <SDL_sound.h>


namespace lime {


class SDL_sound {


public:

static Sound_Sample* FromBytes (Bytes* bytes);
static Sound_Sample* FromFile (const char* path);
static bool Decode (Resource *resource, AudioBuffer *audioBuffer);


};


}


#endif
1 change: 1 addition & 0 deletions project/lib/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Lime includes code from several other C/C++ libraries, listed below. Lime prefer
- [**Pixman**](http://pixman.org/) | [primary repo](https://gitlab.freedesktop.org/pixman/pixman) | [GitHub mirror](https://github.com/freedesktop/pixman)
- [**libpng**](http://www.libpng.org/pub/png/libpng.html) | [primary repo](https://sourceforge.net/p/libpng/code) | [GitHub mirror](https://github.com/glennrp/libpng)[^1]
- [**SDL**](https://www.libsdl.org/) | [primary repo](https://github.com/libsdl-org/SDL)
- [**SDL_sound**](https://icculus.org/SDL_sound/) | [primary repo](https://github.com/icculus/SDL_sound)
- [**tiny file dialogs**](https://sourceforge.net/projects/tinyfiledialogs/) | [primary repo](https://sourceforge.net/p/tinyfiledialogs/code) | [unofficial GitHub mirror](https://github.com/openfl/libtinyfiledialogs)[^1]
- [**Vorbis**](https://www.xiph.org/vorbis/) | [primary repo](https://github.com/xiph/vorbis)
- [**libvpx**](https://www.webmproject.org/tools/) | [primary repo](https://chromium.googlesource.com/webm/libvpx/) | [GitHub mirror](https://github.com/webmproject/libvpx/)
Expand Down
1 change: 1 addition & 0 deletions project/lib/sdl_sound
Submodule sdl_sound added at c54fd4
181 changes: 181 additions & 0 deletions project/lib/sdl_sound-files.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
<xml>

<set name="SDLSOUND_DECODER_MODPLUG" value="1" />
<set name="SDLSOUND_DECODER_MIDI" value="1" />
<set name="SDLSOUND_DECODER_COREAUDIO" value="1" if="mac || ios || tvos" />

<files id="native-toolkit-sdl_sound-depends">

<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/dr_flac.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/dr_mp3.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound_internal.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/stb_vorbis.h" />

<section if="SDLSOUND_DECODER_MODPLUG">

<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/libmodplug.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/modplug.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/tables.h" />

</section>

<section if="SDLSOUND_DECODER_MIDI">

<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/common.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/instrum.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/mix.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/options.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/output.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/playmidi.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/readmidi.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/resample.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/tables.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/timidity.h" />

</section>

</files>

<files id="native-toolkit-sdl_sound" tags="">

<cache value="1" />
<tag value="${NATIVE_TOOLKIT_OPTIM_TAG}" if="NATIVE_TOOLKIT_OPTIM_TAG" />

<compilerflag value="-I${ANDROID_NDK_ROOT}/sources/android/cpufeatures" if="android" />

<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/custom/sdl/include/" />
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/sdl/include/" />
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/sdl/src/hidapi/hidapi/" />
<compilerflag value="-I${SDL_CONFIG_PATH}" if="SDL_CONFIG_PATH" />

<compilerflag value="-DHAVE_LIBC" />
<compilerflag value="-D__IPHONEOS__" if="ios || tvos" />
<compilerflag value="-D__TVOS__" if="tvos" />

<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/sdl_sound/src/" />

<section if="winrt">

<compilerflag value="-D__WINRT__" />
<compilerflag value="-DUNICODE" />

</section>

<section if="linux">

<compilerflag value="-D_REENTRANT" />
<compilerflag value="-mmmx" unless="rpi" />
<compilerflag value="-msse" unless="rpi" />
<compilerflag value="-msse2" unless="rpi" />
<compilerflag value="-msse3" unless="rpi" />
<compilerflag value="-mssse3" unless="rpi" />

</section>

<section if="rpi">

<compilerflag value="-mfpu=neon" unless="HXCPP_ARM64" />
<compilerflag value="-mfloat-abi=hard" unless="HXCPP_ARM64" />
<compilerflag value="-I-abi=hard" />

<compilerflag value="-I/opt/vc/include" />
<compilerflag value="-I/opt/vc/include/interface/vcos/pthreads" />
<compilerflag value="-I/opt/vc/include/interface/vmcs_host/linux" />
<compilerflag value="-I/usr/include/dbus-1.0" />
<compilerflag value="-I/usr/include/interface/vcos/pthreads" />
<compilerflag value="-I/usr/include/interface/vmcs_host/linux" />
<compilerflag value="-I/usr/include/libdrm" />
<compilerflag value="-I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include" unless="HXCPP_ARM64" />
<compilerflag value="-I/usr/lib/aarch64-linux-gnu/dbus-1.0/include" if="HXCPP_ARM64" />
<compilerflag value="-I/usr/local/include" />

</section>

<section if="mac">

<compilerflag value="-DTARGET_API_MAC_CARBON" />
<compilerflag value="-DTARGET_API_MAC_OSX" />
<compilerflag value="-D_THREAD_SAFE" />
<compilerflag value="-mmmx" unless="HXCPP_ARM64" />
<compilerflag value="-msse" unless="HXCPP_ARM64" />
<compilerflag value="-msse2" unless="HXCPP_ARM64" />
<compilerflag value="-msse3" unless="HXCPP_ARM64" />
<compilerflag value="-mssse3" unless="HXCPP_ARM64" />

<vflag name="-framework" value="AudioToolbox" if="SDLSOUND_DECODER_COREAUDIO" />

</section>

<section if="ios || tvos">

<vflag name="-framework" value="AudioToolbox" if="SDLSOUND_DECODER_COREAUDIO" />

</section>

<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound_aiff.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound_au.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound_coreaudio.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound_flac.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound_midi.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound_modplug.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound_mp3.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound_raw.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound_shn.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound_voc.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound_vorbis.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/SDL_sound_wav.c" />

<section if="SDLSOUND_DECODER_MODPLUG">

<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/fastmix.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_669.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_amf.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_ams.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_dbm.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_dmf.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_dsm.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_far.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_it.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_mdl.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_med.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_mod.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_mt2.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_mtm.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_okt.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_gdm.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_psm.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_ptm.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_s3m.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_stm.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_ult.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_umx.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/load_xm.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/mmcmp.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/modplug.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/snd_dsp.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/snd_flt.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/snd_fx.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/sndfile.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/libmodplug/sndmix.c" />

</section>

<section if="SDLSOUND_DECODER_MIDI">

<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/common.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/instrum.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/mix.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/output.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/playmidi.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/readmidi.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/resample.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/tables.c" />
<file name="${NATIVE_TOOLKIT_PATH}/sdl_sound/src/timidity/timidity.c" />

</section>

</files>

</xml>
Loading