Created
October 12, 2018 13:59
-
-
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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