summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-10-02 13:15:39 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-10-02 13:15:39 +0200
commitce236a6d03bfb4ccd81fc60b859b28122edaa20d (patch)
tree23e9c34593266b1107ac90253e024c7fbcd1ef5f
parent0ca8542329888e8dccba89d59d3b728090c29991 (diff)
parent36ff0591f2960726c6563e3af4d6ca5faf0a4a0d (diff)
downloadredot-engine-ce236a6d03bfb4ccd81fc60b859b28122edaa20d.tar.gz
Merge pull request #72729 from Ithamar/feat-mp1-mp2
Enable MP1 and MP2 support in minimp3 and editor
-rw-r--r--SConstruct3
-rw-r--r--modules/minimp3/SCsub3
-rw-r--r--modules/minimp3/audio_stream_mp3.cpp1
-rw-r--r--modules/minimp3/config.py8
-rw-r--r--modules/minimp3/resource_importer_mp3.cpp4
5 files changed, 17 insertions, 2 deletions
diff --git a/SConstruct b/SConstruct
index a06dfc1bde..4f411d6d0a 100644
--- a/SConstruct
+++ b/SConstruct
@@ -375,6 +375,8 @@ for name, path in modules_detected.items():
else:
enabled = False
+ opts.Add(BoolVariable("module_" + name + "_enabled", "Enable module '%s'" % (name,), enabled))
+
# Add module-specific options.
try:
for opt in config.get_opts(selected_platform):
@@ -384,7 +386,6 @@ for name, path in modules_detected.items():
sys.path.remove(path)
sys.modules.pop("config")
- opts.Add(BoolVariable("module_" + name + "_enabled", "Enable module '%s'" % (name,), enabled))
methods.write_modules(modules_detected)
diff --git a/modules/minimp3/SCsub b/modules/minimp3/SCsub
index 20e3165f38..09e84f71e9 100644
--- a/modules/minimp3/SCsub
+++ b/modules/minimp3/SCsub
@@ -13,5 +13,8 @@ if not env.msvc:
else:
env_minimp3.Prepend(CPPPATH=[thirdparty_dir])
+if not env["minimp3_extra_formats"]:
+ env_minimp3.Append(CPPDEFINES=["MINIMP3_ONLY_MP3"])
+
# Godot source files
env_minimp3.add_source_files(env.modules_sources, "*.cpp")
diff --git a/modules/minimp3/audio_stream_mp3.cpp b/modules/minimp3/audio_stream_mp3.cpp
index 6af86a96dc..4efa4d329e 100644
--- a/modules/minimp3/audio_stream_mp3.cpp
+++ b/modules/minimp3/audio_stream_mp3.cpp
@@ -28,7 +28,6 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/**************************************************************************/
-#define MINIMP3_ONLY_MP3
#define MINIMP3_FLOAT_OUTPUT
#define MINIMP3_IMPLEMENTATION
#define MINIMP3_NO_STDIO
diff --git a/modules/minimp3/config.py b/modules/minimp3/config.py
index e6bdcb2a83..115b376fc8 100644
--- a/modules/minimp3/config.py
+++ b/modules/minimp3/config.py
@@ -2,6 +2,14 @@ def can_build(env, platform):
return True
+def get_opts(platform):
+ from SCons.Variables import BoolVariable
+
+ return [
+ BoolVariable("minimp3_extra_formats", "Build minimp3 with MP1/MP2 decoding support", False),
+ ]
+
+
def configure(env):
pass
diff --git a/modules/minimp3/resource_importer_mp3.cpp b/modules/minimp3/resource_importer_mp3.cpp
index 4e56120ec6..d60b979c3f 100644
--- a/modules/minimp3/resource_importer_mp3.cpp
+++ b/modules/minimp3/resource_importer_mp3.cpp
@@ -47,6 +47,10 @@ String ResourceImporterMP3::get_visible_name() const {
}
void ResourceImporterMP3::get_recognized_extensions(List<String> *p_extensions) const {
+#ifndef MINIMP3_ONLY_MP3
+ p_extensions->push_back("mp1");
+ p_extensions->push_back("mp2");
+#endif
p_extensions->push_back("mp3");
}