mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-02-25 06:53:14 +00:00
Load audio files from the audio layer properties
This commit is contained in:
parent
7633b0fe2a
commit
0b0ae02ce2
2 changed files with 44 additions and 2 deletions
|
@ -11,6 +11,11 @@ var layer_indices: PackedInt32Array
|
|||
@onready var play_at_frame_slider := $GridContainer/PlayAtFrameSlider as ValueSlider
|
||||
@onready var user_data_text_edit := $GridContainer/UserDataTextEdit as TextEdit
|
||||
@onready var tileset_option_button := $GridContainer/TilesetOptionButton as OptionButton
|
||||
@onready var audio_file_dialog := $AudioFileDialog as FileDialog
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
audio_file_dialog.use_native_dialog = Global.use_native_file_dialogs
|
||||
|
||||
|
||||
func _on_visibility_changed() -> void:
|
||||
|
@ -158,6 +163,10 @@ func _on_tileset_option_button_item_selected(index: int) -> void:
|
|||
project.undo_redo.commit_action()
|
||||
|
||||
|
||||
func _on_audio_file_button_pressed() -> void:
|
||||
audio_file_dialog.popup_centered()
|
||||
|
||||
|
||||
func _on_play_at_frame_slider_value_changed(value: float) -> void:
|
||||
if layer_indices.size() == 0:
|
||||
return
|
||||
|
@ -165,3 +174,15 @@ func _on_play_at_frame_slider_value_changed(value: float) -> void:
|
|||
var layer := Global.current_project.layers[layer_index]
|
||||
if layer is AudioLayer:
|
||||
layer.playback_frame = value - 1
|
||||
|
||||
|
||||
func _on_audio_file_dialog_file_selected(path: String) -> void:
|
||||
var audio_stream: AudioStream
|
||||
if path.get_extension() == "mp3":
|
||||
var file := FileAccess.open(path, FileAccess.READ)
|
||||
audio_stream = AudioStreamMP3.new()
|
||||
audio_stream.data = file.get_buffer(file.get_length())
|
||||
for layer_index in layer_indices:
|
||||
var layer := Global.current_project.layers[layer_index]
|
||||
if layer is AudioLayer:
|
||||
layer.audio = audio_stream
|
||||
|
|
|
@ -5,14 +5,15 @@
|
|||
|
||||
[node name="LayerProperties" type="AcceptDialog"]
|
||||
title = "Layer properties"
|
||||
size = Vector2i(300, 235)
|
||||
position = Vector2i(0, 36)
|
||||
size = Vector2i(300, 270)
|
||||
script = ExtResource("1_54q1t")
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="."]
|
||||
offset_left = 8.0
|
||||
offset_top = 8.0
|
||||
offset_right = 292.0
|
||||
offset_bottom = 186.0
|
||||
offset_bottom = 221.0
|
||||
columns = 2
|
||||
|
||||
[node name="NameLabel" type="Label" parent="GridContainer"]
|
||||
|
@ -52,6 +53,15 @@ layout_mode = 2
|
|||
size_flags_horizontal = 3
|
||||
mouse_default_cursor_shape = 2
|
||||
|
||||
[node name="AudioFileLabel" type="Label" parent="GridContainer" groups=["AudioLayers"]]
|
||||
layout_mode = 2
|
||||
text = "Audio file:"
|
||||
|
||||
[node name="AudioFileButton" type="Button" parent="GridContainer" groups=["AudioLayers"]]
|
||||
layout_mode = 2
|
||||
mouse_default_cursor_shape = 2
|
||||
text = "Load file"
|
||||
|
||||
[node name="PlayAtFrameLabel" type="Label" parent="GridContainer" groups=["AudioLayers"]]
|
||||
layout_mode = 2
|
||||
text = "Play at frame:"
|
||||
|
@ -92,10 +102,21 @@ text = "Tileset:"
|
|||
layout_mode = 2
|
||||
mouse_default_cursor_shape = 2
|
||||
|
||||
[node name="AudioFileDialog" type="FileDialog" parent="."]
|
||||
title = "Open a File"
|
||||
size = Vector2i(870, 400)
|
||||
always_on_top = true
|
||||
ok_button_text = "Open"
|
||||
file_mode = 0
|
||||
access = 2
|
||||
filters = PackedStringArray("*.mp3 ; MP3 Audio")
|
||||
|
||||
[connection signal="visibility_changed" from="." to="." method="_on_visibility_changed"]
|
||||
[connection signal="text_changed" from="GridContainer/NameLineEdit" to="." method="_on_name_line_edit_text_changed"]
|
||||
[connection signal="value_changed" from="GridContainer/OpacitySlider" to="." method="_on_opacity_slider_value_changed"]
|
||||
[connection signal="item_selected" from="GridContainer/BlendModeOptionButton" to="." method="_on_blend_mode_option_button_item_selected"]
|
||||
[connection signal="pressed" from="GridContainer/AudioFileButton" to="." method="_on_audio_file_button_pressed"]
|
||||
[connection signal="value_changed" from="GridContainer/PlayAtFrameSlider" to="." method="_on_play_at_frame_slider_value_changed"]
|
||||
[connection signal="text_changed" from="GridContainer/UserDataTextEdit" to="." method="_on_user_data_text_edit_text_changed"]
|
||||
[connection signal="item_selected" from="GridContainer/TilesetOptionButton" to="." method="_on_tileset_option_button_item_selected"]
|
||||
[connection signal="file_selected" from="AudioFileDialog" to="." method="_on_audio_file_dialog_file_selected"]
|
||||
|
|
Loading…
Add table
Reference in a new issue