From e33764744cb2bf72ee77c823c3beeb6dc870d2dc Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Wed, 10 Apr 2019 12:57:03 -0300 Subject: Added generator audio stream, and spectrum analyzer audio effect Made AudioFrame and Vector2 equivalent for casting. Added ability to obtain the playback object from stream players. Added ability to obtain effect instance from audio server. --- servers/audio_server.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'servers/audio_server.cpp') diff --git a/servers/audio_server.cpp b/servers/audio_server.cpp index 7b2b48fe47..c83c3029f3 100644 --- a/servers/audio_server.cpp +++ b/servers/audio_server.cpp @@ -876,6 +876,15 @@ int AudioServer::get_bus_effect_count(int p_bus) { return buses[p_bus]->effects.size(); } +Ref AudioServer::get_bus_effect_instance(int p_bus, int p_effect, int p_channel) { + + ERR_FAIL_INDEX_V(p_bus, buses.size(), Ref()); + ERR_FAIL_INDEX_V(p_effect, buses[p_bus]->effects.size(), Ref()); + ERR_FAIL_INDEX_V(p_channel, buses[p_bus]->channels.size(), Ref()); + + return buses[p_bus]->channels[p_channel].effect_instances[p_effect]; +} + Ref AudioServer::get_bus_effect(int p_bus, int p_effect) { ERR_FAIL_INDEX_V(p_bus, buses.size(), Ref()); @@ -1330,6 +1339,7 @@ void AudioServer::_bind_methods() { ClassDB::bind_method(D_METHOD("get_bus_effect_count", "bus_idx"), &AudioServer::get_bus_effect_count); ClassDB::bind_method(D_METHOD("get_bus_effect", "bus_idx", "effect_idx"), &AudioServer::get_bus_effect); + ClassDB::bind_method(D_METHOD("get_bus_effect_instance", "bus_idx", "effect_idx", "channel"), &AudioServer::get_bus_effect_instance, DEFVAL(0)); ClassDB::bind_method(D_METHOD("swap_bus_effects", "bus_idx", "effect_idx", "by_effect_idx"), &AudioServer::swap_bus_effects); ClassDB::bind_method(D_METHOD("set_bus_effect_enabled", "bus_idx", "effect_idx", "enabled"), &AudioServer::set_bus_effect_enabled); -- cgit v1.2.3