Skip to content

Commit 0a108df

Browse files
committed
[godot] add mode switch to instrument_demo
1 parent 32a8b76 commit 0a108df

3 files changed

Lines changed: 26 additions & 18 deletions

File tree

platforms/godot/instrument.cpp

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -128,21 +128,21 @@ void BarelyInstrument::_bind_methods() {
128128

129129
ClassDB::bind_method(D_METHOD("_on_slice_changed"), &BarelyInstrument::_on_slice_changed);
130130

131-
BARELY_BIND_GODOT_ENUM_VALUE(ArpMode, None, "ARP_MODE_NONE");
132-
BARELY_BIND_GODOT_ENUM_VALUE(ArpMode, Up, "ARP_MODE_UP");
133-
BARELY_BIND_GODOT_ENUM_VALUE(ArpMode, Down, "ARP_MODE_DOWN");
134-
BARELY_BIND_GODOT_ENUM_VALUE(ArpMode, Random, "ARP_MODE_RANDOM");
135-
136-
BARELY_BIND_GODOT_ENUM_VALUE(OscMode, Crossfade, "OSC_MODE_CROSSFADE");
137-
BARELY_BIND_GODOT_ENUM_VALUE(OscMode, Am, "OSC_MODE_AM");
138-
BARELY_BIND_GODOT_ENUM_VALUE(OscMode, Fm, "OSC_MODE_FM");
139-
BARELY_BIND_GODOT_ENUM_VALUE(OscMode, Ma, "OSC_MODE_MA");
140-
BARELY_BIND_GODOT_ENUM_VALUE(OscMode, Mf, "OSC_MODE_MF");
141-
BARELY_BIND_GODOT_ENUM_VALUE(OscMode, Ring, "OSC_MODE_RING");
142-
143-
BARELY_BIND_GODOT_ENUM_VALUE(SliceMode, Sustain, "SLICE_MODE_SUSTAIN");
144-
BARELY_BIND_GODOT_ENUM_VALUE(SliceMode, Once, "SLICE_MODE_ONCE");
145-
BARELY_BIND_GODOT_ENUM_VALUE(SliceMode, Loop, "SLICE_MODE_LOOP");
131+
BARELY_BIND_GODOT_ENUM_VALUE(ArpMode, None, ARP_MODE_NONE);
132+
BARELY_BIND_GODOT_ENUM_VALUE(ArpMode, Up, ARP_MODE_UP);
133+
BARELY_BIND_GODOT_ENUM_VALUE(ArpMode, Down, ARP_MODE_DOWN);
134+
BARELY_BIND_GODOT_ENUM_VALUE(ArpMode, Random, ARP_MODE_RANDOM);
135+
136+
BARELY_BIND_GODOT_ENUM_VALUE(OscMode, Crossfade, OSC_MODE_CROSSFADE);
137+
BARELY_BIND_GODOT_ENUM_VALUE(OscMode, Am, OSC_MODE_AM);
138+
BARELY_BIND_GODOT_ENUM_VALUE(OscMode, Fm, OSC_MODE_FM);
139+
BARELY_BIND_GODOT_ENUM_VALUE(OscMode, Ma, OSC_MODE_MA);
140+
BARELY_BIND_GODOT_ENUM_VALUE(OscMode, Mf, OSC_MODE_MF);
141+
BARELY_BIND_GODOT_ENUM_VALUE(OscMode, Ring, OSC_MODE_RING);
142+
143+
BARELY_BIND_GODOT_ENUM_VALUE(SliceMode, Sustain, SLICE_MODE_SUSTAIN);
144+
BARELY_BIND_GODOT_ENUM_VALUE(SliceMode, Once, SLICE_MODE_ONCE);
145+
BARELY_BIND_GODOT_ENUM_VALUE(SliceMode, Loop, SLICE_MODE_LOOP);
146146

147147
BARELY_GODOT_INSTRUMENT_CONTROLS(BARELY_BIND_GODOT_INSTRUMENT_CONTROL);
148148

platforms/godot/project/demo/instrument_demo.gd

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,17 @@ func _input(event):
4040
elif key_string == 'V':
4141
gain = min(gain + 0.25, 1.0)
4242
return
43+
elif key_string == '1':
44+
instrument.osc_mix = 1.0
45+
return
46+
elif key_string == '2':
47+
instrument.osc_mix = 0.0
48+
return
49+
elif key_string == '3':
50+
instrument.osc_mix = 0.5
51+
return
4352
elif key_string == '0':
44-
var current_arp_mode = instrument.get_arp_mode()
45-
var new_arp_mode = instrument.ARP_MODE_UP if current_arp_mode == instrument.ARP_MODE_NONE else instrument.ARP_MODE_NONE
46-
instrument.set_arp_mode(new_arp_mode)
53+
instrument.arp_mode = instrument.ARP_MODE_UP if instrument.arp_mode == instrument.ARP_MODE_NONE else instrument.ARP_MODE_NONE
4754
return
4855

4956
var key_index = OCTAVE_KEYS.find(key_string)

platforms/godot/project/demo/instrument_demo.tscn

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ text = "BarelyMusician Instrument Demo
2828
* Use WETYU keys to play the black notes in an octave
2929
* Use ZX keys to shift octave up and down
3030
* Use CV keys to adjust note gain up and down
31+
* Use 123 keys to switch the mode (osc/sample/mix)
3132
* Use 0 key to toggle arpeggiator on and off"
3233
label_settings = SubResource("LabelSettings_8q8q8")
3334
autowrap_mode = 2

0 commit comments

Comments
 (0)