]> Untitled Git - wolf-seeking-sheep.git/blob - addons/dialogic/Modules/Audio/settings_audio.gd
Squashed commit of the following:
[wolf-seeking-sheep.git] / addons / dialogic / Modules / Audio / settings_audio.gd
1 @tool
2 extends DialogicSettingsPage
3
4 ## Settings page that contains settings for the audio subsystem
5
6 const MUSIC_MAX_CHANNELS := "dialogic/audio/max_channels"
7 const TYPE_SOUND_AUDIO_BUS := "dialogic/audio/type_sound_bus"
8
9 func _ready() -> void:
10         %MusicChannelCount.value_changed.connect(_on_music_channel_count_value_changed)
11         %TypeSoundBus.item_selected.connect(_on_type_sound_bus_item_selected)
12
13
14 func _refresh() -> void:
15         %MusicChannelCount.value = ProjectSettings.get_setting(MUSIC_MAX_CHANNELS, 4)
16         %TypeSoundBus.clear()
17         var idx := 0
18         for i in range(AudioServer.bus_count):
19                 %TypeSoundBus.add_item(AudioServer.get_bus_name(i))
20                 if AudioServer.get_bus_name(i) == ProjectSettings.get_setting(TYPE_SOUND_AUDIO_BUS, ""):
21                         idx = i
22         %TypeSoundBus.select(idx)
23
24
25 func _on_music_channel_count_value_changed(value:float) -> void:
26         ProjectSettings.set_setting(MUSIC_MAX_CHANNELS, value)
27         ProjectSettings.save()
28
29
30 func _on_type_sound_bus_item_selected(index:int) -> void:
31         ProjectSettings.set_setting(TYPE_SOUND_AUDIO_BUS, %TypeSoundBus.get_item_text(index))
32         ProjectSettings.save()