diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-07-23 11:21:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-23 11:21:14 +0200 |
commit | a5bc65bbadad814a157283749c1ef8552f1663c4 (patch) | |
tree | 02726cac4b18989faf21a50b92998f9031f0ddcd /editor/filesystem_dock.cpp | |
parent | 01c866a5993d78d414b81836eec4051c27444b08 (diff) | |
parent | d1ddee225830b28171de031bd1f1918ced21b38f (diff) | |
download | redot-engine-a5bc65bbadad814a157283749c1ef8552f1663c4.tar.gz |
Merge pull request #63265 from reduz/stream-bpm-support
Implement BPM support in AudioStream files.
Diffstat (limited to 'editor/filesystem_dock.cpp')
-rw-r--r-- | editor/filesystem_dock.cpp | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index 6240ac86ad..e025cedf02 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -985,7 +985,9 @@ void FileSystemDock::_select_file(const String &p_path, bool p_select_in_favorit } } - if (ResourceLoader::get_resource_type(fpath) == "PackedScene") { + String resource_type = ResourceLoader::get_resource_type(fpath); + + if (resource_type == "PackedScene") { bool is_imported = false; { @@ -1005,7 +1007,7 @@ void FileSystemDock::_select_file(const String &p_path, bool p_select_in_favorit } else { EditorNode::get_singleton()->open_request(fpath); } - } else if (ResourceLoader::get_resource_type(fpath) == "AnimationLibrary") { + } else if (resource_type == "AnimationLibrary") { bool is_imported = false; { @@ -1025,6 +1027,25 @@ void FileSystemDock::_select_file(const String &p_path, bool p_select_in_favorit } else { EditorNode::get_singleton()->open_request(fpath); } + } else if (ResourceLoader::is_imported(fpath)) { + // If the importer has advanced settings, show them. + int order; + bool can_threads; + String name; + Error err = ResourceFormatImporter::get_singleton()->get_import_order_threads_and_importer(fpath, order, can_threads, name); + bool used_advanced_settings = false; + if (err == OK) { + Ref<ResourceImporter> importer = ResourceFormatImporter::get_singleton()->get_importer_by_name(name); + if (importer.is_valid() && importer->has_advanced_options()) { + importer->show_advanced_options(fpath); + used_advanced_settings = true; + } + } + + if (!used_advanced_settings) { + EditorNode::get_singleton()->load_resource(fpath); + } + } else { EditorNode::get_singleton()->load_resource(fpath); } |