Initial commit
This commit is contained in:
commit
7becdd23b6
989 changed files with 28526 additions and 0 deletions
102
addons/resonate/plugin.gd
Normal file
102
addons/resonate/plugin.gd
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
@tool
|
||||
extends EditorPlugin
|
||||
|
||||
|
||||
const ResonateSettings = preload("shared/resonate_settings.gd")
|
||||
var _settings = ResonateSettings.new()
|
||||
|
||||
|
||||
func _enter_tree():
|
||||
add_autoload_singleton("SoundManager", "sound_manager/sound_manager.gd")
|
||||
add_autoload_singleton("MusicManager", "music_manager/music_manager.gd")
|
||||
add_custom_type("SoundBank", "Node", preload("sound_manager/sound_bank.gd"), preload("sound_manager/sound_bank.svg"))
|
||||
add_custom_type("MusicBank", "Node", preload("music_manager/music_bank.gd"), preload("music_manager/music_bank.svg"))
|
||||
|
||||
add_project_setting(
|
||||
_settings.SOUND_BANK_BUS_SETTING_NAME,
|
||||
_settings.SOUND_BANK_BUS_SETTING_DEFAULT,
|
||||
_settings.SOUND_BANK_BUS_SETTING_ACTUAL,
|
||||
TYPE_STRING)
|
||||
|
||||
add_project_setting(
|
||||
_settings.POOL_1D_SIZE_SETTING_NAME,
|
||||
_settings.POOL_1D_SIZE_SETTING_DEFAULT,
|
||||
_settings.POOL_1D_SIZE_SETTING_ACTUAL,
|
||||
TYPE_INT, PROPERTY_HINT_RANGE, "1,128")
|
||||
|
||||
add_project_setting(
|
||||
_settings.POOL_2D_SIZE_SETTING_NAME,
|
||||
_settings.POOL_2D_SIZE_SETTING_DEFAULT,
|
||||
_settings.POOL_2D_SIZE_SETTING_ACTUAL,
|
||||
TYPE_INT, PROPERTY_HINT_RANGE, "1,128")
|
||||
|
||||
add_project_setting(
|
||||
_settings.POOL_3D_SIZE_SETTING_NAME,
|
||||
_settings.POOL_3D_SIZE_SETTING_DEFAULT,
|
||||
_settings.POOL_3D_SIZE_SETTING_ACTUAL,
|
||||
TYPE_INT, PROPERTY_HINT_RANGE, "1,128")
|
||||
|
||||
add_project_setting(
|
||||
_settings.MAX_POLYPHONY_SETTING_NAME,
|
||||
_settings.MAX_POLYPHONY_SETTING_DEFAULT,
|
||||
_settings.MAX_POLYPHONY_SETTING_ACTUAL,
|
||||
TYPE_INT, PROPERTY_HINT_RANGE, "1,128")
|
||||
|
||||
add_project_setting(
|
||||
_settings.MUSIC_BANK_BUS_SETTING_NAME,
|
||||
_settings.MUSIC_BANK_BUS_SETTING_DEFAULT,
|
||||
_settings.MUSIC_BANK_BUS_SETTING_ACTUAL,
|
||||
TYPE_STRING)
|
||||
|
||||
migrate_old_bus_settings()
|
||||
|
||||
|
||||
func _exit_tree():
|
||||
remove_autoload_singleton("SoundManager")
|
||||
remove_autoload_singleton("MusicManager")
|
||||
remove_custom_type("SoundBank")
|
||||
remove_custom_type("MusicBank")
|
||||
|
||||
|
||||
func add_project_setting(p_name: String, p_default, p_actual, p_type: int, p_hint: int = PROPERTY_HINT_NONE, p_hint_string: String = ""):
|
||||
if ProjectSettings.has_setting(p_name):
|
||||
return
|
||||
|
||||
ProjectSettings.set_setting(p_name, p_actual)
|
||||
|
||||
ProjectSettings.add_property_info({
|
||||
"name": p_name,
|
||||
"type": p_type,
|
||||
"hint": p_hint,
|
||||
"hint_string": p_hint_string,
|
||||
})
|
||||
|
||||
ProjectSettings.set_initial_value(p_name, p_default)
|
||||
|
||||
var error: int = ProjectSettings.save()
|
||||
|
||||
if error:
|
||||
push_error("Resonate - Encountered error %d when saving project settings." % error)
|
||||
|
||||
|
||||
func migrate_old_bus_settings():
|
||||
# This migration helps to ensure that users upgrading from an old version of Resonate
|
||||
# to a version that uses the "*_BANK_BUS_SETTING*" ids won't loose their previous
|
||||
# audio bus settings. After migration occurs, the old settings are deleted.
|
||||
|
||||
if ProjectSettings.has_setting("audio/manager/sound/bank"):
|
||||
var value = ProjectSettings.get_setting(
|
||||
"audio/manager/sound/bank",
|
||||
_settings.SOUND_BANK_BUS_SETTING_ACTUAL)
|
||||
|
||||
ProjectSettings.set_setting(_settings.SOUND_BANK_BUS_SETTING_NAME, value)
|
||||
ProjectSettings.clear("audio/manager/sound/bank")
|
||||
|
||||
if ProjectSettings.has_setting("audio/manager/music/bank"):
|
||||
var value = ProjectSettings.get_setting(
|
||||
"audio/manager/music/bank",
|
||||
_settings.MUSIC_BANK_BUS_SETTING_ACTUAL)
|
||||
|
||||
ProjectSettings.set_setting(_settings.MUSIC_BANK_BUS_SETTING_NAME, value)
|
||||
ProjectSettings.clear("audio/manager/music/bank")
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue