class Shmidi::Knob

Constants

CTYPE

Attributes

value[R]

Public Class Methods

new(socket, channel, note, value = 0) click to toggle source
Calls superclass method Shmidi::Control::new
# File lib/shmidi/controls/knob.rb, line 7
def initialize(socket, channel, note, value = 0)
  super(socket, channel, note)
  init(value)
end

Public Instance Methods

init(value = 0) click to toggle source
# File lib/shmidi/controls/knob.rb, line 12
def init(value = 0)
  @prev_value = value
  @value = value
  @__on_value = []
  socket.on_event(channel, :cc, note) do |event|
    reset(event.value)
    Shmidi.TRACE {"#{CTYPE}\t#{id}\t#{@value} (on_event)"}
    @__on_value.each { |b| b.call(self) }
  end
end
on_value(&block) click to toggle source
# File lib/shmidi/controls/knob.rb, line 28
def on_value(&block)
  @__on_value << block
end
reset(new_value=0) click to toggle source
# File lib/shmidi/controls/knob.rb, line 23
def reset(new_value=0)
  @prev_value = @value
  @value = new_value
end