![]() |
drumstick 2.10.0
C++ MIDI libraries using Qt objects, idioms, and style.
|
ALSA Event representing a subscription between two ALSA clients and ports. More...
#include <alsaevent.h>
Public Member Functions | |
SubscriptionEvent () | |
Default constructor. | |
SubscriptionEvent (const snd_seq_event_t *event) | |
Constructor from an ALSA event record. | |
bool | subscribed () const |
Returns true if the event was a subscribed port. | |
bool | unsubscribed () const |
Returns true if the event was an unsubscribed port. | |
int | getSenderClient () const |
Gets the sender client number. | |
int | getSenderPort () const |
Gets the sender port number. | |
int | getDestClient () const |
Gets the destination client number. | |
int | getDestPort () const |
Gets the destination port number. | |
virtual SubscriptionEvent * | clone () const override |
Clone this object returning a pointer to the new object. | |
void | setSequencerType (const snd_seq_event_type_t eventType) |
Sets the event's ALSA sequencer type. | |
snd_seq_event_type_t | getSequencerType () const |
Gets the sequencer event type. | |
void | setDestination (const unsigned char client, const unsigned char port) |
Sets the client:port destination of the event. | |
void | setSource (const unsigned char port) |
Sets the event's source port ID. | |
unsigned char | getSourceClient () const |
Gets the source client id. | |
unsigned char | getSourcePort () const |
Gets the source port id. | |
snd_seq_tick_time_t | getTick () const |
Gets the tick time of the event. | |
unsigned int | getRealTimeSecs () const |
Gets the seconds of the event's real time. | |
unsigned int | getRealTimeNanos () const |
Gets the nanoseconds of the event's real time. | |
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. | |
void | scheduleTick (const int queue, const int tick, const bool relative) |
Sets the event to be scheduled in musical time (ticks) units. | |
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. | |
void | setPriority (const bool high) |
Sets the priority of the event. | |
unsigned char | getTag () const |
Gets the tag of the event. | |
void | setTag (const unsigned char aTag) |
Sets the event's tag. | |
unsigned int | getRaw32 (const unsigned int n) const |
Gets an event's raw 32 bits parameter. | |
void | setRaw32 (const unsigned int n, const unsigned int value) |
Sets an event's raw 32 bits parameter. | |
unsigned char | getRaw8 (const unsigned int n) const |
Gets an event's raw 8 bits parameter. | |
void | setRaw8 (const unsigned int n, const unsigned char value) |
Sets an event's raw 8 bits parameter. | |
snd_seq_event_t * | getHandle () |
Gets the handle of the event. | |
int | getEncodedLength () |
Gets the encoded length of the event record. | |
Static Public Member Functions | |
static bool | isSubscription (const SequencerEvent *event) |
Checks if the event's type is a subscription. | |
static bool | isPort (const SequencerEvent *event) |
Checks if the event's type is of type port. | |
static bool | isClient (const SequencerEvent *event) |
Checks if the event's type is of type client. | |
static bool | isConnectionChange (const SequencerEvent *event) |
Checks if the event's type is of type connection change. | |
static bool | isChannel (const SequencerEvent *event) |
Checks if the event's type is a Channel Voice message. | |
Protected Member Functions | |
Q_DECL_DEPRECATED void | free () |
Releases the event record. | |
Protected Attributes | |
snd_seq_event_t | m_event |
ALSA sequencer event record. | |
ALSA Event representing a subscription between two ALSA clients and ports.
Definition at line 662 of file alsaevent.h.
|
inlineexplicit |
Constructor from an ALSA event record.
event | an ALSA event record |
Definition at line 671 of file alsaevent.h.
References SequencerEvent::SequencerEvent().
|
overridevirtual |
Clone this object returning a pointer to the new object.
Reimplemented from SequencerEvent.
Definition at line 918 of file alsaevent.cpp.
References SequencerEvent::m_event, and SubscriptionEvent().
|
protectedinherited |
Releases the event record.
Definition at line 373 of file alsaevent.cpp.
References m_event.
|
inline |
Gets the destination client number.
Definition at line 696 of file alsaevent.h.
References SequencerEvent::m_event.
|
inline |
Gets the destination port number.
Definition at line 701 of file alsaevent.h.
References SequencerEvent::m_event.
|
inherited |
Gets the encoded length of the event record.
Definition at line 382 of file alsaevent.cpp.
References m_event.
|
inlineinherited |
Gets the handle of the event.
Definition at line 135 of file alsaevent.h.
References m_event.
Referenced by MidiClient::output(), MidiClient::outputBuffer(), MidiClient::outputDirect(), SequencerOutputThread::sendSongEvent(), MidiQueue::setRealTimePosition(), and MidiQueue::setTickPosition().
|
inherited |
Gets an event's raw 32 bits parameter.
n | The parameter index, between 0 and 2. |
Definition at line 331 of file alsaevent.cpp.
References m_event.
|
inherited |
Gets an event's raw 8 bits parameter.
n | The parameter index, between 0 and 11. |
Definition at line 353 of file alsaevent.cpp.
References m_event.
|
inlineinherited |
Gets the nanoseconds of the event's real time.
Definition at line 113 of file alsaevent.h.
References m_event.
|
inlineinherited |
Gets the seconds of the event's real time.
Definition at line 107 of file alsaevent.h.
References m_event.
|
inline |
Gets the sender client number.
Definition at line 686 of file alsaevent.h.
References SequencerEvent::m_event.
|
inline |
Gets the sender port number.
Definition at line 691 of file alsaevent.h.
References SequencerEvent::m_event.
|
inlineinherited |
Gets the sequencer event type.
Definition at line 81 of file alsaevent.h.
References m_event.
|
inlineinherited |
Gets the source client id.
Definition at line 89 of file alsaevent.h.
References m_event.
|
inlineinherited |
Gets the source port id.
Definition at line 95 of file alsaevent.h.
References m_event.
|
inlineinherited |
Gets the tag of the event.
Definition at line 125 of file alsaevent.h.
References m_event.
|
inlineinherited |
Gets the tick time of the event.
Definition at line 101 of file alsaevent.h.
References m_event.
|
staticinherited |
Checks if the event's type is a Channel Voice message.
event | A SequencerEvent object pointer |
Definition at line 205 of file alsaevent.cpp.
References SequencerEvent().
|
staticinherited |
Checks if the event's type is of type client.
event | A SequencerEvent object pointer |
Definition at line 171 of file alsaevent.cpp.
References SequencerEvent().
|
staticinherited |
Checks if the event's type is of type connection change.
event | A SequencerEvent object pointer |
Definition at line 185 of file alsaevent.cpp.
References SequencerEvent().
Referenced by SequencerOutputThread::run().
|
staticinherited |
Checks if the event's type is of type port.
event | A SequencerEvent object pointer |
Definition at line 157 of file alsaevent.cpp.
References SequencerEvent().
|
staticinherited |
Checks if the event's type is a subscription.
event | A SequencerEvent object pointer |
Definition at line 144 of file alsaevent.cpp.
References SequencerEvent().
|
inherited |
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 292 of file alsaevent.cpp.
References m_event.
|
inherited |
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 280 of file alsaevent.cpp.
References m_event.
Referenced by SequencerOutputThread::sendEchoEvent().
|
inherited |
Sets the client:port destination of the event.
client | The destination's client ID |
port | The destination port ID |
Definition at line 234 of file alsaevent.cpp.
References m_event.
Referenced by SequencerOutputThread::sendEchoEvent().
|
inherited |
Sets the event to be immediately delivered, not queued/scheduled.
Definition at line 269 of file alsaevent.cpp.
References m_event.
|
inherited |
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 306 of file alsaevent.cpp.
References m_event.
|
inherited |
Sets an event's raw 32 bits parameter.
n | The parameter index, between 0 and 2. |
value | The parameter's value. |
Definition at line 342 of file alsaevent.cpp.
References m_event.
|
inherited |
Sets an event's raw 8 bits parameter.
n | The parameter index, between 0 and 11. |
value | The parameter's value. |
Definition at line 364 of file alsaevent.cpp.
References m_event.
|
inherited |
Sets the event's ALSA sequencer type.
eventType | The ALSA sequencer type |
Definition at line 223 of file alsaevent.cpp.
References m_event.
Referenced by TextEvent::operator=(), SystemEvent::SystemEvent(), TextEvent::TextEvent(), TextEvent::TextEvent(), TextEvent::TextEvent(), TextEvent::TextEvent(), TextEvent::TextEvent(), and ValueEvent::ValueEvent().
|
inherited |
Sets the event's source port ID.
port | The source port ID |
Definition at line 244 of file alsaevent.cpp.
References m_event.
Referenced by SequencerOutputThread::sendEchoEvent().
|
inherited |
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 316 of file alsaevent.cpp.
References m_event.
|
inline |
Returns true if the event was a subscribed port.
Definition at line 676 of file alsaevent.h.
References SequencerEvent::m_event.
|
inline |
Returns true if the event was an unsubscribed port.
Definition at line 681 of file alsaevent.h.
References SequencerEvent::m_event.
|
protectedinherited |
ALSA sequencer event record.
Definition at line 152 of file alsaevent.h.
Referenced by ChanPressEvent::ChanPressEvent(), ChanPressEvent::ChanPressEvent(), ChannelEvent::clone(), ChanPressEvent::clone(), ClientEvent::clone(), ControllerEvent::clone(), KeyEvent::clone(), KeyPressEvent::clone(), NoteEvent::clone(), NoteOffEvent::clone(), NoteOnEvent::clone(), PitchBendEvent::clone(), PortEvent::clone(), ProgramChangeEvent::clone(), QueueControlEvent::clone(), clone(), SubscriptionEvent::clone(), SysExEvent::clone(), SystemEvent::clone(), TempoEvent::clone(), TextEvent::clone(), ValueEvent::clone(), VariableEvent::clone(), ControllerEvent::ControllerEvent(), free(), ChannelEvent::getChannel(), ClientEvent::getClient(), VariableEvent::getData(), SubscriptionEvent::getDestClient(), SubscriptionEvent::getDestPort(), NoteEvent::getDuration(), getEncodedLength(), getHandle(), KeyEvent::getKey(), VariableEvent::getLength(), ControllerEvent::getParam(), PortEvent::getPort(), QueueControlEvent::getPosition(), QueueControlEvent::getQueue(), getRaw32(), getRaw8(), getRealTimeNanos(), getRealTimeSecs(), SubscriptionEvent::getSenderClient(), SubscriptionEvent::getSenderPort(), getSequencerType(), QueueControlEvent::getSkewBase(), QueueControlEvent::getSkewValue(), getSourceClient(), getSourcePort(), getTag(), getTick(), QueueControlEvent::getTickTime(), ChanPressEvent::getValue(), ControllerEvent::getValue(), PitchBendEvent::getValue(), ProgramChangeEvent::getValue(), QueueControlEvent::getValue(), ValueEvent::getValue(), KeyEvent::getVelocity(), KeyPressEvent::KeyPressEvent(), KeyPressEvent::KeyPressEvent(), NoteEvent::NoteEvent(), NoteEvent::NoteEvent(), NoteOffEvent::NoteOffEvent(), NoteOffEvent::NoteOffEvent(), NoteOnEvent::NoteOnEvent(), NoteOnEvent::NoteOnEvent(), operator=(), SysExEvent::operator=(), TextEvent::operator=(), VariableEvent::operator=(), PitchBendEvent::PitchBendEvent(), PitchBendEvent::PitchBendEvent(), ProgramChangeEvent::ProgramChangeEvent(), ProgramChangeEvent::ProgramChangeEvent(), QueueControlEvent::QueueControlEvent(), scheduleReal(), scheduleTick(), SequencerEvent(), SequencerEvent(), SequencerEvent(), setBroadcast(), ChannelEvent::setChannel(), setDestination(), setDirect(), NoteEvent::setDuration(), KeyEvent::setKey(), ControllerEvent::setParam(), QueueControlEvent::setPosition(), setPriority(), QueueControlEvent::setQueue(), setRaw32(), setRaw8(), setSequencerType(), QueueControlEvent::setSkewBase(), QueueControlEvent::setSkewValue(), setSource(), setSubscribers(), setTag(), QueueControlEvent::setTickTime(), ChanPressEvent::setValue(), ControllerEvent::setValue(), PitchBendEvent::setValue(), ProgramChangeEvent::setValue(), QueueControlEvent::setValue(), ValueEvent::setValue(), KeyEvent::setVelocity(), SubscriptionEvent::subscribed(), SysExEvent::SysExEvent(), SysExEvent::SysExEvent(), SysExEvent::SysExEvent(), SysExEvent::SysExEvent(), SysExEvent::SysExEvent(), SystemEvent::SystemEvent(), TempoEvent::TempoEvent(), SubscriptionEvent::unsubscribed(), ValueEvent::ValueEvent(), VariableEvent::VariableEvent(), VariableEvent::VariableEvent(), VariableEvent::VariableEvent(), VariableEvent::VariableEvent(), and VariableEvent::VariableEvent().