Skip to content

Commit 0414087

Browse files
committed
add ctrl + middle click to copy note vel, pit, and pan
1 parent d9a581d commit 0414087

8 files changed

Lines changed: 74 additions & 9 deletions

File tree

scripts/add_block_manual/add_block_manual.gml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ function add_block_manual(argument0, argument1, argument2, argument3, argument4,
6868
if (xx >= enda) enda = xx
6969
if (yy >= endb) endb = yy
7070

71-
if (ins.loaded) play_sound(ins, key, 100 ,100, 0)
71+
if (ins.loaded) play_sound(ins, key, vel, pan, pit)
7272
history_set(h_addblock, xx, yy, ins, key, vel, pan, pit)
7373
return 1
7474

scripts/control_create/control_create.gml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,9 @@ function control_create() {
292292
key_edit = -1
293293
init_keys()
294294
selected_key = 39
295+
selected_vel = 100
296+
selected_pan = 100
297+
selected_pit = 0
295298
startkey = 0
296299
sharpkeys = 0
297300
keysshow = 0

scripts/control_draw/control_draw.gml

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -292,21 +292,33 @@ function control_draw() {
292292
if (mouse_wheel_down() && insindex > 0) {
293293
insindex--
294294
instrument = instrument_list[| insindex]
295+
selected_vel = 100
296+
selected_pan = 100
297+
selected_pit = 0
295298
play_sound(instrument, selected_key, 100 ,100, 0)
296299
}
297300
if (mouse_wheel_up() && insindex < ds_list_size(instrument_list) - 1) {
298301
insindex++
299302
instrument = instrument_list[| insindex]
303+
selected_vel = 100
304+
selected_pan = 100
305+
selected_pit = 0
300306
play_sound(instrument, selected_key, 100 ,100, 0)
301307
}
302308
}
303309
if (mousewheel = 2 && window = 0 && (exist = 0 || changepitch = 0) && !isplayer && !volume_scroll) {
304310
if (mouse_wheel_down() && selected_key > 0) {
305311
selected_key -= 1
312+
selected_vel = 100
313+
selected_pan = 100
314+
selected_pit = 0
306315
play_sound(instrument, selected_key, 100 ,100, 0)
307316
}
308317
if (mouse_wheel_up() && selected_key < 87) {
309318
selected_key += 1
319+
selected_vel = 100
320+
selected_pan = 100
321+
selected_pit = 0
310322
play_sound(instrument, selected_key, 100 ,100, 0)
311323
}
312324
}
@@ -519,11 +531,11 @@ function control_draw() {
519531
if (selected = 0) {
520532
if (dontplace = 0) {
521533
if (exist = 1) {
522-
change_block_manual(selbx, selby, instrument, selected_key, 100, 100, 0)
534+
change_block_manual(selbx, selby, instrument, selected_key, selected_vel, selected_pan, selected_pit)
523535
} else {
524-
add_block_manual(starta + sela, startb + selb, instrument, selected_key, 100, 100, 0)
536+
add_block_manual(starta + sela, startb + selb, instrument, selected_key, selected_vel, selected_pan, selected_pit)
525537
draw_set_halign(fa_center)
526-
draw_block(x1 + 2 + 32 * sela, y1 + 34 + 32 * selb, instrument, selected_key, 100, 100, 0, 0.5, 0)
538+
draw_block(x1 + 2 + 32 * sela, y1 + 34 + 32 * selb, instrument, selected_key, selected_vel, selected_pan, selected_pit, 0.5, 0)
527539
draw_theme_color()
528540
draw_set_halign(fa_left)
529541
draw_set_alpha(1)
@@ -538,7 +550,16 @@ function control_draw() {
538550
if (exist = 1) {
539551
selected_key = song_key[selbx, selby]
540552
instrument = song_ins[selbx, selby]
541-
play_sound(instrument, selected_key, 100, 100, 0)
553+
if (keyboard_check(vk_control)) {
554+
selected_vel = song_vel[selbx, selby]
555+
selected_pan = song_pan[selbx, selby]
556+
selected_pit = song_pit[selbx, selby]
557+
} else {
558+
selected_vel = 100
559+
selected_pan = 100
560+
selected_pit = 0
561+
}
562+
play_sound(instrument, selected_key, selected_vel, selected_pan, selected_pit)
542563
}
543564

544565
}
@@ -776,6 +797,9 @@ function control_draw() {
776797
for (a = 1; a <= 9; a++) {
777798
if (keyboard_check_pressed(ord(string(a % 10)))) {
778799
instrument = instrument_list[| a - 1]
800+
selected_vel = 100
801+
selected_pan = 100
802+
selected_pit = 0
779803
play_sound(instrument, selected_key, 100 ,100, 0)
780804
}
781805
}
@@ -784,6 +808,9 @@ function control_draw() {
784808
for (a = 1; a <= 7; a++) {
785809
if (keyboard_check_pressed(ord(string(a % 10)))) {
786810
instrument = instrument_list[| a + 8]
811+
selected_vel = 100
812+
selected_pan = 100
813+
selected_pit = 0
787814
play_sound(instrument, selected_key, 100 ,100, 0)
788815
}
789816
}
@@ -1726,6 +1753,9 @@ function control_draw() {
17261753
if (draw_icon_insbox(insindex, xx + b * 25, yy + a * 25, condstr(language != 1, "Change instrument to ", "更改音色为") + ins.name, true, false, instrument = ins)) {
17271754
play_sound(ins, selected_key, 100, 100, 0)
17281755
instrument = ins
1756+
selected_vel = 100
1757+
selected_pan = 100
1758+
selected_pit = 0
17291759
// Set the first instrument of the collapsed row
17301760
insbox_start = min(floor(insindex / ins_icons) * ins_icons, ds_list_size(instrument_list) - ins_icons)
17311761
}
@@ -1758,6 +1788,9 @@ function control_draw() {
17581788
if (draw_icon_insbox(a, xx, yy, condstr(language != 1, "Change instrument to ", "更改音色为") + ins.name, false, false, instrument = ins)) {
17591789
play_sound(ins, selected_key, 100, 100, 0)
17601790
instrument = ins
1791+
selected_vel = 100
1792+
selected_pan = 100
1793+
selected_pit = 0
17611794
}
17621795
xx += 25
17631796
}
@@ -1907,6 +1940,26 @@ function control_draw() {
19071940
else {draw_text_dynamic(xx, rh - 18, "音: " + get_keyname(selected_key, 1)) xx += 75}
19081941
draw_separator(xx, rh - 20)
19091942
draw_theme_color()
1943+
1944+
if (selected_vel != 100 || selected_pan != 100 || selected_pit != 0) {
1945+
xx += 4
1946+
if (language != 1) {draw_text_dynamic(xx, rh - 18, "Velovity: " + string(selected_vel)) xx += 100}
1947+
else {draw_text_dynamic(xx, rh - 18, "音量: " + string(selected_vel)) xx += 100}
1948+
draw_separator(xx, rh - 20)
1949+
draw_theme_color()
1950+
1951+
xx += 4
1952+
if (language != 1) {draw_text_dynamic(xx, rh - 18, "Panning: " + string(selected_pan)) xx += 95}
1953+
else {draw_text_dynamic(xx, rh - 18, "声道: " + string(selected_pan)) xx += 95}
1954+
draw_separator(xx, rh - 20)
1955+
draw_theme_color()
1956+
1957+
xx += 4
1958+
if (language != 1) {draw_text_dynamic(xx, rh - 18, "Pitch: " + string(selected_pit)) xx += 85}
1959+
else {draw_text_dynamic(xx, rh - 18, "音高: " + string(selected_pit)) xx += 85}
1960+
draw_separator(xx, rh - 20)
1961+
draw_theme_color()
1962+
}
19101963

19111964
xx += 4
19121965
if (language != 1) {draw_text_dynamic(xx, rh - 18, "Tick: " + test(selbx = -1, "None", string(selbx))) xx += 90}

scripts/draw_piano/draw_piano.gml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ function draw_piano(argument0, argument1, argument2, argument3) {
118118
if (a < 3 && alpha < 3 && !isplayer) alpha += 1
119119
if (a > k - min(5, 54 - (startkey + k)) && !isplayer) alpha -= 1
120120
}
121-
if (selectedkey > -1) selected_key = selectedkey
121+
if (selectedkey > -1) {selected_key = selectedkey; selected_vel = 100; selected_pan = 100; selected_pit = 0}
122122
draw_set_alpha(1)
123123
if (d = 0 && startkey > 0 && !mouse_check_button(mb_left)) {
124124
a = startkey mod 7
@@ -141,7 +141,7 @@ function draw_piano(argument0, argument1, argument2, argument3) {
141141
for (a = 0; a <= 87; a += 1) {
142142
if (piano_key[a] > 0) {
143143
if (key_press[a] = 0 && keyboard_check(piano_key[a])) {
144-
if (select_lastpressed) selected_key = a
144+
if (select_lastpressed) {selected_key = a; selected_vel = 100; selected_pan = 100; selected_pit = 0}
145145
if (record = 0) play_sound(instrument, a, 100 ,100, 0)
146146
if (playing = 0.25) toggle_playing(totalcols)
147147
if (playing && record) {

scripts/draw_window_instruments/draw_window_instruments.gml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ function draw_window_instruments() {
8484
insselect = min(ds_list_size(instrument_list) - 1, insselect)
8585
if (instrument = userselect)
8686
instrument = instrument_list[| 0]
87+
selected_vel = 100
88+
selected_pan = 100
89+
selected_pit = 0
8790
c = 1
8891
}
8992
}
@@ -112,6 +115,9 @@ function draw_window_instruments() {
112115
insselect = min(ds_list_size(instrument_list) - 1, insselect)
113116
if (instrument = userselect)
114117
instrument = instrument_list[| 0]
118+
selected_vel = 100
119+
selected_pan = 100
120+
selected_pit = 0
115121
c = 1
116122
}
117123
}

scripts/menu_click/menu_click.gml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ function menu_click(argument0) {
168168
var insoffset = ds_list_size(instrument_list) + insmenu - 1
169169
var ins = sel - 1
170170
ins -= floor((ins) / 26) // subtract the "More..." entries to get the instrument number
171-
if (sel < insoffset + 1) instrument = instrument_list[| ins]
171+
if (sel < insoffset + 1) {instrument = instrument_list[| ins]; selected_vel = 100; selected_pan = 100; selected_pit = 0}
172172
if (sel = insoffset + 1) window = w_instruments
173173
if (sel = insoffset + 2) window = w_songinfoedit
174174
if (sel = insoffset + 3) window = w_properties

scripts/midi_input_set_key/midi_input_set_key.gml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ function midi_input_set_key(argument0, argument1) {
1313
vel = min(midi_input_key_press_velocity(d, k), 100)
1414
if (ins = -1) ins = instrument
1515
if (ins >= 0) play_sound(ins, key, vel ,100, 0)
16-
if (select_lastpressed) selected_key = key
16+
if (select_lastpressed) {selected_key = key; selected_vel = 100; selected_pan = 100; selected_pit = 0}
1717
if (playing = 0.25) toggle_playing(totalcols)
1818
if (playing && record) {
1919
b = 0

scripts/reset/reset.gml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@ function reset() {
118118
}
119119
user_instruments = 0
120120
instrument = instrument_list[| 0]
121+
selected_vel = 100
122+
selected_pan = 100
123+
selected_pit = 0
121124
insselect = -1
122125
insedit = -1
123126

0 commit comments

Comments
 (0)