generated from SGDA/GodotExampleProject
feat: base
This commit is contained in:
@ -0,0 +1,38 @@
|
||||
@tool
|
||||
extends ListOptionControl
|
||||
|
||||
func _set_input_device() -> void:
|
||||
var current_setting : Variant = _get_setting(default_value)
|
||||
if current_setting is bool:
|
||||
current_setting = &"Default"
|
||||
AudioServer.input_device = _get_setting(default_value)
|
||||
|
||||
func _add_microphone_audio_stream() -> void:
|
||||
var instance := AudioStreamPlayer.new()
|
||||
instance.stream = AudioStreamMicrophone.new()
|
||||
instance.autoplay = true
|
||||
add_child.call_deferred(instance)
|
||||
instance.ready.connect(_set_input_device)
|
||||
|
||||
func _ready() -> void:
|
||||
if ProjectSettings.get_setting("audio/driver/enable_input", false):
|
||||
if AudioServer.input_device.is_empty():
|
||||
_add_microphone_audio_stream()
|
||||
else:
|
||||
_set_input_device()
|
||||
if not Engine.is_editor_hint():
|
||||
option_values = AudioServer.get_input_device_list()
|
||||
else:
|
||||
hide()
|
||||
super._ready()
|
||||
|
||||
func _on_setting_changed(value : Variant) -> void:
|
||||
if value >= option_values.size(): return
|
||||
AudioServer.input_device = option_values[value]
|
||||
super._on_setting_changed(value)
|
||||
|
||||
func _value_title_map(value : Variant) -> String:
|
||||
if value is String:
|
||||
return value
|
||||
else:
|
||||
return super._value_title_map(value)
|
@ -0,0 +1 @@
|
||||
uid://xfdxru4xej5w
|
@ -0,0 +1,20 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://ccwei8bk10jhq"]
|
||||
|
||||
[ext_resource type="PackedScene" path="res://addons/maaacks_menus_template/base/scenes/menus/options_menu/option_control/list_option_control.tscn" id="1_tuyxr"]
|
||||
[ext_resource type="Script" path="res://template/scenes/menus/options_menu/audio/audio_input_option_control.gd" id="2_vhp47"]
|
||||
|
||||
[node name="AudioInputOptionControl" instance=ExtResource("1_tuyxr")]
|
||||
script = ExtResource("2_vhp47")
|
||||
option_name = "Input Device"
|
||||
option_section = 2
|
||||
key = "InputDevice"
|
||||
section = "AudioSettings"
|
||||
property_type = 4
|
||||
|
||||
[node name="OptionLabel" parent="." index="0"]
|
||||
text = "Input Device :"
|
||||
|
||||
[node name="OptionButton" parent="." index="1"]
|
||||
size_flags_horizontal = 3
|
||||
text_overrun_behavior = 1
|
||||
clip_text = true
|
@ -0,0 +1 @@
|
||||
extends AudioOptionsMenu
|
@ -0,0 +1 @@
|
||||
uid://dx2fw63m1yjyw
|
@ -0,0 +1,11 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://dplpq8fcf2ypd"]
|
||||
|
||||
[ext_resource type="PackedScene" path="res://addons/maaacks_menus_template/base/scenes/menus/options_menu/audio/audio_options_menu.tscn" id="1_aug6w"]
|
||||
[ext_resource type="Script" path="res://template/scenes/menus/options_menu/audio/audio_options_menu.gd" id="2_263cq"]
|
||||
[ext_resource type="PackedScene" path="res://template/scenes/menus/options_menu/audio/audio_input_option_control.tscn" id="3_0tfxc"]
|
||||
|
||||
[node name="Audio" instance=ExtResource("1_aug6w")]
|
||||
script = ExtResource("2_263cq")
|
||||
|
||||
[node name="AudioInputOptionControl" parent="VBoxContainer" index="2" instance=ExtResource("3_0tfxc")]
|
||||
layout_mode = 2
|
Reference in New Issue
Block a user