pir-serious-game-ethics/addons/dialogic/Editor/Pieces/AudioBlock.gd

48 lines
1.2 KiB
GDScript

tool
extends Control
var editor_reference
var editorPopup
var play_icon = load("res://addons/dialogic/Images/play.svg")
var stop_icon = load("res://addons/dialogic/Images/stop.svg")
# This is the information of this event and it will get parsed and saved to the JSON file.
var event_data = {
'audio': 'play',
'file': ''
}
func _on_ButtonAudio_pressed():
editor_reference.godot_dialog("*.wav, *.ogg, *.mp3")
editor_reference.godot_dialog_connect(self, "_on_file_selected")
func _on_file_selected(path, target):
target.load_audio(path)
func load_audio(path):
$PanelContainer/VBoxContainer/Header/Name.text = path
$PanelContainer/VBoxContainer/Header/ButtonPreviewPlay.disabled = false
event_data['file'] = path
func load_data(data):
event_data = data
if data['file'] != '':
load_audio(data['file'])
func _on_ButtonPreviewPlay_pressed():
if $PanelContainer/AudioPreview.is_playing():
$PanelContainer/AudioPreview.stop()
else:
$PanelContainer/AudioPreview.stream = load(event_data['file'])
$PanelContainer/AudioPreview.play()
$PanelContainer/VBoxContainer/Header/ButtonPreviewPlay.icon = stop_icon
func _on_AudioPreview_finished():
$PanelContainer/VBoxContainer/Header/ButtonPreviewPlay.icon = play_icon