class Alda::Sequence
A sequence event. Includes Alda::EventList
.
An Alda::EventContainer
containing an Alda::Sequence
can be created using event list sugar. See Alda::EventList#method_missing
.
Alda::Score.new do p s{ c; d; e; f }.event.class # => Alda::Sequence end
There is also a special sequence sugar.
Alda::Score.new do p((c d e f).event.class) # => Alda::Sequence end
The effects of the two examples above are the same.
Public Class Methods
join(*events) → Alda::Sequence
click to toggle source
Creates an Alda::Sequence
object by joining events
.
The Alda::EventContainer
objects are extracted, and the Alda::Sequence
objects are flattened.
# File lib/alda-rb/event.rb, line 857 def self.join *events new do @events = events.map do |event| while event.is_a?(Alda::EventContainer) && !event.count && event.labels.empty? event = event.event end event.is_a?(Alda::Sequence) ? event.events : event end.flatten end end
Public Instance Methods
to_alda_code()
click to toggle source
# File lib/alda-rb/event.rb, line 845 def to_alda_code @events.to_alda_code end