drumstick 2.9.0
C++ MIDI libraries using Qt objects, idioms, and style.
|
Event representing a MIDI key pressure, or polyphonic after-touch event. More...
#include <alsaevent.h>
Public Member Functions | |
KeyPressEvent () | |
Default constructor. | |
KeyPressEvent (const snd_seq_event_t *event) | |
Constructor from an ALSA event record. More... | |
KeyPressEvent (const int ch, const int key, const int vel) | |
Constructor. More... | |
virtual KeyPressEvent * | clone () const override |
Clone this object returning a pointer to the new object. More... | |
int | getKey () const |
Gets the MIDI note of this event. More... | |
void | setKey (const MidiByte b) |
Sets the MIDI note of this event. More... | |
int | getVelocity () const |
Gets the note velocity of this event. More... | |
void | setVelocity (const MidiByte b) |
Sets the note velocity of this event. More... | |
void | setChannel (const MidiByte c) |
Sets the channel of the event. More... | |
int | getChannel () const |
Gets the event's channel. 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... | |
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... | |
Event representing a MIDI key pressure, or polyphonic after-touch event.
Definition at line 304 of file alsaevent.h.
|
inlineexplicit |
Constructor from an ALSA event record.
event | an ALSA event record |
Definition at line 313 of file alsaevent.h.
KeyPressEvent | ( | const int | ch, |
const int | key, | ||
const int | vel | ||
) |
Constructor.
Constructor using proper attribute values.
ch | MIDI Channel. |
key | MIDI note. |
vel | Note velocity. |
Definition at line 479 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
overridevirtual |
Clone this object returning a pointer to the new object.
Reimplemented from KeyEvent.
Definition at line 488 of file alsaevent.cpp.
References KeyPressEvent::KeyPressEvent(), and SequencerEvent::m_event.
|
protectedinherited |
Releases the event record.
Definition at line 371 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
inlineinherited |
Gets the event's channel.
Definition at line 179 of file alsaevent.h.
|
inherited |
Gets the encoded length of the event record.
Definition at line 380 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
inlineinherited |
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().
|
inlineinherited |
Gets the MIDI note of this event.
Definition at line 202 of file alsaevent.h.
|
inherited |
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.
|
inherited |
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.
|
inlineinherited |
Gets the nanoseconds of the event's real time.
Definition at line 113 of file alsaevent.h.
|
inlineinherited |
Gets the seconds of the event's real time.
Definition at line 107 of file alsaevent.h.
|
inlineinherited |
Gets the sequencer event type.
Definition at line 81 of file alsaevent.h.
|
inlineinherited |
Gets the source client id.
Definition at line 89 of file alsaevent.h.
|
inlineinherited |
Gets the source port id.
Definition at line 95 of file alsaevent.h.
|
inlineinherited |
Gets the tag of the event.
Definition at line 125 of file alsaevent.h.
|
inlineinherited |
Gets the tick time of the event.
Definition at line 101 of file alsaevent.h.
|
inlineinherited |
Gets the note velocity of this event.
Definition at line 214 of file alsaevent.h.
|
staticinherited |
Checks if the event's type is a Channel Voice message.
event | A SequencerEvent object pointer |
Definition at line 203 of file alsaevent.cpp.
|
staticinherited |
Checks if the event's type is of type client.
event | A SequencerEvent object pointer |
Definition at line 169 of file alsaevent.cpp.
|
staticinherited |
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().
|
staticinherited |
Checks if the event's type is of type port.
event | A SequencerEvent object pointer |
Definition at line 155 of file alsaevent.cpp.
|
staticinherited |
Checks if the event's type is a subscription.
event | A SequencerEvent object pointer |
Definition at line 142 of file alsaevent.cpp.
|
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 290 of file alsaevent.cpp.
References SequencerEvent::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 278 of file alsaevent.cpp.
References SequencerEvent::m_event.
Referenced by SequencerOutputThread::sendEchoEvent().
|
inlineinherited |
Sets the channel of the event.
c | A channel, between 0 and 15. |
Definition at line 173 of file alsaevent.h.
|
inherited |
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().
|
inherited |
Sets the event to be immediately delivered, not queued/scheduled.
Definition at line 267 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
inlineinherited |
Sets the MIDI note of this event.
b | A MIDI note, between 0 and 127. |
Definition at line 208 of file alsaevent.h.
|
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 304 of file alsaevent.cpp.
References SequencerEvent::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 340 of file alsaevent.cpp.
References SequencerEvent::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 362 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
inherited |
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().
|
inherited |
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().
|
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 314 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
inlineinherited |
Sets the note velocity of this event.
b | A velocity value, between 0 and 127. |
Definition at line 220 of file alsaevent.h.
|
protectedinherited |
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().