From 1d35b3749957d6f3de12de1f302a1e36c4c989f9 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Mon, 14 Feb 2022 18:09:09 +0100 Subject: [PATCH] Expose `AudioServer.capture_device` as a property This is more consistent with `AudioServer.device` (for output), which is already exposed as a property. --- doc/classes/AudioServer.xml | 16 +++------------- servers/audio_server.cpp | 4 ++++ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/doc/classes/AudioServer.xml b/doc/classes/AudioServer.xml index d878d8bb65e..1e076654fb5 100644 --- a/doc/classes/AudioServer.xml +++ b/doc/classes/AudioServer.xml @@ -29,25 +29,12 @@ Adds an [AudioEffect] effect to the bus [code]bus_idx[/code] at [code]at_position[/code]. - - - - Name of the current device for audio input (see [method capture_get_device_list]). The value [code]"Default"[/code] means that the system-wide default audio input is currently used. - - Returns the names of all audio input devices detected on the system. - - - - - Sets which audio input device is used for audio capture. On systems with multiple audio inputs (such as analog and USB), this can be used to select the audio input device. Setting the value [code]"Default"[/code] will record audio from the system-wide default audio input. If an invalid device name is set, the value will be reverted back to [code]"Default"[/code]. - - @@ -308,6 +295,9 @@ Number of available audio buses. + + Name of the current device for audio input (see [method get_device_list]). On systems with multiple audio inputs (such as analog, USB and HDMI audio), this can be used to select the audio input device. The value [code]"Default"[/code] will record audio on the system-wide default audio input. If an invalid device name is set, the value will be reverted back to [code]"Default"[/code]. + Name of the current device for audio output (see [method get_device_list]). On systems with multiple audio outputs (such as analog, USB and HDMI audio), this can be used to select the audio output device. The value [code]"Default"[/code] will play audio on the system-wide default audio output. If an invalid device name is set, the value will be reverted back to [code]"Default"[/code]. diff --git a/servers/audio_server.cpp b/servers/audio_server.cpp index f00b8077d15..9d83e5cacc1 100644 --- a/servers/audio_server.cpp +++ b/servers/audio_server.cpp @@ -1731,6 +1731,10 @@ void AudioServer::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "bus_count"), "set_bus_count", "get_bus_count"); ADD_PROPERTY(PropertyInfo(Variant::STRING, "device"), "set_device", "get_device"); + ADD_PROPERTY(PropertyInfo(Variant::STRING, "capture_device"), "capture_set_device", "capture_get_device"); + // The default value may be set to an empty string by the platform-specific audio driver. + // Override for class reference generation purposes. + ADD_PROPERTY_DEFAULT("capture_device", "Default"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "playback_speed_scale"), "set_playback_speed_scale", "get_playback_speed_scale"); ADD_SIGNAL(MethodInfo("bus_layout_changed"));