Files
pomchronicles/addons/dialogic/Modules/Audio/settings_audio.gd

33 lines
1.1 KiB
GDScript

@tool
extends DialogicSettingsPage
## Settings page that contains settings for the audio subsystem
const MUSIC_MAX_CHANNELS := "dialogic/audio/max_channels"
const TYPE_SOUND_AUDIO_BUS := "dialogic/audio/type_sound_bus"
func _ready() -> void:
%MusicChannelCount.value_changed.connect(_on_music_channel_count_value_changed)
%TypeSoundBus.item_selected.connect(_on_type_sound_bus_item_selected)
func _refresh() -> void:
%MusicChannelCount.value = ProjectSettings.get_setting(MUSIC_MAX_CHANNELS, 4)
%TypeSoundBus.clear()
var idx := 0
for i in range(AudioServer.bus_count):
%TypeSoundBus.add_item(AudioServer.get_bus_name(i))
if AudioServer.get_bus_name(i) == ProjectSettings.get_setting(TYPE_SOUND_AUDIO_BUS, ""):
idx = i
%TypeSoundBus.select(idx)
func _on_music_channel_count_value_changed(value:float) -> void:
ProjectSettings.set_setting(MUSIC_MAX_CHANNELS, value)
ProjectSettings.save()
func _on_type_sound_bus_item_selected(index:int) -> void:
ProjectSettings.set_setting(TYPE_SOUND_AUDIO_BUS, %TypeSoundBus.get_item_text(index))
ProjectSettings.save()