summaryrefslogtreecommitdiffstats
path: root/platform/web
diff options
context:
space:
mode:
Diffstat (limited to 'platform/web')
-rw-r--r--platform/web/export/export_plugin.cpp8
-rw-r--r--platform/web/js/libs/library_godot_audio.js38
2 files changed, 38 insertions, 8 deletions
diff --git a/platform/web/export/export_plugin.cpp b/platform/web/export/export_plugin.cpp
index 5faab74d7b..efe3c95496 100644
--- a/platform/web/export/export_plugin.cpp
+++ b/platform/web/export/export_plugin.cpp
@@ -214,6 +214,9 @@ Error EditorExportPlatformWeb::_add_manifest_icon(const String &p_path, const St
}
Error EditorExportPlatformWeb::_build_pwa(const Ref<EditorExportPreset> &p_preset, const String p_path, const Vector<SharedObject> &p_shared_objects) {
+ List<String> preset_features;
+ get_preset_features(p_preset, &preset_features);
+
String proj_name = GLOBAL_GET("application/config/name");
if (proj_name.is_empty()) {
proj_name = "Godot Game";
@@ -239,7 +242,10 @@ Error EditorExportPlatformWeb::_build_pwa(const Ref<EditorExportPreset> &p_prese
cache_files.push_back(name + ".icon.png");
cache_files.push_back(name + ".apple-touch-icon.png");
}
- cache_files.push_back(name + ".worker.js");
+
+ if (preset_features.find("threads")) {
+ cache_files.push_back(name + ".worker.js");
+ }
cache_files.push_back(name + ".audio.worklet.js");
cache_files.push_back(name + ".audio.position.worklet.js");
replaces["___GODOT_CACHE___"] = Variant(cache_files).to_json_string();
diff --git a/platform/web/js/libs/library_godot_audio.js b/platform/web/js/libs/library_godot_audio.js
index 40fb0c356c..aaf986b966 100644
--- a/platform/web/js/libs/library_godot_audio.js
+++ b/platform/web/js/libs/library_godot_audio.js
@@ -868,7 +868,10 @@ class Bus {
* @returns {void}
*/
static move(fromIndex, toIndex) {
- const movedBus = GodotAudio.Bus.getBus(fromIndex);
+ const movedBus = GodotAudio.Bus.getBusOrNull(fromIndex);
+ if (movedBus == null) {
+ return;
+ }
const buses = GodotAudio.buses.filter((_, i) => i !== fromIndex);
// Inserts at index.
buses.splice(toIndex - 1, 0, movedBus);
@@ -1424,7 +1427,10 @@ const _GodotAudio = {
* @returns {void}
*/
remove_sample_bus: function (index) {
- const bus = GodotAudio.Bus.getBus(index);
+ const bus = GodotAudio.Bus.getBusOrNull(index);
+ if (bus == null) {
+ return;
+ }
bus.clear();
},
@@ -1454,8 +1460,17 @@ const _GodotAudio = {
* @returns {void}
*/
set_sample_bus_send: function (busIndex, sendIndex) {
- const bus = GodotAudio.Bus.getBus(busIndex);
- bus.setSend(GodotAudio.Bus.getBus(sendIndex));
+ const bus = GodotAudio.Bus.getBusOrNull(busIndex);
+ if (bus == null) {
+ // Cannot send from an invalid bus.
+ return;
+ }
+ let targetBus = GodotAudio.Bus.getBusOrNull(sendIndex);
+ if (targetBus == null) {
+ // Send to master.
+ targetBus = GodotAudio.Bus.getBus(0);
+ }
+ bus.setSend(targetBus);
},
/**
@@ -1465,7 +1480,10 @@ const _GodotAudio = {
* @returns {void}
*/
set_sample_bus_volume_db: function (busIndex, volumeDb) {
- const bus = GodotAudio.Bus.getBus(busIndex);
+ const bus = GodotAudio.Bus.getBusOrNull(busIndex);
+ if (bus == null) {
+ return;
+ }
bus.setVolumeDb(volumeDb);
},
@@ -1476,7 +1494,10 @@ const _GodotAudio = {
* @returns {void}
*/
set_sample_bus_solo: function (busIndex, enable) {
- const bus = GodotAudio.Bus.getBus(busIndex);
+ const bus = GodotAudio.Bus.getBusOrNull(busIndex);
+ if (bus == null) {
+ return;
+ }
bus.solo(enable);
},
@@ -1487,7 +1508,10 @@ const _GodotAudio = {
* @returns {void}
*/
set_sample_bus_mute: function (busIndex, enable) {
- const bus = GodotAudio.Bus.getBus(busIndex);
+ const bus = GodotAudio.Bus.getBusOrNull(busIndex);
+ if (bus == null) {
+ return;
+ }
bus.mute(enable);
},
},