Commit a8aa8de3 authored by nanahira's avatar nanahira

Merge branch 'patch-miniaudio' of github.com:Fluorohydride/ygopro into develop

parents 1f21326a 204c769a
#include "sound_manager.h" #include "sound_manager.h"
#include "myfilesystem.h" #include "myfilesystem.h"
#if defined(YGOPRO_USE_MINIAUDIO) && defined(YGOPRO_MINIAUDIO_SUPPORT_OPUS_VORBIS) #if defined(YGOPRO_USE_MINIAUDIO) && defined(YGOPRO_MINIAUDIO_SUPPORT_OPUS_VORBIS)
#include <miniaudio_libvorbis.h>
#include <miniaudio_libopus.h> #include <miniaudio_libopus.h>
#include <miniaudio_libvorbis.h>
#endif #endif
#ifdef IRRKLANG_STATIC #ifdef IRRKLANG_STATIC
#include "../ikpmp3/ikpMP3.h" #include "../ikpmp3/ikpMP3.h"
...@@ -270,13 +270,7 @@ void SoundManager::PlayMusic(char* song, bool loop) { ...@@ -270,13 +270,7 @@ void SoundManager::PlayMusic(char* song, bool loop) {
StopBGM(); StopBGM();
#ifdef YGOPRO_USE_MINIAUDIO #ifdef YGOPRO_USE_MINIAUDIO
strcpy(currentPlayingMusic, song); strcpy(currentPlayingMusic, song);
#ifdef _WIN32 ma_sound_init_from_file(&engineMusic, song, MA_SOUND_FLAG_ASYNC | MA_SOUND_FLAG_STREAM, nullptr, nullptr, &soundBGM);
wchar_t song_w[1024];
BufferIO::DecodeUTF8(song, song_w);
ma_sound_init_from_file_w(&engineMusic, song_w, MA_SOUND_FLAG_ASYNC | MA_SOUND_FLAG_STREAM, nullptr, nullptr, &soundBGM);
#else
auto res = ma_sound_init_from_file(&engineMusic, song, MA_SOUND_FLAG_ASYNC | MA_SOUND_FLAG_STREAM, nullptr, nullptr, &soundBGM);
#endif
ma_sound_set_looping(&soundBGM, loop); ma_sound_set_looping(&soundBGM, loop);
ma_sound_start(&soundBGM); ma_sound_start(&soundBGM);
#endif #endif
......
...@@ -9,8 +9,7 @@ project "miniaudio" ...@@ -9,8 +9,7 @@ project "miniaudio"
files { files {
"external/ogg/src/bitwise.c", "external/ogg/src/bitwise.c",
"external/ogg/src/framing.c", "external/ogg/src/framing.c",
}
files {
"external/opus/src/opus.c", "external/opus/src/opus.c",
"external/opus/src/opus_decoder.c", "external/opus/src/opus_decoder.c",
"external/opus/src/opus_multistream.c", "external/opus/src/opus_multistream.c",
...@@ -84,14 +83,12 @@ project "miniaudio" ...@@ -84,14 +83,12 @@ project "miniaudio"
"external/opus/silk/tables_other.c", "external/opus/silk/tables_other.c",
"external/opus/silk/tables_pitch_lag.c", "external/opus/silk/tables_pitch_lag.c",
"external/opus/silk/tables_pulses_per_block.c", "external/opus/silk/tables_pulses_per_block.c",
}
files {
"external/opusfile/src/info.c", "external/opusfile/src/info.c",
"external/opusfile/src/internal.c", "external/opusfile/src/internal.c",
"external/opusfile/src/opusfile.c", "external/opusfile/src/opusfile.c",
"external/opusfile/src/stream.c", "external/opusfile/src/stream.c",
}
files {
"external/vorbis/lib/bitrate.c", "external/vorbis/lib/bitrate.c",
"external/vorbis/lib/block.c", "external/vorbis/lib/block.c",
"external/vorbis/lib/codebook.c", "external/vorbis/lib/codebook.c",
...@@ -120,7 +117,8 @@ project "miniaudio" ...@@ -120,7 +117,8 @@ project "miniaudio"
"external/opusfile/include", "external/opusfile/include",
"external/vorbis/include", "external/vorbis/include",
} }
defines { "OPUS_BUILD", "USE_ALLOCA", defines {
"OPUS_BUILD", "USE_ALLOCA",
"OPUS_X86_PRESUME_SSE", "OPUS_X86_PRESUME_SSE2", "OPUS_X86_PRESUME_SSE", "OPUS_X86_PRESUME_SSE2",
"OPUS_HAVE_RTCD", "OPUS_X86_MAY_HAVE_SSE", "OPUS_X86_MAY_HAVE_SSE4_1", "OPUS_X86_MAY_HAVE_AVX2", "OPUS_HAVE_RTCD", "OPUS_X86_MAY_HAVE_SSE", "OPUS_X86_MAY_HAVE_SSE4_1", "OPUS_X86_MAY_HAVE_AVX2",
} }
......
...@@ -63,6 +63,27 @@ newoption { trigger = "no-use-irrklang", category = "YGOPro - irrklang", descrip ...@@ -63,6 +63,27 @@ newoption { trigger = "no-use-irrklang", category = "YGOPro - irrklang", descrip
newoption { trigger = "irrklang-include-dir", category = "YGOPro - irrklang", description = "", value = "PATH" } newoption { trigger = "irrklang-include-dir", category = "YGOPro - irrklang", description = "", value = "PATH" }
newoption { trigger = "irrklang-lib-dir", category = "YGOPro - irrklang", description = "", value = "PATH" } newoption { trigger = "irrklang-lib-dir", category = "YGOPro - irrklang", description = "", value = "PATH" }
newoption { trigger = "no-audio", category = "YGOPro", description = "" }
newoption { trigger = "audio-lib", category = "YGOPro", description = "", value = "miniaudio, irrklang", default = AUDIO_LIB }
newoption { trigger = "miniaudio-include-dir", category = "YGOPro - miniaudio", description = "", value = "PATH" }
newoption { trigger = "miniaudio-lib-dir", category = "YGOPro - miniaudio", description = "", value = "PATH" }
newoption { trigger = "miniaudio-support-opus-vorbis", category = "YGOPro - miniaudio", description = "" }
newoption { trigger = "no-miniaudio-support-opus-vorbis", category = "YGOPro - miniaudio", description = "" }
newoption { trigger = "build-opus-vorbis", category = "YGOPro - miniaudio", description = "" }
newoption { trigger = "no-build-opus-vorbis", category = "YGOPro - miniaudio", description = "" }
newoption { trigger = "opus-include-dir", category = "YGOPro - miniaudio", description = "", value = "PATH" }
newoption { trigger = "opus-lib-dir", category = "YGOPro - miniaudio", description = "", value = "PATH" }
newoption { trigger = "vorbis-include-dir", category = "YGOPro - miniaudio", description = "", value = "PATH" }
newoption { trigger = "vorbis-lib-dir", category = "YGOPro - miniaudio", description = "", value = "PATH" }
newoption { trigger = "ogg-include-dir", category = "YGOPro - miniaudio", description = "", value = "PATH" }
newoption { trigger = "ogg-lib-dir", category = "YGOPro - miniaudio", description = "", value = "PATH" }
newoption { trigger = "use-irrklang", category = "YGOPro - irrklang", description = "Deprecated, use audio-lib=irrklang" }
newoption { trigger = "no-use-irrklang", category = "YGOPro - irrklang", description = "Deprecated, use no-audio" }
newoption { trigger = "irrklang-include-dir", category = "YGOPro - irrklang", description = "", value = "PATH" }
newoption { trigger = "irrklang-lib-dir", category = "YGOPro - irrklang", description = "", value = "PATH" }
newoption { trigger = "irrklang-pro", category = "YGOPro - irrklang - pro", description = "" } newoption { trigger = "irrklang-pro", category = "YGOPro - irrklang - pro", description = "" }
newoption { trigger = "no-irrklang-pro", category = "YGOPro - irrklang - pro", description = "" } newoption { trigger = "no-irrklang-pro", category = "YGOPro - irrklang - pro", description = "" }
newoption { trigger = "irrklang-pro-release-lib-dir", category = "YGOPro - irrklang - pro", description = "", value = "PATH" } newoption { trigger = "irrklang-pro-release-lib-dir", category = "YGOPro - irrklang - pro", description = "", value = "PATH" }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment