drumstick
0.5.0
|
Event representing a note-on MIDI event. More...
#include <alsaevent.h>
Public Member Functions | |
NoteOnEvent () | |
Default constructor. | |
NoteOnEvent (snd_seq_event_t *event) | |
Constructor from an ALSA event record. | |
NoteOnEvent (const int ch, const int key, const int vel) | |
Constructor using proper attribute values. 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... | |
CLONE_EVENT_DECLARATION (SequencerEvent) | |
Clone this object returning a pointer to the new object. | |
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 | |
void | free () __attribute__((deprecated)) |
Releases the event record. More... | |
Protected Attributes | |
snd_seq_event_t | m_event |
ALSA sequencer event record. More... | |
Event representing a note-on MIDI event.
Definition at line 238 of file alsaevent.h.
NoteOnEvent | ( | const int | ch, |
const int | key, | ||
const int | vel | ||
) |
Constructor using proper attribute values.
ch | MIDI Channel. |
key | MIDI note. |
vel | Note velocity. |
Definition at line 404 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
protectedinherited |
Releases the event record.
Definition at line 372 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
inlineinherited |
Gets the event's channel.
Definition at line 166 of file alsaevent.h.
|
inherited |
Gets the encoded length of the event record.
Definition at line 381 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
inlineinherited |
Gets the handle of the event.
Definition at line 123 of file alsaevent.h.
References CLONE_EVENT_DECLARATION.
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 184 of file alsaevent.h.
|
inherited |
Gets an event's raw 32 bits parameter.
n | The parameter index, between 0 and 2. |
Definition at line 330 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 352 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
inlineinherited |
Gets the nanoseconds of the event's real time.
Definition at line 101 of file alsaevent.h.
|
inlineinherited |
Gets the seconds of the event's real time.
Definition at line 95 of file alsaevent.h.
|
inlineinherited |
Gets the sequencer event type.
Definition at line 69 of file alsaevent.h.
|
inlineinherited |
Gets the source client id.
Definition at line 77 of file alsaevent.h.
|
inlineinherited |
Gets the source port id.
Definition at line 83 of file alsaevent.h.
|
inlineinherited |
Gets the tag of the event.
Definition at line 113 of file alsaevent.h.
|
inlineinherited |
Gets the tick time of the event.
Definition at line 89 of file alsaevent.h.
|
inlineinherited |
Gets the note velocity of this event.
Definition at line 196 of file alsaevent.h.
|
staticinherited |
Checks if the event's type is a Channel Voice message.
event | A SequencerEvent object pointer |
Definition at line 204 of file alsaevent.cpp.
|
staticinherited |
Checks if the event's type is of type client.
event | A SequencerEvent object pointer |
Definition at line 170 of file alsaevent.cpp.
|
staticinherited |
Checks if the event's type is of type connection change.
event | A SequencerEvent object pointer |
Definition at line 184 of file alsaevent.cpp.
|
staticinherited |
Checks if the event's type is of type port.
event | A SequencerEvent object pointer |
Definition at line 156 of file alsaevent.cpp.
|
staticinherited |
Checks if the event's type is a subscription.
event | A SequencerEvent object pointer |
Definition at line 143 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 291 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 279 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 160 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 233 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 268 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 190 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 305 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 341 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 363 of file alsaevent.cpp.
References SequencerEvent::m_event.
|
inherited |
Sets the event's ALSA sequencer type.
eventType | The ALSA sequencer type |
Definition at line 222 of file alsaevent.cpp.
References SequencerEvent::m_event.
Referenced by SystemEvent::SystemEvent(), TextEvent::TextEvent(), and ValueEvent::ValueEvent().
|
inherited |
Sets the event's source port ID.
port | The source port ID |
Definition at line 243 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 315 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 202 of file alsaevent.h.
|
protectedinherited |
ALSA sequencer event record.
Definition at line 142 of file alsaevent.h.
Referenced by ChanPressEvent::ChanPressEvent(), ControllerEvent::ControllerEvent(), SequencerEvent::free(), SequencerEvent::getEncodedLength(), SequencerEvent::getRaw32(), SequencerEvent::getRaw8(), KeyPressEvent::KeyPressEvent(), NoteEvent::NoteEvent(), NoteOffEvent::NoteOffEvent(), NoteOnEvent::NoteOnEvent(), SequencerEvent::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().