[gd_scene load_steps=2 format=2] [sub_resource type="GDScript" id=1] script/source = "extends Control var _gdpd var _patch = 0 func _ready(): _gdpd = load(\"res://addons/gdpd/bin/gdpd.gdns\").new() pass func _process(delta): while _gdpd.has_message() : print(\"got msg\") var msg = _gdpd.get_next() print(msg) func _load_patch(pd_patch) : #separate file name from directory var patch_name = pd_patch.split(\"/\")[-1] var patch_dir = pd_patch.trim_suffix(patch_name) #load patch _gdpd.openfile(patch_name, patch_dir) func _on_Start_pressed() : var inps = _gdpd.get_available_input_devices() var outs = _gdpd.get_available_output_devices() _gdpd.init_devices(inps[0], outs[0]) #the patch path should be the absolute one _load_patch(ProjectSettings.globalize_path(\"res://patch1.pd\")) _load_patch(ProjectSettings.globalize_path(\"res://patch2.pd\")) _gdpd.start_message(1) _gdpd.add_symbol(\"from godot\") _gdpd.finish_list(\"blup\") _gdpd.subscribe(\"toBfWeb\") func _on_Stop_pressed(): _gdpd.closefile(\"patch1.pd\") _gdpd.closefile(\"patch2.pd\") _gdpd.stop() " [node name="Control" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 script = SubResource( 1 ) __meta__ = { "_edit_use_anchors_": false } [node name="Stop" type="Button" parent="."] margin_left = 73.0 margin_top = 198.0 margin_right = 176.0 margin_bottom = 244.0 text = "Stop" __meta__ = { "_edit_use_anchors_": false } [node name="Start" type="Button" parent="."] margin_left = 83.0 margin_top = 93.0 margin_right = 187.0 margin_bottom = 144.0 text = "Start" [node name="Load" type="Button" parent="."] margin_left = 103.0 margin_top = 159.0 margin_right = 145.0 margin_bottom = 179.0 text = "Load" [connection signal="pressed" from="Stop" to="." method="_on_Stop_pressed"] [connection signal="pressed" from="Start" to="." method="_on_Start_pressed"] [connection signal="pressed" from="Load" to="." method="_on_Load_pressed"]