Module: Musa::Sequencer::BaseSequencer::TicklessBasedTiming

Defined in:
lib/musa-dsl/sequencer/base-sequencer-tickless-based.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#positionObject

Returns the value of attribute position.



6
7
8
# File 'lib/musa-dsl/sequencer/base-sequencer-tickless-based.rb', line 6

def position
  @position
end

Instance Method Details

#tickObject

TODO implementar hold_public_ticks adaptado a modo tickless para permitir que una operación de asignación de TODO posición con .position = X, finalice antes de comenzar a procesar el resto de ticks en un contexto multithread. TODO pero tiene sentido cuando el modo tickless se usa SOLO con .run? TODO tendría sentido sólo si también se usa con ticks temporizados, lo cual ocurriría si se reimplementa el modo tickbased TODO a partir del modo tickless.



22
23
24
# File 'lib/musa-dsl/sequencer/base-sequencer-tickless-based.rb', line 22

def tick
  _tick @position_mutex.synchronize { @position = @timeslots.first_after(@position) }
end

#tick_durationObject



12
13
14
# File 'lib/musa-dsl/sequencer/base-sequencer-tickless-based.rb', line 12

def tick_duration
  0r
end

#ticks_per_barObject



8
9
10
# File 'lib/musa-dsl/sequencer/base-sequencer-tickless-based.rb', line 8

def ticks_per_bar
  Float::INFINITY
end