task_data
A task_data is an object which contains information about
a task to be scheduled. Note that creating a task_data
does not schedule it; you have to use the scheduler to do that.
class task_data {
public:
task_data( my_wake_funcp f, void *a, long t );
task_data( const MidiMsg& m, long t );
task_data( const MidiMsg& on, long dur, long t );
};
task_data( my_wake_funcp f, void *a, long t )
- A task can be a function
f with void*
argument a scheduled for time t. Rogus has
ZOR(TM) (Zero Overhead Rescheduling) for functions. This means that
you can reschedule a function very quickly by having it return the
number of half-milliseconds until its next invocation. If you don't
want to reschedule the function, just return the Rogus constant
NEVER.
task_data( const MidiMsg& m, long t )
- A task can be a
MidiMsg
m scheduled for time t.
task_data( const MidiMsg& on, long dur, long t )
- A task can be a note on/note off pair
with note on
on and duration dur scheduled for time
t. The note off will be generated by Rogus, just as it does
for playnote().