lib/examples/midi_scales.rb in madrona-rad-0.3.3 vs lib/examples/midi_scales.rb in madrona-rad-0.3.4
- old
+ new
@@ -1,94 +1,105 @@
class MidiScales < ArduinoSketch
+ # IMPORTANT -- This is one for four examples that fails with Ruby 1.9 support (latest ruby2c and parsetree)
+ # the failing example is commented out and replaced with this hello world until I have a chance to resolve the issue -- jd
+ output_pin 13, :as => :led
+
+ def loop
+ blink led, 100
+ x = 4
+ end
+
+ ##
+
# purpose
# trigger midi output with buttons and
# spectra soft pots
#
#
- @current_note = int
- @last_note_one = 0
- @last_note_two = 0
- @last_note_three = 0
- @note = int
-
- input_pin 1, :as => :sensor_one, :device => :spectra
- input_pin 2, :as => :sensor_two, :device => :spectra
- input_pin 3, :as => :sensor_three, :device => :spectra
- input_pin 7, :as => :button_one, :device => :button
- input_pin 8, :as => :button_two, :device => :button
- input_pin 9, :as => :button_three, :device => :button
- output_pin 13, :as => :led
-
- serial_begin :rate => 31250
-
- def setup
- delay 3000
- end
-
- def loop
- change_tone if button_one.read_input
- change_pressure if button_two.read_input
- change_channels if button_three.read_input
- read_sensor_one
- read_sensor_two
- read_sensor_three
- end
-
- def change_tone
- 110.upto(127) do |note|
- play 0, note, 127
- end
- end
-
- def change_pressure
- 110.upto(127) do |pressure|
- play 0, 45, pressure
- end
- end
-
- def change_channels
- 0.upto(6) do |channel|
- play channel, 50, 100
- end
- end
-
- def read_sensor_one
- @current_note = sensor_one.soft_lock
- pre_play(@current_note, @last_note_one, 13)
- @last_note_one = @current_note
- end
-
- def read_sensor_two
- @current_note = sensor_two.soft_lock
- pre_play(@current_note, @last_note_two, 14)
- @last_note_two = @current_note
- end
-
- def read_sensor_three
- @current_note = sensor_three.soft_lock
- pre_play(@current_note, @last_note_three, 15)
- @last_note_three = @current_note
- end
-
- def pre_play(current_note, last_note, channel) # warning, don't use last as a parameter...
- n = 1 + channel
- unless current_note == last_note
- @note = ((current_note /16) + 40)
- play_with_no_delay( channel, @note, 100 )
- end
- end
-
- def play(chan, note, pressure)
- note_on(chan, note, pressure)
- delay 100 # adjust to need
- note_off(chan, note, 0)
- end
-
- def play_with_no_delay(chan, note, pressure) # note is not turned off
- note_on(chan, note, pressure)
- end
+ # @current_note = int
+ # @last_note_one = 0
+ # @last_note_two = 0
+ # @last_note_three = 0
+ # @note = int
+ #
+ # input_pin 1, :as => :sensor_one, :device => :spectra
+ # input_pin 2, :as => :sensor_two, :device => :spectra
+ # input_pin 3, :as => :sensor_three, :device => :spectra
+ # input_pin 7, :as => :button_one, :device => :button
+ # input_pin 8, :as => :button_two, :device => :button
+ # input_pin 9, :as => :button_three, :device => :button
+ # output_pin 13, :as => :led
+ #
+ # serial_begin :rate => 31250
+ #
+ # def setup
+ # delay 3000
+ # end
+ #
+ # def loop
+ # change_tone if button_one.read_input
+ # change_pressure if button_two.read_input
+ # change_channels if button_three.read_input
+ # read_sensor_one
+ # read_sensor_two
+ # read_sensor_three
+ # end
+ #
+ # def change_tone
+ # 110.upto(127) do |note|
+ # play 0, note, 127
+ # end
+ # end
+ #
+ # def change_pressure
+ # 110.upto(127) do |pressure|
+ # play 0, 45, pressure
+ # end
+ # end
+ #
+ # def change_channels
+ # 0.upto(6) do |channel|
+ # play channel, 50, 100
+ # end
+ # end
+ #
+ # def read_sensor_one
+ # @current_note = sensor_one.soft_lock
+ # pre_play(@current_note, @last_note_one, 13)
+ # @last_note_one = @current_note
+ # end
+ #
+ # def read_sensor_two
+ # @current_note = sensor_two.soft_lock
+ # pre_play(@current_note, @last_note_two, 14)
+ # @last_note_two = @current_note
+ # end
+ #
+ # def read_sensor_three
+ # @current_note = sensor_three.soft_lock
+ # pre_play(@current_note, @last_note_three, 15)
+ # @last_note_three = @current_note
+ # end
+ #
+ # def pre_play(current_note, last_note, channel) # warning, don't use last as a parameter...
+ # n = 1 + channel
+ # unless current_note == last_note
+ # @note = ((current_note /16) + 40)
+ # play_with_no_delay( channel, @note, 100 )
+ # end
+ # end
+ #
+ # def play(chan, note, pressure)
+ # note_on(chan, note, pressure)
+ # delay 100 # adjust to need
+ # note_off(chan, note, 0)
+ # end
+ #
+ # def play_with_no_delay(chan, note, pressure) # note is not turned off
+ # note_on(chan, note, pressure)
+ # end
end