![]() |
drumstick 2.10.0
C++ MIDI libraries using Qt objects, idioms, and style.
|
Base class for the events having a Channel property. More...
#include <alsaevent.h>
Public Member Functions | |
ChannelEvent () | |
Default constructor. | |
ChannelEvent (const snd_seq_event_t *event) | |
Constructor from an ALSA event record. | |
void | setChannel (const MidiByte c) |
Sets the channel of the event. | |
int | getChannel () const |
Gets the event's channel. | |
virtual ChannelEvent * | 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. | |
Base class for the events having a Channel property.
Definition at line 158 of file alsaevent.h.
|
inlineexplicit |
Constructor from an ALSA event record.
event | an ALSA event record |
Definition at line 167 of file alsaevent.h.
References SequencerEvent::SequencerEvent().
|
overridevirtual |
Clone this object returning a pointer to the new object.
Reimplemented from SequencerEvent.
Reimplemented in ChanPressEvent, ControllerEvent, KeyEvent, KeyPressEvent, NoteEvent, NoteOffEvent, NoteOnEvent, PitchBendEvent, and ProgramChangeEvent.
Definition at line 400 of file alsaevent.cpp.
References ChannelEvent(), and SequencerEvent::m_event.
|
protectedinherited |
Releases the event record.
Definition at line 373 of file alsaevent.cpp.
References m_event.
|
inline |
Gets the event's channel.
Definition at line 179 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.
|
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().
|
inline |
Sets the channel of the event.
c | A channel, between 0 and 15. |
Definition at line 173 of file alsaevent.h.
References SequencerEvent::m_event.
|
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.
|
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().