diff --git a/core/IvmiScene.gd b/core/IvmiScene.gd index 2f8be5eb650b63417edfad985c2233c495fa328d..26d0b087ec56ec396f531339e10e85a99ea33769 100644 --- a/core/IvmiScene.gd +++ b/core/IvmiScene.gd @@ -78,6 +78,7 @@ func _ready(): # PureData mode if _pd_mode==PdMode.LIBPD : var gdpdir = DirAccess.open("res://addons/gdpd") + var gdpdok : bool = false if gdpdir : _gdpd = ClassDB.instantiate("GdPd") add_child(_gdpd) @@ -85,14 +86,17 @@ func _ready(): # Get all input and output devices var inps = _gdpd.get_available_input_devices() var outs = _gdpd.get_available_output_devices() - # Initialise the first ones - _gdpd.init_devices(inps[0], outs[0]) - # Open patch - var global_patch = ProjectSettings.globalize_path(_pd_patch) - var patch_name = global_patch.split("/")[-1] - var patch_dir = global_patch.trim_suffix(patch_name) - _gdpd.openfile(patch_name, patch_dir) - else : + if inps.size()>0 and outs.size()>0 : + # Initialise the first ones + _gdpd.init_devices(inps[0], outs[0]) + # Open patch + var global_patch = ProjectSettings.globalize_path(_pd_patch) + var patch_name = global_patch.split("/")[-1] + var patch_dir = global_patch.trim_suffix(patch_name) + _gdpd.openfile(patch_name, patch_dir) + gdpdok=true + + if not gdpdok : print("IVMI : Could not load gdpd addon") _pd_mode=PdMode.OSC