Skip to content

Instantly share code, notes, and snippets.

@henriiquecampos
Created October 12, 2018 13:59
Show Gist options
  • Save henriiquecampos/65421ec49f11f374ccbe49ae77899c8a to your computer and use it in GitHub Desktop.
Save henriiquecampos/65421ec49f11f374ccbe49ae77899c8a to your computer and use it in GitHub Desktop.
A Godot Editor Script that automatically creates AudioStreamPlayer nodes and AudioStreamRandomPitch resources based on a source directory with the raw files.
tool
extends EditorScript
func _run():
var interface = get_editor_interface()
var filesys = interface.get_resource_filesystem()
var dir = filesys.get_filesystem_path(get_scene().source_directory)
for f in dir.get_file_count():
var path = dir.get_file_path(f)
if not filesys.get_file_type(path) == "AudioStreamOGGVorbis":
continue
var n = AudioStreamPlayer.new()
var node_name = dir.get_file(f)
node_name = node_name.replace(".ogg", "")
n.name = node_name
var stream = AudioStreamRandomPitch.new()
stream.audio_stream = load(path)
n.stream = stream
var stream_path = dir.get_file(f)
stream_path = stream_path.replace("ogg", "tres")
ResourceSaver.save(dir.get_parent().get_path() + stream_path, stream)
get_scene().add_child(n)
n.owner = get_scene()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment