diff --git a/Global.gd b/Global.gd index becf10b..636619d 100644 --- a/Global.gd +++ b/Global.gd @@ -3,7 +3,12 @@ extends Node #scene changing -var _scenelist = ["res://mainScene/Main.tscn", "res://oscScene/oscScene.tscn"] +var _scenelist = [ + "res://mainScene/Main.tscn", + "res://oscScene/Scene.tscn", + "res://cricketScene/Scene.tscn", + "res://LieDownBeforeSleep/Scene.tscn" + ] var _sceneidx = 0 func nextScene(): @@ -12,6 +17,31 @@ func nextScene(): +## copy directory recursively ==> we need godot 4 for this approach.. +#func _copydirectory_recursive(src, dst): +# var dotfolders = RegEx.new() +# dotfolders.compile("^\\.\\w*") +# var pdfiles = RegEx.new() +# pdfiles.compile("\\w+\\.pd$") +# var dir = Directory.new() +# if dir.open(src) == OK: +# dir.list_dir_begin() +# var file_name = dir.get_next() +# while file_name != "": +# if dir.current_is_dir(): +# print("Found directory: " + file_name) +# if not dotfolders.search(file_name): +# dir.make_dir(dst + "/" + file_name) +# _copydirectory_recursive(dir.get_current_dir() + "/" + file_name, dst + "/" + file_name) +# else: +# if pdfiles.search(file_name): +# print("Found puredata file: " + file_name) +# dir.copy(src + "/" + file_name, dst + "/" + file_name) +# +# file_name = dir.get_next() +# else: +# print("An error occurred when trying to access the path. : " + src) + #gdpd (pd interface with godot) var _gdpd @@ -19,11 +49,20 @@ var _patches = [] func _ready(): _gdpd = load("res://addons/gdpd/bin/gdpd.gdns").new() - var inps = _gdpd.get_available_input_devices() - var outs = _gdpd.get_available_output_devices() - _gdpd.init_devices(inps[0], outs[0]) + # var inps = _gdpd.get_available_input_devices() + # var outs = _gdpd.get_available_output_devices() + # _gdpd.init_devices(inps[0], outs[0]) + # set gui path to activate gui window (otherwise, nogui) +# _gdpd.set_gui_path("/Applications/Pd-0.53-1.app/Contents/Resources") + _gdpd.set_volume(1) # by default, volume(gain) == 0 + _gdpd.init(0, 2, 44100, 256) + _gdpd.computeAudio(true) # [; pd dsp 1 ( _gdpd.subscribe("toGodot") + # duplicate "res://" into 'user://' ==> we need godot 4 for this approach.. +# _copydirectory_recursive("res://", "user://") + + func _exit_tree(): if _patches.size() != 0: print() @@ -57,3 +96,8 @@ func _process(_delta) : print(msg) # if msg[0] == "random": # print("r") + +# delaying stream start a bit to prevent start-up 'pop' noise. +func _on_Timer_timeout(): + _gdpd.streamstart() + diff --git a/Global.tscn b/Global.tscn index ae76f0e..3d9f090 100644 --- a/Global.tscn +++ b/Global.tscn @@ -4,3 +4,9 @@ [node name="Global" type="Node"] script = ExtResource( 1 ) + +[node name="Timer" type="Timer" parent="."] +one_shot = true +autostart = true + +[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"] diff --git a/LieDownBeforeSleep/Player.gd b/LieDownBeforeSleep/Player.gd new file mode 100644 index 0000000..32fa8ce --- /dev/null +++ b/LieDownBeforeSleep/Player.gd @@ -0,0 +1,81 @@ +extends KinematicBody + +var camera_angle = 0 +var mouse_sensitivity = 0.3 +var camera_change = Vector2() + +var velocity = Vector3() +var direction = Vector3() + +var _oldtf = Transform() + + +#fly variables +const FLY_SPEED = 20 +const FLY_ACCEL = 4 + +var mouse_captured = true + +func _ready(): + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + +func _physics_process(delta): + + if mouse_captured: + aim() + fly(delta) + # emit signal - playerinfo_updated + var tf = $Head/Camera.get_global_transform_interpolated() + if tf != _oldtf: + Events.emit_signal("player_transform_updated", $Head/Camera.get_global_translation(), $Head.global_rotation.y) + _oldtf = tf + + if Input.is_action_just_pressed('toggle_mouse'): + if mouse_captured: + mouse_captured = false + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + else: + mouse_captured = true + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + +func _input(event): + if event is InputEventMouseMotion: + camera_change = event.relative + +func fly(delta): + # reset the direction of the player + direction = Vector3() + + # get the rotation of the camera + var aim = $Head/Camera.get_global_transform().basis + + # check input and change direction + if Input.is_action_pressed("move_forward"): + direction -= aim.z + if Input.is_action_pressed("move_backward"): + direction += aim.z + if Input.is_action_pressed("move_left"): + direction -= aim.x + if Input.is_action_pressed("move_right"): + direction += aim.x + + direction = direction.normalized() + + # where would the player go at max speed + var target = direction * FLY_SPEED + + # calculate a portion of the distance to go + velocity = velocity.linear_interpolate(target, FLY_ACCEL * delta) + + # move + move_and_slide(velocity) + +func aim(): + if camera_change.length() > 0: + $Head.rotate_y(deg2rad(-camera_change.x * mouse_sensitivity)) + + var change = -camera_change.y * mouse_sensitivity + if change + camera_angle < 90 and change + camera_angle > -90: + $Head/Camera.rotate_x(deg2rad(change)) + camera_angle += change + camera_change = Vector2() diff --git a/LieDownBeforeSleep/Player.tscn b/LieDownBeforeSleep/Player.tscn new file mode 100644 index 0000000..74b445d --- /dev/null +++ b/LieDownBeforeSleep/Player.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://LieDownBeforeSleep/Player.gd" type="Script" id=1] + +[sub_resource type="CapsuleShape" id=1] +radius = 0.6 +height = 2.0 + +[node name="Player" type="KinematicBody"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.52113, 0.98772 ) +script = ExtResource( 1 ) + +[node name="Capsule" type="CollisionShape" parent="."] +transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0 ) +shape = SubResource( 1 ) + +[node name="Head" type="Spatial" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0 ) + +[node name="Camera" type="Camera" parent="Head"] +far = 10000.0 diff --git a/LieDownBeforeSleep/Scene.gd b/LieDownBeforeSleep/Scene.gd new file mode 100644 index 0000000..ef2901f --- /dev/null +++ b/LieDownBeforeSleep/Scene.gd @@ -0,0 +1,33 @@ +extends Node + +var soundertscn = load("res://LieDownBeforeSleep/sounder.tscn") + +var preset_colors = [ + Color.greenyellow, + Color.deeppink, + Color.lavender, + Color.aqua, + Color.greenyellow, + Color.deeppink, + Color.lavender, + Color.aqua, + Color.greenyellow, + Color.deeppink, + Color.lavender, + Color.aqua + ] + +func _ready(): + randomize() + for i in range(12): + var sounder = soundertscn.instance() + sounder.set_preset(i) + #directrly set param is also possible + # => sounder.set_param([43, 1000, 316, 3.04, 2.45, 2.06, 0.67, 0.2]) + sounder.set_color(preset_colors[i]) + sounder.audible_range_max = 20 + add_child(sounder) + sounder.relocate(Vector2(0, 0), [6, 26]) + +func _on_Timer_timeout(): + Global.nextScene() diff --git a/LieDownBeforeSleep/Scene.tscn b/LieDownBeforeSleep/Scene.tscn new file mode 100644 index 0000000..9d42bba --- /dev/null +++ b/LieDownBeforeSleep/Scene.tscn @@ -0,0 +1,40 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://LieDownBeforeSleep/Scene.gd" type="Script" id=1] +[ext_resource path="res://LieDownBeforeSleep/Player.tscn" type="PackedScene" id=3] + +[sub_resource type="BoxShape" id=1] +extents = Vector3( 30, 1, 30 ) + +[sub_resource type="CubeMesh" id=2] +size = Vector3( 60, 2, 60 ) + +[sub_resource type="Environment" id=3] +fog_enabled = true + +[node name="Scene" type="Node"] +script = ExtResource( 1 ) + +[node name="StaticBody" type="StaticBody" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0 ) + +[node name="CollisionShape" type="CollisionShape" parent="StaticBody"] +shape = SubResource( 1 ) + +[node name="MeshInstance" type="MeshInstance" parent="StaticBody"] +mesh = SubResource( 2 ) + +[node name="DirectionalLight" type="DirectionalLight" parent="."] +transform = Transform( 1, 0, 0, 0, 0.158589, 0.987345, 0, -0.987345, 0.158589, 0, 57.3999, 0 ) +shadow_enabled = true + +[node name="Player" parent="." instance=ExtResource( 3 )] + +[node name="Timer" type="Timer" parent="."] +wait_time = 2.0 +one_shot = true + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource( 3 ) + +[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"] diff --git a/LieDownBeforeSleep/sounder-node.pd b/LieDownBeforeSleep/sounder-node.pd new file mode 100644 index 0000000..ea757db --- /dev/null +++ b/LieDownBeforeSleep/sounder-node.pd @@ -0,0 +1,257 @@ +#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 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; +#N canvas 197 23 1016 855 synth 0; +#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 852 116 graph; +#X obj 25 325 array get \$0-pitches; +#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 82 array set \$0-pitches; +#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 obj 595 137 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 595 253; +#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 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 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#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 connect 1 0 14 0; +#X connect 2 0 15 0; +#X connect 3 0 5 0; +#X connect 4 0 3 0; +#X connect 5 0 8 0; +#X connect 6 0 3 0; +#X connect 7 0 6 0; +#X connect 8 0 9 0; +#X connect 8 0 53 0; +#X connect 9 0 8 1; +#X connect 10 0 11 0; +#X connect 11 0 1 0; +#X connect 12 0 13 1; +#X connect 13 0 2 0; +#X connect 14 0 13 0; +#X connect 14 1 12 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; +#X connect 17 0 19 0; +#X connect 18 0 17 1; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 20 0 22 0; +#X connect 21 0 24 0; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X connect 24 0 25 0; +#X connect 25 0 28 0; +#X connect 26 0 25 1; +#X connect 27 0 25 2; +#X connect 28 0 29 0; +#X connect 28 0 31 0; +#X connect 29 0 64 0; +#X connect 31 0 30 0; +#X connect 32 0 31 1; +#X connect 32 0 44 0; +#X connect 33 0 34 0; +#X connect 34 0 30 0; +#X connect 34 0 29 0; +#X connect 35 0 34 1; +#X connect 35 0 36 0; +#X connect 37 0 33 0; +#X connect 38 0 37 0; +#X connect 39 0 55 0; +#X connect 40 0 7 0; +#X connect 41 0 18 0; +#X connect 42 0 26 0; +#X connect 43 0 27 0; +#X connect 45 0 32 0; +#X connect 46 0 38 0; +#X connect 47 0 35 0; +#X connect 48 0 49 0; +#X connect 49 0 4 0; +#X connect 51 0 57 0; +#X connect 52 0 58 0; +#X connect 53 0 10 0; +#X connect 54 0 29 1; +#X connect 55 0 40 0; +#X connect 55 1 41 0; +#X connect 55 2 42 0; +#X connect 55 3 43 0; +#X connect 55 4 45 0; +#X connect 55 5 46 0; +#X connect 55 6 47 0; +#X connect 55 7 56 0; +#X connect 56 0 54 0; +#X connect 57 0 62 0; +#X connect 58 0 50 0; +#X connect 60 0 59 0; +#X connect 61 0 60 0; +#X connect 62 0 61 0; +#X connect 62 1 63 0; +#X connect 63 0 59 0; +#X connect 65 0 79 0; +#X connect 66 0 79 0; +#X connect 67 0 79 0; +#X connect 68 0 79 0; +#X connect 69 0 79 0; +#X connect 70 0 79 0; +#X connect 71 0 79 0; +#X connect 72 0 79 0; +#X connect 73 0 79 0; +#X connect 74 0 79 0; +#X connect 75 0 79 0; +#X connect 76 0 79 0; +#X connect 77 0 80 0; +#X connect 78 0 55 0; +#X connect 80 0 65 0; +#X connect 80 1 66 0; +#X connect 80 2 67 0; +#X connect 80 3 68 0; +#X connect 80 4 69 0; +#X connect 80 5 70 0; +#X connect 80 6 71 0; +#X connect 80 7 72 0; +#X connect 80 8 73 0; +#X connect 80 9 74 0; +#X connect 80 10 75 0; +#X connect 80 11 76 0; +#X restore 80 300 pd synth; +#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; +#X connect 0 0 1 0; +#X connect 1 0 20 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 17 0 9 0; +#X connect 20 0 18 0; +#X connect 20 1 12 0; +#X connect 20 2 17 0; +#X connect 20 3 17 1; +#X connect 22 0 21 1; +#X connect 23 0 22 0; +#X connect 24 0 23 0; diff --git a/LieDownBeforeSleep/sounder.gd b/LieDownBeforeSleep/sounder.gd new file mode 100644 index 0000000..2f2a980 --- /dev/null +++ b/LieDownBeforeSleep/sounder.gd @@ -0,0 +1,78 @@ +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 = "user://LieDownBeforeSleep/sounder-node.pd" +var _my_id = 0 + +func set_param(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 + # 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() + # 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 'preset' + set_preset(preset) + +func _on_Events_player_transform_updated(playerpos, playerheading): + var mypos = get_global_translation() + var mypos2d = Vector2(mypos.x, mypos.z) + var playerpos2d = Vector2(playerpos.x, playerpos.z) + # calculate distance + var distance = mypos.distance_to(playerpos) + # calculate angle + 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 + # calculate gain + var gain = max(1 - distance/audible_range_max, 0) + # send to the patch + Global._gdpd.start_message(3) + Global._gdpd.add_symbol("panvol") + Global._gdpd.add_float(gain) + Global._gdpd.add_float(angle) + Global._gdpd.finish_list("fromGodot" + String(_my_id)) + + +func _exit_tree(): + Global.close_patch(_my_id) + pass diff --git a/LieDownBeforeSleep/sounder.tscn b/LieDownBeforeSleep/sounder.tscn new file mode 100644 index 0000000..0987d46 --- /dev/null +++ b/LieDownBeforeSleep/sounder.tscn @@ -0,0 +1,283 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://LieDownBeforeSleep/sounder.gd" type="Script" id=1] + +[sub_resource type="PhysicsMaterial" id=3] + +[sub_resource type="SphereShape" id=1] + +[sub_resource type="SpatialMaterial" id=4] + +[sub_resource type="SphereMesh" id=2] +material = SubResource( 4 ) + +[node name="sounder" type="RigidBody" groups=["sounders"]] +collision_layer = 4 +collision_mask = 0 +physics_material_override = SubResource( 3 ) +gravity_scale = 0.0 +script = ExtResource( 1 ) +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 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; +#N canvas 197 23 1016 855 synth 0; +#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 852 116 graph; +#X obj 25 325 array get \\$0-pitches; +#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 82 array set \\$0-pitches; +#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 obj 595 137 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 595 253; +#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 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 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19; +#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 connect 1 0 14 0; +#X connect 2 0 15 0; +#X connect 3 0 5 0; +#X connect 4 0 3 0; +#X connect 5 0 8 0; +#X connect 6 0 3 0; +#X connect 7 0 6 0; +#X connect 8 0 9 0; +#X connect 8 0 53 0; +#X connect 9 0 8 1; +#X connect 10 0 11 0; +#X connect 11 0 1 0; +#X connect 12 0 13 1; +#X connect 13 0 2 0; +#X connect 14 0 13 0; +#X connect 14 1 12 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; +#X connect 17 0 19 0; +#X connect 18 0 17 1; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 20 0 22 0; +#X connect 21 0 24 0; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X connect 24 0 25 0; +#X connect 25 0 28 0; +#X connect 26 0 25 1; +#X connect 27 0 25 2; +#X connect 28 0 29 0; +#X connect 28 0 31 0; +#X connect 29 0 64 0; +#X connect 31 0 30 0; +#X connect 32 0 31 1; +#X connect 32 0 44 0; +#X connect 33 0 34 0; +#X connect 34 0 30 0; +#X connect 34 0 29 0; +#X connect 35 0 34 1; +#X connect 35 0 36 0; +#X connect 37 0 33 0; +#X connect 38 0 37 0; +#X connect 39 0 55 0; +#X connect 40 0 7 0; +#X connect 41 0 18 0; +#X connect 42 0 26 0; +#X connect 43 0 27 0; +#X connect 45 0 32 0; +#X connect 46 0 38 0; +#X connect 47 0 35 0; +#X connect 48 0 49 0; +#X connect 49 0 4 0; +#X connect 51 0 57 0; +#X connect 52 0 58 0; +#X connect 53 0 10 0; +#X connect 54 0 29 1; +#X connect 55 0 40 0; +#X connect 55 1 41 0; +#X connect 55 2 42 0; +#X connect 55 3 43 0; +#X connect 55 4 45 0; +#X connect 55 5 46 0; +#X connect 55 6 47 0; +#X connect 55 7 56 0; +#X connect 56 0 54 0; +#X connect 57 0 62 0; +#X connect 58 0 50 0; +#X connect 60 0 59 0; +#X connect 61 0 60 0; +#X connect 62 0 61 0; +#X connect 62 1 63 0; +#X connect 63 0 59 0; +#X connect 65 0 79 0; +#X connect 66 0 79 0; +#X connect 67 0 79 0; +#X connect 68 0 79 0; +#X connect 69 0 79 0; +#X connect 70 0 79 0; +#X connect 71 0 79 0; +#X connect 72 0 79 0; +#X connect 73 0 79 0; +#X connect 74 0 79 0; +#X connect 75 0 79 0; +#X connect 76 0 79 0; +#X connect 77 0 80 0; +#X connect 78 0 55 0; +#X connect 80 0 65 0; +#X connect 80 1 66 0; +#X connect 80 2 67 0; +#X connect 80 3 68 0; +#X connect 80 4 69 0; +#X connect 80 5 70 0; +#X connect 80 6 71 0; +#X connect 80 7 72 0; +#X connect 80 8 73 0; +#X connect 80 9 74 0; +#X connect 80 10 75 0; +#X connect 80 11 76 0; +#X restore 80 300 pd synth; +#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; +#X connect 0 0 1 0; +#X connect 1 0 20 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 17 0 9 0; +#X connect 20 0 18 0; +#X connect 20 1 12 0; +#X connect 20 2 17 0; +#X connect 20 3 17 1; +#X connect 22 0 21 1; +#X connect 23 0 22 0; +#X connect 24 0 23 0; +" + +[node name="CollisionShape" type="CollisionShape" parent="."] +shape = SubResource( 1 ) + +[node name="MeshInstance" type="MeshInstance" parent="."] +mesh = SubResource( 2 ) diff --git a/addons/gdpd/bin (with gui, use pd 0.53-1)/gdpd.gdns b/addons/gdpd/bin (with gui, use pd 0.53-1)/gdpd.gdns deleted file mode 100644 index 869b3c3..0000000 --- a/addons/gdpd/bin (with gui, use pd 0.53-1)/gdpd.gdns +++ /dev/null @@ -1,8 +0,0 @@ -[gd_resource type="NativeScript" load_steps=2 format=2] - -[ext_resource path="res://addons/gdpd/bin/libgdpd.gdnlib" type="GDNativeLibrary" id=1] - -[resource] -resource_name = "gdpd" -class_name = "Gdpd" -library = ExtResource( 1 ) diff --git a/addons/gdpd/bin (with gui, use pd 0.53-1)/libgdpd.gdnlib b/addons/gdpd/bin (with gui, use pd 0.53-1)/libgdpd.gdnlib deleted file mode 100644 index 048e4af..0000000 --- a/addons/gdpd/bin (with gui, use pd 0.53-1)/libgdpd.gdnlib +++ /dev/null @@ -1,18 +0,0 @@ -[general] - -singleton=false -load_once=false -symbol_prefix="godot_" -reloadable=true - -[entry] - -X11.64="res://addons/gdpd/bin/x11/libgdpd.so" -Windows.64="res://addons/gdpd/bin/win/libgdpd.dll" -OSX.64="res://addons/gdpd/bin/osx/libgdpd.dylib" - -[dependencies] - -X11.64=[ ] -Windows.64=[ ] -OSX.64=[ ] diff --git a/addons/gdpd/bin (with gui, use pd 0.53-1)/osx/libgdpd.dylib b/addons/gdpd/bin (with gui, use pd 0.53-1)/osx/libgdpd.dylib deleted file mode 100755 index 40765a5..0000000 Binary files a/addons/gdpd/bin (with gui, use pd 0.53-1)/osx/libgdpd.dylib and /dev/null differ diff --git a/addons/gdpd/bin (without gui)/gdpd.gdns b/addons/gdpd/bin (without gui)/gdpd.gdns deleted file mode 100644 index 869b3c3..0000000 --- a/addons/gdpd/bin (without gui)/gdpd.gdns +++ /dev/null @@ -1,8 +0,0 @@ -[gd_resource type="NativeScript" load_steps=2 format=2] - -[ext_resource path="res://addons/gdpd/bin/libgdpd.gdnlib" type="GDNativeLibrary" id=1] - -[resource] -resource_name = "gdpd" -class_name = "Gdpd" -library = ExtResource( 1 ) diff --git a/addons/gdpd/bin (without gui)/libgdpd.gdnlib b/addons/gdpd/bin (without gui)/libgdpd.gdnlib deleted file mode 100644 index 048e4af..0000000 --- a/addons/gdpd/bin (without gui)/libgdpd.gdnlib +++ /dev/null @@ -1,18 +0,0 @@ -[general] - -singleton=false -load_once=false -symbol_prefix="godot_" -reloadable=true - -[entry] - -X11.64="res://addons/gdpd/bin/x11/libgdpd.so" -Windows.64="res://addons/gdpd/bin/win/libgdpd.dll" -OSX.64="res://addons/gdpd/bin/osx/libgdpd.dylib" - -[dependencies] - -X11.64=[ ] -Windows.64=[ ] -OSX.64=[ ] diff --git a/addons/gdpd/bin (without gui)/osx/libgdpd.dylib b/addons/gdpd/bin (without gui)/osx/libgdpd.dylib deleted file mode 100755 index af2da4d..0000000 Binary files a/addons/gdpd/bin (without gui)/osx/libgdpd.dylib and /dev/null differ diff --git a/addons/gdpd/bin/osx/libgdpd.dylib b/addons/gdpd/bin/osx/libgdpd.dylib index af2da4d..af7b66c 100755 Binary files a/addons/gdpd/bin/osx/libgdpd.dylib and b/addons/gdpd/bin/osx/libgdpd.dylib differ diff --git a/cricketScene/Scene.gd b/cricketScene/Scene.gd index 6a0fe4e..e69733a 100644 --- a/cricketScene/Scene.gd +++ b/cricketScene/Scene.gd @@ -46,7 +46,7 @@ var preset_colors = [ func _ready(): randomize() - for i in range(8): + for i in range(4): var cricket = crickettscn.instance() cricket.set_param(preset_grps[0][randi()%4]) cricket.set_color(preset_colors[0]) @@ -54,7 +54,7 @@ func _ready(): add_child(cricket) cricket.relocate(Vector2(20, 20), [4, 8]) - for i in range(8): + for i in range(4): var cricket = crickettscn.instance() cricket.set_param(preset_grps[1][randi()%4]) cricket.set_color(preset_colors[1]) @@ -62,7 +62,7 @@ func _ready(): add_child(cricket) cricket.relocate(Vector2(-20, 20), [4, 8]) - for i in range(8): + for i in range(4): var cricket = crickettscn.instance() cricket.set_param(preset_grps[2][randi()%4]) cricket.set_color(preset_colors[2]) @@ -70,7 +70,7 @@ func _ready(): add_child(cricket) cricket.relocate(Vector2(-20, -20), [4, 8]) - for i in range(8): + for i in range(4): var cricket = crickettscn.instance() cricket.set_param(preset_grps[3][randi()%4]) cricket.set_color(preset_colors[3]) diff --git a/cricketScene/Scene.tscn b/cricketScene/Scene.tscn index 21238e9..d3673c9 100644 --- a/cricketScene/Scene.tscn +++ b/cricketScene/Scene.tscn @@ -31,8 +31,9 @@ shadow_enabled = true [node name="Player" parent="." instance=ExtResource( 2 )] [node name="Timer" type="Timer" parent="."] -wait_time = 2.0 +wait_time = 20.0 one_shot = true +autostart = true [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource( 3 ) diff --git a/cricketScene/cricket-node.pd b/cricketScene/cricket-node.pd index a613853..a9a4843 100644 --- a/cricketScene/cricket-node.pd +++ b/cricketScene/cricket-node.pd @@ -1,12 +1,11 @@ #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 -262144 --1 -1 6100 1; +#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 - - -; +#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~; @@ -32,10 +31,10 @@ #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 - - -; +#X floatatom 296 159 5 0 0 0 - - - 0; #X obj 296 182 sin; -#X floatatom 296 206 5 0 0 0 - - -; -#X floatatom 189 177 5 0 0 0 - - -; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X floatatom 189 177 5 0 0 0 - - - 0; #X obj 21 70 route bang panvol param; #N canvas 197 23 913 799 synth 0; #X obj 334 43 inlet; @@ -43,34 +42,29 @@ #X obj 254 658 *~ 50; #X obj 571 656 *~; #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 -262144 --1 -1; -#X obj 21 192 tgl 24 0 empty empty empty 0 -12 0 16 -262144 -1 -1 1 -1; +#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 - -; +#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 - - -; -#X obj 95 526 bng 16 250 50 0 empty empty empty 0 -16 0 24 -262144 --1 -1; -#X obj 122 526 bng 16 250 50 0 empty empty empty 0 -16 0 24 -262144 --1 -1; -#X obj 149 526 bng 16 250 50 0 empty empty empty 0 -16 0 24 -262144 --1 -1; -#X floatatom 95 563 5 0 0 0 - - -; +#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 - - -; -#X floatatom 171 606 5 0 0 1 ramp - -; -#X floatatom 458 475 5 0 0 1 AM - -; +#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 - -; +#X floatatom 275 476 5 0 3 1 VolAM - - 0; #X obj 386 759 *~; #X obj 404 561 osc~; #X obj 254 605 osc~ 440; @@ -83,28 +77,24 @@ #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 -262144 -1 -1 1 -1; +#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 275 367 0 1000; #X msg 295 391 0 1400; #X msg 315 415 0 1800; -#X obj 180 526 bng 16 250 50 0 empty empty empty 0 -16 0 24 -262144 --1 -1; -#X floatatom 200 563 5 0 0 0 - - -; +#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 -262144 -1 -1 -1 1; -#X obj 433 338 hsl 100 18 0 300 0 0 empty empty empty -2 -16 0 24 -262144 --1 -1 9900 1; -#X floatatom 430 367 5 0 0 0 - - -; -#X floatatom 404 537 5 0 0 0 - - -; +#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; @@ -113,17 +103,16 @@ #X msg 95 51 1; #X obj 507 170 loadbang; #X msg 508 193 1; -#X floatatom 388 117 5 0 0 0 - - -; -#X floatatom 430 117 5 0 0 0 - - -; -#X floatatom 305 117 5 0 0 0 - - -; -#X floatatom 347 117 5 0 0 0 - - -; +#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 - - -; -#X obj 206 40 tgl 19 0 empty empty empty 0 -10 0 12 -262144 -1 -1 1 -1; +#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 - - -; +#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; @@ -131,20 +120,7 @@ #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; +#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 connect 0 0 70 0; @@ -244,8 +220,7 @@ #X connect 78 0 73 0; #X connect 80 0 28 0; #X restore 80 300 pd synth; -#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; +#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 51 \; pd dsp 1; #X connect 0 0 1 0; @@ -270,4 +245,3 @@ #X connect 17 1 12 0; #X connect 17 2 18 0; #X connect 18 0 9 0; -#X connect 20 0 21 0; diff --git a/cricketScene/cricket.gd b/cricketScene/cricket.gd index cac0c44..ec9cb0b 100644 --- a/cricketScene/cricket.gd +++ b/cricketScene/cricket.gd @@ -1,7 +1,9 @@ extends RigidBody -var _my_patch = "res://cricketScene/cricket-node.pd" +var _my_patch = "user://cricketScene/cricket-node.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] @@ -20,6 +22,17 @@ 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() # load patch _my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch)) @@ -58,4 +71,4 @@ func _on_Events_player_transform_updated(playerpos, playerheading): func _exit_tree(): Global.close_patch(_my_id) - pass + diff --git a/cricketScene/cricket.tscn b/cricketScene/cricket.tscn index d172a5e..2f3f898 100644 --- a/cricketScene/cricket.tscn +++ b/cricketScene/cricket.tscn @@ -17,6 +17,254 @@ collision_mask = 0 physics_material_override = SubResource( 3 ) gravity_scale = 0.0 script = ExtResource( 1 ) +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 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 70 route bang panvol param; +#N canvas 197 23 913 799 synth 0; +#X obj 334 43 inlet; +#X obj 254 630 +~ 1; +#X obj 254 658 *~ 50; +#X obj 571 656 *~; +#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 386 759 *~; +#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 275 367 0 1000; +#X msg 295 391 0 1400; +#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 571 680 outlet~; +#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 connect 0 0 70 0; +#X connect 1 0 2 0; +#X connect 2 0 80 0; +#X connect 3 0 79 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 49 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 58 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 43 0; +#X connect 37 1 44 0; +#X connect 37 2 45 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 31 0; +#X connect 45 0 31 0; +#X connect 46 0 47 0; +#X connect 46 0 42 0; +#X connect 47 0 16 0; +#X connect 48 0 12 0; +#X connect 48 1 13 0; +#X connect 48 2 14 0; +#X connect 48 5 46 0; +#X connect 49 0 48 0; +#X connect 50 0 51 0; +#X connect 51 0 59 0; +#X connect 52 0 55 0; +#X connect 53 0 52 0; +#X connect 54 0 53 0; +#X connect 55 0 56 0; +#X connect 56 0 58 0; +#X connect 57 0 29 0; +#X connect 58 0 57 0; +#X connect 59 0 52 0; +#X connect 60 0 61 0; +#X connect 61 0 6 0; +#X connect 62 0 63 0; +#X connect 62 0 72 0; +#X connect 63 0 40 0; +#X connect 64 0 65 0; +#X connect 65 0 54 0; +#X connect 66 0 58 1; +#X connect 66 0 74 0; +#X connect 67 0 50 0; +#X connect 68 0 15 0; +#X connect 69 0 47 0; +#X connect 70 0 68 0; +#X connect 70 1 69 0; +#X connect 70 2 66 0; +#X connect 70 3 67 0; +#X connect 70 4 71 0; +#X connect 71 0 3 1; +#X connect 72 0 78 0; +#X connect 73 0 77 0; +#X connect 73 1 66 0; +#X connect 74 0 75 0; +#X connect 75 0 58 1; +#X connect 76 0 74 1; +#X connect 77 0 76 0; +#X connect 78 0 73 0; +#X connect 80 0 28 0; +#X restore 80 300 pd synth; +#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 51 \\; pd dsp 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 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 17 0 19 0; +#X connect 17 1 12 0; +#X connect 17 2 18 0; +#X connect 18 0 9 0; +" [node name="CollisionShape" type="CollisionShape" parent="."] shape = SubResource( 1 ) diff --git a/default_bus_layout.tres b/default_bus_layout.tres new file mode 100644 index 0000000..eb4accc --- /dev/null +++ b/default_bus_layout.tres @@ -0,0 +1,3 @@ +[gd_resource type="AudioBusLayout" format=2] + +[resource] diff --git a/export_presets.cfg b/export_presets.cfg index 337b36a..5fa62f2 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -5,7 +5,7 @@ platform="Mac OSX" runnable=true custom_features="" export_filter="all_resources" -include_filter="" +include_filter="*.pd" exclude_filter="" export_path="./moraepado.dmg" script_export_mode=1 @@ -18,7 +18,7 @@ custom_template/release="" application/name="" application/info="Made with Godot Engine" application/icon="" -application/identifier="in.dianaband.soundballs" +application/identifier="in.dianaband.moraepado" application/signature="" application/app_category="Games" application/short_version="1.0" diff --git a/mainScene/Main.tscn b/mainScene/Main.tscn index 5a1e409..20bfe60 100644 --- a/mainScene/Main.tscn +++ b/mainScene/Main.tscn @@ -18,6 +18,9 @@ size = Vector3( 60, 2, 60 ) [node name="Main" type="Node"] script = ExtResource( 1 ) +__meta__ = { +"_editor_description_": "" +} [node name="StaticBody" type="StaticBody" parent="."] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0 ) diff --git a/mainScene/Player.tscn b/mainScene/Player.tscn index a3fc0b9..6725c7e 100644 --- a/mainScene/Player.tscn +++ b/mainScene/Player.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=2] -[ext_resource path="res://oscScene/Player.gd" type="Script" id=1] +[ext_resource path="res://mainScene/Player.gd" type="Script" id=1] [sub_resource type="CapsuleShape" id=1] radius = 0.6 diff --git a/oscScene/oscScene.gd b/oscScene/Scene.gd similarity index 100% rename from oscScene/oscScene.gd rename to oscScene/Scene.gd diff --git a/oscScene/oscScene.tscn b/oscScene/Scene.tscn similarity index 70% rename from oscScene/oscScene.tscn rename to oscScene/Scene.tscn index 751d768..c9f4b8a 100644 --- a/oscScene/oscScene.tscn +++ b/oscScene/Scene.tscn @@ -1,8 +1,7 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=6 format=2] -[ext_resource path="res://oscScene/oscScene.gd" type="Script" id=1] [ext_resource path="res://oscScene/Player.tscn" type="PackedScene" id=2] -[ext_resource path="res://oscScene/osc.tscn" type="PackedScene" id=3] +[ext_resource path="res://oscScene/Scene.gd" type="Script" id=3] [sub_resource type="BoxShape" id=1] extents = Vector3( 30, 1, 30 ) @@ -14,7 +13,7 @@ size = Vector3( 60, 2, 60 ) fog_enabled = true [node name="oscScene" type="Node"] -script = ExtResource( 1 ) +script = ExtResource( 3 ) [node name="StaticBody" type="StaticBody" parent="."] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0 ) @@ -32,15 +31,9 @@ shadow_enabled = true [node name="Player" parent="." instance=ExtResource( 2 )] [node name="Timer" type="Timer" parent="."] -wait_time = 2.0 +wait_time = 10.0 one_shot = true - -[node name="osc" parent="." instance=ExtResource( 3 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -21.352, 2, 22.3 ) - -[node name="osc2" parent="." instance=ExtResource( 3 )] - -[node name="osc3" parent="." instance=ExtResource( 3 )] +autostart = true [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource( 3 ) diff --git a/oscScene/osc-node.pd b/oscScene/osc-node.pd index 8bb6daf..abfda75 100644 --- a/oscScene/osc-node.pd +++ b/oscScene/osc-node.pd @@ -4,18 +4,17 @@ #X obj 80 277 osc~ 440; #X obj 21 150 random 900; #X obj 21 174 + 500; -#X floatatom 21 198 5 0 0 0 - - -; +#X floatatom 21 198 5 0 0 0 - - - 0; #X obj 21 467 s toGodot; #X obj 21 437 list; #X msg 21 407 random \$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 -262144 --1 -1 0 1; +#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 - - -; +#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~; @@ -41,12 +40,11 @@ #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 - - -; +#X floatatom 296 159 5 0 0 0 - - - 0; #X obj 296 182 sin; -#X floatatom 296 206 5 0 0 0 - - -; -#X floatatom 189 177 5 0 0 0 - - -; +#X floatatom 296 206 5 0 0 0 - - - 0; +#X floatatom 189 177 5 0 0 0 - - - 0; #X obj 21 70 route bang panvol; -#X connect 0 0 1 0; #X connect 2 0 18 0; #X connect 3 0 4 0; #X connect 4 0 5 0; diff --git a/oscScene/osc.gd b/oscScene/osc.gd index 9b65c62..9ccb1d6 100644 --- a/oscScene/osc.gd +++ b/oscScene/osc.gd @@ -1,10 +1,23 @@ extends RigidBody -var _my_patch = "res://oscScene/osc-node.pd" +var _my_patch = "user://oscScene/osc-node.pd" var _my_id = 0 + +export (String, MULTILINE) var patch = "" export (float, 0, 100) var audible_range_max = 10.0 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() # load patch _my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch)) diff --git a/oscScene/osc.tscn b/oscScene/osc.tscn index 3537e3d..3e82139 100644 --- a/oscScene/osc.tscn +++ b/oscScene/osc.tscn @@ -14,6 +14,81 @@ collision_mask = 0 physics_material_override = SubResource( 3 ) gravity_scale = 0.0 script = ExtResource( 1 ) +patch = "#N canvas 67 146 456 518 12; +#X obj 361 21 loadbang; +#X msg 361 51 \\; pd dsp 1; +#X obj 80 277 osc~ 440; +#X obj 21 150 random 900; +#X obj 21 174 + 500; +#X floatatom 21 198 5 0 0 0 - - - 0; +#X obj 21 467 s toGodot; +#X obj 21 437 list; +#X msg 21 407 random \\$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 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 70 route bang panvol; +#X connect 2 0 18 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X connect 5 0 8 0; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 9 0 10 0; +#X connect 10 0 26 0; +#X connect 11 0 14 0; +#X connect 12 0 16 1; +#X connect 13 0 12 0; +#X connect 14 0 15 0; +#X connect 15 0 13 0; +#X connect 16 0 17 0; +#X connect 16 1 17 1; +#X connect 18 0 16 0; +#X connect 19 0 18 1; +#X connect 20 0 19 0; +#X connect 21 0 25 0; +#X connect 21 1 22 0; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X connect 24 0 11 0; +#X connect 25 0 20 0; +#X connect 26 0 3 0; +#X connect 26 1 21 0; +" [node name="CollisionShape" type="CollisionShape" parent="."] shape = SubResource( 1 ) diff --git a/project.godot b/project.godot index cec3a57..30f75f4 100644 --- a/project.godot +++ b/project.godot @@ -11,7 +11,7 @@ config_version=4 [application] config/name="moraepado" -run/main_scene="res://cricketScene/Scene.tscn" +run/main_scene="res://mainScene/Main.tscn" config/icon="res://icon.png" [autoload]