Patterns play sequential streams of Events. EventListPlayer takes a different approach by instead taking a list of Event objects and playing each one at the time indicated in the Event's \beat param.
The Events do not need to be sorted and multiple events can play at the same \beat.
This is useful when you have a sequence or array of things you would like to play and it doesn't make sense to translate this into the delta based timing model of a Pbind.
(describe method here)
events |
list of Event objects |
spec |
Output spec of the events. Usually this is \audio |
postFilter |
An optional dictionary or Event that will be used to filter the output of the stream. |
protoEvent |
An optional Event that will be copied into each Event in the stream. This is to avoid excessive duplication if all events have a param that is the same. It can also be used for dynamic settings like \bus. It is also useful in that it is saved with the EventListPlayer and each event is saved so it makes for a much more efficient compile string. |
am EventListPlayer
get current beat while playing
Float
add a new Event. this can be done while playing
ev |
an Event |
this
EventListPlayerGui
EventListPlayerGui
remove an event by supplying the event to be matched. can be done while playing
ev |
the Event |
(describe method here)
(describe returnvalue here)
(describe method here)
beat |
(describe argument here) |
(describe returnvalue here)
set the beat for the event at the given index. This is better than directly manipulating the event in that it will correctly resched events if youa re currently playing.
i |
index |
beat |
Float |
play an Event on the fly. Doesn't matter if the event is scheduled, in the list or not on the list. It is used for auditioning sounds. When using the gui you can double click on an event to make it play. protoEvent and postFilter will be processed as well.
event |
an Event |
inval |
optional Event that will be copied into the Event. (non-destructive) |
private
b |
(describe argument here) |
(describe returnvalue here)
total beatDuration is the last beat of any event in the list. Does not take into account \duration of that event.
float
private
(describe returnvalue here)
private
newEi |
(describe argument here) |
(describe returnvalue here)
private
beat |
(describe argument here) |
(describe returnvalue here)
get the beat for an event in the list at index i
i |
integer |
float
while playing, relocate to a beat
beat |
float |
atBeat |
(describe argument here) |
bundle |
(describe argument here) |
(describe returnvalue here)
play an event by index
i |
integer |
inval |
optional post filter event |
private
(describe returnvalue here)
private
bundle |
(describe argument here) |
(describe returnvalue here)
get or set the list of events
evs |
list of Event |
(describe returnvalue here)
the list of events
(describe returnvalue here)
The gui requires the crucialviews quark for the UserViewObjectsManager. This enables selecting events, option-drag to copy, "delete" to delete, move events around.
If used inside an Mx you can open the timeline view and zoom and click in the timeline to relocate.