diff --git a/Sand and Receive - x86_64.dmg b/Sand and Receive - x86_64.dmg new file mode 100644 index 0000000..28610e4 Binary files /dev/null and b/Sand and Receive - x86_64.dmg differ diff --git a/autoload/Global.gd b/autoload/Global.gd index 3271e33..a207d71 100644 --- a/autoload/Global.gd +++ b/autoload/Global.gd @@ -52,6 +52,7 @@ func _exit_tree(): _gdpd.closePatch(id) _patches.clear() _gdpd.stop() + _gdpd.queue_free() func load_patch(pd_patch) -> int: #the patch path should be the absolute one diff --git a/buoyancy/SoundBuoyRand.gd b/buoyancy/SoundBuoyRand.gd index 1bc7149..3facd2e 100644 --- a/buoyancy/SoundBuoyRand.gd +++ b/buoyancy/SoundBuoyRand.gd @@ -1,10 +1,12 @@ extends RigidBody -export (String, MULTILINE) var patch = "" export (float, 0, 100) var audible_range_max = 10.0 -export (float, 1, 12) var preset = 1 +export (int, 1, 12) var preset = 1 -var _my_patch = "res://buoyancy/SoundBoxLying.pd" +export (bool) var use_embeded_patch = false +export (String, MULTILINE) var patch = "" + +var _my_patch = "user://buoyancy/SoundBoxLying.pd" var _my_id = 0 func set_size(size): @@ -44,7 +46,10 @@ func set_color(color): func _ready(): # save patch (for export) -# _save_patch() + if use_embeded_patch: + assert(_my_patch.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !") + assert(patch != "", "patch is empty?") + _save_patch() # load patch _my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch)) @@ -79,17 +84,16 @@ func _on_Events_player_transform_updated(playerpos, playerheading): func _exit_tree(): Global.close_patch(_my_id) - pass -#func _save_patch(): -# # save patch -# # prepare directory -# var patch_name = _my_patch.split("/")[-1] -# var patch_dir = _my_patch.trim_suffix(patch_name) -# var dir = Directory.new() -# dir.make_dir_recursive(patch_dir) -# # save to file -# var file = File.new() -# file.open(_my_patch, File.WRITE) -# file.store_string(patch) -# file.close() +func _save_patch(): + # save patch + # prepare directory + var patch_name = _my_patch.split("/")[-1] + var patch_dir = _my_patch.trim_suffix(patch_name) + var dir = Directory.new() + dir.make_dir_recursive(patch_dir) + # save to file + var file = File.new() + file.open(_my_patch, File.WRITE) + file.store_string(patch) + file.close() diff --git a/buoyancy/SoundBuoyy.gd b/buoyancy/SoundBuoyy.gd index d27e62d..1b4f0f6 100644 --- a/buoyancy/SoundBuoyy.gd +++ b/buoyancy/SoundBuoyy.gd @@ -1,10 +1,12 @@ extends RigidBody -export (String, MULTILINE) var patch = "" export (float, 0, 100) var audible_range_max = 10.0 -export (float, 1, 12) var preset = 1 +export (int, 1, 12) var preset = 1 -var _my_patch = "res://buoyancy/SoundBoxLying.pd" +export (bool) var use_embeded_patch = false +export (String, MULTILINE) var patch = "" + +var _my_patch = "user://buoyancy/SoundBoxLying.pd" var _my_id = 0 func set_param(param): @@ -23,23 +25,20 @@ func set_preset(prs): func _ready(): # save patch (for export) -# _save_patch() + if use_embeded_patch: + assert(_my_patch.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !") + assert(patch != "", "patch is empty?") + _save_patch() # load patch _my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch)) - # send a 'individual' bang. - Global._gdpd.start_message(1) - Global._gdpd.add_symbol('bang') # there's no 'add_bang', only 'add_symbol' => add_symbol('bang') is a pseudo-bang - Global._gdpd.finish_list("fromGodot" + String(_my_id)) # send msg. individually ($0) - # listen 'player_transform_updated' event Events.connect("player_transform_updated", self, "_on_Events_player_transform_updated") # send 'preset' set_preset(preset) - func _on_Events_player_transform_updated(playerpos, playerheading): var mypos = get_global_translation() var mypos2d = Vector2(mypos.x, mypos.z) @@ -64,17 +63,16 @@ func _on_Events_player_transform_updated(playerpos, playerheading): func _exit_tree(): Global.close_patch(_my_id) - pass -#func _save_patch(): -# # save patch -# # prepare directory -# var patch_name = _my_patch.split("/")[-1] -# var patch_dir = _my_patch.trim_suffix(patch_name) -# var dir = Directory.new() -# dir.make_dir_recursive(patch_dir) -# # save to file -# var file = File.new() -# file.open(_my_patch, File.WRITE) -# file.store_string(patch) -# file.close() +func _save_patch(): + # save patch + # prepare directory + var patch_name = _my_patch.split("/")[-1] + var patch_dir = _my_patch.trim_suffix(patch_name) + var dir = Directory.new() + dir.make_dir_recursive(patch_dir) + # save to file + var file = File.new() + file.open(_my_patch, File.WRITE) + file.store_string(patch) + file.close() diff --git a/buoyancy/SoundBuoyy.tscn b/buoyancy/SoundBuoyy.tscn index b614bc7..1b28366 100644 --- a/buoyancy/SoundBuoyy.tscn +++ b/buoyancy/SoundBuoyy.tscn @@ -11,6 +11,271 @@ points = PoolVector3Array( 1, 1, 0, 1, -1, 0, 0.995106, 1, -0.0980814, 0.995106, [node name="SoundBuoyy1" type="RigidBody"] script = ExtResource( 2 ) +use_embeded_patch = true +patch = "#N canvas 67 146 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 200 408 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 52 27 1207 801 Lying 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 7.32 9.26 105 9.35 9.94 8.81 9 8 9 12 62 15 15 16 16 18; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 7.32 9.26 105 9.35 9.94 8.81 9 8 9 12 62 15 15 16 16 18; +#X msg 598 386 43 1000 316 3.04 2.45 2.06 0.67 0.2; +#X msg 608 410 43 834.7 212 4.11 0.7 74.1 0.63 0.21; +#X msg 618 434 39 165.9 607.2 2.2 2.35 15.93 0.5 0.2; +#X msg 628 458 28 513 134.1 4.54 1.27 0.53 0.78 0.13; +#X msg 638 482 57 32 319.4 3.15 0.17 129.5 0.96 0.22; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 296 1.4 330.6 1.6 2 17.92 0.566 0.23; +#X msg 668 554 98.46 388.2 196 4 3.2 1.67 0.97 0.21; +#X msg 678 578 67.01 399 338 5.04 4.43 0.113 0.251 0.18; +#X msg 688 602 17 0 267 2.13 1 80.15 0.88 0.18; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 709 650 8.7 23.23 1.69 53.26 0.96 0.19; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 67 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 66 0; +#X connect 49 0 68 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 69 0; +#X connect 63 1 70 0; +#X connect 63 2 71 0; +#X connect 63 3 72 0; +#X connect 63 4 73 0; +#X connect 63 5 74 0; +#X connect 63 6 75 0; +#X connect 63 7 76 0; +#X connect 63 8 77 0; +#X connect 63 9 78 0; +#X connect 63 10 79 0; +#X connect 63 11 80 0; +#X connect 66 0 57 0; +#X connect 67 0 12 0; +#X connect 68 0 65 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 76 0 62 0; +#X connect 77 0 62 0; +#X connect 78 0 62 0; +#X connect 79 0 62 0; +#X connect 80 0 62 0; +#X restore 18 269 pd Lying; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="."] transform = Transform( 1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, 0, 0, 0 ) diff --git a/buoyancy/ocean/Floater.gd b/buoyancy/ocean/Floater.gd index 0136b29..a794147 100644 --- a/buoyancy/ocean/Floater.gd +++ b/buoyancy/ocean/Floater.gd @@ -27,18 +27,18 @@ func get_position(): func _physics_process(delta): if not enabled: return - + # It had to be a world coord offset.... not just relative to the parent... # reeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee var world_coord_offset = get_position() - get_parent().translation - + # Gravity get_parent().add_force(Vector3.DOWN * 9.8, world_coord_offset) - + var wave = ocean.get_wave(get_position().x, get_position().z) var wave_height = wave.y / 2.0 var height = get_position().y - + if height < wave_height: var buoyancy = clamp((wave_height - height) / depth_before_submerged, 0, 1) * 2 get_parent().add_force(Vector3(0, 9.8 * buoyancy, 0), world_coord_offset) diff --git a/buoyancy/ocean/Ground.gd b/buoyancy/ocean/Ground.gd index e883514..cee62e8 100644 --- a/buoyancy/ocean/Ground.gd +++ b/buoyancy/ocean/Ground.gd @@ -52,13 +52,13 @@ func refresh_mesh(): mdt.set_vertex_normal(a, n + mdt.get_vertex_normal(a)) mdt.set_vertex_normal(b, n + mdt.get_vertex_normal(b)) mdt.set_vertex_normal(c, n + mdt.get_vertex_normal(c)) - + # Run through vertices one last time to normalize normals and # set color to normal. for i in range(mdt.get_vertex_count()): var v = mdt.get_vertex_normal(i).normalized() mdt.set_vertex_normal(i, v) - + mesh.surface_remove(0) mdt.commit_to_surface(mesh) mesh_instance.mesh = mesh diff --git a/buoyancy/ocean/Ocean.tscn b/buoyancy/ocean/Ocean.tscn index c1c71a3..012e1a0 100644 --- a/buoyancy/ocean/Ocean.tscn +++ b/buoyancy/ocean/Ocean.tscn @@ -122,6 +122,271 @@ linear_damp = 1.0 angular_damp = 8.876 script = ExtResource( 4 ) audible_range_max = 12.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBouy1"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.701747, 0 ) @@ -152,6 +417,271 @@ angular_damp = 20.356 script = ExtResource( 4 ) audible_range_max = 11.0 preset = 2.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBuoy2"] mesh = SubResource( 26 ) @@ -180,6 +710,271 @@ angular_damp = 20.356 script = ExtResource( 4 ) audible_range_max = 11.0 preset = 3.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBuoy3"] mesh = SubResource( 16 ) @@ -208,6 +1003,271 @@ angular_damp = 20.356 script = ExtResource( 4 ) audible_range_max = 11.0 preset = 4.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBuoy4"] mesh = SubResource( 16 ) @@ -236,6 +1296,271 @@ angular_damp = 20.356 script = ExtResource( 4 ) audible_range_max = 12.0 preset = 4.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBuoy5"] mesh = SubResource( 16 ) @@ -264,6 +1589,271 @@ angular_damp = 20.356 script = ExtResource( 4 ) audible_range_max = 12.0 preset = 5.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBuoy6"] mesh = SubResource( 16 ) @@ -292,6 +1882,271 @@ angular_damp = 20.356 script = ExtResource( 4 ) audible_range_max = 12.0 preset = 6.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBuoy7"] mesh = SubResource( 16 ) @@ -320,6 +2175,271 @@ angular_damp = 20.356 script = ExtResource( 4 ) audible_range_max = 12.0 preset = 6.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBuoy8"] mesh = SubResource( 16 ) @@ -348,6 +2468,271 @@ angular_damp = 20.356 script = ExtResource( 4 ) audible_range_max = 12.0 preset = 12.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBuoy9"] mesh = SubResource( 16 ) @@ -376,6 +2761,271 @@ angular_damp = 20.356 script = ExtResource( 4 ) audible_range_max = 12.0 preset = 10.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBuoy10"] mesh = SubResource( 16 ) @@ -404,6 +3054,271 @@ angular_damp = 8.876 script = ExtResource( 4 ) audible_range_max = 16.0 preset = 7.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBox1"] transform = Transform( 0.993801, 0, 0, 0, 0.918299, 0.379959, 0, -0.379959, 0.918299, 0, -0.371373, -2.81558 ) @@ -422,6 +3337,271 @@ angular_damp = 8.876 script = ExtResource( 4 ) audible_range_max = 15.0 preset = 8.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBox2"] transform = Transform( 0.993801, 0, 0, 0, 0.823763, -0.555928, 0, 0.555928, 0.823763, -3.12961, 0.138692, 0.42062 ) @@ -440,6 +3620,271 @@ angular_damp = 8.876 script = ExtResource( 4 ) audible_range_max = 15.0 preset = 9.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBox6"] transform = Transform( 0.993801, 0, 0, 0, 0.823763, -0.555928, 0, 0.555928, 0.823763, -3.12961, 0.138692, 0.42062 ) @@ -458,6 +3903,271 @@ angular_damp = 20.356 script = ExtResource( 4 ) audible_range_max = 12.0 preset = 11.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBox4"] mesh = SubResource( 16 ) @@ -474,6 +4184,271 @@ angular_damp = 8.876 script = ExtResource( 4 ) audible_range_max = 12.0 preset = 9.0 +use_embeded_patch = true +patch = "#N canvas 527 149 456 518 12; +#X msg 361 51 \\; pd dsp 1; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#N canvas 53 227 1207 801 Floating 0; +#X floatatom 26 425 5 0 0 0 - - - 0; +#X obj 25 179 metro 0.25 120 permin; +#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X msg 78 149 tempo \\$1 permin; +#X floatatom 78 124 5 0 300 2 BPM - - 0; +#X obj 25 234 f; +#X obj 69 233 + 1; +#X floatatom 25 282 5 0 0 0 - - - 0; +#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0; +#X obj 65 377 > 0; +#X obj 26 401 spigot; +#X obj 25 349 trigger f f; +#X obj 26 448 mtof; +#X floatatom 26 472 5 0 0 0 - - - 0; +#X obj 55 508 pack; +#X floatatom 190 213 5 0 0 1 Slew - - 0; +#X msg 55 538 \\$1 \\$2; +#X obj 55 562 line~; +#X obj 55 642 phasor~; +#X obj 125 612 *~ 1.003; +#X obj 125 642 phasor~; +#X obj 125 682 expr~ $v1 - 1; +#X obj 228 409 bob~; +#X floatatom 240 361 5 0 0 0 - - - 0; +#X floatatom 286 361 5 0 0 0 - - - 0; +#X obj 228 439 hip~ 5; +#X obj 551 795 *~ 0.1; +#X obj 331 512 delwrite~ \\$0-buffer 1000; +#X obj 331 482 *~; +#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1; +#X obj 429 601 delread~ \\$0-buffer 10; +#X obj 475 761 *~; +#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X floatatom 497 678 5 0 0 0 - - - 0; +#X floatatom 429 578 5 0 0 0 - - - 0; +#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 107 15 inlet; +#X floatatom 107 69 5 0 0 0 - - - 0; +#X floatatom 151 69 5 0 0 0 - - - 0; +#X floatatom 196 69 5 0 0 0 - - - 0; +#X floatatom 240 69 5 0 0 0 - - - 0; +#X floatatom 370 482 5 0 0 0 - - - 0; +#X floatatom 285 69 5 0 5 0 - - - 0; +#X floatatom 329 69 5 0 0 0 - - - 0; +#X floatatom 374 69 5 0 2 0 - - - 0; +#X obj 25 14 loadbang; +#X msg 25 38 1; +#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 595 34 loadbang; +#X obj 25 258 % 16; +#X floatatom 591 586 5 0 0 0 - - - 0; +#X obj 107 39 unpack f f f f f f f f, f 45; +#X floatatom 419 69 5 0 0 0 - - - 0; +#X msg 595 253 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X obj 595 229 list trim; +#X obj 595 205 list prepend set; +#X obj 595 161 t a b; +#X msg 649 180 set; +#X obj 551 819 outlet~; +#X obj 598 292 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 658 704 s \\$0-preset; +#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54; +#X msg 598 386 84 140 587 1.97 1.2 134.7 0.6 0.88; +#X msg 608 410 18.73 18 552 2.26 1.28 360 0.645 0.67; +#X msg 618 434 6 306 484.9 0.43 2.57 2.23 0.8 0.55; +#X msg 628 458 28 513 250 3.06 2.2 1.03 0.94 0.19; +#X msg 638 482 57 0 320 4.43 0.9 129.5 0.96 0.19; +#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19; +#X msg 658 530 19 0 183.6 1.45 3.11 79.26 0.88 0.19; +#X msg 668 554 16.5 0 386 1.89 5 51.67 0.83 0.21; +#X msg 678 578 56 0 1665 1.06 0.64 1376 0.72 0.15; +#X msg 688 602 16.98 585 122 10.82 2 432 0.88 0.22; +#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33; +#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-pitches 16 float 3; +#A 0 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X coords 0 127 16 0 50 50 1 0 0; +#X restore 786 143 graph; +#X obj 595 82 array set \\$0-pitches; +#X obj 595 137 array get \\$0-pitches; +#X obj 25 325 array get \\$0-pitches; +#X msg 595 58 111 56 116 75 115 92 118 101 110 104 94 106 112 98 113 82; +#X connect 0 0 13 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 6 0 50 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 79 0; +#X connect 10 0 11 1; +#X connect 11 0 0 0; +#X connect 12 0 11 0; +#X connect 12 1 10 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 17 0; +#X connect 16 0 15 1; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 26 0; +#X connect 24 0 23 1; +#X connect 25 0 23 2; +#X connect 26 0 27 0; +#X connect 26 0 29 0; +#X connect 27 0 59 0; +#X connect 29 0 28 0; +#X connect 30 0 29 1; +#X connect 30 0 42 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 32 1; +#X connect 33 0 34 0; +#X connect 35 0 31 0; +#X connect 36 0 35 0; +#X connect 37 0 52 0; +#X connect 38 0 5 0; +#X connect 39 0 16 0; +#X connect 40 0 24 0; +#X connect 41 0 25 0; +#X connect 43 0 30 0; +#X connect 44 0 36 0; +#X connect 45 0 33 0; +#X connect 46 0 47 0; +#X connect 47 0 2 0; +#X connect 48 0 78 0; +#X connect 49 0 80 0; +#X connect 50 0 8 0; +#X connect 51 0 27 1; +#X connect 52 0 38 0; +#X connect 52 1 39 0; +#X connect 52 2 40 0; +#X connect 52 3 41 0; +#X connect 52 4 43 0; +#X connect 52 5 44 0; +#X connect 52 6 45 0; +#X connect 52 7 53 0; +#X connect 53 0 51 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 57 1 58 0; +#X connect 58 0 54 0; +#X connect 60 0 63 0; +#X connect 61 0 52 0; +#X connect 63 0 64 0; +#X connect 63 1 65 0; +#X connect 63 2 66 0; +#X connect 63 3 67 0; +#X connect 63 4 68 0; +#X connect 63 5 69 0; +#X connect 63 6 70 0; +#X connect 63 7 71 0; +#X connect 63 8 72 0; +#X connect 63 9 73 0; +#X connect 63 10 74 0; +#X connect 63 11 75 0; +#X connect 64 0 62 0; +#X connect 65 0 62 0; +#X connect 66 0 62 0; +#X connect 67 0 62 0; +#X connect 68 0 62 0; +#X connect 69 0 62 0; +#X connect 70 0 62 0; +#X connect 71 0 62 0; +#X connect 72 0 62 0; +#X connect 73 0 62 0; +#X connect 74 0 62 0; +#X connect 75 0 62 0; +#X connect 78 0 57 0; +#X connect 79 0 12 0; +#X connect 80 0 77 0; +#X restore 18 269 pd Floating; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X obj 203 336 *~; +#X connect 1 0 2 0; +#X connect 2 0 16 0; +#X connect 3 0 6 0; +#X connect 4 0 8 1; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 5 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 10 0 8 0; +#X connect 11 0 20 0; +#X connect 11 1 12 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 3 0; +#X connect 15 0 0 0; +#X connect 16 1 11 0; +#X connect 16 2 17 0; +#X connect 16 3 17 1; +#X connect 17 0 10 0; +#X connect 18 0 27 0; +#X connect 18 0 27 1; +#X connect 19 0 18 0; +#X connect 20 0 25 0; +#X connect 20 0 26 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 19 0; +#X connect 26 0 23 0; +#X connect 27 0 10 1; +" [node name="MeshInstance" type="MeshInstance" parent="SoundBox5"] transform = Transform( 0.993801, 0, 0, 0, 0.823763, -0.555928, 0, 0.555928, 0.823763, -3.12961, 0.138692, 0.42062 ) @@ -518,72 +4493,58 @@ audible_range_max = 12.0 [node name="SoundBuoyy2" parent="." instance=ExtResource( 7 )] transform = Transform( 0.488011, 0.544291, -0.682344, -0.465621, 0.823569, 0.323931, 0.738269, 0.159632, 0.655344, 97.7438, -1.2744, 2.83137 ) audible_range_max = 12.0 -preset = 2.0 [node name="SoundBuoyy3" parent="." instance=ExtResource( 7 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 80.8406, 0.772681, 4.84752 ) audible_range_max = 12.0 -preset = 3.0 [node name="SoundBuoyy4" parent="." instance=ExtResource( 7 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 80.8406, -11.0833, -5.81361 ) audible_range_max = 12.0 -preset = 4.0 [node name="SoundBuoyy5" parent="." instance=ExtResource( 7 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 75.6633, -1.25394, -5.62765 ) audible_range_max = 12.0 -preset = 5.0 [node name="SoundBuoyy6" parent="." instance=ExtResource( 7 )] transform = Transform( -0.905028, 0, -0.425353, 0, 1, 0, 0.425353, 0, -0.905028, 87.6051, 4.00231, 56.0514 ) audible_range_max = 12.0 -preset = 6.0 [node name="SoundBuoyy7" parent="." instance=ExtResource( 7 )] transform = Transform( -0.905028, 0, -0.425353, 0, 1, 0, 0.425353, 0, -0.905028, 49.1866, -6.76853, 95.2483 ) audible_range_max = 12.0 -preset = 7.0 [node name="SoundBuoyy8" parent="." instance=ExtResource( 7 )] transform = Transform( -0.905028, 0, -0.425353, 0, 1, 0, 0.425353, 0, -0.905028, 18.911, -6.76853, 95.2483 ) audible_range_max = 12.0 -preset = 8.0 [node name="SoundBuoyy9" parent="." instance=ExtResource( 7 )] transform = Transform( -1.81006, -5.96046e-08, -0.850706, -0.710169, -1.10111, 1.51103, -0.468359, 1.6696, 0.996532, -68.0181, -6.60162, 37.2018 ) audible_range_max = 13.0 -preset = 9.0 [node name="SoundBuoyy10" parent="." instance=ExtResource( 7 )] transform = Transform( -0.412747, -0.549406, 0.726493, 0.880227, -0.0355285, 0.473222, -0.23418, 0.8348, 0.498266, 10.5247, -0.689511, 88.5554 ) audible_range_max = 12.0 -preset = 10.0 [node name="SoundBuoyy11" parent="." instance=ExtResource( 7 )] transform = Transform( -0.905028, 0, -0.425353, -0.355084, -0.550554, 0.755517, -0.23418, 0.8348, 0.498266, -59.0084, -0.897832, 21.7422 ) audible_range_max = 11.0 -preset = 11.0 [node name="SoundBuoyy12" parent="." instance=ExtResource( 7 )] transform = Transform( -0.905028, 0, -0.425353, -0.356727, 0.544654, 0.759011, 0.231669, 0.838661, -0.492927, -148.489, -6.00576, -134.354 ) audible_range_max = 12.0 -preset = 7.0 [node name="SoundBuoyy13" parent="." instance=ExtResource( 7 )] transform = Transform( -1.81006, -5.96046e-08, -0.850706, -0.402656, 1.76178, 0.856735, 0.749379, 0.946642, -1.59446, -56.41, -2.76181, 37.2448 ) audible_range_max = 20.0 -preset = 12.0 [node name="SoundBuoyy14" parent="." instance=ExtResource( 7 )] transform = Transform( -0.412747, -0.549406, 0.726493, 0.880227, -0.0355285, 0.473222, -0.23418, 0.8348, 0.498266, 17.1348, -0.689511, 110.129 ) audible_range_max = 12.0 -preset = 3.0 [node name="SoundBuoyy15" parent="." instance=ExtResource( 7 )] transform = Transform( -0.905028, 0, -0.425353, -0.355084, -0.550554, 0.755517, -0.23418, 0.8348, 0.498266, 21.0751, -8.55774, -2067.8 ) audible_range_max = 13.212 -preset = 7.0 [node name="SoundBuoyy16" parent="." instance=ExtResource( 7 )] transform = Transform( 0.561305, -0.524504, 0.640182, -0.356727, 0.544654, 0.759011, -0.746782, -0.654407, 0.118612, 40.5646, -2.67252, 74.6002 ) diff --git a/buoyancy/ocean/SoundBouy1.gd b/buoyancy/ocean/SoundBouy1.gd index 943621d..56341ae 100644 --- a/buoyancy/ocean/SoundBouy1.gd +++ b/buoyancy/ocean/SoundBouy1.gd @@ -1,10 +1,12 @@ extends RigidBody -export (String, MULTILINE) var patch = "" export (float, 0, 100) var audible_range_max = 10.0 -export (float, 1, 12) var preset = 1 +export (int, 1, 12) var preset = 1 -var _my_patch = "res://buoyancy/SoundBuoyFloating.pd" +export (bool) var use_embeded_patch = false +export (String, MULTILINE) var patch = "" + +var _my_patch = "user://buoyancy/SoundBuoyFloating.pd" var _my_id = 0 func set_param(param): @@ -22,32 +24,21 @@ func set_preset(prs): Global._gdpd.finish_list("fromGodot" + String(_my_id)) func _ready(): -# # save patch -# # prepare directory -# var patch_name = _my_patch.split("/")[-1] -# var patch_dir = _my_patch.trim_suffix(patch_name) -# var dir = Directory.new() -# dir.make_dir_recursive(patch_dir) -# # save to file -# var file = File.new() -# file.open(_my_patch, File.WRITE) -# file.store_string(patch) -# file.close() + # save patch (for export) + if use_embeded_patch: + assert(_my_patch.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !") + assert(patch != "", "patch is empty?") + _save_patch() + # load patch _my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch)) - # send a 'individual' bang. - Global._gdpd.start_message(1) - Global._gdpd.add_symbol('bang') # there's no 'add_bang', only 'add_symbol' => add_symbol('bang') is a pseudo-bang - Global._gdpd.finish_list("fromGodot" + String(_my_id)) # send msg. individually ($0) - # listen 'player_transform_updated' event Events.connect("player_transform_updated", self, "_on_Events_player_transform_updated") # send 'preset' set_preset(preset) - func _on_Events_player_transform_updated(playerpos, playerheading): var mypos = get_global_translation() var mypos2d = Vector2(mypos.x, mypos.z) @@ -61,7 +52,7 @@ func _on_Events_player_transform_updated(playerpos, playerheading): # (check) # print(str(_my_id) +" : ("+ str(distance) +","+ str(angle) +")") # calculate gain - var gain = max(1 - distance/audible_range_max, 0) + var gain = 1 - distance/audible_range_max # send to the patch Global._gdpd.start_message(3) Global._gdpd.add_symbol("panvol") @@ -72,4 +63,16 @@ func _on_Events_player_transform_updated(playerpos, playerheading): func _exit_tree(): Global.close_patch(_my_id) - pass + +func _save_patch(): + # save patch + # prepare directory + var patch_name = _my_patch.split("/")[-1] + var patch_dir = _my_patch.trim_suffix(patch_name) + var dir = Directory.new() + dir.make_dir_recursive(patch_dir) + # save to file + var file = File.new() + file.open(_my_patch, File.WRITE) + file.store_string(patch) + file.close() diff --git a/buoyancy/ocean/Water.tres b/buoyancy/ocean/Water.tres index e7f4ee7..b223321 100644 --- a/buoyancy/ocean/Water.tres +++ b/buoyancy/ocean/Water.tres @@ -20,5 +20,5 @@ shader_param/wave_b_dir = Vector2( 1, 1 ) shader_param/wave_c = Vector3( 1, 0.15, 14 ) shader_param/wave_c_dir = Vector2( 1, 0.5 ) shader_param/foam_level = 0.4 -shader_param/time = 116.641 +shader_param/time = 682.979 shader_param/noise = SubResource( 2 ) diff --git a/buoyancy/project.godot.off b/buoyancy/project.godot.off deleted file mode 100644 index 172aca3..0000000 --- a/buoyancy/project.godot.off +++ /dev/null @@ -1,83 +0,0 @@ -; Engine configuration file. -; It's best edited using the editor UI and not directly, -; since the parameters that go here are not all obvious. -; -; Format: -; [section] ; section goes between [] -; param=value ; assign values to parameters - -config_version=4 - -_global_script_classes=[ { -"base": "Spatial", -"class": "Floater", -"language": "GDScript", -"path": "res://buoyancy/ocean/Floater.gd" -} ] -_global_script_class_icons={ -"Floater": "" -} - -[application] - -config/name="Buoyancy and Waves" -run/main_scene="res://buoyancy/ocean/Ocean.tscn" -config/icon="res://buoyancy/icon.png" - -[autoload] - -Global="*res://buoyancy/autoload/Global.tscn" -Events="*res://buoyancy/autoload/Events.tscn" - -[input] - -forward={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -left={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -right={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -backward={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -pause={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777217,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -jump={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -sprint={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -interact={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":69,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} - -[physics] - -common/physics_fps=144 -common/physics_jitter_fix=0.191 -common/enable_pause_aware_picking=true - -[rendering] - -environment/default_environment="res://buoyancy/default_env.tres" diff --git a/crickets/project.godot.off b/crickets/project.godot.off deleted file mode 100644 index 1393b6f..0000000 --- a/crickets/project.godot.off +++ /dev/null @@ -1,87 +0,0 @@ -; Engine configuration file. -; It's best edited using the editor UI and not directly, -; since the parameters that go here are not all obvious. -; -; Format: -; [section] ; section goes between [] -; param=value ; assign values to parameters - -config_version=4 - -_global_script_classes=[ { -"base": "Spatial", -"class": "Branch", -"language": "GDScript", -"path": "res://crickets/src/Branch.gd" -}, { -"base": "Spatial", -"class": "Branch2", -"language": "GDScript", -"path": "res://crickets/src/Branch2.gd" -}, { -"base": "Spatial", -"class": "Leaves", -"language": "GDScript", -"path": "res://crickets/src/Leave.gd" -}, { -"base": "Spatial", -"class": "PolyTree", -"language": "GDScript", -"path": "res://crickets/src/Tree.gd" -}, { -"base": "Spatial", -"class": "PolyTree2", -"language": "GDScript", -"path": "res://crickets/src/Tree2.gd" -} ] -_global_script_class_icons={ -"Branch": "", -"Branch2": "", -"Leaves": "", -"PolyTree": "", -"PolyTree2": "" -} - -[application] - -config/name="Procedural Trees" -run/main_scene="res://crickets/src/Sandbox.tscn" - -[autoload] - -Global="*res://crickets/Global.tscn" -Events="*res://crickets/Events.tscn" - -[input] - -move_forward={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_backward={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_left={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_right={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_jump={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} - -[rendering] - -quality/reflections/texture_array_reflections=false -quality/reflections/high_quality_ggx=false -environment/default_environment="res://crickets/default_env.tres" diff --git a/crickets/src/Tree.gd b/crickets/src/Tree.gd index 109aafc..8222bd4 100644 --- a/crickets/src/Tree.gd +++ b/crickets/src/Tree.gd @@ -1,14 +1,336 @@ extends Spatial class_name PolyTree - - - -export (String, MULTILINE) var patch = "res://crickets/cricket.pd" export (float, 0, 100) var audible_range_max = 30.0 -export (float, 1, 32) var preset = 1 +export (int, 1, 32) var preset = 1 -var _my_patch = "res://crickets/cricket.pd" +export (bool) var use_embeded_patch = true +export (String, MULTILINE) var patch = """#N canvas 0 82 1045 747 12; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#X obj 20 470 *~; +#X obj 38 446 vline~; +#X msg 38 422 0 \\, 1 1000 300; +#X obj 38 398 loadbang; +#X msg 361 51 \\; pd dsp 1; +#N canvas 0 23 1440 807 synth 0; +#X obj 334 43 inlet; +#X obj 254 630 +~ 1; +#X obj 254 658 *~ 50; +#X obj 572 671 *~; +#X obj 95 350 metro 0.5 120 permin; +#X obj 95 380 bng 16 250 50 0 empty empty empty 0 -12 0 16 #fcfcfc #000000 #000000; +#X obj 21 192 tgl 24 0 empty empty empty 0 -12 0 16 #fcfcfc #000000 #000000 0 1; +#X msg 95 310 tempo \\$1 permin; +#X floatatom 95 281 5 0 0 1 bpm - - 0; +#X obj 95 407 f; +#X obj 141 407 + 1; +#X floatatom 95 437 5 0 0 0 - - - 0; +#X obj 95 526 bng 16 250 50 0 empty empty empty 0 -16 0 24 #fcfcfc #000000 #000000; +#X obj 122 526 bng 16 250 50 0 empty empty empty 0 -16 0 24 #fcfcfc #000000 #000000; +#X obj 149 526 bng 16 250 50 0 empty empty empty 0 -16 0 24 #fcfcfc #000000 #000000; +#X floatatom 95 563 5 0 0 0 - - - 0; +#X obj 95 602 sel 0; +#X obj 127 632 mtof; +#X obj 127 750 line~; +#X msg 127 721 \\$1 \\$2; +#X obj 127 694 pack; +#X floatatom 127 668 5 0 0 0 - - - 0; +#X floatatom 171 606 5 0 0 1 ramp - - 0; +#X floatatom 458 475 5 0 0 1 AM - - 0; +#X obj 404 594 expr~ ($v1+1)/2; +#X obj 404 622 expr~ 1-$v1; +#X obj 404 649 *~; +#X floatatom 275 476 5 0 3 1 VolAM - - 0; +#X obj 493 721 *~; +#X obj 404 561 osc~; +#X obj 254 605 osc~ 440; +#X obj 275 452 line; +#X msg 95 243 10; +#X msg 133 244 20; +#X msg 170 243 30; +#X msg 210 243 40; +#X obj 275 315 random 3; +#X obj 275 339 sel 0 1 2; +#X obj 95 171 random 4; +#X obj 95 209 sel 0 1 2 3; +#X obj 95 111 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 95 140 metro 3000; +#X msg 238 513 1 200; +#X msg 315 415 0 1800; +#X obj 180 526 bng 16 250 50 0 empty empty empty 0 -16 0 24 #fcfcfc #000000 #000000; +#X floatatom 200 563 5 0 0 0 - - - 0; +#X obj 95 496 sel 0 1 2 3 4 5; +#X obj 95 466 mod 6; +#X obj 430 225 osc~; +#X obj 430 253 +~ 1; +#X obj 430 309 snapshot~; +#X obj 504 266 metro 100; +#X obj 506 231 tgl 20 0 empty empty empty 0 -16 0 24 #fcfcfc #000000 #000000 0 1; +#X obj 433 338 hsl 100 18 0 300 0 0 empty empty empty -2 -16 0 24 #fcfcfc #000000 #000000 0 1; +#X floatatom 430 367 5 0 0 0 - - - 0; +#X floatatom 404 537 5 0 0 0 - - - 0; +#X obj 404 513 +; +#X obj 430 279 *~ 150; +#X obj 20 136 loadbang; +#X msg 21 159 1; +#X obj 95 11 loadbang; +#X msg 95 51 1; +#X obj 507 170 loadbang; +#X msg 508 193 1; +#X floatatom 388 117 5 0 0 0 - - - 0; +#X floatatom 430 117 5 0 0 0 - - - 0; +#X floatatom 305 117 5 0 0 0 - - - 0; +#X floatatom 347 117 5 0 0 0 - - - 0; +#X obj 334 74 unpack f f f f f; +#X floatatom 589 117 5 0 0 0 - - - 0; +#X obj 206 40 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 206 88 t b b; +#X obj 341 225 +; +#X floatatom 341 249 5 0 0 0 - - - 0; +#X obj 206 136 * 10; +#X obj 206 112 random 4; +#X obj 206 64 metro 3000; +#X obj 254 691 tabread~ \\$0-shaping; +#N canvas 0 22 450 278 (subpatch) 0; +#X array \\$0-shaping 100 float 1; +#A 0 0.159999 0.159999 0.159999 0.159999 0.159999 0.159999 0.159999 0.159999 0.159999 0.15 0.14 0.14 0.13 0.12 0.110001 0.110001 0.110001 0.100001 0.100001 0.100001 0.100001 0.100001 0.0900012 0.0900012 0.0900012 0.0800015 0.060002 0.0500022 7.15256e-07 -0.0399983 -0.0599978 -0.0899971 -0.119996 -0.134996 -0.159995 -0.189995 -0.209994 -0.229994 -0.249993 -0.269993 -0.299992 -0.339991 -0.35999 -0.38999 -0.429989 -0.479987 -0.509987 -0.519986 -0.489987 -0.459988 -0.439988 -0.419989 -0.37999 -0.329991 -0.299992 -0.269993 -0.249993 -0.219994 -0.199994 -0.179995 -0.169995 -0.159995 -0.129996 -0.109997 -0.0799973 -0.0699975 -0.049998 -0.0399983 -0.0199988 7.15256e-07 0.0100005 0.0200002 0.03 0.03 0.03 0.0399997 0.0399997 0.0399997 0.0399997 0.0399997 0.0399997 0.0399997 0.0399997 0.0399997 0.0399997 0.0399997 0.0399997 0.0399997 0.0399997 0.0399997 0.0399997 0.03 0.03 0.0200002 0.0100005 0.0100005 7.15256e-07 -0.00999904 -0.00999904 -0.00999904; +#X coords 0 -1 100 1 200 200 1 0 0; +#X restore 676 38 graph; +#X obj 394 43 r \\$0-preset; +#X obj 697 720 s \\$0-preset; +#X obj 630 241 inlet; +#X obj 630 265 sel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; +#X msg 275 367 0 2200; +#X msg 295 391 0 2000; +#X msg 770 305 1 -2 3596 30 0.5; +#X msg 770 329 -1 1 2789 80 0.6; +#X msg 770 353 2 -5 1839 30 0.4; +#X msg 770 377 2 -5 1220 60 0.5; +#X msg 770 401 -3 2 1615 10 0.5; +#X msg 770 425 4 -7 2380 100 0.5; +#X msg 770 449 -7 -2 3996 30 0.7; +#X msg 769 473 1 7 11086 390 0.6; +#X msg 771 498 1 -9 9 10 0.5; +#X msg 770 521 2 4 12644 1962 0.7; +#X msg 770 545 -1 -11 11200 120 0.7; +#X msg 770 569 -1 -1 -11111 90 0.6; +#X msg 770 593 -2 2 1 -10 0.5; +#X msg 770 617 -1 -2 -20 60 0.6; +#X msg 770 641 1 -2 100 10 0.4; +#X msg 770 665 1 7 11086 390 0.6; +#X obj 571 724 outlet~; +#X connect 0 0 68 0; +#X connect 1 0 2 0; +#X connect 2 0 77 0; +#X connect 3 0 101 0; +#X connect 4 0 5 0; +#X connect 5 0 9 0; +#X connect 6 0 4 0; +#X connect 7 0 4 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 9 0 11 0; +#X connect 10 0 9 1; +#X connect 11 0 47 0; +#X connect 12 0 15 0; +#X connect 13 0 36 0; +#X connect 15 0 16 0; +#X connect 16 1 17 0; +#X connect 17 0 21 0; +#X connect 18 0 30 0; +#X connect 19 0 18 0; +#X connect 20 0 19 0; +#X connect 21 0 20 0; +#X connect 22 0 20 1; +#X connect 23 0 56 1; +#X connect 24 0 25 0; +#X connect 25 0 26 0; +#X connect 26 0 28 1; +#X connect 27 0 26 1; +#X connect 28 0 3 0; +#X connect 29 0 24 0; +#X connect 30 0 1 0; +#X connect 31 0 27 0; +#X connect 32 0 8 0; +#X connect 33 0 8 0; +#X connect 34 0 8 0; +#X connect 35 0 8 0; +#X connect 36 0 37 0; +#X connect 37 0 83 0; +#X connect 37 1 84 0; +#X connect 37 2 43 0; +#X connect 38 0 39 0; +#X connect 39 0 32 0; +#X connect 39 1 33 0; +#X connect 39 2 34 0; +#X connect 39 3 35 0; +#X connect 40 0 41 0; +#X connect 41 0 38 0; +#X connect 42 0 31 0; +#X connect 43 0 31 0; +#X connect 44 0 45 0; +#X connect 44 0 42 0; +#X connect 45 0 16 0; +#X connect 46 0 12 0; +#X connect 46 1 13 0; +#X connect 46 2 14 0; +#X connect 46 5 44 0; +#X connect 47 0 46 0; +#X connect 48 0 49 0; +#X connect 49 0 57 0; +#X connect 50 0 53 0; +#X connect 51 0 50 0; +#X connect 52 0 51 0; +#X connect 53 0 54 0; +#X connect 54 0 56 0; +#X connect 55 0 29 0; +#X connect 56 0 55 0; +#X connect 57 0 50 0; +#X connect 58 0 59 0; +#X connect 59 0 6 0; +#X connect 60 0 61 0; +#X connect 60 0 70 0; +#X connect 61 0 40 0; +#X connect 62 0 63 0; +#X connect 63 0 52 0; +#X connect 64 0 56 1; +#X connect 64 0 72 0; +#X connect 65 0 48 0; +#X connect 66 0 15 0; +#X connect 67 0 45 0; +#X connect 68 0 66 0; +#X connect 68 1 67 0; +#X connect 68 2 64 0; +#X connect 68 3 65 0; +#X connect 68 4 69 0; +#X connect 69 0 3 1; +#X connect 70 0 76 0; +#X connect 71 0 75 0; +#X connect 71 1 64 0; +#X connect 72 0 73 0; +#X connect 73 0 56 1; +#X connect 74 0 72 1; +#X connect 75 0 74 0; +#X connect 76 0 71 0; +#X connect 77 0 28 0; +#X connect 79 0 68 0; +#X connect 81 0 82 0; +#X connect 82 0 85 0; +#X connect 82 1 86 0; +#X connect 82 2 87 0; +#X connect 82 3 88 0; +#X connect 82 4 89 0; +#X connect 82 5 90 0; +#X connect 82 6 91 0; +#X connect 82 7 92 0; +#X connect 82 8 94 0; +#X connect 82 9 95 0; +#X connect 82 10 96 0; +#X connect 82 11 97 0; +#X connect 82 12 98 0; +#X connect 82 13 99 0; +#X connect 82 14 100 0; +#X connect 82 15 93 0; +#X connect 83 0 31 0; +#X connect 84 0 31 0; +#X connect 85 0 80 0; +#X connect 86 0 80 0; +#X connect 87 0 80 0; +#X connect 88 0 80 0; +#X connect 89 0 80 0; +#X connect 90 0 80 0; +#X connect 91 0 80 0; +#X connect 92 0 80 0; +#X connect 93 0 80 0; +#X connect 94 0 80 0; +#X connect 95 0 80 0; +#X connect 96 0 80 0; +#X connect 97 0 80 0; +#X connect 98 0 80 0; +#X connect 99 0 80 0; +#X connect 100 0 80 0; +#X restore 40 300 pd synth; +#X obj 203 339 *~; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X connect 0 0 1 0; +#X connect 1 0 16 0; +#X connect 2 0 5 0; +#X connect 3 0 7 1; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 7 1 8 1; +#X connect 9 0 7 0; +#X connect 10 0 26 0; +#X connect 10 1 11 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 2 0; +#X connect 16 0 14 0; +#X connect 16 1 10 0; +#X connect 16 2 22 0; +#X connect 16 3 22 1; +#X connect 18 0 17 1; +#X connect 19 0 18 0; +#X connect 20 0 19 0; +#X connect 22 0 9 0; +#X connect 23 0 9 1; +#X connect 24 0 23 0; +#X connect 24 0 23 1; +#X connect 25 0 24 0; +#X connect 26 0 31 0; +#X connect 26 0 32 0; +#X connect 28 0 27 0; +#X connect 29 0 28 0; +#X connect 31 0 25 0; +#X connect 32 0 29 0; +""" + +var _my_patch = "user://crickets/cricket.pd" var _my_id = 0 func set_size(size): @@ -47,13 +369,16 @@ func set_color(color): $MeshInstance.material_override.albedo_color = color func _ready(): + add_child(Branch.new(Leaves.new(2))) + # save patch (for export) -# _save_patch() + if use_embeded_patch: + assert(_my_patch.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !") + assert(patch != "", "patch is empty?") + _save_patch() # load patch - add_child(Branch.new(Leaves.new(2))) - _my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch)) # listen 'player_transform_updated' event @@ -86,4 +411,16 @@ func _on_Events_player_transform_updated(playerpos, playerheading): func _exit_tree(): Global.close_patch(_my_id) - pass + +func _save_patch(): + # save patch + # prepare directory + var patch_name = _my_patch.split("/")[-1] + var patch_dir = _my_patch.trim_suffix(patch_name) + var dir = Directory.new() + dir.make_dir_recursive(patch_dir) + # save to file + var file = File.new() + file.open(_my_patch, File.WRITE) + file.store_string(patch) + file.close() diff --git a/crickets/src/Tree2.gd b/crickets/src/Tree2.gd index 825e849..ca10b5c 100644 --- a/crickets/src/Tree2.gd +++ b/crickets/src/Tree2.gd @@ -1,14 +1,265 @@ extends Spatial class_name PolyTree2 - - - -export (String, MULTILINE) var patch = "res://crickets/wind.pd" export (float, 0, 100) var audible_range_max = 40.0 -export (float, 1, 16) var preset = 1 +export (int, 1, 16) var preset = 1 -var _my_patch = "res://crickets/wind.pd" +export (bool) var use_embeded_patch = true +export (String, MULTILINE) var patch = """#N canvas 0 82 446 513 12; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#X obj 20 470 *~; +#X obj 38 446 vline~; +#X msg 38 422 0 \\, 1 1000 300; +#X obj 38 398 loadbang; +#X msg 361 51 \\; pd dsp 1; +#N canvas 478 23 962 799 synth 0; +#X obj 403 150 inlet; +#X obj 404 553 +; +#X floatatom 457 224 5 0 0 0 - - - 0; +#X floatatom 499 224 5 0 0 0 - - - 0; +#X floatatom 374 224 5 0 0 0 - - - 0; +#X floatatom 416 224 5 0 0 0 - - - 0; +#X obj 403 181 unpack f f f f f; +#X floatatom 544 224 5 0 0 0 - - - 0; +#X obj 463 150 r \\$0-preset; +#X obj 697 720 s \\$0-preset; +#X obj 630 241 inlet; +#X obj 630 265 sel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; +#X obj 243 375 mtof; +#X floatatom 243 352 5 0 150 0 - \\$0-pit - 0; +#X obj 234 322 noise~; +#X floatatom 243 400 5 0 0 0 - - - 0; +#X obj 234 458 bp~; +#X text 275 460 band-pass filter; +#X text 288 400 <= cutoff (Hertz); +#X obj 302 557 *~; +#X obj 401 552 hsl 60 19 0 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 345 342 line; +#X floatatom 299 440 5 0 0 0 - - - 0; +#X obj 280 167 random 3; +#X obj 280 191 sel 0 1 2; +#X obj 354 278 pack 0 0; +#X msg 352 312 \\$1 \\$2; +#X obj 185 197 + 500; +#X floatatom 403 592 5 0 0 0 - - - 0; +#X obj 185 170 random 800; +#X obj 301 602 outlet~; +#X msg 770 305 915 987 1070 290 0.8; +#X msg 770 329 103 126 205 10 0.8; +#X msg 770 353 260 366 317 61 0.8; +#X msg 771 378 123 80 184 22 0.9; +#X msg 770 401 1833 1998 2100 272 0.7; +#X msg 770 425 415 498 286 323 0.9; +#X msg 770 449 1567 1648 1606 323 0.8; +#X msg 770 473 195 186 150 102 0.9; +#X msg 771 498 219 294 279 269 1; +#X msg 770 521 330 305 354 31 0.7; +#X msg 770 545 92 55 66 22 0.8; +#X msg 770 569 37 43 22 9 0.9; +#X msg 770 593 3183 3117 3224 538 0.6; +#X msg 770 617 2878 2589 2357 996 0.6; +#X msg 770 641 378 396 267 996 0.8; +#X msg 770 665 538 567 735 191 0.7; +#N canvas 386 23 374 377 retro 0; +#X obj 43 211 del; +#X obj 43 261 spigot; +#X obj 139 72 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1; +#X obj 145 216 random; +#X obj 82 235 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 50 47 inlet; +#X obj 43 286 outlet; +#X obj 50 104 t b f; +#X obj 113 191 t b b; +#X obj 158 72 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000; +#X obj 234 37 inlet; +#X obj 266 135 unpack f f; +#X obj 234 107 expr $f2-$f1; +#X floatatom 234 197 5 0 0 0 range - - 0; +#X floatatom 266 223 5 0 0 0 start - - 0; +#X obj 145 242 +; +#X floatatom 171 69 5 0 0 1 r - - 0; +#X obj 145 286 outlet; +#X obj 234 71 t a a; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 1 0 9 0; +#X connect 2 0 7 0; +#X connect 3 0 15 0; +#X connect 4 0 1 1; +#X connect 5 0 2 0; +#X connect 7 0 9 0; +#X connect 7 1 4 0; +#X connect 8 0 0 0; +#X connect 8 1 3 0; +#X connect 9 0 8 0; +#X connect 10 0 18 0; +#X connect 11 0 14 0; +#X connect 12 0 13 0; +#X connect 13 0 3 1; +#X connect 14 0 15 1; +#X connect 15 0 0 1; +#X connect 15 0 16 0; +#X connect 15 0 17 0; +#X connect 18 0 12 0; +#X connect 18 1 11 0; +#X coords 0 -1 1 1 85 40 1 135 50; +#X restore 202 74 pd retro; +#X obj 202 7 loadbang; +#X obj 202 31 t b b; +#X msg 280 50 500 2500; +#X obj 202 119 t b b; +#X connect 0 0 6 0; +#X connect 2 0 25 0; +#X connect 3 0 22 0; +#X connect 4 0 25 0; +#X connect 5 0 25 0; +#X connect 6 0 4 0; +#X connect 6 1 5 0; +#X connect 6 2 2 0; +#X connect 6 3 3 0; +#X connect 6 4 7 0; +#X connect 7 0 20 0; +#X connect 8 0 6 0; +#X connect 10 0 11 0; +#X connect 11 0 31 0; +#X connect 11 1 32 0; +#X connect 11 2 33 0; +#X connect 11 3 34 0; +#X connect 11 4 35 0; +#X connect 11 5 36 0; +#X connect 11 6 37 0; +#X connect 11 7 38 0; +#X connect 11 8 40 0; +#X connect 11 9 41 0; +#X connect 11 10 42 0; +#X connect 11 11 43 0; +#X connect 11 12 44 0; +#X connect 11 13 45 0; +#X connect 11 14 46 0; +#X connect 11 15 39 0; +#X connect 12 0 15 0; +#X connect 13 0 12 0; +#X connect 14 0 16 0; +#X connect 15 0 16 1; +#X connect 16 0 19 0; +#X connect 19 0 30 0; +#X connect 20 0 19 1; +#X connect 20 0 28 0; +#X connect 21 0 15 0; +#X connect 22 0 16 2; +#X connect 23 0 24 0; +#X connect 24 0 4 0; +#X connect 24 1 5 0; +#X connect 24 2 2 0; +#X connect 25 0 26 0; +#X connect 26 0 21 0; +#X connect 27 0 25 1; +#X connect 29 0 27 0; +#X connect 31 0 9 0; +#X connect 32 0 9 0; +#X connect 33 0 9 0; +#X connect 34 0 9 0; +#X connect 35 0 9 0; +#X connect 36 0 9 0; +#X connect 37 0 9 0; +#X connect 38 0 9 0; +#X connect 39 0 9 0; +#X connect 40 0 9 0; +#X connect 41 0 9 0; +#X connect 42 0 9 0; +#X connect 43 0 9 0; +#X connect 44 0 9 0; +#X connect 45 0 9 0; +#X connect 46 0 9 0; +#X connect 47 0 51 0; +#X connect 48 0 49 0; +#X connect 49 0 47 0; +#X connect 49 1 50 0; +#X connect 50 0 47 1; +#X connect 51 0 23 0; +#X connect 51 1 29 0; +#X restore 40 300 pd synth; +#X obj 208 330 *~; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 132 238 > -0.3; +#X connect 0 0 1 0; +#X connect 1 0 16 0; +#X connect 2 0 5 0; +#X connect 3 0 7 1; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 7 1 8 1; +#X connect 9 0 7 0; +#X connect 10 0 26 0; +#X connect 10 1 11 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 2 0; +#X connect 16 0 14 0; +#X connect 16 1 10 0; +#X connect 16 2 22 0; +#X connect 16 3 22 1; +#X connect 18 0 17 1; +#X connect 19 0 18 0; +#X connect 20 0 19 0; +#X connect 22 0 9 0; +#X connect 23 0 9 1; +#X connect 24 0 23 0; +#X connect 24 0 23 1; +#X connect 25 0 24 0; +#X connect 26 0 31 0; +#X connect 26 0 32 0; +#X connect 28 0 27 0; +#X connect 29 0 28 0; +#X connect 31 0 25 0; +#X connect 32 0 29 0; +""" + +var _my_patch = "user://crickets/wind.pd" var _my_id = 0 func set_size(size): @@ -47,9 +298,16 @@ func set_color(color): $MeshInstance.material_override.albedo_color = color func _ready(): - add_child(Branch2.new(Leaves.new(2))) + # save patch (for export) + if use_embeded_patch: + assert(_my_patch.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !") + assert(patch != "", "patch is empty?") + _save_patch() + + # load patch + _my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch)) # listen 'player_transform_updated' event @@ -82,4 +340,16 @@ func _on_Events_player_transform_updated(playerpos, playerheading): func _exit_tree(): Global.close_patch(_my_id) - pass + +func _save_patch(): + # save patch + # prepare directory + var patch_name = _my_patch.split("/")[-1] + var patch_dir = _my_patch.trim_suffix(patch_name) + var dir = Directory.new() + dir.make_dir_recursive(patch_dir) + # save to file + var file = File.new() + file.open(_my_patch, File.WRITE) + file.store_string(patch) + file.close() diff --git a/crickets/wind.pd b/crickets/wind.pd index 57e7ebe..3bbdbe0 100644 --- a/crickets/wind.pd +++ b/crickets/wind.pd @@ -41,40 +41,37 @@ #X obj 38 398 loadbang; #X msg 361 51 \; pd dsp 1; #N canvas 478 23 962 799 synth 0; -#X obj 403 110 inlet; -#X obj 404 513 +; -#X floatatom 457 184 5 0 0 0 - - - 0; -#X floatatom 499 184 5 0 0 0 - - - 0; -#X floatatom 374 184 5 0 0 0 - - - 0; -#X floatatom 416 184 5 0 0 0 - - - 0; -#X obj 403 141 unpack f f f f f; -#X floatatom 544 184 5 0 0 0 - - - 0; -#X obj 463 110 r \$0-preset; +#X obj 403 150 inlet; +#X obj 404 553 +; +#X floatatom 457 224 5 0 0 0 - - - 0; +#X floatatom 499 224 5 0 0 0 - - - 0; +#X floatatom 374 224 5 0 0 0 - - - 0; +#X floatatom 416 224 5 0 0 0 - - - 0; +#X obj 403 181 unpack f f f f f; +#X floatatom 544 224 5 0 0 0 - - - 0; +#X obj 463 150 r \$0-preset; #X obj 697 720 s \$0-preset; #X obj 630 241 inlet; #X obj 630 265 sel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; -#X obj 243 335 mtof; -#X floatatom 243 312 5 0 150 0 - \$0-pit - 0; -#X obj 234 282 noise~; -#X floatatom 243 360 5 0 0 0 - - - 0; -#X obj 234 418 bp~; -#X text 275 420 band-pass filter; -#X text 288 360 <= cutoff (Hertz); -#X obj 302 517 *~; -#X obj 401 512 hsl 60 19 0 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; -#X obj 345 302 line; -#X floatatom 299 400 5 0 0 0 - - - 0; -#X obj 279 42 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; -#X obj 280 127 random 3; -#X obj 280 151 sel 0 1 2; -#X obj 354 238 pack 0 0; -#X msg 352 272 \$1 \$2; -#X obj 185 157 + 500; -#X obj 248 12 loadbang; -#X floatatom 403 552 5 0 0 0 - - - 0; -#X obj 185 130 random 800; -#X obj 280 72 retro 500 2500; -#X obj 301 562 outlet~; +#X obj 243 375 mtof; +#X floatatom 243 352 5 0 150 0 - \$0-pit - 0; +#X obj 234 322 noise~; +#X floatatom 243 400 5 0 0 0 - - - 0; +#X obj 234 458 bp~; +#X text 275 460 band-pass filter; +#X text 288 400 <= cutoff (Hertz); +#X obj 302 557 *~; +#X obj 401 552 hsl 60 19 0 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 345 342 line; +#X floatatom 299 440 5 0 0 0 - - - 0; +#X obj 280 167 random 3; +#X obj 280 191 sel 0 1 2; +#X obj 354 278 pack 0 0; +#X msg 352 312 \$1 \$2; +#X obj 185 197 + 500; +#X floatatom 403 592 5 0 0 0 - - - 0; +#X obj 185 170 random 800; +#X obj 301 602 outlet~; #X msg 770 305 915 987 1070 290 0.8; #X msg 770 329 103 126 205 10 0.8; #X msg 770 353 260 366 317 61 0.8; @@ -91,11 +88,59 @@ #X msg 770 617 2878 2589 2357 996 0.6; #X msg 770 641 378 396 267 996 0.8; #X msg 770 665 538 567 735 191 0.7; +#N canvas 386 23 374 377 retro 0; +#X obj 43 211 del; +#X obj 43 261 spigot; +#X obj 139 72 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1; +#X obj 145 216 random; +#X obj 82 235 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 50 47 inlet; +#X obj 43 286 outlet; +#X obj 50 104 t b f; +#X obj 113 191 t b b; +#X obj 158 72 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000; +#X obj 234 37 inlet; +#X obj 266 135 unpack f f; +#X obj 234 107 expr $f2-$f1; +#X floatatom 234 197 5 0 0 0 range - - 0; +#X floatatom 266 223 5 0 0 0 start - - 0; +#X obj 145 242 +; +#X floatatom 171 69 5 0 0 1 r - - 0; +#X obj 145 286 outlet; +#X obj 234 71 t a a; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 1 0 9 0; +#X connect 2 0 7 0; +#X connect 3 0 15 0; +#X connect 4 0 1 1; +#X connect 5 0 2 0; +#X connect 7 0 9 0; +#X connect 7 1 4 0; +#X connect 8 0 0 0; +#X connect 8 1 3 0; +#X connect 9 0 8 0; +#X connect 10 0 18 0; +#X connect 11 0 14 0; +#X connect 12 0 13 0; +#X connect 13 0 3 1; +#X connect 14 0 15 1; +#X connect 15 0 0 1; +#X connect 15 0 16 0; +#X connect 15 0 17 0; +#X connect 18 0 12 0; +#X connect 18 1 11 0; +#X coords 0 -1 1 1 85 40 1 135 50; +#X restore 202 74 pd retro; +#X obj 202 7 loadbang; +#X obj 202 31 t b b; +#X msg 280 50 500 2500; +#X obj 202 119 t b b; #X connect 0 0 6 0; -#X connect 2 0 26 0; +#X connect 2 0 25 0; #X connect 3 0 22 0; -#X connect 4 0 26 0; -#X connect 5 0 26 0; +#X connect 4 0 25 0; +#X connect 5 0 25 0; #X connect 6 0 4 0; #X connect 6 1 5 0; #X connect 6 2 2 0; @@ -104,44 +149,43 @@ #X connect 7 0 20 0; #X connect 8 0 6 0; #X connect 10 0 11 0; -#X connect 11 0 34 0; -#X connect 11 1 35 0; -#X connect 11 2 36 0; -#X connect 11 3 37 0; -#X connect 11 4 38 0; -#X connect 11 5 39 0; -#X connect 11 6 40 0; -#X connect 11 7 41 0; -#X connect 11 8 43 0; -#X connect 11 9 44 0; -#X connect 11 10 45 0; -#X connect 11 11 46 0; -#X connect 11 12 47 0; -#X connect 11 13 48 0; -#X connect 11 14 49 0; -#X connect 11 15 42 0; +#X connect 11 0 31 0; +#X connect 11 1 32 0; +#X connect 11 2 33 0; +#X connect 11 3 34 0; +#X connect 11 4 35 0; +#X connect 11 5 36 0; +#X connect 11 6 37 0; +#X connect 11 7 38 0; +#X connect 11 8 40 0; +#X connect 11 9 41 0; +#X connect 11 10 42 0; +#X connect 11 11 43 0; +#X connect 11 12 44 0; +#X connect 11 13 45 0; +#X connect 11 14 46 0; +#X connect 11 15 39 0; #X connect 12 0 15 0; #X connect 13 0 12 0; #X connect 14 0 16 0; #X connect 15 0 16 1; #X connect 16 0 19 0; -#X connect 19 0 33 0; +#X connect 19 0 30 0; #X connect 20 0 19 1; -#X connect 20 0 30 0; +#X connect 20 0 28 0; #X connect 21 0 15 0; #X connect 22 0 16 2; -#X connect 23 0 32 0; -#X connect 24 0 25 0; -#X connect 25 0 4 0; -#X connect 25 1 5 0; -#X connect 25 2 2 0; -#X connect 26 0 27 0; -#X connect 27 0 21 0; -#X connect 28 0 26 1; -#X connect 29 0 23 0; -#X connect 31 0 28 0; -#X connect 32 0 24 0; -#X connect 32 0 31 0; +#X connect 23 0 24 0; +#X connect 24 0 4 0; +#X connect 24 1 5 0; +#X connect 24 2 2 0; +#X connect 25 0 26 0; +#X connect 26 0 21 0; +#X connect 27 0 25 1; +#X connect 29 0 27 0; +#X connect 31 0 9 0; +#X connect 32 0 9 0; +#X connect 33 0 9 0; #X connect 34 0 9 0; #X connect 35 0 9 0; #X connect 36 0 9 0; @@ -155,9 +199,13 @@ #X connect 44 0 9 0; #X connect 45 0 9 0; #X connect 46 0 9 0; -#X connect 47 0 9 0; -#X connect 48 0 9 0; -#X connect 49 0 9 0; +#X connect 47 0 51 0; +#X connect 48 0 49 0; +#X connect 49 0 47 0; +#X connect 49 1 50 0; +#X connect 50 0 47 1; +#X connect 51 0 23 0; +#X connect 51 1 29 0; #X restore 40 300 pd synth; #X obj 208 330 *~; #X obj 189 264 line~; diff --git a/export_presets.cfg b/export_presets.cfg index 00ec184..f4c8a3a 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -7,7 +7,7 @@ custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" -export_path="./Sands and Waves (cosmic runner).dmg" +export_path="./Sand and Receive.dmg" script_export_mode=1 script_encryption_key="" @@ -18,7 +18,7 @@ custom_template/release="" application/name="" application/info="Made with Godot Engine" application/icon="" -application/identifier="org.sandreceive.cosmicrunner" +application/identifier="org.sandreceive.sandandreceive" application/signature="" application/app_category="Games" application/short_version="1.0" diff --git a/mirrors/main.gd b/mirrors/main.gd index f7395b1..3cb7f1f 100644 --- a/mirrors/main.gd +++ b/mirrors/main.gd @@ -1,10 +1,12 @@ extends RigidBody -export (String, MULTILINE) var patch = "" export (float, 0, 100) var audible_range_max = 10.0 -export (float, 1, 12) var preset = 0 +export (int, 1, 12) var preset = 0 -var _my_patch = "res://mirrors/WooWang.pd" +export (bool) var use_embeded_patch = false +export (String, MULTILINE) var patch = "" + +var _my_patch = "user://mirrors/WooWang.pd" var _my_id = 0 func set_size(size): @@ -44,7 +46,10 @@ func set_color(color): func _ready(): # save patch (for export) -# _save_patch() + if use_embeded_patch: + assert(_my_patch.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !") + assert(patch != "", "patch is empty?") + _save_patch() # load patch _my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch)) @@ -79,17 +84,16 @@ func _on_Events_player_transform_updated(playerpos, playerheading): func _exit_tree(): Global.close_patch(_my_id) - pass -#func _save_patch(): -# # save patch -# # prepare directory -# var patch_name = _my_patch.split("/")[-1] -# var patch_dir = _my_patch.trim_suffix(patch_name) -# var dir = Directory.new() -# dir.make_dir_recursive(patch_dir) -# # save to file -# var file = File.new() -# file.open(_my_patch, File.WRITE) -# file.store_string(patch) -# file.close() +func _save_patch(): + # save patch + # prepare directory + var patch_name = _my_patch.split("/")[-1] + var patch_dir = _my_patch.trim_suffix(patch_name) + var dir = Directory.new() + dir.make_dir_recursive(patch_dir) + # save to file + var file = File.new() + file.open(_my_patch, File.WRITE) + file.store_string(patch) + file.close() diff --git a/mirrors/main.tscn b/mirrors/main.tscn index c92218c..f6601fa 100644 --- a/mirrors/main.tscn +++ b/mirrors/main.tscn @@ -18,6 +18,232 @@ collision_mask = 0 physics_material_override = SubResource( 3 ) gravity_scale = 0.0 script = ExtResource( 1 ) +use_embeded_patch = true +patch = "#N canvas 80 207 548 621 12; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 361 21 loadbang; +#X msg 361 81 \\; pd dsp 1; +#X obj 21 70 route bang panvol param preset; +#X obj 361 45 del 300; +#N canvas 0 23 1014 927 Ww 0; +#X obj 542 128 inlet; +#X obj 487 678 s \\$0-preset; +#X obj 542 168 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 65; +#X msg 542 222 47.97 62 60 67 0.6 0.3; +#X msg 552 246 114 120 158 183 0.55 0.3; +#X msg 562 270 223 126 166 217 0.62 0.73; +#X msg 572 294 101 399 250 96.57 0.43 1.03; +#X msg 582 318 64 108 109 46 0.5 8.99; +#X msg 592 342 69 251 281 311 0.22 3.21; +#X msg 602 366 387 328 296 378 0.31 0.38; +#X msg 612 390 32 120 276.3 74 0.32 0.3; +#X msg 622 414 220 251 280 310 0.31 0.35; +#X msg 632 438 73 87 97 132 0.37 0.79; +#X msg 642 462 595.8 65.23 135 471 0.36 0.22; +#X msg 652 486 66 128 112 127 0.3 2.42; +#X obj 111 788 *~ 0.1; +#X obj 133 490 rpole~; +#X obj 133 465 rzero_rev~; +#X obj 133 539 rpole~; +#X obj 133 514 rzero_rev~; +#X obj 133 587 rpole~; +#X obj 133 562 rzero_rev~; +#X obj 133 636 rpole~; +#X obj 133 611 rzero_rev~; +#X obj 121 663 +~; +#X obj 242 399 phasor~ 0.3; +#X obj 242 426 expr~ 1 - 0.03 - 0.6*abs($v1-0.5)*abs($v1-0.5); +#X obj 29 207 -~ 0.5; +#X obj 28 251 clip~ -0.5 0.5; +#X obj 29 279 cos~; +#X obj 162 365 hip~ 5; +#X obj 29 232 *~ 3; +#X obj 28 179 phasor~ 220; +#X obj 162 202 -~ 0.5; +#X obj 162 251 clip~ -0.5 0.5; +#X obj 162 274 cos~; +#X obj 162 227 *~ 3; +#X obj 297 205 -~ 0.5; +#X obj 297 254 clip~ -0.5 0.5; +#X obj 297 277 cos~; +#X obj 297 230 *~ 3; +#X obj 432 205 -~ 0.5; +#X obj 432 254 clip~ -0.5 0.5; +#X obj 432 277 cos~; +#X obj 432 230 *~ 3; +#X obj 162 179 phasor~ 251; +#X obj 297 182 phasor~ 281; +#X obj 432 182 phasor~ 311; +#X obj 162 398 *~ 0.2; +#X floatatom 29 153 5 0 0 0 - - - 0; +#X floatatom 163 153 5 0 0 0 - - - 0; +#X floatatom 297 155 5 0 0 0 - - - 0; +#X floatatom 433 155 5 0 0 0 - - - 0; +#X obj 115 14 inlet; +#X floatatom 154 738 5 0 0 0 - - - 0; +#X obj 111 760 *~; +#X floatatom 235 151 5 0 0 0 - - - 0; +#X obj 116 40 unpack f f f f f f; +#X obj 164 13 r \\$0-preset; +#X obj 111 812 outlet~; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 4 0; +#X connect 2 2 5 0; +#X connect 2 3 6 0; +#X connect 2 4 7 0; +#X connect 2 5 8 0; +#X connect 2 6 9 0; +#X connect 2 7 10 0; +#X connect 2 8 11 0; +#X connect 2 9 12 0; +#X connect 2 10 13 0; +#X connect 2 11 14 0; +#X connect 3 0 1 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 1 0; +#X connect 7 0 1 0; +#X connect 8 0 1 0; +#X connect 9 0 1 0; +#X connect 10 0 1 0; +#X connect 11 0 1 0; +#X connect 12 0 1 0; +#X connect 13 0 1 0; +#X connect 14 0 1 0; +#X connect 15 0 59 0; +#X connect 16 0 19 0; +#X connect 17 0 16 0; +#X connect 18 0 21 0; +#X connect 19 0 18 0; +#X connect 20 0 23 0; +#X connect 21 0 20 0; +#X connect 22 0 24 1; +#X connect 23 0 22 0; +#X connect 24 0 55 0; +#X connect 25 0 26 0; +#X connect 26 0 17 1; +#X connect 26 0 16 1; +#X connect 26 0 19 1; +#X connect 26 0 18 1; +#X connect 26 0 21 1; +#X connect 26 0 20 1; +#X connect 26 0 23 1; +#X connect 26 0 22 1; +#X connect 27 0 31 0; +#X connect 28 0 29 0; +#X connect 29 0 30 0; +#X connect 30 0 48 0; +#X connect 31 0 28 0; +#X connect 32 0 27 0; +#X connect 33 0 36 0; +#X connect 34 0 35 0; +#X connect 35 0 30 0; +#X connect 36 0 34 0; +#X connect 37 0 40 0; +#X connect 38 0 39 0; +#X connect 39 0 30 0; +#X connect 40 0 38 0; +#X connect 41 0 44 0; +#X connect 42 0 43 0; +#X connect 43 0 30 0; +#X connect 44 0 42 0; +#X connect 45 0 33 0; +#X connect 46 0 37 0; +#X connect 47 0 41 0; +#X connect 48 0 24 0; +#X connect 48 0 17 0; +#X connect 49 0 32 0; +#X connect 50 0 45 0; +#X connect 51 0 46 0; +#X connect 52 0 47 0; +#X connect 53 0 57 0; +#X connect 54 0 55 1; +#X connect 55 0 15 0; +#X connect 56 0 25 0; +#X connect 57 0 49 0; +#X connect 57 1 50 0; +#X connect 57 2 51 0; +#X connect 57 3 52 0; +#X connect 57 4 54 0; +#X connect 57 5 56 0; +#X connect 58 0 57 0; +#X restore 80 300 pd Ww; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 203 336 *~; +#X obj 132 238 > -0.1; +#X connect 0 0 1 0; +#X connect 1 0 17 0; +#X connect 2 0 5 0; +#X connect 3 0 7 1; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 7 1 8 1; +#X connect 9 0 7 0; +#X connect 10 0 22 0; +#X connect 10 1 11 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 2 0; +#X connect 15 0 18 0; +#X connect 17 0 14 0; +#X connect 17 1 10 0; +#X connect 17 3 19 1; +#X connect 18 0 16 0; +#X connect 19 0 9 0; +#X connect 20 0 28 0; +#X connect 20 0 28 1; +#X connect 21 0 20 0; +#X connect 22 0 27 0; +#X connect 22 0 29 0; +#X connect 24 0 23 0; +#X connect 25 0 24 0; +#X connect 27 0 21 0; +#X connect 28 0 9 1; +#X connect 29 0 25 0; +" [node name="CollisionShape" type="CollisionShape" parent="."] shape = SubResource( 1 ) diff --git a/mirrors/osc.gd b/mirrors/osc.gd index eba888f..0347a4b 100644 --- a/mirrors/osc.gd +++ b/mirrors/osc.gd @@ -1,10 +1,12 @@ extends RigidBody -export (String, MULTILINE) var patch = "" export (float, 0, 100) var audible_range_max = 10.0 export (float, 1, 23) var preset = 1 -var _my_patch = "res://mirrors/Dotdots.pd" +export (bool) var use_embeded_patch = false +export (String, MULTILINE) var patch = "" + +var _my_patch = "user://mirrors/Dotdots.pd" var _my_id = 0 func set_size(size): @@ -44,7 +46,10 @@ func set_color(color): func _ready(): # save patch (for export) -# _save_patch() + if use_embeded_patch: + assert(_my_patch.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !") + assert(patch != "", "patch is empty?") + _save_patch() # load patch _my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch)) @@ -80,17 +85,16 @@ func _on_Events_player_transform_updated(playerpos, playerheading): func _exit_tree(): Global.close_patch(_my_id) - pass -#func _save_patch(): -# # save patch -# # prepare directory -# var patch_name = _my_patch.split("/")[-1] -# var patch_dir = _my_patch.trim_suffix(patch_name) -# var dir = Directory.new() -# dir.make_dir_recursive(patch_dir) -# # save to file -# var file = File.new() -# file.open(_my_patch, File.WRITE) -# file.store_string(patch) -# file.close() +func _save_patch(): + # save patch + # prepare directory + var patch_name = _my_patch.split("/")[-1] + var patch_dir = _my_patch.trim_suffix(patch_name) + var dir = Directory.new() + dir.make_dir_recursive(patch_dir) + # save to file + var file = File.new() + file.open(_my_patch, File.WRITE) + file.store_string(patch) + file.close() diff --git a/mirrors/osc.tscn b/mirrors/osc.tscn index 412c8bb..fe2c753 100644 --- a/mirrors/osc.tscn +++ b/mirrors/osc.tscn @@ -15,6 +15,261 @@ collision_mask = 0 physics_material_override = SubResource( 3 ) gravity_scale = 0.0 script = ExtResource( 1 ) +use_embeded_patch = true +patch = "#N canvas 217 167 548 621 12; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 408 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 361 21 loadbang; +#X msg 361 81 \\; pd dsp 1; +#X obj 21 70 route bang panvol param preset; +#X obj 361 45 del 300; +#N canvas 404 97 1087 864 Dotdots 0; +#X obj 107 15 inlet; +#X obj 73 723 outlet~; +#X obj 542 128 inlet; +#X obj 157 15 r \\$0-preset; +#X obj 487 678 s \\$0-preset; +#X obj 76 438 expr~ round($v1/$f2); +#X floatatom 225 416 5 0 3 0 - - - 0; +#X obj 75 662 *~; +#X obj 75 690 *~; +#X floatatom 75 386 5 0 0 0 - - - 0; +#X obj 280 325 hsl 162 19 1 16 0 0 empty empty empty -2 -10 0 12 #c6ffc7 #000000 #000000 0 1; +#X floatatom 276 380 5 0 0 0 - - - 0; +#X obj 277 354 int; +#X obj 277 406 expr pow (2 \\, $f1)-1; +#X floatatom 277 430 5 0 0 0 - - - 0; +#X text 316 381 bitDepth; +#X text 319 430 resolution; +#X obj 276 456 expr 1/$f1; +#X obj 277 276 snapshot~; +#X obj 354 226 metro 100; +#X obj 354 201 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X floatatom 277 300 5 0 0 0 - - - 0; +#X floatatom 110 149 5 0 0 0 - - - 0; +#X obj 277 252 *~ 8; +#X obj 76 412 osc~; +#X obj 276 227 phasor~; +#X obj 68 301 snapshot~; +#X obj 138 384 metro 100; +#X obj 136 358 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 68 228 osc~; +#X obj 68 252 +~ 1; +#X floatatom 64 149 5 0 0 0 - - - 0; +#X obj 355 150 loadbang; +#X msg 356 173 1; +#X obj 135 310 loadbang; +#X msg 136 333 1; +#X floatatom 240 146 5 0 0 0 - - - 0; +#X obj 78 553 vcf~ 1; +#X obj 97 523 sig~; +#X floatatom 153 148 5 0 0 0 - - - 0; +#X floatatom 197 146 5 0 0 0 - - - 0; +#X obj 68 276 *~ 10; +#X floatatom 284 146 5 0 0 0 - - - 0; +#X obj 134 113 unpack f f f f f f; +#X floatatom 674 91 5 0 0 0 - - - 0; +#X obj 674 119 s rev_a; +#X obj 673 62 line; +#X msg 666 7 3 2000; +#X msg 732 7 10 2000; +#X msg 610 8 0 2000; +#X obj 542 168 sel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23, f 65; +#X msg 542 222 27.1 27 516 355.9 1.53 0.11; +#X msg 552 246 2.92 500 776 451 3.3 1; +#X msg 562 270 95 1208 447 1228 0.84 12; +#X msg 572 294 111.1 1 339 372 2.9 15; +#X msg 582 318 512 0.78 376 543 0.63 8.56; +#X msg 592 342 362.1 0 1620 709 0.75 929; +#X msg 602 366 110.1 0.2 388 607.4 7.99 65; +#X msg 612 390 3 17 445 1413 -0.32 0.93; +#X msg 622 414 11.42 0.16 653 1026 0.52 908.2; +#X msg 632 438 980.7 0.53 608 1109 0.56 282.4; +#X msg 642 462 486 0.05 135 297 0.75 458; +#X msg 652 486 427 0.04 122 384 0.89 66; +#X msg 660 510 27.1 27 516 355.9 1.53 0.11; +#X msg 671 537 2.92 500 776 451 3.3 1; +#X msg 684 563 95 1208 447 1228 0.84 12; +#X msg 697 589 111.1 1 339 372 2.9 15; +#X msg 704 613 512 0.78 376 543 0.63 8.56; +#X msg 712 637 362.1 0 1620 709 0.75 929; +#X msg 723 660 110.1 0.2 388 607.4 7.99 65; +#X msg 732 684 3 17 445 1413 -0.32 0.93; +#X msg 738 709 11.42 0.16 653 1026 0.52 908.2; +#X msg 748 734 980.7 0.53 608 1109 0.56 282.4; +#X msg 755 758 486 0.05 135 297 0.75 458; +#X connect 0 0 43 0; +#X connect 2 0 50 0; +#X connect 3 0 43 0; +#X connect 5 0 37 0; +#X connect 6 0 5 1; +#X connect 6 0 7 1; +#X connect 7 0 8 0; +#X connect 8 0 1 0; +#X connect 9 0 24 0; +#X connect 10 0 12 0; +#X connect 11 0 13 0; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 14 0 17 0; +#X connect 17 0 6 0; +#X connect 18 0 21 0; +#X connect 19 0 18 0; +#X connect 20 0 19 0; +#X connect 21 0 10 0; +#X connect 22 0 25 0; +#X connect 23 0 18 0; +#X connect 24 0 5 0; +#X connect 25 0 23 0; +#X connect 26 0 9 0; +#X connect 27 0 26 0; +#X connect 28 0 27 0; +#X connect 29 0 30 0; +#X connect 30 0 41 0; +#X connect 31 0 29 0; +#X connect 32 0 33 0; +#X connect 33 0 20 0; +#X connect 34 0 35 0; +#X connect 35 0 28 0; +#X connect 36 0 8 1; +#X connect 37 0 7 0; +#X connect 38 0 37 1; +#X connect 39 0 38 0; +#X connect 40 0 37 2; +#X connect 41 0 26 0; +#X connect 42 0 41 1; +#X connect 43 0 31 0; +#X connect 43 1 22 0; +#X connect 43 2 39 0; +#X connect 43 3 40 0; +#X connect 43 4 36 0; +#X connect 43 5 42 0; +#X connect 44 0 45 0; +#X connect 46 0 44 0; +#X connect 47 0 46 0; +#X connect 48 0 46 0; +#X connect 49 0 46 0; +#X connect 50 0 51 0; +#X connect 50 1 52 0; +#X connect 50 2 53 0; +#X connect 50 3 54 0; +#X connect 50 4 55 0; +#X connect 50 5 56 0; +#X connect 50 6 57 0; +#X connect 50 7 58 0; +#X connect 50 8 59 0; +#X connect 50 9 60 0; +#X connect 50 10 61 0; +#X connect 50 11 62 0; +#X connect 50 12 63 0; +#X connect 50 13 64 0; +#X connect 50 14 65 0; +#X connect 50 15 66 0; +#X connect 50 16 67 0; +#X connect 50 17 68 0; +#X connect 50 18 69 0; +#X connect 50 19 70 0; +#X connect 50 20 71 0; +#X connect 50 21 72 0; +#X connect 50 22 73 0; +#X connect 51 0 4 0; +#X connect 52 0 4 0; +#X connect 53 0 4 0; +#X connect 54 0 4 0; +#X connect 55 0 4 0; +#X connect 56 0 4 0; +#X connect 57 0 4 0; +#X connect 58 0 4 0; +#X connect 59 0 4 0; +#X connect 60 0 4 0; +#X connect 61 0 4 0; +#X connect 62 0 4 0; +#X connect 63 0 4 0; +#X connect 64 0 4 0; +#X connect 65 0 4 0; +#X connect 66 0 4 0; +#X connect 67 0 4 0; +#X connect 68 0 4 0; +#X connect 69 0 4 0; +#X connect 70 0 4 0; +#X connect 71 0 4 0; +#X connect 72 0 4 0; +#X connect 73 0 4 0; +#X restore 20 300 pd Dotdots; +#X obj 189 264 line~; +#X msg 189 240 \\$1 100; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 132 310 switch~; +#X obj 132 286 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 262 change; +#X text 89 155 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 216 max 0; +#X obj 203 336 *~; +#X obj 132 238 > -0.1; +#X connect 0 0 1 0; +#X connect 1 0 17 0; +#X connect 2 0 5 0; +#X connect 3 0 7 1; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 7 1 8 1; +#X connect 9 0 7 0; +#X connect 10 0 22 0; +#X connect 10 1 11 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 2 0; +#X connect 15 0 18 0; +#X connect 17 0 14 0; +#X connect 17 1 10 0; +#X connect 17 3 19 1; +#X connect 18 0 16 0; +#X connect 19 0 9 0; +#X connect 20 0 28 0; +#X connect 20 0 28 1; +#X connect 21 0 20 0; +#X connect 22 0 27 0; +#X connect 22 0 29 0; +#X connect 24 0 23 0; +#X connect 25 0 24 0; +#X connect 27 0 21 0; +#X connect 28 0 9 1; +#X connect 29 0 25 0; +" [node name="CollisionShape" type="CollisionShape" parent="."] shape = SubResource( 1 ) diff --git a/mirrors/project.godot.off b/mirrors/project.godot.off deleted file mode 100644 index 76b553f..0000000 --- a/mirrors/project.godot.off +++ /dev/null @@ -1,130 +0,0 @@ -; Engine configuration file. -; It's best edited using the editor UI and not directly, -; since the parameters that go here are not all obvious. -; -; Format: -; [section] ; section goes between [] -; param=value ; assign values to parameters - -config_version=4 - -_global_script_classes=[ ] -_global_script_class_icons={ -} - -[application] - -config/name="Mirrors" -run/main_scene="res://mirrors/assets/levels/Game.tscn" -config/icon="res://mirrors/icon.png" - -[autoload] - -Events="*res://mirrors/autoload/Events.tscn" -Global="*res://mirrors/autoload/Global.tscn" - -[input] - -ui_left={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) - ] -} -ui_right={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null) - ] -} -ui_up={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"physical_scancode":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) - ] -} -ui_down={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"physical_scancode":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) - ] -} -move_fd={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"physical_scancode":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_bk={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"physical_scancode":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_left={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_right={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -jump={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -use={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":69,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -FlyCheat={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":true,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":51,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -fullscreen_toggle={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":true,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777221,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -add={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777349,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -sub={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777347,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -reset_speed={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777345,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -reload_scene={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":82,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -toggle_help={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777244,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -toggle_mouse={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777217,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -mouse_toggle={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":74,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} diff --git a/pantyTunnel/project.godot.off b/pantyTunnel/project.godot.off deleted file mode 100644 index 5a4f761..0000000 --- a/pantyTunnel/project.godot.off +++ /dev/null @@ -1,75 +0,0 @@ -; Engine configuration file. -; It's best edited using the editor UI and not directly, -; since the parameters that go here are not all obvious. -; -; Format: -; [section] ; section goes between [] -; param=value ; assign values to parameters - -config_version=4 - -[application] - -config/name="Sands and Waves (panty tunnel)" -run/main_scene="res://pantyTunnel/Scene.tscn" -config/icon="res://pantyTunnel/icon.png" - -[autoload] - -Global="*res://pantyTunnel/autoload/Global.tscn" -Events="*res://pantyTunnel/autoload/Events.tscn" - -[display] - -window/size/fullscreen=true - -[gui] - -common/drop_mouse_on_gui_input_disabled=true - -[input] - -move_right={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_left={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_forward={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_backward={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -toggle_mouse={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777217,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_jump={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} - -[layer_names] - -3d_physics/layer_1="world" -3d_physics/layer_2="player" -3d_physics/layer_3="sounder" - -[physics] - -common/enable_pause_aware_picking=true - -[rendering] - -environment/default_environment="res://pantyTunnel/default_env.tres" diff --git a/tenniscourts/TennisCourt.tscn b/tenniscourts/TennisCourt.tscn index 2840333..bb70e1f 100644 --- a/tenniscourts/TennisCourt.tscn +++ b/tenniscourts/TennisCourt.tscn @@ -136,3 +136,490 @@ mesh = SubResource( 49 ) skeleton = NodePath("../../..") script = ExtResource( 4 ) audible_range_max = 50.0 +use_embeded_patch = true +patch = "#N canvas 56 89 446 513 12; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 199 407 *~; +#X obj 189 230 line~; +#X msg 189 206 \\$1 100; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X floatatom 189 177 5 0 0 0 - - - 0; +#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 361 21 loadbang; +#X obj 21 70 route bang panvol param preset; +#X obj 20 470 *~; +#X obj 38 446 vline~; +#X msg 38 422 0 \\, 1 1000 300; +#X obj 38 398 loadbang; +#X msg 361 51 \\; pd dsp 1; +#N canvas 0 23 1440 805 synth 0; +#X obj 308 770 outlet~; +#X obj 57 359 vline~; +#X obj 57 625 osc~; +#X obj 27 649 *~; +#X obj 27 393 *~; +#X obj 57 601 +~; +#X obj 57 272 metro 500; +#X obj 75 580 *~; +#X obj 57 315 f; +#X msg 57 337 1 1 0 \\, 0 \\$1 1; +#X obj 73 294 * 200; +#X obj 134 690 *~; +#X obj 89 222 line; +#X obj 152 415 sig~; +#X obj 57 491 *~; +#X obj 57 199 t b a; +#X msg 57 177 1 \\, 0 3000; +#X obj 57 427 *~; +#X obj 117 248 * 3000; +#X obj 57 513 +~ 30; +#X obj 94 555 *~ 100; +#X floatatom 212 504 5 0 0 0 - - - 0; +#X obj 74 100 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; +#X floatatom 331 330 5 0 0 0 - - - 0; +#X obj 322 257 random 9; +#X obj 75 466 *~ 30; +#X obj 180 261 mtof; +#X obj 240 289 mtof; +#X obj 92 141 t b b b b; +#X obj 239 256 + 10; +#X obj 222 711 *~; +#X obj 446 361 vline~; +#X obj 446 627 osc~; +#X obj 416 651 *~; +#X obj 416 395 *~; +#X obj 446 603 +~; +#X obj 446 274 metro 500; +#X obj 464 582 *~; +#X obj 446 317 f; +#X msg 446 339 1 1 0 \\, 0 \\$1 1; +#X obj 462 296 * 200; +#X obj 523 692 *~; +#X obj 478 224 line; +#X obj 541 417 sig~; +#X obj 446 493 *~; +#X obj 446 201 t b a; +#X msg 446 179 1 \\, 0 3000; +#X obj 446 429 *~; +#X obj 506 250 * 3000; +#X obj 446 515 +~ 30; +#X obj 483 557 *~ 100; +#X floatatom 601 506 5 0 0 0 - - - 0; +#X obj 463 102 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; +#X floatatom 720 332 5 0 0 0 - - - 0; +#X obj 711 259 random 9; +#X obj 465 536 osc~ 70; +#X obj 464 468 *~ 30; +#X obj 569 263 mtof; +#X obj 629 291 mtof; +#X obj 481 143 t b b b b; +#X obj 628 258 + 10; +#X obj 475 719 *~; +#X obj 201 109 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; +#X obj 179 228 + 10; +#X obj 568 230 + 10; +#X obj 175 204 random 60; +#X obj 564 206 random 60; +#X obj 235 232 random 50; +#X obj 624 234 random 50; +#X obj 76 535 osc~ 700; +#X floatatom 577 309 5 0 0 0 - - - 0; +#X obj 325 304 / 14; +#X obj 795 362 vline~; +#X obj 795 628 osc~; +#X obj 765 652 *~; +#X obj 765 396 *~; +#X obj 795 604 +~; +#X obj 795 275 metro 500; +#X obj 813 583 *~; +#X obj 795 318 f; +#X msg 795 340 1 1 0 \\, 0 \\$1 1; +#X obj 811 297 * 200; +#X obj 872 693 *~; +#X obj 827 225 line; +#X obj 890 418 sig~; +#X obj 795 494 *~; +#X obj 795 202 t b a; +#X msg 795 180 1 \\, 0 3000; +#X obj 795 430 *~; +#X obj 855 251 * 3000; +#X obj 795 516 +~ 30; +#X obj 832 558 *~ 100; +#X floatatom 950 507 5 0 0 0 - - - 0; +#X obj 812 103 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; +#X floatatom 1069 333 5 0 0 0 - - - 0; +#X obj 1060 260 random 9; +#X obj 814 537 osc~ 70; +#X obj 813 469 *~ 30; +#X obj 918 264 mtof; +#X obj 978 292 mtof; +#X obj 830 144 t b b b b; +#X obj 977 259 + 10; +#X obj 824 720 *~; +#X obj 917 231 + 10; +#X obj 913 207 random 60; +#X obj 973 235 random 50; +#X floatatom 926 310 5 0 0 0 - - - 0; +#X obj 1062 305 / 60; +#X obj 711 280 + 4; +#X obj 1060 281 + 5; +#X obj 713 304 / 20; +#X obj 322 278 + 5; +#N canvas 386 23 374 377 retro 0; +#X obj 43 211 del; +#X obj 43 261 spigot; +#X obj 139 72 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1; +#X obj 145 216 random; +#X obj 82 235 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 50 47 inlet; +#X obj 43 286 outlet; +#X obj 50 104 t b f; +#X obj 113 191 t b b; +#X obj 158 72 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000; +#X obj 234 37 inlet; +#X obj 266 135 unpack f f; +#X obj 234 107 expr $f2-$f1; +#X floatatom 234 197 5 0 0 0 range - - 0; +#X floatatom 266 223 5 0 0 0 start - - 0; +#X obj 145 242 +; +#X floatatom 171 69 5 0 0 1 r - - 0; +#X obj 145 286 outlet; +#X obj 234 71 t a a; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 1 0 9 0; +#X connect 2 0 7 0; +#X connect 3 0 15 0; +#X connect 4 0 1 1; +#X connect 5 0 2 0; +#X connect 7 0 9 0; +#X connect 7 1 4 0; +#X connect 8 0 0 0; +#X connect 8 1 3 0; +#X connect 9 0 8 0; +#X connect 10 0 18 0; +#X connect 11 0 14 0; +#X connect 12 0 13 0; +#X connect 13 0 3 1; +#X connect 14 0 15 1; +#X connect 15 0 0 1; +#X connect 15 0 16 0; +#X connect 15 0 17 0; +#X connect 18 0 12 0; +#X connect 18 1 11 0; +#X coords 0 -1 1 1 85 40 1 135 50; +#X restore 232 101 pd retro; +#X obj 232 34 loadbang; +#X obj 232 58 t b b; +#X msg 310 77 800 2000; +#N canvas 386 23 374 377 retro 0; +#X obj 43 211 del; +#X obj 43 261 spigot; +#X obj 139 72 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1; +#X obj 145 216 random; +#X obj 82 235 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 50 47 inlet; +#X obj 43 286 outlet; +#X obj 50 104 t b f; +#X obj 113 191 t b b; +#X obj 158 72 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000; +#X obj 234 37 inlet; +#X obj 266 135 unpack f f; +#X obj 234 107 expr $f2-$f1; +#X floatatom 234 197 5 0 0 0 range - - 0; +#X floatatom 266 223 5 0 0 0 start - - 0; +#X obj 145 242 +; +#X floatatom 171 69 5 0 0 1 r - - 0; +#X obj 145 286 outlet; +#X obj 234 71 t a a; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 1 0 9 0; +#X connect 2 0 7 0; +#X connect 3 0 15 0; +#X connect 4 0 1 1; +#X connect 5 0 2 0; +#X connect 7 0 9 0; +#X connect 7 1 4 0; +#X connect 8 0 0 0; +#X connect 8 1 3 0; +#X connect 9 0 8 0; +#X connect 10 0 18 0; +#X connect 11 0 14 0; +#X connect 12 0 13 0; +#X connect 13 0 3 1; +#X connect 14 0 15 1; +#X connect 15 0 0 1; +#X connect 15 0 16 0; +#X connect 15 0 17 0; +#X connect 18 0 12 0; +#X connect 18 1 11 0; +#X coords 0 -1 1 1 85 40 1 135 50; +#X restore 615 120 pd retro; +#X obj 615 53 loadbang; +#X obj 615 77 t b b; +#X msg 693 96 500 1200; +#N canvas 386 23 374 377 retro 0; +#X obj 43 211 del; +#X obj 43 261 spigot; +#X obj 139 72 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1; +#X obj 145 216 random; +#X obj 82 235 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 50 47 inlet; +#X obj 43 286 outlet; +#X obj 50 104 t b f; +#X obj 113 191 t b b; +#X obj 158 72 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000; +#X obj 234 37 inlet; +#X obj 266 135 unpack f f; +#X obj 234 107 expr $f2-$f1; +#X floatatom 234 197 5 0 0 0 range - - 0; +#X floatatom 266 223 5 0 0 0 start - - 0; +#X obj 145 242 +; +#X floatatom 171 69 5 0 0 1 r - - 0; +#X obj 145 286 outlet; +#X obj 234 71 t a a; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 1 0 9 0; +#X connect 2 0 7 0; +#X connect 3 0 15 0; +#X connect 4 0 1 1; +#X connect 5 0 2 0; +#X connect 7 0 9 0; +#X connect 7 1 4 0; +#X connect 8 0 0 0; +#X connect 8 1 3 0; +#X connect 9 0 8 0; +#X connect 10 0 18 0; +#X connect 11 0 14 0; +#X connect 12 0 13 0; +#X connect 13 0 3 1; +#X connect 14 0 15 1; +#X connect 15 0 0 1; +#X connect 15 0 16 0; +#X connect 15 0 17 0; +#X connect 18 0 12 0; +#X connect 18 1 11 0; +#X coords 0 -1 1 1 85 40 1 135 50; +#X restore 938 99 pd retro; +#X obj 938 32 loadbang; +#X obj 938 56 t b b; +#X msg 1016 75 500 1000; +#X connect 1 0 4 0; +#X connect 1 0 4 1; +#X connect 2 0 3 1; +#X connect 3 0 11 0; +#X connect 4 0 3 0; +#X connect 4 0 17 0; +#X connect 4 0 17 1; +#X connect 5 0 2 0; +#X connect 6 0 8 0; +#X connect 7 0 5 1; +#X connect 8 0 9 0; +#X connect 9 0 1 0; +#X connect 10 0 8 1; +#X connect 11 0 30 0; +#X connect 12 0 10 0; +#X connect 12 0 13 0; +#X connect 12 0 18 0; +#X connect 13 0 11 1; +#X connect 13 0 20 0; +#X connect 13 0 25 0; +#X connect 14 0 19 0; +#X connect 15 0 6 0; +#X connect 15 1 12 0; +#X connect 16 0 15 0; +#X connect 17 0 14 0; +#X connect 18 0 6 1; +#X connect 19 0 5 0; +#X connect 20 0 7 1; +#X connect 21 0 20 1; +#X connect 22 0 28 0; +#X connect 23 0 30 1; +#X connect 24 0 111 0; +#X connect 25 0 14 1; +#X connect 26 0 19 1; +#X connect 26 0 69 1; +#X connect 27 0 21 0; +#X connect 28 0 16 0; +#X connect 28 1 65 0; +#X connect 28 2 67 0; +#X connect 28 3 24 0; +#X connect 29 0 27 0; +#X connect 30 0 0 0; +#X connect 31 0 34 0; +#X connect 31 0 34 1; +#X connect 32 0 33 1; +#X connect 33 0 41 0; +#X connect 34 0 33 0; +#X connect 34 0 47 0; +#X connect 34 0 47 1; +#X connect 35 0 32 0; +#X connect 36 0 38 0; +#X connect 37 0 35 1; +#X connect 38 0 39 0; +#X connect 39 0 31 0; +#X connect 40 0 38 1; +#X connect 41 0 61 0; +#X connect 42 0 40 0; +#X connect 42 0 43 0; +#X connect 42 0 48 0; +#X connect 43 0 41 1; +#X connect 43 0 50 0; +#X connect 43 0 56 0; +#X connect 44 0 49 0; +#X connect 45 0 36 0; +#X connect 45 1 42 0; +#X connect 46 0 45 0; +#X connect 47 0 44 0; +#X connect 48 0 36 1; +#X connect 49 0 35 0; +#X connect 50 0 37 1; +#X connect 51 0 50 1; +#X connect 52 0 59 0; +#X connect 53 0 61 1; +#X connect 54 0 108 0; +#X connect 55 0 37 0; +#X connect 56 0 44 1; +#X connect 57 0 49 1; +#X connect 57 0 70 0; +#X connect 57 0 55 1; +#X connect 58 0 51 0; +#X connect 59 0 46 0; +#X connect 59 1 66 0; +#X connect 59 2 68 0; +#X connect 59 3 54 0; +#X connect 60 0 58 0; +#X connect 61 0 0 0; +#X connect 62 0 28 0; +#X connect 63 0 26 0; +#X connect 64 0 57 0; +#X connect 65 0 63 0; +#X connect 66 0 64 0; +#X connect 67 0 29 0; +#X connect 68 0 60 0; +#X connect 69 0 7 0; +#X connect 71 0 23 0; +#X connect 72 0 75 0; +#X connect 72 0 75 1; +#X connect 73 0 74 1; +#X connect 74 0 82 0; +#X connect 75 0 74 0; +#X connect 75 0 88 0; +#X connect 75 0 88 1; +#X connect 76 0 73 0; +#X connect 77 0 79 0; +#X connect 78 0 76 1; +#X connect 79 0 80 0; +#X connect 80 0 72 0; +#X connect 81 0 79 1; +#X connect 82 0 102 0; +#X connect 83 0 81 0; +#X connect 83 0 84 0; +#X connect 83 0 89 0; +#X connect 84 0 82 1; +#X connect 84 0 91 0; +#X connect 84 0 97 0; +#X connect 85 0 90 0; +#X connect 86 0 77 0; +#X connect 86 1 83 0; +#X connect 87 0 86 0; +#X connect 88 0 85 0; +#X connect 89 0 77 1; +#X connect 90 0 76 0; +#X connect 91 0 78 1; +#X connect 92 0 91 1; +#X connect 93 0 100 0; +#X connect 94 0 102 1; +#X connect 95 0 109 0; +#X connect 96 0 78 0; +#X connect 97 0 85 1; +#X connect 98 0 90 1; +#X connect 98 0 106 0; +#X connect 98 0 96 1; +#X connect 99 0 92 0; +#X connect 100 0 87 0; +#X connect 100 1 104 0; +#X connect 100 2 105 0; +#X connect 100 3 95 0; +#X connect 101 0 99 0; +#X connect 103 0 98 0; +#X connect 104 0 103 0; +#X connect 105 0 101 0; +#X connect 107 0 94 0; +#X connect 108 0 110 0; +#X connect 109 0 107 0; +#X connect 110 0 53 0; +#X connect 111 0 71 0; +#X connect 112 0 62 0; +#X connect 113 0 114 0; +#X connect 114 0 112 0; +#X connect 114 1 115 0; +#X connect 115 0 112 1; +#X connect 116 0 52 0; +#X connect 117 0 118 0; +#X connect 118 0 116 0; +#X connect 118 1 119 0; +#X connect 119 0 116 1; +#X connect 120 0 93 0; +#X connect 121 0 122 0; +#X connect 122 0 120 0; +#X connect 122 1 123 0; +#X connect 123 0 120 1; +#X restore 80 300 pd synth; +#X connect 0 0 1 0; +#X connect 1 0 19 0; +#X connect 2 0 5 0; +#X connect 3 0 7 1; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 7 1 8 1; +#X connect 9 0 7 0; +#X connect 10 0 9 1; +#X connect 11 0 10 0; +#X connect 12 0 16 0; +#X connect 12 1 13 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 2 0; +#X connect 16 0 11 0; +#X connect 19 0 17 0; +#X connect 19 1 12 0; +#X connect 21 0 20 1; +#X connect 22 0 21 0; +#X connect 23 0 22 0; +#X connect 25 0 9 0; +" diff --git a/tenniscourts/TennisRamp.gd b/tenniscourts/TennisRamp.gd index 1b14b15..dafb642 100644 --- a/tenniscourts/TennisRamp.gd +++ b/tenniscourts/TennisRamp.gd @@ -1,43 +1,48 @@ extends MeshInstance +export (float, 0, 100) var audible_range_max = 10.0 +export (int, 1, 12) var preset = 1 -var _my_patch = "res://tenniscourts/bouncing.pd" +export (bool) var use_embeded_patch = false +export (String, MULTILINE) var patch = "" + +var _my_patch = "user://tenniscourts/bouncing.pd" var _my_id = 0 -export (String, MULTILINE) var patch = "" -export (float, 0, 100) var audible_range_max = 10.0 -export (Array, float) var parameters = [-7, -2, 3996, 30, 0.7] func set_param(param): - parameters = param + Global._gdpd.start_message(param.size()+1) + Global._gdpd.add_symbol("param") + for i in range(param.size()): + Global._gdpd.add_float(param[i]) + Global._gdpd.finish_list("fromGodot" + String(_my_id)) + +func set_preset(prs): + preset = prs + Global._gdpd.start_message(2) + Global._gdpd.add_symbol("preset") + Global._gdpd.add_float(prs) + Global._gdpd.finish_list("fromGodot" + String(_my_id)) func set_color(color): $MeshInstance.material_override = SpatialMaterial.new() $MeshInstance.material_override.albedo_color = color -func relocate(center, radius_range): - # relocate randomly into a circular zone - var rr = radius_range[1] - radius_range[0] - var displacement = polar2cartesian(randf()*rr+radius_range[0], randf()*2*PI) - var loc = center + displacement - look_at_from_position(Vector3(loc.x, randf()*2 + 1, loc.y), Vector3.FORWARD, Vector3.UP) - func _ready(): + # save patch (for export) + if use_embeded_patch: + assert(_my_patch.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !") + assert(patch != "", "patch is empty?") + _save_patch() + # load patch _my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch)) # listen 'player_transform_updated' event Events.connect("player_transform_updated", self, "_on_Events_player_transform_updated") - # send to the patch - Global._gdpd.start_message(6) - Global._gdpd.add_symbol("param") - Global._gdpd.add_float(parameters[0]) - Global._gdpd.add_float(parameters[1]) - Global._gdpd.add_float(parameters[2]) - Global._gdpd.add_float(parameters[3]) - Global._gdpd.add_float(parameters[4]) - Global._gdpd.finish_list("fromGodot" + String(_my_id)) + # send 'preset' + set_preset(preset) func _on_Events_player_transform_updated(playerpos, playerheading): var mypos = get_global_translation() @@ -50,10 +55,9 @@ func _on_Events_player_transform_updated(playerpos, playerheading): if angle > PI: angle = angle - PI*2 # (check) -# print(str(_my_id) +" : ("+ str(playerpos) +","+ str(mypos) +")") # print(str(_my_id) +" : ("+ str(distance) +","+ str(angle) +")") # calculate gain - var gain = max(1 - distance/audible_range_max, 0) + var gain = 1 - distance/audible_range_max # send to the patch Global._gdpd.start_message(3) Global._gdpd.add_symbol("panvol") @@ -65,4 +69,15 @@ func _on_Events_player_transform_updated(playerpos, playerheading): func _exit_tree(): Global.close_patch(_my_id) - +func _save_patch(): + # save patch + # prepare directory + var patch_name = _my_patch.split("/")[-1] + var patch_dir = _my_patch.trim_suffix(patch_name) + var dir = Directory.new() + dir.make_dir_recursive(patch_dir) + # save to file + var file = File.new() + file.open(_my_patch, File.WRITE) + file.store_string(patch) + file.close() diff --git a/tenniscourts/bouncing.pd b/tenniscourts/bouncing.pd index 74ceb01..661282f 100644 --- a/tenniscourts/bouncing.pd +++ b/tenniscourts/bouncing.pd @@ -1,4 +1,4 @@ -#N canvas 652 105 446 513 12; +#N canvas 56 89 446 513 12; #X obj 21 22 r fromGodot\$0; #X obj 21 46 list trim; #X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; @@ -28,13 +28,10 @@ #X restore 199 437 pd pan2~; #X obj 199 467 dac~ 1 2; #X obj 199 407 *~; -#X obj 189 230 line~; -#X msg 189 206 \$1 100; #X obj 189 127 unpack f f; #X floatatom 296 159 5 0 0 0 - - - 0; #X obj 296 182 sin; #X floatatom 296 206 5 0 0 0 - - - 0; -#X floatatom 189 177 5 0 0 0 - - - 0; #X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 361 21 loadbang; #X obj 21 70 route bang panvol param preset; @@ -43,125 +40,260 @@ #X msg 38 422 0 \, 1 1000 300; #X obj 38 398 loadbang; #X msg 361 51 \; pd dsp 1; -#N canvas 197 23 962 799 synth 0; -#X obj 162 801 outlet~; -#X obj -89 390 vline~; -#X obj -89 656 osc~; -#X obj -119 680 *~; -#X obj -119 424 *~; -#X obj -89 632 +~; -#X obj -89 303 metro 500; -#X obj -71 611 *~; -#X obj -89 346 f; -#X msg -89 368 1 1 0 \, 0 \$1 1; -#X obj -73 325 * 200; -#X obj -12 721 *~; -#X obj -57 253 line; -#X obj 6 446 sig~; -#X obj -89 522 *~; -#X obj -89 230 t b a; -#X msg -89 208 1 \, 0 3000; -#X obj -89 458 *~; -#X obj -29 279 * 3000; -#X obj -89 544 +~ 30; -#X obj -52 586 *~ 100; -#X floatatom 66 535 5 0 0 0 - - - 0; -#X obj -72 131 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; -#X floatatom 185 361 5 0 0 0 - - - 0; -#X obj 176 288 random 9; -#X obj -71 497 *~ 30; -#X obj 34 292 mtof; -#X obj 94 320 mtof; -#X obj -54 172 t b b b b; -#X obj 93 287 + 10; -#X obj 76 742 *~; -#X obj 300 392 vline~; -#X obj 300 658 osc~; -#X obj 270 682 *~; -#X obj 270 426 *~; -#X obj 300 634 +~; -#X obj 300 305 metro 500; -#X obj 318 613 *~; -#X obj 300 348 f; -#X msg 300 370 1 1 0 \, 0 \$1 1; -#X obj 316 327 * 200; -#X obj 377 723 *~; -#X obj 332 255 line; -#X obj 395 448 sig~; -#X obj 300 524 *~; -#X obj 300 232 t b a; -#X msg 300 210 1 \, 0 3000; -#X obj 300 460 *~; -#X obj 360 281 * 3000; -#X obj 300 546 +~ 30; -#X obj 337 588 *~ 100; -#X floatatom 455 537 5 0 0 0 - - - 0; -#X obj 317 133 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; -#X floatatom 574 363 5 0 0 0 - - - 0; -#X obj 565 290 random 9; -#X obj 319 567 osc~ 70; -#X obj 318 499 *~ 30; -#X obj 423 294 mtof; -#X obj 483 322 mtof; -#X obj 335 174 t b b b b; -#X obj 482 289 + 10; -#X obj 329 750 *~; -#X obj 55 140 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; -#X obj 33 259 + 10; -#X obj 422 261 + 10; -#X obj 29 235 random 60; -#X obj 418 237 random 60; -#X obj 89 263 random 50; -#X obj 478 265 random 50; -#X obj -70 566 osc~ 700; -#X floatatom 431 340 5 0 0 0 - - - 0; -#X obj 179 335 / 14; -#X obj 44 55 loadbang; -#X obj 276 77 loadbang; -#X obj 55 95 retro 800 2000; -#X obj 349 110 retro 500 1200; -#X obj 649 393 vline~; -#X obj 649 659 osc~; -#X obj 619 683 *~; -#X obj 619 427 *~; -#X obj 649 635 +~; -#X obj 649 306 metro 500; -#X obj 667 614 *~; -#X obj 649 349 f; -#X msg 649 371 1 1 0 \, 0 \$1 1; -#X obj 665 328 * 200; -#X obj 726 724 *~; -#X obj 681 256 line; -#X obj 744 449 sig~; -#X obj 649 525 *~; -#X obj 649 233 t b a; -#X msg 649 211 1 \, 0 3000; -#X obj 649 461 *~; -#X obj 709 282 * 3000; -#X obj 649 547 +~ 30; -#X obj 686 589 *~ 100; -#X floatatom 804 538 5 0 0 0 - - - 0; -#X obj 666 134 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; -#X floatatom 923 364 5 0 0 0 - - - 0; -#X obj 914 291 random 9; -#X obj 668 568 osc~ 70; -#X obj 667 500 *~ 30; -#X obj 772 295 mtof; -#X obj 832 323 mtof; -#X obj 684 175 t b b b b; -#X obj 831 290 + 10; -#X obj 678 751 *~; -#X obj 771 262 + 10; -#X obj 767 238 random 60; -#X obj 827 266 random 50; -#X floatatom 780 341 5 0 0 0 - - - 0; -#X obj 625 78 loadbang; -#X obj 698 111 retro 500 1000; -#X obj 916 336 / 60; -#X obj 565 311 + 4; -#X obj 914 312 + 5; -#X obj 567 335 / 20; -#X obj 176 309 + 5; +#N canvas 0 23 1440 805 synth 0; +#X obj 308 770 outlet~; +#X obj 57 359 vline~; +#X obj 57 625 osc~; +#X obj 27 649 *~; +#X obj 27 393 *~; +#X obj 57 601 +~; +#X obj 57 272 metro 500; +#X obj 75 580 *~; +#X obj 57 315 f; +#X msg 57 337 1 1 0 \, 0 \$1 1; +#X obj 73 294 * 200; +#X obj 134 690 *~; +#X obj 89 222 line; +#X obj 152 415 sig~; +#X obj 57 491 *~; +#X obj 57 199 t b a; +#X msg 57 177 1 \, 0 3000; +#X obj 57 427 *~; +#X obj 117 248 * 3000; +#X obj 57 513 +~ 30; +#X obj 94 555 *~ 100; +#X floatatom 212 504 5 0 0 0 - - - 0; +#X obj 74 100 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; +#X floatatom 331 330 5 0 0 0 - - - 0; +#X obj 322 257 random 9; +#X obj 75 466 *~ 30; +#X obj 180 261 mtof; +#X obj 240 289 mtof; +#X obj 92 141 t b b b b; +#X obj 239 256 + 10; +#X obj 222 711 *~; +#X obj 446 361 vline~; +#X obj 446 627 osc~; +#X obj 416 651 *~; +#X obj 416 395 *~; +#X obj 446 603 +~; +#X obj 446 274 metro 500; +#X obj 464 582 *~; +#X obj 446 317 f; +#X msg 446 339 1 1 0 \, 0 \$1 1; +#X obj 462 296 * 200; +#X obj 523 692 *~; +#X obj 478 224 line; +#X obj 541 417 sig~; +#X obj 446 493 *~; +#X obj 446 201 t b a; +#X msg 446 179 1 \, 0 3000; +#X obj 446 429 *~; +#X obj 506 250 * 3000; +#X obj 446 515 +~ 30; +#X obj 483 557 *~ 100; +#X floatatom 601 506 5 0 0 0 - - - 0; +#X obj 463 102 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; +#X floatatom 720 332 5 0 0 0 - - - 0; +#X obj 711 259 random 9; +#X obj 465 536 osc~ 70; +#X obj 464 468 *~ 30; +#X obj 569 263 mtof; +#X obj 629 291 mtof; +#X obj 481 143 t b b b b; +#X obj 628 258 + 10; +#X obj 475 719 *~; +#X obj 201 109 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; +#X obj 179 228 + 10; +#X obj 568 230 + 10; +#X obj 175 204 random 60; +#X obj 564 206 random 60; +#X obj 235 232 random 50; +#X obj 624 234 random 50; +#X obj 76 535 osc~ 700; +#X floatatom 577 309 5 0 0 0 - - - 0; +#X obj 325 304 / 14; +#X obj 795 362 vline~; +#X obj 795 628 osc~; +#X obj 765 652 *~; +#X obj 765 396 *~; +#X obj 795 604 +~; +#X obj 795 275 metro 500; +#X obj 813 583 *~; +#X obj 795 318 f; +#X msg 795 340 1 1 0 \, 0 \$1 1; +#X obj 811 297 * 200; +#X obj 872 693 *~; +#X obj 827 225 line; +#X obj 890 418 sig~; +#X obj 795 494 *~; +#X obj 795 202 t b a; +#X msg 795 180 1 \, 0 3000; +#X obj 795 430 *~; +#X obj 855 251 * 3000; +#X obj 795 516 +~ 30; +#X obj 832 558 *~ 100; +#X floatatom 950 507 5 0 0 0 - - - 0; +#X obj 812 103 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000; +#X floatatom 1069 333 5 0 0 0 - - - 0; +#X obj 1060 260 random 9; +#X obj 814 537 osc~ 70; +#X obj 813 469 *~ 30; +#X obj 918 264 mtof; +#X obj 978 292 mtof; +#X obj 830 144 t b b b b; +#X obj 977 259 + 10; +#X obj 824 720 *~; +#X obj 917 231 + 10; +#X obj 913 207 random 60; +#X obj 973 235 random 50; +#X floatatom 926 310 5 0 0 0 - - - 0; +#X obj 1062 305 / 60; +#X obj 711 280 + 4; +#X obj 1060 281 + 5; +#X obj 713 304 / 20; +#X obj 322 278 + 5; +#N canvas 386 23 374 377 retro 0; +#X obj 43 211 del; +#X obj 43 261 spigot; +#X obj 139 72 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1; +#X obj 145 216 random; +#X obj 82 235 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 50 47 inlet; +#X obj 43 286 outlet; +#X obj 50 104 t b f; +#X obj 113 191 t b b; +#X obj 158 72 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000; +#X obj 234 37 inlet; +#X obj 266 135 unpack f f; +#X obj 234 107 expr $f2-$f1; +#X floatatom 234 197 5 0 0 0 range - - 0; +#X floatatom 266 223 5 0 0 0 start - - 0; +#X obj 145 242 +; +#X floatatom 171 69 5 0 0 1 r - - 0; +#X obj 145 286 outlet; +#X obj 234 71 t a a; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 1 0 9 0; +#X connect 2 0 7 0; +#X connect 3 0 15 0; +#X connect 4 0 1 1; +#X connect 5 0 2 0; +#X connect 7 0 9 0; +#X connect 7 1 4 0; +#X connect 8 0 0 0; +#X connect 8 1 3 0; +#X connect 9 0 8 0; +#X connect 10 0 18 0; +#X connect 11 0 14 0; +#X connect 12 0 13 0; +#X connect 13 0 3 1; +#X connect 14 0 15 1; +#X connect 15 0 0 1; +#X connect 15 0 16 0; +#X connect 15 0 17 0; +#X connect 18 0 12 0; +#X connect 18 1 11 0; +#X coords 0 -1 1 1 85 40 1 135 50; +#X restore 232 101 pd retro; +#X obj 232 34 loadbang; +#X obj 232 58 t b b; +#X msg 310 77 800 2000; +#N canvas 386 23 374 377 retro 0; +#X obj 43 211 del; +#X obj 43 261 spigot; +#X obj 139 72 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1; +#X obj 145 216 random; +#X obj 82 235 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 50 47 inlet; +#X obj 43 286 outlet; +#X obj 50 104 t b f; +#X obj 113 191 t b b; +#X obj 158 72 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000; +#X obj 234 37 inlet; +#X obj 266 135 unpack f f; +#X obj 234 107 expr $f2-$f1; +#X floatatom 234 197 5 0 0 0 range - - 0; +#X floatatom 266 223 5 0 0 0 start - - 0; +#X obj 145 242 +; +#X floatatom 171 69 5 0 0 1 r - - 0; +#X obj 145 286 outlet; +#X obj 234 71 t a a; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 1 0 9 0; +#X connect 2 0 7 0; +#X connect 3 0 15 0; +#X connect 4 0 1 1; +#X connect 5 0 2 0; +#X connect 7 0 9 0; +#X connect 7 1 4 0; +#X connect 8 0 0 0; +#X connect 8 1 3 0; +#X connect 9 0 8 0; +#X connect 10 0 18 0; +#X connect 11 0 14 0; +#X connect 12 0 13 0; +#X connect 13 0 3 1; +#X connect 14 0 15 1; +#X connect 15 0 0 1; +#X connect 15 0 16 0; +#X connect 15 0 17 0; +#X connect 18 0 12 0; +#X connect 18 1 11 0; +#X coords 0 -1 1 1 85 40 1 135 50; +#X restore 615 120 pd retro; +#X obj 615 53 loadbang; +#X obj 615 77 t b b; +#X msg 693 96 500 1200; +#N canvas 386 23 374 377 retro 0; +#X obj 43 211 del; +#X obj 43 261 spigot; +#X obj 139 72 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1; +#X obj 145 216 random; +#X obj 82 235 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 50 47 inlet; +#X obj 43 286 outlet; +#X obj 50 104 t b f; +#X obj 113 191 t b b; +#X obj 158 72 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000; +#X obj 234 37 inlet; +#X obj 266 135 unpack f f; +#X obj 234 107 expr $f2-$f1; +#X floatatom 234 197 5 0 0 0 range - - 0; +#X floatatom 266 223 5 0 0 0 start - - 0; +#X obj 145 242 +; +#X floatatom 171 69 5 0 0 1 r - - 0; +#X obj 145 286 outlet; +#X obj 234 71 t a a; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 1 0 9 0; +#X connect 2 0 7 0; +#X connect 3 0 15 0; +#X connect 4 0 1 1; +#X connect 5 0 2 0; +#X connect 7 0 9 0; +#X connect 7 1 4 0; +#X connect 8 0 0 0; +#X connect 8 1 3 0; +#X connect 9 0 8 0; +#X connect 10 0 18 0; +#X connect 11 0 14 0; +#X connect 12 0 13 0; +#X connect 13 0 3 1; +#X connect 14 0 15 1; +#X connect 15 0 0 1; +#X connect 15 0 16 0; +#X connect 15 0 17 0; +#X connect 18 0 12 0; +#X connect 18 1 11 0; +#X coords 0 -1 1 1 85 40 1 135 50; +#X restore 938 99 pd retro; +#X obj 938 32 loadbang; +#X obj 938 56 t b b; +#X msg 1016 75 500 1000; #X connect 1 0 4 0; #X connect 1 0 4 1; #X connect 2 0 3 1; @@ -193,7 +325,7 @@ #X connect 21 0 20 1; #X connect 22 0 28 0; #X connect 23 0 30 1; -#X connect 24 0 117 0; +#X connect 24 0 111 0; #X connect 25 0 14 1; #X connect 26 0 19 1; #X connect 26 0 69 1; @@ -235,7 +367,7 @@ #X connect 51 0 50 1; #X connect 52 0 59 0; #X connect 53 0 61 1; -#X connect 54 0 114 0; +#X connect 54 0 108 0; #X connect 55 0 37 0; #X connect 56 0 44 1; #X connect 57 0 49 1; @@ -257,66 +389,85 @@ #X connect 68 0 60 0; #X connect 69 0 7 0; #X connect 71 0 23 0; -#X connect 72 0 74 0; -#X connect 73 0 75 0; -#X connect 74 0 62 0; -#X connect 75 0 59 0; -#X connect 76 0 79 0; -#X connect 76 0 79 1; -#X connect 77 0 78 1; -#X connect 78 0 86 0; -#X connect 79 0 78 0; -#X connect 79 0 92 0; -#X connect 79 0 92 1; -#X connect 80 0 77 0; -#X connect 81 0 83 0; -#X connect 82 0 80 1; +#X connect 72 0 75 0; +#X connect 72 0 75 1; +#X connect 73 0 74 1; +#X connect 74 0 82 0; +#X connect 75 0 74 0; +#X connect 75 0 88 0; +#X connect 75 0 88 1; +#X connect 76 0 73 0; +#X connect 77 0 79 0; +#X connect 78 0 76 1; +#X connect 79 0 80 0; +#X connect 80 0 72 0; +#X connect 81 0 79 1; +#X connect 82 0 102 0; +#X connect 83 0 81 0; #X connect 83 0 84 0; -#X connect 84 0 76 0; -#X connect 85 0 83 1; -#X connect 86 0 106 0; -#X connect 87 0 85 0; -#X connect 87 0 88 0; -#X connect 87 0 93 0; -#X connect 88 0 86 1; -#X connect 88 0 95 0; -#X connect 88 0 101 0; -#X connect 89 0 94 0; -#X connect 90 0 81 0; -#X connect 90 1 87 0; -#X connect 91 0 90 0; -#X connect 92 0 89 0; -#X connect 93 0 81 1; -#X connect 94 0 80 0; -#X connect 95 0 82 1; -#X connect 96 0 95 1; -#X connect 97 0 104 0; -#X connect 98 0 106 1; -#X connect 99 0 115 0; -#X connect 100 0 82 0; -#X connect 101 0 89 1; -#X connect 102 0 94 1; -#X connect 102 0 110 0; -#X connect 102 0 100 1; -#X connect 103 0 96 0; -#X connect 104 0 91 0; -#X connect 104 1 108 0; -#X connect 104 2 109 0; -#X connect 104 3 99 0; -#X connect 105 0 103 0; -#X connect 107 0 102 0; -#X connect 108 0 107 0; -#X connect 109 0 105 0; -#X connect 111 0 112 0; -#X connect 112 0 104 0; -#X connect 113 0 98 0; -#X connect 114 0 116 0; -#X connect 115 0 113 0; -#X connect 116 0 53 0; -#X connect 117 0 71 0; -#X restore 80 300 pd synth; +#X connect 83 0 89 0; +#X connect 84 0 82 1; +#X connect 84 0 91 0; +#X connect 84 0 97 0; +#X connect 85 0 90 0; +#X connect 86 0 77 0; +#X connect 86 1 83 0; +#X connect 87 0 86 0; +#X connect 88 0 85 0; +#X connect 89 0 77 1; +#X connect 90 0 76 0; +#X connect 91 0 78 1; +#X connect 92 0 91 1; +#X connect 93 0 100 0; +#X connect 94 0 102 1; +#X connect 95 0 109 0; +#X connect 96 0 78 0; +#X connect 97 0 85 1; +#X connect 98 0 90 1; +#X connect 98 0 106 0; +#X connect 98 0 96 1; +#X connect 99 0 92 0; +#X connect 100 0 87 0; +#X connect 100 1 104 0; +#X connect 100 2 105 0; +#X connect 100 3 95 0; +#X connect 101 0 99 0; +#X connect 103 0 98 0; +#X connect 104 0 103 0; +#X connect 105 0 101 0; +#X connect 107 0 94 0; +#X connect 108 0 110 0; +#X connect 109 0 107 0; +#X connect 110 0 53 0; +#X connect 111 0 71 0; +#X connect 112 0 62 0; +#X connect 113 0 114 0; +#X connect 114 0 112 0; +#X connect 114 1 115 0; +#X connect 115 0 112 1; +#X connect 116 0 52 0; +#X connect 117 0 118 0; +#X connect 118 0 116 0; +#X connect 118 1 119 0; +#X connect 119 0 116 1; +#X connect 120 0 93 0; +#X connect 121 0 122 0; +#X connect 122 0 120 0; +#X connect 122 1 123 0; +#X connect 123 0 120 1; +#X restore 50 300 pd synth; +#X obj 204 329 *~; +#X obj 189 276 line~; +#X msg 189 252 \$1 100; +#X floatatom 189 189 5 0 0 0 - - - 0; +#X obj 132 322 switch~; +#X obj 132 298 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 274 change; +#X text 89 167 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 228 max 0; +#X obj 132 250 > -0.3; #X connect 0 0 1 0; -#X connect 1 0 19 0; +#X connect 1 0 16 0; #X connect 2 0 5 0; #X connect 3 0 7 1; #X connect 4 0 3 0; @@ -325,17 +476,24 @@ #X connect 7 0 8 0; #X connect 7 1 8 1; #X connect 9 0 7 0; -#X connect 10 0 9 1; -#X connect 11 0 10 0; -#X connect 12 0 16 0; -#X connect 12 1 13 0; -#X connect 13 0 14 0; -#X connect 14 0 15 0; -#X connect 15 0 2 0; -#X connect 16 0 11 0; -#X connect 19 0 17 0; -#X connect 19 1 12 0; -#X connect 21 0 20 1; -#X connect 22 0 21 0; -#X connect 23 0 22 0; -#X connect 25 0 9 0; +#X connect 10 0 26 0; +#X connect 10 1 11 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 2 0; +#X connect 16 0 14 0; +#X connect 16 1 10 0; +#X connect 18 0 17 1; +#X connect 19 0 18 0; +#X connect 20 0 19 0; +#X connect 22 0 9 0; +#X connect 23 0 9 1; +#X connect 24 0 23 0; +#X connect 24 0 23 1; +#X connect 25 0 24 0; +#X connect 26 0 31 0; +#X connect 26 0 32 0; +#X connect 28 0 27 0; +#X connect 29 0 28 0; +#X connect 31 0 25 0; +#X connect 32 0 29 0; diff --git a/tenniscourts/morae.gd b/tenniscourts/morae.gd index a00351a..5a9da43 100644 --- a/tenniscourts/morae.gd +++ b/tenniscourts/morae.gd @@ -1,10 +1,12 @@ extends RigidBody -export (String, MULTILINE) var patch = "" export (float, 0, 100) var audible_range_max = 10.0 export (float, 1, 12) var preset = 1 -var _my_patch = "res://tenniscourts/morae.pd" +export (bool) var use_embeded_patch = false +export (String, MULTILINE) var patch = "" + +var _my_patch = "user://tenniscourts/morae.pd" var _my_id = 0 func set_param(param): @@ -39,17 +41,12 @@ func relocate(center, radius_range): look_at_from_position(Vector3(loc.x, randf()*2 + 1, loc.y), Vector3.FORWARD, Vector3.UP) func _ready(): - # save patch - # prepare directory -# var patch_name = _my_patch.split("/")[-1] -# var patch_dir = _my_patch.trim_suffix(patch_name) -# var dir = Directory.new() -# dir.make_dir_recursive(patch_dir) -# # save to file -# var file = File.new() -# file.open(_my_patch, File.WRITE) -# file.store_string(patch) -# file.close() + # save patch (for export) + if use_embeded_patch: + assert(_my_patch.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !") + assert(patch != "", "patch is empty?") + _save_patch() + # load patch _my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch)) @@ -73,6 +70,8 @@ func _on_Events_player_transform_updated(playerpos, playerheading): var angle = fmod(fmod(playerpos2d.angle_to_point(mypos2d) + playerheading - PI/2, PI*2) + PI*2, PI*2) if angle > PI: angle = angle - PI*2 + # (check) +# print(str(_my_id) +" : ("+ str(distance) +","+ str(angle) +")") # calculate gain var gain = 1 - distance/audible_range_max # send to the patch @@ -85,4 +84,16 @@ func _on_Events_player_transform_updated(playerpos, playerheading): func _exit_tree(): Global.close_patch(_my_id) - pass + +func _save_patch(): + # save patch + # prepare directory + var patch_name = _my_patch.split("/")[-1] + var patch_dir = _my_patch.trim_suffix(patch_name) + var dir = Directory.new() + dir.make_dir_recursive(patch_dir) + # save to file + var file = File.new() + file.open(_my_patch, File.WRITE) + file.store_string(patch) + file.close() diff --git a/tenniscourts/morae.tscn b/tenniscourts/morae.tscn index 13371be..2ffcad0 100644 --- a/tenniscourts/morae.tscn +++ b/tenniscourts/morae.tscn @@ -16,6 +16,286 @@ albedo_color = Color( 0.180392, 0.972549, 0.776471, 1 ) [node name="morae" type="RigidBody"] transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 9.251, 80, 0 ) script = ExtResource( 1 ) +use_embeded_patch = true +patch = "#N canvas 11 263 583 567 12; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 195 409 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 361 21 loadbang; +#X obj 20 470 *~; +#X obj 38 446 vline~; +#X msg 38 422 0 \\, 1 1000 300; +#X obj 38 398 loadbang; +#X msg 361 51 \\; pd dsp 1; +#N canvas 478 23 873 806 synth 0; +#X obj 3 447 noise~; +#X obj -13 491 *~; +#X obj -29 375 sig~ 1; +#X obj -29 403 /~; +#X obj 20 353 *~; +#X obj 20 323 *~; +#X obj -29 515 +~; +#X obj 20 375 +~ 1; +#X obj -13 426 *~ 0.4; +#X obj 3 469 bp~ 700 1; +#X obj 20 274 osc~ 12; +#X obj 29 696 outlet~; +#X obj 197 70 r \\$0-preset; +#X obj 519 680 s \\$0-preset; +#X obj 566 305 inlet; +#X obj 126 73 inlet; +#X floatatom 124 137 5 0 0 0 - - - 0; +#X floatatom 166 137 5 0 0 0 - - - 0; +#X obj 436 165 del; +#X obj 436 215 spigot; +#X obj 397 62 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1; +#X obj 544 122 expr \\$2-\\$1; +#X obj 510 184 random; +#X obj 544 72 loadbang; +#X obj 475 189 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; +#X obj 428 110 t b f; +#X obj 478 159 t b b; +#X obj 451 139 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000; +#X obj 653 101 unpack f f; +#X obj 669 130 expr $f2-$f1; +#X floatatom 543 157 5 0 0 0 range - - 0; +#X floatatom 598 183 5 0 0 0 start - - 0; +#X obj 599 153 f \\$1; +#X obj 510 210 +; +#X obj 544 97 t b b; +#X floatatom 510 239 5 0 0 1 r - - 0; +#X msg 651 65 500 3500; +#X obj 157 481 cos~; +#X floatatom 205 270 4 0 100 0 - - - 0; +#X obj 204 294 / 10; +#X obj 157 451 *~; +#X obj 204 366 line~; +#X obj 204 318 max 0; +#X floatatom 107 373 4 0 0 0 - - - 0; +#X text 86 325 fundamental; +#X text 86 344 frequency; +#X obj 199 481 cos~; +#X obj 240 394 wrap~; +#X obj 204 421 -~; +#X obj 199 451 +~; +#X obj 199 526 -~; +#X obj 222 576 *~; +#X obj 204 616 +~; +#X obj 204 342 pack 0 50; +#X obj 107 397 phasor~ 100; +#X text 36 135 center frequency (in; +#X text 35 155 tenths of fundamental); +#X obj 204 662 hip~ 5; +#X obj 225 703 *~; +#X obj 296 718 vline~; +#X floatatom 451 363 5 0 0 0 - - - 0; +#X msg 294 690 \\$1 1000; +#X obj 421 265 random 8; +#X obj 644 39 loadbang; +#X obj 72 597 vline~; +#X obj 126 104 unpack f f f; +#X obj 382 30 loadbang; +#X obj 2 607 *~; +#X msg 637 374 10 27 21; +#X msg 636 542 5 12 46; +#X msg 636 423 2 52 2; +#X msg 636 447 9 11 78; +#X msg 636 471 7 16 38; +#X floatatom 49 210 5 0 0 0 - - - 0; +#X msg 636 495 28 -20 15; +#X msg 636 519 1 -12 41; +#X msg 635 397 17 28 46; +#X obj 595 332 sel 1 2 3 4 5 6 7 8 9 10 11 12; +#X msg 638 567 21 14 19; +#X msg 639 614 14 -16 49; +#X msg 639 638 4 10 40; +#X msg 638 591 61 31 25; +#X obj 435 299 / 10; +#X obj 446 323 + 0.5; +#X connect 0 0 9 0; +#X connect 1 0 6 1; +#X connect 2 0 3 0; +#X connect 3 0 6 0; +#X connect 3 0 8 0; +#X connect 4 0 7 0; +#X connect 5 0 4 0; +#X connect 5 0 4 1; +#X connect 6 0 67 0; +#X connect 7 0 3 1; +#X connect 8 0 1 0; +#X connect 9 0 1 1; +#X connect 10 0 5 0; +#X connect 12 0 65 0; +#X connect 14 0 77 0; +#X connect 15 0 65 0; +#X connect 16 0 43 0; +#X connect 17 0 38 0; +#X connect 18 0 19 0; +#X connect 19 0 27 0; +#X connect 19 0 62 0; +#X connect 20 0 25 0; +#X connect 21 0 30 0; +#X connect 22 0 33 0; +#X connect 23 0 34 0; +#X connect 24 0 19 1; +#X connect 25 0 27 0; +#X connect 25 1 24 0; +#X connect 26 0 18 0; +#X connect 26 1 22 0; +#X connect 27 0 26 0; +#X connect 28 0 31 0; +#X connect 29 0 30 0; +#X connect 30 0 22 1; +#X connect 31 0 33 1; +#X connect 32 0 31 0; +#X connect 33 0 18 1; +#X connect 33 0 35 0; +#X connect 34 0 21 0; +#X connect 34 1 32 0; +#X connect 36 0 28 0; +#X connect 36 0 29 0; +#X connect 37 0 50 1; +#X connect 37 0 52 0; +#X connect 38 0 39 0; +#X connect 39 0 42 0; +#X connect 40 0 37 0; +#X connect 40 0 49 0; +#X connect 41 0 48 0; +#X connect 41 0 47 0; +#X connect 42 0 53 0; +#X connect 43 0 54 0; +#X connect 46 0 50 0; +#X connect 47 0 48 1; +#X connect 47 0 51 1; +#X connect 48 0 40 1; +#X connect 49 0 46 0; +#X connect 50 0 51 0; +#X connect 51 0 52 1; +#X connect 52 0 57 0; +#X connect 53 0 41 0; +#X connect 54 0 40 0; +#X connect 54 0 49 1; +#X connect 57 0 58 0; +#X connect 58 0 11 0; +#X connect 59 0 58 1; +#X connect 60 0 61 0; +#X connect 61 0 59 0; +#X connect 61 0 64 0; +#X connect 62 0 82 0; +#X connect 63 0 36 0; +#X connect 64 0 67 1; +#X connect 65 0 73 0; +#X connect 65 1 16 0; +#X connect 65 2 17 0; +#X connect 66 0 20 0; +#X connect 67 0 11 0; +#X connect 68 0 13 0; +#X connect 69 0 13 0; +#X connect 70 0 13 0; +#X connect 71 0 13 0; +#X connect 72 0 13 0; +#X connect 73 0 5 1; +#X connect 74 0 13 0; +#X connect 75 0 13 0; +#X connect 76 0 13 0; +#X connect 77 0 68 0; +#X connect 77 1 69 0; +#X connect 77 2 70 0; +#X connect 77 3 71 0; +#X connect 77 4 72 0; +#X connect 77 5 74 0; +#X connect 77 6 75 0; +#X connect 77 7 76 0; +#X connect 77 8 78 0; +#X connect 77 9 81 0; +#X connect 77 10 79 0; +#X connect 77 11 80 0; +#X connect 78 0 13 0; +#X connect 79 0 13 0; +#X connect 80 0 13 0; +#X connect 81 0 13 0; +#X connect 82 0 83 0; +#X connect 83 0 60 0; +#X restore 16 286 pd synth; +#X obj 204 329 *~; +#X obj 21 70 route bang panvol param preset rev; +#X floatatom 266 103 5 0 0 0 - - - 0; +#X obj 331 117 s rev_v; +#X obj 189 276 line~; +#X msg 189 252 \\$1 100; +#X floatatom 189 189 5 0 0 0 - - - 0; +#X obj 132 322 switch~; +#X obj 132 298 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 132 274 change; +#X text 89 167 switch on/off before 0 to stop startup pops, f 12; +#X obj 189 228 max 0; +#X obj 132 250 > -0.3; +#X connect 0 0 1 0; +#X connect 1 0 23 0; +#X connect 2 0 5 0; +#X connect 3 0 7 1; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 7 1 8 1; +#X connect 9 0 7 0; +#X connect 10 0 28 0; +#X connect 10 1 11 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 2 0; +#X connect 17 0 16 1; +#X connect 18 0 17 0; +#X connect 19 0 18 0; +#X connect 21 0 9 0; +#X connect 22 0 9 1; +#X connect 23 0 14 0; +#X connect 23 1 10 0; +#X connect 23 3 21 1; +#X connect 23 4 24 0; +#X connect 24 0 25 0; +#X connect 26 0 22 0; +#X connect 26 0 22 1; +#X connect 27 0 26 0; +#X connect 28 0 33 0; +#X connect 28 0 34 0; +#X connect 30 0 29 0; +#X connect 31 0 30 0; +#X connect 33 0 27 0; +#X connect 34 0 31 0; +" [node name="CollisionShape2" type="CollisionShape" parent="."] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.79, 0 ) diff --git a/tenniscourts/project.godot.off b/tenniscourts/project.godot.off deleted file mode 100644 index c922ca7..0000000 --- a/tenniscourts/project.godot.off +++ /dev/null @@ -1,56 +0,0 @@ -; Engine configuration file. -; It's best edited using the editor UI and not directly, -; since the parameters that go here are not all obvious. -; -; Format: -; [section] ; section goes between [] -; param=value ; assign values to parameters - -config_version=4 - -[application] - -config/name="Procedural Trees" -run/main_scene="res://tenniscourts/src/Sandbox.tscn" - -[autoload] - -Global="*res://tenniscourts/Global.tscn" -Events="*res://tenniscourts/Events.tscn" - -[input] - -move_forward={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_backward={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_left={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_right={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -move_jump={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -guide={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":71,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} - -[rendering] - -environment/default_environment="res://tenniscourts/default_env.tres" diff --git a/tenniscourts/src/Sandbox.gd b/tenniscourts/src/Sandbox.gd index b5bdac9..beef23d 100644 --- a/tenniscourts/src/Sandbox.gd +++ b/tenniscourts/src/Sandbox.gd @@ -6,19 +6,14 @@ var morae = load("res://tenniscourts/morae.tscn") var mr = null func _ready(): - - - randomize() - for i in range(12): yield(get_tree().create_timer(rand_range(30, 60)), "timeout") mr = morae.instance() # rstone.set_param(preset_grps[0][randi()%4]) # rstone.set_color(preset_colors[0]) mr.set_preset(i+1) - mr.audible_range_max = 130 mr.translate(Vector3(rand_range(30, 100), 20, rand_range(-30,-70))) add_child(mr) diff --git a/tenniscourts/src/Sandbox.tscn b/tenniscourts/src/Sandbox.tscn index 59cb4b9..ea1ba3a 100644 --- a/tenniscourts/src/Sandbox.tscn +++ b/tenniscourts/src/Sandbox.tscn @@ -87,6 +87,160 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -19, 0.27, -65 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 9.78137, 1.43407, -21.4578 ) script = ExtResource( 5 ) audible_range_max = 200.0 +use_embeded_patch = true +patch = "#N canvas 22 179 583 567 12; +#X obj 21 22 r fromGodot\\$0; +#X obj 21 46 list trim; +#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X obj 300 349 line~; +#X msg 300 325 \\$1 100; +#X obj 300 278 expr ($f1 + 1)/8; +#X floatatom 300 302 5 0 0 0 - - - 0; +#N canvas 68 97 450 300 pan2~ 0; +#X obj 51 98 cos~; +#X obj 111 98 cos~; +#X obj 33 128 *~; +#X obj 93 128 *~; +#X obj 33 158 outlet~; +#X obj 93 158 outlet~; +#X obj 33 24 inlet~; +#X obj 111 24 inlet~; +#X obj 111 74 +~ 0.75; +#X connect 0 0 2 1; +#X connect 1 0 3 1; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 1 0; +#X restore 199 437 pd pan2~; +#X obj 199 467 dac~ 1 2; +#X obj 195 409 *~; +#X obj 189 127 unpack f f; +#X floatatom 296 159 5 0 0 0 - - - 0; +#X obj 296 182 sin; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; +#X obj 361 21 loadbang; +#X obj 20 470 *~; +#X obj 38 446 vline~; +#X msg 38 422 0 \\, 1 1000 300; +#X obj 38 398 loadbang; +#X msg 361 51 \\; pd dsp 1; +#N canvas 567 23 873 806 synth 0; +#X obj 197 70 r \\$0-preset; +#X obj 519 680 s \\$0-preset; +#X obj 566 305 inlet; +#X obj 126 73 inlet; +#X floatatom 124 137 5 0 0 0 - - - 0; +#X floatatom 166 137 5 0 0 0 - - - 0; +#X text 36 135 center frequency (in; +#X text 35 155 tenths of fundamental); +#X obj 121 593 *~; +#X obj 644 39 loadbang; +#X obj 126 104 unpack f f f; +#X msg 637 374 10 27 21; +#X msg 636 542 5 12 46; +#X msg 636 423 2 52 2; +#X msg 636 447 9 11 78; +#X msg 636 471 7 16 38; +#X msg 636 495 28 -20 15; +#X msg 636 519 1 -12 41; +#X msg 635 397 17 28 46; +#X obj 595 332 sel 1 2 3 4 5 6 7 8 9 10 11 12; +#X msg 638 567 21 14 19; +#X msg 639 614 14 -16 49; +#X msg 639 638 4 10 40; +#X msg 638 591 61 31 25; +#X obj 125 482 osc~; +#X obj 224 463 vline~; +#X obj 200 349 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000; +#X obj 210 192 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1; +#X msg 138 393 420; +#X obj 197 268 metro 4000; +#X obj 147 703 outlet~; +#X obj 238 153 r guide; +#X msg 227 422 0.3 60 0 \\, 0.1 100 200 \\, 0 2000 200; +#X connect 0 0 10 0; +#X connect 2 0 19 0; +#X connect 3 0 10 0; +#X connect 8 0 30 0; +#X connect 10 1 4 0; +#X connect 10 2 5 0; +#X connect 11 0 1 0; +#X connect 12 0 1 0; +#X connect 13 0 1 0; +#X connect 14 0 1 0; +#X connect 15 0 1 0; +#X connect 16 0 1 0; +#X connect 17 0 1 0; +#X connect 18 0 1 0; +#X connect 19 0 11 0; +#X connect 19 1 12 0; +#X connect 19 2 13 0; +#X connect 19 3 14 0; +#X connect 19 4 15 0; +#X connect 19 5 16 0; +#X connect 19 6 17 0; +#X connect 19 7 18 0; +#X connect 19 8 20 0; +#X connect 19 9 23 0; +#X connect 19 10 21 0; +#X connect 19 11 22 0; +#X connect 20 0 1 0; +#X connect 21 0 1 0; +#X connect 22 0 1 0; +#X connect 23 0 1 0; +#X connect 24 0 8 0; +#X connect 25 0 8 1; +#X connect 26 0 28 0; +#X connect 26 0 32 0; +#X connect 27 0 29 0; +#X connect 28 0 24 0; +#X connect 29 0 26 0; +#X connect 31 0 27 0; +#X connect 32 0 25 0; +#X restore 16 286 pd synth; +#X obj 204 329 *~; +#X floatatom 266 103 5 0 0 0 - - - 0; +#X obj 189 276 line~; +#X msg 189 252 \\$1 100; +#X floatatom 189 189 5 0 0 0 - - - 0; +#X obj 21 70 route bang panvol param preset guide; +#X text 64 155 comment, f 12; +#X obj 346 133 s guide; +#X connect 0 0 1 0; +#X connect 1 0 27 0; +#X connect 2 0 5 0; +#X connect 3 0 7 1; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 7 1 8 1; +#X connect 9 0 7 0; +#X connect 10 0 26 0; +#X connect 10 1 11 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 2 0; +#X connect 17 0 16 1; +#X connect 18 0 17 0; +#X connect 19 0 18 0; +#X connect 21 0 9 0; +#X connect 22 0 9 1; +#X connect 23 0 29 0; +#X connect 24 0 22 0; +#X connect 24 0 22 1; +#X connect 25 0 24 0; +#X connect 26 0 25 0; +#X connect 27 0 14 0; +#X connect 27 1 10 0; +#X connect 27 3 21 1; +#X connect 27 4 23 0; +" [node name="CollisionShape" type="CollisionShape" parent="guide"] shape = SubResource( 8 ) diff --git a/tenniscourts/src/guide.gd b/tenniscourts/src/guide.gd index 2512244..a5922a2 100644 --- a/tenniscourts/src/guide.gd +++ b/tenniscourts/src/guide.gd @@ -1,12 +1,14 @@ extends StaticBody - -export (String, MULTILINE) var patch = "" export (float, 0, 400) var audible_range_max = 400.0 -export (float, 1, 12) var preset = 1 +export (int, 1, 12) var preset = 1 -var _my_patch = "res://tenniscourts/guide.pd" +export (bool) var use_embeded_patch = false +export (String, MULTILINE) var patch = "" + +var _my_patch = "user://tenniscourts/guide.pd" var _my_id = 0 + var _gg = false func set_param(param): @@ -41,17 +43,12 @@ func relocate(center, radius_range): look_at_from_position(Vector3(loc.x, randf()*2 + 1, loc.y), Vector3.FORWARD, Vector3.UP) func _ready(): - # save patch - # prepare directory -# var patch_name = _my_patch.split("/")[-1] -# var patch_dir = _my_patch.trim_suffix(patch_name) -# var dir = Directory.new() -# dir.make_dir_recursive(patch_dir) -# # save to file -# var file = File.new() -# file.open(_my_patch, File.WRITE) -# file.store_string(patch) -# file.close() + # save patch (for export) + if use_embeded_patch: + assert(_my_patch.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !") + assert(patch != "", "patch is empty?") + _save_patch() + # load patch _my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch)) @@ -71,8 +68,10 @@ func _on_Events_player_transform_updated(playerpos, playerheading): var angle = fmod(fmod(playerpos2d.angle_to_point(mypos2d) + playerheading - PI/2, PI*2) + PI*2, PI*2) if angle > PI: angle = angle - PI*2 + # (check) +# print(str(_my_id) +" : ("+ str(distance) +","+ str(angle) +")") # calculate gain - var gain = max(1 - distance/audible_range_max, 0) + var gain = 1 - distance/audible_range_max # send to the patch Global._gdpd.start_message(3) Global._gdpd.add_symbol("panvol") @@ -91,4 +90,16 @@ func _physics_process(delta): func _exit_tree(): Global.close_patch(_my_id) - pass + +func _save_patch(): + # save patch + # prepare directory + var patch_name = _my_patch.split("/")[-1] + var patch_dir = _my_patch.trim_suffix(patch_name) + var dir = Directory.new() + dir.make_dir_recursive(patch_dir) + # save to file + var file = File.new() + file.open(_my_patch, File.WRITE) + file.store_string(patch) + file.close()