19#ifndef DRUMSTICK_PLAYTHREAD_H
20#define DRUMSTICK_PLAYTHREAD_H
24#include <QReadWriteLock>
33#if defined(DRUMSTICK_STATIC)
34#define DRUMSTICK_ALSA_EXPORT
36#if defined(drumstick_alsa_EXPORTS)
37#define DRUMSTICK_ALSA_EXPORT Q_DECL_EXPORT
39#define DRUMSTICK_ALSA_EXPORT Q_DECL_IMPORT
64 virtual void run()
override;
110 void start( QThread::Priority priority = InheritPriority );
113 virtual void sendEchoEvent(
int tick);
115 virtual void drainOutput();
116 virtual void syncOutput();
117 virtual bool stopRequested();
Classes managing ALSA Sequencer events.
The QThread class provides platform-independent threads.
Base class for the event's hierarchy.
Sequence player auxiliary class.
void playbackStopped()
Signal emitted when the play-back has stopped.
virtual SequencerEvent * nextEvent()=0
Gets the next event in the sequence.
virtual unsigned int getInitialPosition()
Gets the initial position in ticks of the sequence.
int m_QueueId
MidiQueue numeric identifier.
MidiClient * m_MidiClient
MidiClient instance pointer.
bool m_Stopped
Stopped status.
void playbackFinished()
Signal emitted when the sequence play-back has finished.
pollfd * m_pfds
Array of pollfd pointers.
QReadWriteLock m_mutex
Mutex object used for synchronization.
MidiQueue * m_Queue
MidiQueue instance pointer.
virtual bool hasNext()=0
Check if there is one more event in the sequence.
virtual unsigned int getEchoResolution()
Gets the echo event resolution in ticks.
int m_npfds
Number of pollfd pointers.
int m_PortId
MidiPort numeric identifier.