You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-16 14:00:40 +00:00
Add "Mute Audio" button to Game view in editor
Update servers/audio_server.cpp Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Apply suggestions from code review Co-authored-by: Adam Scott <ascott.ca@gmail.com> Fix a few lines for new member names Add command-line argument `--debug-mute-audio`, and pass it to game if started with mute enabled Apply suggestions from code review Co-authored-by: arkology <43543909+arkology@users.noreply.github.com> Co-authored-by: Rémi Verschelde <rverschelde@gmail.com> Fix icon for svgo
This commit is contained in:
@@ -871,6 +871,17 @@ void EditorDebuggerNode::live_debug_reparent_node(const NodePath &p_at, const No
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EditorDebuggerNode::set_debug_mute_audio(bool p_mute) {
|
||||||
|
_for_all(tabs, [&](ScriptEditorDebugger *dbg) {
|
||||||
|
dbg->set_debug_mute_audio(p_mute);
|
||||||
|
});
|
||||||
|
debug_mute_audio = p_mute;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool EditorDebuggerNode::get_debug_mute_audio() const {
|
||||||
|
return debug_mute_audio;
|
||||||
|
}
|
||||||
|
|
||||||
void EditorDebuggerNode::set_camera_override(CameraOverride p_override) {
|
void EditorDebuggerNode::set_camera_override(CameraOverride p_override) {
|
||||||
_for_all(tabs, [&](ScriptEditorDebugger *dbg) {
|
_for_all(tabs, [&](ScriptEditorDebugger *dbg) {
|
||||||
dbg->set_camera_override(p_override);
|
dbg->set_camera_override(p_override);
|
||||||
|
|||||||
@@ -113,6 +113,8 @@ private:
|
|||||||
bool keep_open = false;
|
bool keep_open = false;
|
||||||
String current_uri;
|
String current_uri;
|
||||||
|
|
||||||
|
bool debug_mute_audio = false;
|
||||||
|
|
||||||
CameraOverride camera_override = OVERRIDE_NONE;
|
CameraOverride camera_override = OVERRIDE_NONE;
|
||||||
HashMap<Breakpoint, bool, Breakpoint> breakpoints;
|
HashMap<Breakpoint, bool, Breakpoint> breakpoints;
|
||||||
|
|
||||||
@@ -214,6 +216,9 @@ public:
|
|||||||
void live_debug_duplicate_node(const NodePath &p_at, const String &p_new_name);
|
void live_debug_duplicate_node(const NodePath &p_at, const String &p_new_name);
|
||||||
void live_debug_reparent_node(const NodePath &p_at, const NodePath &p_new_place, const String &p_new_name, int p_at_pos);
|
void live_debug_reparent_node(const NodePath &p_at, const NodePath &p_new_place, const String &p_new_name, int p_at_pos);
|
||||||
|
|
||||||
|
void set_debug_mute_audio(bool p_mute);
|
||||||
|
bool get_debug_mute_audio() const;
|
||||||
|
|
||||||
void set_camera_override(CameraOverride p_override);
|
void set_camera_override(CameraOverride p_override);
|
||||||
CameraOverride get_camera_override();
|
CameraOverride get_camera_override();
|
||||||
|
|
||||||
|
|||||||
@@ -1542,6 +1542,17 @@ void ScriptEditorDebugger::live_debug_reparent_node(const NodePath &p_at, const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ScriptEditorDebugger::get_debug_mute_audio() const {
|
||||||
|
return debug_mute_audio;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScriptEditorDebugger::set_debug_mute_audio(bool p_mute) {
|
||||||
|
Array msg;
|
||||||
|
msg.push_back(p_mute);
|
||||||
|
_put_msg("scene:debug_mute_audio", msg);
|
||||||
|
debug_mute_audio = p_mute;
|
||||||
|
}
|
||||||
|
|
||||||
CameraOverride ScriptEditorDebugger::get_camera_override() const {
|
CameraOverride ScriptEditorDebugger::get_camera_override() const {
|
||||||
return camera_override;
|
return camera_override;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -183,6 +183,8 @@ private:
|
|||||||
|
|
||||||
void _select_thread(int p_index);
|
void _select_thread(int p_index);
|
||||||
|
|
||||||
|
bool debug_mute_audio = false;
|
||||||
|
|
||||||
EditorDebuggerNode::CameraOverride camera_override;
|
EditorDebuggerNode::CameraOverride camera_override;
|
||||||
|
|
||||||
void _stack_dump_frame_selected();
|
void _stack_dump_frame_selected();
|
||||||
@@ -301,6 +303,9 @@ public:
|
|||||||
void live_debug_duplicate_node(const NodePath &p_at, const String &p_new_name);
|
void live_debug_duplicate_node(const NodePath &p_at, const String &p_new_name);
|
||||||
void live_debug_reparent_node(const NodePath &p_at, const NodePath &p_new_place, const String &p_new_name, int p_at_pos);
|
void live_debug_reparent_node(const NodePath &p_at, const NodePath &p_new_place, const String &p_new_name, int p_at_pos);
|
||||||
|
|
||||||
|
bool get_debug_mute_audio() const;
|
||||||
|
void set_debug_mute_audio(bool p_mute);
|
||||||
|
|
||||||
EditorDebuggerNode::CameraOverride get_camera_override() const;
|
EditorDebuggerNode::CameraOverride get_camera_override() const;
|
||||||
void set_camera_override(EditorDebuggerNode::CameraOverride p_override);
|
void set_camera_override(EditorDebuggerNode::CameraOverride p_override);
|
||||||
|
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ Error EditorRun::run(const String &p_scene, const String &p_write_movie, const V
|
|||||||
bool debug_navigation = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_debug_navigation", false);
|
bool debug_navigation = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_debug_navigation", false);
|
||||||
bool debug_avoidance = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_debug_avoidance", false);
|
bool debug_avoidance = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_debug_avoidance", false);
|
||||||
bool debug_canvas_redraw = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_debug_canvas_redraw", false);
|
bool debug_canvas_redraw = EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_debug_canvas_redraw", false);
|
||||||
|
bool debug_mute_audio = EditorDebuggerNode::get_singleton()->get_debug_mute_audio();
|
||||||
|
|
||||||
if (debug_collisions) {
|
if (debug_collisions) {
|
||||||
args.push_back("--debug-collisions");
|
args.push_back("--debug-collisions");
|
||||||
@@ -94,6 +95,10 @@ Error EditorRun::run(const String &p_scene, const String &p_write_movie, const V
|
|||||||
args.push_back("--debug-canvas-item-redraw");
|
args.push_back("--debug-canvas-item-redraw");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (debug_mute_audio) {
|
||||||
|
args.push_back("--debug-mute-audio");
|
||||||
|
}
|
||||||
|
|
||||||
if (p_write_movie != "") {
|
if (p_write_movie != "") {
|
||||||
args.push_back("--write-movie");
|
args.push_back("--write-movie");
|
||||||
args.push_back(p_write_movie);
|
args.push_back(p_write_movie);
|
||||||
|
|||||||
1
editor/icons/AudioMute.svg
Normal file
1
editor/icons/AudioMute.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="16" height="16" version="1.0" viewBox="0 0 2.4 2.4"><path fill="#e0e0e0" d="M 1.2518555 0.15 A 0.1 0.1 0 0 0 1.1701172 0.17988281 L 0.6 0.75 L 0.31787109 0.75 C 0.22487119 0.75 0.15 0.81700008 0.15 0.9 L 0.15 1.5 C 0.15 1.5424221 0.16969512 1.5805593 0.20126953 1.6078125 L 1.35 0.45527344 L 1.35 0.25605469 A 0.106 0.106 0 0 0 1.2518555 0.15 z M 1.35 1.6438477 L 0.97236328 2.0223633 L 1.1701172 2.2201172 C 1.2361171 2.2871171 1.35 2.239996 1.35 2.1459961 L 1.35 1.6438477 z"/><path fill="#e0e0e0" d="M 2.1984375 0.79306641 L 2.0660156 0.92578125 C 2.1142629 1.1320246 2.0935608 1.3239034 2.0487305 1.4882812 C 1.9692536 1.7796963 1.8105469 1.9725586 1.8105469 1.9725586 A 0.0825 0.0825 0 0 0 1.8222656 2.0879883 A 0.0825 0.0825 0 0 0 1.9394531 2.0780273 C 1.9394531 2.0780273 2.1176607 1.8586814 2.2069336 1.5313477 C 2.2638362 1.3227069 2.2834498 1.0648044 2.1984375 0.79306641 z M 1.8539062 1.1384766 L 1.6790039 1.3136719 C 1.6747238 1.3346601 1.6697313 1.3550615 1.6640625 1.3749023 C 1.6131343 1.5531513 1.5117188 1.6719727 1.5117187 1.6719727 A 0.0825 0.0825 0 0 0 1.5213867 1.7871094 A 0.0825 0.0825 0 0 0 1.6368164 1.7791992 C 1.6368164 1.7791992 1.7606941 1.6355198 1.8222656 1.4200195 C 1.8460259 1.3368593 1.8597024 1.2410136 1.8539062 1.1384766 z" color="#000" paint-order="markers stroke fill" style="-inkscape-stroke:none"/><path fill="#fc7f7f" d="M.08295 2.0529 2.0502.07965 2.31705.34725.34965 2.32035ZM-1.2804596 3.0939027 3.0879072-1.2877874Z"/></svg>
|
||||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -95,6 +95,9 @@ void GameViewDebugger::_session_started(Ref<EditorDebuggerSession> p_session) {
|
|||||||
Array mode;
|
Array mode;
|
||||||
mode.append(select_mode);
|
mode.append(select_mode);
|
||||||
p_session->send_message("scene:runtime_node_select_set_mode", mode);
|
p_session->send_message("scene:runtime_node_select_set_mode", mode);
|
||||||
|
Array mute_audio_data;
|
||||||
|
mute_audio_data.append(mute_audio);
|
||||||
|
p_session->send_message("scene:debug_mute_audio", mute_audio_data);
|
||||||
|
|
||||||
emit_signal(SNAME("session_started"));
|
emit_signal(SNAME("session_started"));
|
||||||
}
|
}
|
||||||
@@ -169,6 +172,11 @@ void GameViewDebugger::set_select_mode(int p_mode) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GameViewDebugger::set_debug_mute_audio(bool p_enabled) {
|
||||||
|
mute_audio = p_enabled;
|
||||||
|
EditorDebuggerNode::get_singleton()->set_debug_mute_audio(p_enabled);
|
||||||
|
}
|
||||||
|
|
||||||
void GameViewDebugger::set_camera_override(bool p_enabled) {
|
void GameViewDebugger::set_camera_override(bool p_enabled) {
|
||||||
EditorDebuggerNode::get_singleton()->set_camera_override(p_enabled ? camera_override_mode : EditorDebuggerNode::OVERRIDE_NONE);
|
EditorDebuggerNode::get_singleton()->set_camera_override(p_enabled ? camera_override_mode : EditorDebuggerNode::OVERRIDE_NONE);
|
||||||
}
|
}
|
||||||
@@ -593,6 +601,13 @@ void GameView::_hide_selection_toggled(bool p_pressed) {
|
|||||||
EditorSettings::get_singleton()->set_project_metadata("game_view", "hide_selection", p_pressed);
|
EditorSettings::get_singleton()->set_project_metadata("game_view", "hide_selection", p_pressed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GameView::_debug_mute_audio_button_pressed() {
|
||||||
|
debug_mute_audio = !debug_mute_audio;
|
||||||
|
debug_mute_audio_button->set_button_icon(get_editor_theme_icon(debug_mute_audio ? SNAME("AudioMute") : SNAME("AudioStreamPlayer")));
|
||||||
|
debug_mute_audio_button->set_tooltip_text(debug_mute_audio ? TTRC("Unmute game audio.") : TTRC("Mute game audio."));
|
||||||
|
debugger->set_debug_mute_audio(debug_mute_audio);
|
||||||
|
}
|
||||||
|
|
||||||
void GameView::_camera_override_button_toggled(bool p_pressed) {
|
void GameView::_camera_override_button_toggled(bool p_pressed) {
|
||||||
_update_debugger_buttons();
|
_update_debugger_buttons();
|
||||||
|
|
||||||
@@ -654,6 +669,8 @@ void GameView::_notification(int p_what) {
|
|||||||
stretch_button->set_button_icon(get_editor_theme_icon(SNAME("Stretch")));
|
stretch_button->set_button_icon(get_editor_theme_icon(SNAME("Stretch")));
|
||||||
embed_options_menu->set_button_icon(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
|
embed_options_menu->set_button_icon(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
|
||||||
|
|
||||||
|
debug_mute_audio_button->set_button_icon(get_editor_theme_icon(debug_mute_audio ? SNAME("AudioMute") : SNAME("AudioStreamPlayer")));
|
||||||
|
|
||||||
camera_override_button->set_button_icon(get_editor_theme_icon(SNAME("Camera")));
|
camera_override_button->set_button_icon(get_editor_theme_icon(SNAME("Camera")));
|
||||||
camera_override_menu->set_button_icon(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
|
camera_override_menu->set_button_icon(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
|
||||||
} break;
|
} break;
|
||||||
@@ -963,6 +980,14 @@ GameView::GameView(Ref<GameViewDebugger> p_debugger, WindowWrapper *p_wrapper) {
|
|||||||
|
|
||||||
main_menu_hbox->add_child(memnew(VSeparator));
|
main_menu_hbox->add_child(memnew(VSeparator));
|
||||||
|
|
||||||
|
debug_mute_audio_button = memnew(Button);
|
||||||
|
main_menu_hbox->add_child(debug_mute_audio_button);
|
||||||
|
debug_mute_audio_button->set_theme_type_variation("FlatButton");
|
||||||
|
debug_mute_audio_button->connect(SceneStringName(pressed), callable_mp(this, &GameView::_debug_mute_audio_button_pressed));
|
||||||
|
debug_mute_audio_button->set_tooltip_text(debug_mute_audio ? TTRC("Unmute game audio.") : TTRC("Mute game audio."));
|
||||||
|
|
||||||
|
main_menu_hbox->add_child(memnew(VSeparator));
|
||||||
|
|
||||||
camera_override_button = memnew(Button);
|
camera_override_button = memnew(Button);
|
||||||
main_menu_hbox->add_child(camera_override_button);
|
main_menu_hbox->add_child(camera_override_button);
|
||||||
camera_override_button->set_toggle_mode(true);
|
camera_override_button->set_toggle_mode(true);
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ private:
|
|||||||
int node_type = RuntimeNodeSelect::NODE_TYPE_NONE;
|
int node_type = RuntimeNodeSelect::NODE_TYPE_NONE;
|
||||||
bool selection_visible = true;
|
bool selection_visible = true;
|
||||||
int select_mode = RuntimeNodeSelect::SELECT_MODE_SINGLE;
|
int select_mode = RuntimeNodeSelect::SELECT_MODE_SINGLE;
|
||||||
|
bool mute_audio = false;
|
||||||
EditorDebuggerNode::CameraOverride camera_override_mode = EditorDebuggerNode::OVERRIDE_INGAME;
|
EditorDebuggerNode::CameraOverride camera_override_mode = EditorDebuggerNode::OVERRIDE_INGAME;
|
||||||
|
|
||||||
void _session_started(Ref<EditorDebuggerSession> p_session);
|
void _session_started(Ref<EditorDebuggerSession> p_session);
|
||||||
@@ -71,6 +72,8 @@ public:
|
|||||||
|
|
||||||
void set_selection_visible(bool p_visible);
|
void set_selection_visible(bool p_visible);
|
||||||
|
|
||||||
|
void set_debug_mute_audio(bool p_enabled);
|
||||||
|
|
||||||
void set_camera_override(bool p_enabled);
|
void set_camera_override(bool p_enabled);
|
||||||
void set_camera_manipulate_mode(EditorDebuggerNode::CameraOverride p_mode);
|
void set_camera_manipulate_mode(EditorDebuggerNode::CameraOverride p_mode);
|
||||||
|
|
||||||
@@ -127,6 +130,8 @@ class GameView : public VBoxContainer {
|
|||||||
Rect2i floating_window_rect;
|
Rect2i floating_window_rect;
|
||||||
int floating_window_screen = -1;
|
int floating_window_screen = -1;
|
||||||
|
|
||||||
|
bool debug_mute_audio = false;
|
||||||
|
|
||||||
Button *suspend_button = nullptr;
|
Button *suspend_button = nullptr;
|
||||||
Button *next_frame_button = nullptr;
|
Button *next_frame_button = nullptr;
|
||||||
|
|
||||||
@@ -135,6 +140,8 @@ class GameView : public VBoxContainer {
|
|||||||
|
|
||||||
Button *hide_selection = nullptr;
|
Button *hide_selection = nullptr;
|
||||||
|
|
||||||
|
Button *debug_mute_audio_button = nullptr;
|
||||||
|
|
||||||
Button *camera_override_button = nullptr;
|
Button *camera_override_button = nullptr;
|
||||||
MenuButton *camera_override_menu = nullptr;
|
MenuButton *camera_override_menu = nullptr;
|
||||||
|
|
||||||
@@ -178,6 +185,8 @@ class GameView : public VBoxContainer {
|
|||||||
|
|
||||||
void _hide_selection_toggled(bool p_pressed);
|
void _hide_selection_toggled(bool p_pressed);
|
||||||
|
|
||||||
|
void _debug_mute_audio_button_pressed();
|
||||||
|
|
||||||
void _camera_override_button_toggled(bool p_pressed);
|
void _camera_override_button_toggled(bool p_pressed);
|
||||||
void _camera_override_menu_id_pressed(int p_id);
|
void _camera_override_menu_id_pressed(int p_id);
|
||||||
|
|
||||||
|
|||||||
@@ -240,6 +240,7 @@ static bool debug_paths = false;
|
|||||||
static bool debug_navigation = false;
|
static bool debug_navigation = false;
|
||||||
static bool debug_avoidance = false;
|
static bool debug_avoidance = false;
|
||||||
static bool debug_canvas_item_redraw = false;
|
static bool debug_canvas_item_redraw = false;
|
||||||
|
static bool debug_mute_audio = false;
|
||||||
#endif
|
#endif
|
||||||
static int max_fps = -1;
|
static int max_fps = -1;
|
||||||
static int frame_delay = 0;
|
static int frame_delay = 0;
|
||||||
@@ -1672,6 +1673,8 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
|||||||
debug_canvas_item_redraw = true;
|
debug_canvas_item_redraw = true;
|
||||||
} else if (arg == "--debug-stringnames") {
|
} else if (arg == "--debug-stringnames") {
|
||||||
StringName::set_debug_stringnames(true);
|
StringName::set_debug_stringnames(true);
|
||||||
|
} else if (arg == "--debug-mute-audio") {
|
||||||
|
debug_mute_audio = true;
|
||||||
#endif
|
#endif
|
||||||
#if defined(TOOLS_ENABLED) && (defined(WINDOWS_ENABLED) || defined(LINUXBSD_ENABLED))
|
#if defined(TOOLS_ENABLED) && (defined(WINDOWS_ENABLED) || defined(LINUXBSD_ENABLED))
|
||||||
} else if (arg == "--test-rd-support") {
|
} else if (arg == "--test-rd-support") {
|
||||||
@@ -4010,6 +4013,10 @@ int Main::start() {
|
|||||||
if (debug_canvas_item_redraw) {
|
if (debug_canvas_item_redraw) {
|
||||||
RenderingServer::get_singleton()->canvas_item_set_debug_redraw(true);
|
RenderingServer::get_singleton()->canvas_item_set_debug_redraw(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (debug_mute_audio) {
|
||||||
|
AudioServer::get_singleton()->set_debug_mute(true);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (single_threaded_scene) {
|
if (single_threaded_scene) {
|
||||||
|
|||||||
@@ -52,6 +52,7 @@
|
|||||||
#include "scene/main/window.h"
|
#include "scene/main/window.h"
|
||||||
#include "scene/resources/packed_scene.h"
|
#include "scene/resources/packed_scene.h"
|
||||||
#include "scene/theme/theme_db.h"
|
#include "scene/theme/theme_db.h"
|
||||||
|
#include "servers/audio_server.h"
|
||||||
|
|
||||||
SceneDebugger::SceneDebugger() {
|
SceneDebugger::SceneDebugger() {
|
||||||
singleton = this;
|
singleton = this;
|
||||||
@@ -150,6 +151,11 @@ Error SceneDebugger::parse_message(void *p_user, const String &p_msg, const Arra
|
|||||||
} else if (p_msg == "next_frame") {
|
} else if (p_msg == "next_frame") {
|
||||||
_next_frame();
|
_next_frame();
|
||||||
|
|
||||||
|
} else if (p_msg == "debug_mute_audio") { // Enable/disable audio.
|
||||||
|
ERR_FAIL_COND_V(p_args.is_empty(), ERR_INVALID_DATA);
|
||||||
|
bool do_mute = p_args[0];
|
||||||
|
AudioServer::get_singleton()->set_debug_mute(do_mute);
|
||||||
|
|
||||||
} else if (p_msg == "override_cameras") { /// Camera
|
} else if (p_msg == "override_cameras") { /// Camera
|
||||||
ERR_FAIL_COND_V(p_args.is_empty(), ERR_INVALID_DATA);
|
ERR_FAIL_COND_V(p_args.is_empty(), ERR_INVALID_DATA);
|
||||||
bool enable = p_args[0];
|
bool enable = p_args[0];
|
||||||
|
|||||||
@@ -294,7 +294,11 @@ void AudioServer::_driver_process(int p_frames, int32_t *p_buffer) {
|
|||||||
// The destination start for data will be the same in all cases.
|
// The destination start for data will be the same in all cases.
|
||||||
int32_t *dest = &p_buffer[from_buf * (cs * 2) + (k * 2)];
|
int32_t *dest = &p_buffer[from_buf * (cs * 2) + (k * 2)];
|
||||||
|
|
||||||
|
#ifdef DEBUG_ENABLED
|
||||||
|
if (!debug_mute && master->channels[k].active) {
|
||||||
|
#else
|
||||||
if (master->channels[k].active) {
|
if (master->channels[k].active) {
|
||||||
|
#endif // DEBUG_ENABLED
|
||||||
const AudioFrame *buf = master->channels[k].buffer.ptr();
|
const AudioFrame *buf = master->channels[k].buffer.ptr();
|
||||||
|
|
||||||
for (int j = 0; j < to_copy; j++) {
|
for (int j = 0; j < to_copy; j++) {
|
||||||
@@ -765,6 +769,16 @@ int AudioServer::thread_find_bus_index(const StringName &p_name) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DEBUG_ENABLED
|
||||||
|
void AudioServer::set_debug_mute(bool p_mute) {
|
||||||
|
debug_mute = p_mute;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AudioServer::get_debug_mute() const {
|
||||||
|
return debug_mute;
|
||||||
|
}
|
||||||
|
#endif // DEBUG_ENABLED
|
||||||
|
|
||||||
void AudioServer::set_bus_count(int p_count) {
|
void AudioServer::set_bus_count(int p_count) {
|
||||||
ERR_FAIL_COND(p_count < 1);
|
ERR_FAIL_COND(p_count < 1);
|
||||||
ERR_FAIL_INDEX(p_count, 256);
|
ERR_FAIL_INDEX(p_count, 256);
|
||||||
|
|||||||
@@ -228,6 +228,10 @@ private:
|
|||||||
|
|
||||||
bool tag_used_audio_streams = false;
|
bool tag_used_audio_streams = false;
|
||||||
|
|
||||||
|
#ifdef DEBUG_ENABLED
|
||||||
|
bool debug_mute = false;
|
||||||
|
#endif // DEBUG_ENABLED
|
||||||
|
|
||||||
struct Bus {
|
struct Bus {
|
||||||
StringName name;
|
StringName name;
|
||||||
bool solo = false;
|
bool solo = false;
|
||||||
@@ -366,6 +370,11 @@ public:
|
|||||||
int thread_get_mix_buffer_size() const;
|
int thread_get_mix_buffer_size() const;
|
||||||
int thread_find_bus_index(const StringName &p_name);
|
int thread_find_bus_index(const StringName &p_name);
|
||||||
|
|
||||||
|
#ifdef DEBUG_ENABLED
|
||||||
|
void set_debug_mute(bool p_mute);
|
||||||
|
bool get_debug_mute() const;
|
||||||
|
#endif // DEBUG_ENABLED
|
||||||
|
|
||||||
void set_bus_count(int p_count);
|
void set_bus_count(int p_count);
|
||||||
int get_bus_count() const;
|
int get_bus_count() const;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user