drumstick 2.9.0
C++ MIDI libraries using Qt objects, idioms, and style.
|
Base class for the event's hierarchy. More...
#include <alsaevent.h>
Public Member Functions | |
SequencerEvent () | |
Default constructor. | |
SequencerEvent (const SequencerEvent &other) | |
Copy constructor. More... | |
SequencerEvent (const snd_seq_event_t *event) | |
Constructor from an ALSA event record. More... | |
SequencerEvent & | operator= (const SequencerEvent &other) |
Assignment operator. More... | |
void | setSequencerType (const snd_seq_event_type_t eventType) |
Sets the event's ALSA sequencer type. More... | |
snd_seq_event_type_t | getSequencerType () const |
Gets the sequencer event type. More... | |
void | setDestination (const unsigned char client, const unsigned char port) |
Sets the client:port destination of the event. More... | |
void | setSource (const unsigned char port) |
Sets the event's source port ID. More... | |
unsigned char | getSourceClient () const |
Gets the source client id. More... | |
unsigned char | getSourcePort () const |
Gets the source port id. More... | |
snd_seq_tick_time_t | getTick () const |
Gets the tick time of the event. More... | |
unsigned int | getRealTimeSecs () const |
Gets the seconds of the event's real time. More... | |
unsigned int | getRealTimeNanos () const |
Gets the nanoseconds of the event's real time. More... | |
void | setSubscribers () |
Sets the event's destination to be all the subscribers of the source port. | |
void | setBroadcast () |
Sets the event's destination to be all queues/clients/ports/channels. | |
void | setDirect () |
Sets the event to be immediately delivered, not queued/scheduled. More... | |
void | scheduleTick (const int queue, const int tick, const bool relative) |
Sets the event to be scheduled in musical time (ticks) units. More... | |
void | scheduleReal (const int queue, const ulong secs, const ulong nanos, const bool relative) |
Sets the event to be scheduled in real (clock) time units. More... | |
void | setPriority (const bool high) |
Sets the priority of the event. More... | |
unsigned char | getTag () const |
Gets the tag of the event. More... | |
void | setTag (const unsigned char aTag) |
Sets the event's tag. More... | |
unsigned int | getRaw32 (const unsigned int n) const |
Gets an event's raw 32 bits parameter. More... | |
void | setRaw32 (const unsigned int n, const unsigned int value) |
Sets an event's raw 32 bits parameter. More... | |
unsigned char | getRaw8 (const unsigned int n) const |
Gets an event's raw 8 bits parameter. More... | |
void | setRaw8 (const unsigned int n, const unsigned char value) |
Sets an event's raw 8 bits parameter. More... | |
snd_seq_event_t * | getHandle () |
Gets the handle of the event. More... | |
int | getEncodedLength () |
Gets the encoded length of the event record. More... | |
virtual SequencerEvent * | clone () const |
Clone this object returning a pointer to the new object. More... | |
Static Public Member Functions | |
static bool | isSubscription (const SequencerEvent *event) |
Checks if the event's type is a subscription. More... | |
static bool | isPort (const SequencerEvent *event) |
Checks if the event's type is of type port. More... | |
static bool | isClient (const SequencerEvent *event) |
Checks if the event's type is of type client. More... | |
static bool | isConnectionChange (const SequencerEvent *event) |
Checks if the event's type is of type connection change. More... | |
static bool | isChannel (const SequencerEvent *event) |
Checks if the event's type is a Channel Voice message. More... | |
Protected Member Functions | |
Q_DECL_DEPRECATED void | free () |
Releases the event record. More... | |
Protected Attributes | |
snd_seq_event_t | m_event |
ALSA sequencer event record. More... | |
Base class for the event's hierarchy.
All event classes share this base class. It provides several common properties and methods.
Definition at line 67 of file alsaevent.h.
SequencerEvent | ( | const SequencerEvent & | other | ) |
Copy constructor.
other | A SequencerEvent object reference |
Definition at line 118 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
explicit |
Constructor from an ALSA event record.
event | ALSA event record |
Definition at line 108 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
virtual |
Clone this object returning a pointer to the new object.
Reimplemented in ChannelEvent, KeyEvent, NoteEvent, NoteOnEvent, NoteOffEvent, KeyPressEvent, ControllerEvent, ProgramChangeEvent, PitchBendEvent, ChanPressEvent, VariableEvent, SysExEvent, TextEvent, SystemEvent, QueueControlEvent, ValueEvent, TempoEvent, SubscriptionEvent, ClientEvent, and PortEvent.
Definition at line 389 of file alsaevent.cpp.
References SequencerEvent::m_event, and SequencerEvent::SequencerEvent().
|
protected |
Releases the event record.
Definition at line 371 of file alsaevent.cpp.
References SequencerEvent::m_event.
int getEncodedLength | ( | ) |
Gets the encoded length of the event record.
Definition at line 380 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
inline |
Gets the handle of the event.
Definition at line 135 of file alsaevent.h.
Referenced by MidiClient::output(), MidiClient::outputBuffer(), MidiClient::outputDirect(), SequencerOutputThread::sendSongEvent(), MidiQueue::setRealTimePosition(), and MidiQueue::setTickPosition().
unsigned int getRaw32 | ( | const unsigned int | n | ) | const |
Gets an event's raw 32 bits parameter.
n | The parameter index, between 0 and 2. |
Definition at line 329 of file alsaevent.cpp.
References SequencerEvent::m_event.
unsigned char getRaw8 | ( | const unsigned int | n | ) | const |
Gets an event's raw 8 bits parameter.
n | The parameter index, between 0 and 11. |
Definition at line 351 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
inline |
Gets the nanoseconds of the event's real time.
Definition at line 113 of file alsaevent.h.
|
inline |
Gets the seconds of the event's real time.
Definition at line 107 of file alsaevent.h.
|
inline |
Gets the sequencer event type.
Definition at line 81 of file alsaevent.h.
|
inline |
Gets the source client id.
Definition at line 89 of file alsaevent.h.
|
inline |
Gets the source port id.
Definition at line 95 of file alsaevent.h.
|
inline |
Gets the tag of the event.
Definition at line 125 of file alsaevent.h.
|
inline |
Gets the tick time of the event.
Definition at line 101 of file alsaevent.h.
|
static |
Checks if the event's type is a Channel Voice message.
event | A SequencerEvent object pointer |
Definition at line 203 of file alsaevent.cpp.
|
static |
Checks if the event's type is of type client.
event | A SequencerEvent object pointer |
Definition at line 169 of file alsaevent.cpp.
|
static |
Checks if the event's type is of type connection change.
event | A SequencerEvent object pointer |
Definition at line 183 of file alsaevent.cpp.
Referenced by SequencerOutputThread::run().
|
static |
Checks if the event's type is of type port.
event | A SequencerEvent object pointer |
Definition at line 155 of file alsaevent.cpp.
|
static |
Checks if the event's type is a subscription.
event | A SequencerEvent object pointer |
Definition at line 142 of file alsaevent.cpp.
SequencerEvent & operator= | ( | const SequencerEvent & | other | ) |
Assignment operator.
other | A SequencerEvent object reference |
Definition at line 130 of file alsaevent.cpp.
References SequencerEvent::m_event.
void scheduleReal | ( | const int | queue, |
const ulong | secs, | ||
const ulong | nanos, | ||
const bool | relative | ||
) |
Sets the event to be scheduled in real (clock) time units.
queue | The queue number to be used. |
secs | The time in whole seconds. |
nanos | The nanoseconds to be added. |
relative | Use relative (to the current) time instead of absolute time. |
Definition at line 290 of file alsaevent.cpp.
References SequencerEvent::m_event.
void scheduleTick | ( | const int | queue, |
const int | tick, | ||
const bool | relative | ||
) |
Sets the event to be scheduled in musical time (ticks) units.
queue | The queue number to be used. |
tick | The time in ticks. |
relative | Use relative (to the current) time instead of absolute time. |
Definition at line 278 of file alsaevent.cpp.
References SequencerEvent::m_event.
Referenced by SequencerOutputThread::sendEchoEvent().
void setDestination | ( | const unsigned char | client, |
const unsigned char | port | ||
) |
Sets the client:port destination of the event.
client | The destination's client ID |
port | The destination port ID |
Definition at line 232 of file alsaevent.cpp.
References SequencerEvent::m_event.
Referenced by SequencerOutputThread::sendEchoEvent().
void setDirect | ( | ) |
Sets the event to be immediately delivered, not queued/scheduled.
Definition at line 267 of file alsaevent.cpp.
References SequencerEvent::m_event.
void setPriority | ( | const bool | high | ) |
Sets the priority of the event.
This is used in case of several events share the same scheduling time.
high | Mark the event as a high priority one. |
Definition at line 304 of file alsaevent.cpp.
References SequencerEvent::m_event.
void setRaw32 | ( | const unsigned int | n, |
const unsigned int | value | ||
) |
Sets an event's raw 32 bits parameter.
n | The parameter index, between 0 and 2. |
value | The parameter's value. |
Definition at line 340 of file alsaevent.cpp.
References SequencerEvent::m_event.
void setRaw8 | ( | const unsigned int | n, |
const unsigned char | value | ||
) |
Sets an event's raw 8 bits parameter.
n | The parameter index, between 0 and 11. |
value | The parameter's value. |
Definition at line 362 of file alsaevent.cpp.
References SequencerEvent::m_event.
void setSequencerType | ( | const snd_seq_event_type_t | eventType | ) |
Sets the event's ALSA sequencer type.
eventType | The ALSA sequencer type |
Definition at line 221 of file alsaevent.cpp.
References SequencerEvent::m_event.
Referenced by TextEvent::operator=(), SystemEvent::SystemEvent(), TextEvent::TextEvent(), and ValueEvent::ValueEvent().
void setSource | ( | const unsigned char | port | ) |
Sets the event's source port ID.
port | The source port ID |
Definition at line 242 of file alsaevent.cpp.
References SequencerEvent::m_event.
Referenced by SequencerOutputThread::sendEchoEvent().
void setTag | ( | const unsigned char | aTag | ) |
Sets the event's tag.
This attribute is any arbitrary number, not used by the ALSA library. Range limited to 0 thru 255.
aTag | A tag number. |
Definition at line 314 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
protected |
ALSA sequencer event record.
Definition at line 152 of file alsaevent.h.
Referenced by ChanPressEvent::ChanPressEvent(), SequencerEvent::clone(), ChannelEvent::clone(), KeyEvent::clone(), NoteEvent::clone(), NoteOnEvent::clone(), NoteOffEvent::clone(), KeyPressEvent::clone(), ControllerEvent::clone(), ProgramChangeEvent::clone(), PitchBendEvent::clone(), ChanPressEvent::clone(), VariableEvent::clone(), SysExEvent::clone(), TextEvent::clone(), SystemEvent::clone(), QueueControlEvent::clone(), ValueEvent::clone(), TempoEvent::clone(), SubscriptionEvent::clone(), ClientEvent::clone(), PortEvent::clone(), ControllerEvent::ControllerEvent(), SequencerEvent::free(), SequencerEvent::getEncodedLength(), SequencerEvent::getRaw32(), SequencerEvent::getRaw8(), KeyPressEvent::KeyPressEvent(), NoteEvent::NoteEvent(), NoteOffEvent::NoteOffEvent(), NoteOnEvent::NoteOnEvent(), SequencerEvent::operator=(), SysExEvent::operator=(), TextEvent::operator=(), VariableEvent::operator=(), PitchBendEvent::PitchBendEvent(), ProgramChangeEvent::ProgramChangeEvent(), QueueControlEvent::QueueControlEvent(), SequencerEvent::scheduleReal(), SequencerEvent::scheduleTick(), SequencerEvent::SequencerEvent(), SequencerEvent::setBroadcast(), SequencerEvent::setDestination(), SequencerEvent::setDirect(), SequencerEvent::setPriority(), SequencerEvent::setRaw32(), SequencerEvent::setRaw8(), SequencerEvent::setSequencerType(), SequencerEvent::setSource(), SequencerEvent::setSubscribers(), SequencerEvent::setTag(), SysExEvent::SysExEvent(), SystemEvent::SystemEvent(), TempoEvent::TempoEvent(), ValueEvent::ValueEvent(), and VariableEvent::VariableEvent().