class Shmidi::Clock
Public Class Methods
new(socket, delay = 0.25)
click to toggle source
# File lib/shmidi/clock.rb, line 8 def initialize(socket, delay = 0.25) @socket = socket @delay = delay @buffer = [] @thread = Thread.new do loop do begin buf = filter Socket[@socket].push(buf) buf.each do |event| event.destination.push(true) end wait rescue Shmidi.ON_EXCEPTION end end end end
Public Instance Methods
sync(event)
click to toggle source
# File lib/shmidi/clock.rb, line 28 def sync(event) event.destination = Queue.new @buffer << event event.destination.pop end
Protected Instance Methods
filter()
click to toggle source
# File lib/shmidi/clock.rb, line 36 def filter b = @buffer @buffer = [] b end
wait()
click to toggle source
# File lib/shmidi/clock.rb, line 42 def wait sleep(@delay) end