From a6b910343acbae1fb92344e7a7ccaaa6813317c8 Mon Sep 17 00:00:00 2001 From: twi Date: Tue, 6 Aug 2024 04:37:28 -0500 Subject: [PATCH 1/2] fix weird case where notes at middle C would be attached to new notes --- note/drag_helper.gd | 4 +++- note/note.gd | 6 +----- note/slide_helper.gd | 13 ++++++------- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/note/drag_helper.gd b/note/drag_helper.gd index 7b2a2b3..fcf9bed 100644 --- a/note/drag_helper.gd +++ b/note/drag_helper.gd @@ -13,7 +13,9 @@ var drag_start := Vector2.ZERO var settings := Global.settings -func _init(caller:Note): owner = caller +func _init(caller:Note): + owner = caller + init_drag() func init_drag(): diff --git a/note/note.gd b/note/note.gd index ee8daa9..f7ac680 100644 --- a/note/note.gd +++ b/note/note.gd @@ -201,11 +201,7 @@ func _snap_near_pitches(): slide_helper.snap_near_pitches() func has_slide_neighbor(direction:int,pitch:float): - match direction: - START_IS_TOUCHING: - return touching_notes.has(direction) && touching_notes[direction].end_pitch == pitch - END_IS_TOUCHING: - return touching_notes.has(direction) && touching_notes[direction].pitch_start == pitch + return slide_helper.has_slide_neighbor(direction,pitch) func update_touching_notes(): diff --git a/note/slide_helper.gd b/note/slide_helper.gd index 36deb61..13c1af2 100644 --- a/note/slide_helper.gd +++ b/note/slide_helper.gd @@ -23,9 +23,9 @@ func snap_near_pitches(): func handle_slide_propagation(from:int): + var neighbor = touching_notes[from] match from: Note.START_IS_TOUCHING: - var neighbor = touching_notes[from] var length_change = owner.bar - neighbor.end var pitch_change = owner.pitch_start - neighbor.end_pitch owner.bar -= length_change @@ -33,7 +33,6 @@ func handle_slide_propagation(from:int): owner.pitch_start -= pitch_change owner.pitch_delta += pitch_change Note.END_IS_TOUCHING: - var neighbor = touching_notes[from] var length_change = owner.end - neighbor.bar var pitch_change = owner.end_pitch - neighbor.pitch_start owner.length -= length_change @@ -92,11 +91,11 @@ func update_touching_notes(): func pass_on_slide_propagation(): - if has_slide_neighbor(Note.START_IS_TOUCHING, owner.drag_helper.old_pitch): - touching_notes[Note.START_IS_TOUCHING].receive_slide_propagation(Note.END_IS_TOUCHING) - - if has_slide_neighbor(Note.END_IS_TOUCHING, owner.drag_helper.old_end_pitch): - touching_notes[Note.END_IS_TOUCHING].receive_slide_propagation(Note.START_IS_TOUCHING) + if has_slide_neighbor(Note.START_IS_TOUCHING, owner.drag_helper.old_pitch): + touching_notes[Note.START_IS_TOUCHING].receive_slide_propagation(Note.END_IS_TOUCHING) + + if has_slide_neighbor(Note.END_IS_TOUCHING, owner.drag_helper.old_end_pitch): + touching_notes[Note.END_IS_TOUCHING].receive_slide_propagation(Note.START_IS_TOUCHING) func has_slide_neighbor(direction:int,pitch:float): From 311b431fdd6ecd642ec817be5e991b6d56af74c6 Mon Sep 17 00:00:00 2001 From: DewOnTheGrass <36544994+DewOnTheGrass@users.noreply.github.com> Date: Fri, 9 Aug 2024 11:25:12 -0400 Subject: [PATCH 2/2] Update project.godot Resolved conflict of shortcut keycodes --- project.godot | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/project.godot b/project.godot index 41c23d2..628c129 100644 --- a/project.godot +++ b/project.godot @@ -57,12 +57,12 @@ toggle_slide_prop={ } toggle_snap_pitch={ "deadzone": 0.0, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":0,"key_label":80,"unicode":112,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":0,"key_label":69,"unicode":101,"echo":false,"script":null) ] } toggle_snap_time={ "deadzone": 0.0, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":0,"key_label":84,"unicode":116,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":84,"key_label":0,"unicode":116,"echo":false,"script":null) ] } hold_drag_playhead={ @@ -90,26 +90,6 @@ hold_snap_time={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"echo":false,"script":null) ] } -toggle_snap_pitch={ -"deadzone": 0.0, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":0,"key_label":69,"unicode":101,"echo":false,"script":null) -] -} -toggle_snap_time={ -"deadzone": 0.0, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":84,"key_label":0,"unicode":116,"echo":false,"script":null) -] -} -hold_snap_pitch={ -"deadzone": 0.0, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"echo":false,"script":null) -] -} -hold_snap_time={ -"deadzone": 0.0, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"echo":false,"script":null) -] -} mode_input={ "deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":49,"key_label":0,"unicode":49,"echo":false,"script":null)