![]() |
Just Intonation
Version 1.3.1 (19)
Explore key-independent dynamically adapting tuning in just intonation
|
Universal base class for threaded modules. More...
#include <threadbase.h>
Public Member Functions | |
ThreadBase () | |
Constructor. More... | |
~ThreadBase () | |
Destructor, stops the thread if it is still running. More... | |
virtual bool | init () |
Virtual initialization function (no functionality here) More... | |
virtual bool | exit () |
Virtual exit function (no functionality here) More... | |
virtual bool | start () |
Start the thread. More... | |
virtual bool | stop () |
Stop the thread. More... | |
virtual void | suspend () |
Mark the thread as suspended. More... | |
virtual void | resume () |
Resume from the suspend mode. More... | |
bool | isActive () const |
Return true if thread is running and not suspended. More... | |
void | setVerbosity (int verbosity) |
Set verbosity level of messages. More... | |
int | getVerbosity () |
Get verbosity level. More... | |
QString | getThreadName () const |
Get thread name. More... | |
Protected Member Functions | |
virtual void | initiallyCalledWorker () |
Virtual worker function called when the thread is starting. More... | |
virtual void | finallyCalledWorker () |
Virtual worker function called when the thread stops. More... | |
virtual void | periodicallyCalledWorker () |
Virtual worker function called periodically from the timer. More... | |
void | setPriority (const QThread::Priority p) |
Set thread priority. More... | |
void | setTimerInterval (const int msec, const int firstMsec=0) |
Set timer interval for the periodically called worker. More... | |
void | setThreadName (const QString name) |
Set thread name (Linux only) More... | |
bool | isInterruptionRequested () const |
Return true if the thread was requested to interrupt or terminate. More... | |
Private Slots | |
virtual void | timeout () |
Private timeout slot called by the worker. More... | |
Private Attributes | |
ThreadWorker | mThreadWorker |
Instance of the worker. More... | |
bool | mSuspended |
Flag indicating suspended state. More... | |
Friends | |
class | ThreadWorker |
Allow ThreadWorker to access the private elements of this class. More... | |
Universal base class for threaded modules.
This wrapper class provides an easy way to run derived classes in an independent thread in an exec loop. It ensures that slots are automatically executed in the new thread.
Definition at line 60 of file threadbase.h.
ThreadBase::ThreadBase | ( | ) |
Constructor.
Definition at line 35 of file threadbase.cpp.
ThreadBase::~ThreadBase | ( | ) |
Destructor, stops the thread if it is still running.
Definition at line 49 of file threadbase.cpp.
|
inlinevirtual |
Virtual exit function (no functionality here)
Reimplemented in AudioOutput.
Definition at line 71 of file threadbase.h.
|
inlineprotectedvirtual |
Virtual worker function called when the thread stops.
Reimplemented in Tuner, and AudioOutput.
Definition at line 87 of file threadbase.h.
QString ThreadBase::getThreadName | ( | ) | const |
Get thread name.
Definition at line 132 of file threadbase.cpp.
|
inline |
Get verbosity level.
Definition at line 80 of file threadbase.h.
|
inlinevirtual |
Virtual initialization function (no functionality here)
Reimplemented in Tuner, AudioOutput, and SoundGenerator.
Definition at line 70 of file threadbase.h.
|
inlineprotectedvirtual |
Virtual worker function called when the thread is starting.
Reimplemented in Tuner, and AudioOutput.
Definition at line 85 of file threadbase.h.
bool ThreadBase::isActive | ( | ) | const |
Return true if thread is running and not suspended.
Definition at line 136 of file threadbase.cpp.
|
protected |
Return true if the thread was requested to interrupt or terminate.
Definition at line 128 of file threadbase.cpp.
|
inlineprotectedvirtual |
Virtual worker function called periodically from the timer.
Reimplemented in Tuner, and AudioDeviceGuard.
Definition at line 89 of file threadbase.h.
|
virtual |
Resume from the suspend mode.
Restart the timer and clear the mSuspended flag
Reimplemented in MidiPlayer.
Definition at line 99 of file threadbase.cpp.
|
protected |
Set thread priority.
Definition at line 109 of file threadbase.cpp.
|
protected |
Set thread name (Linux only)
Definition at line 121 of file threadbase.cpp.
|
protected |
Set timer interval for the periodically called worker.
Definition at line 117 of file threadbase.cpp.
void ThreadBase::setVerbosity | ( | int | verbosity | ) |
Set verbosity level of messages.
Definition at line 113 of file threadbase.cpp.
|
virtual |
Start the thread.
Starts the thread. If the thread is suspended it will resume. If the thread is already started the function does nothing.
Reimplemented in Tuner, and AudioOutput.
Definition at line 64 of file threadbase.cpp.
|
virtual |
Stop the thread.
Send a termination request to the execution loop. Wait for the thread to terminate. The active components of the thread should call isInterruptionRequested() and quit immediately if this function is true.
Reimplemented in MidiPlayer, AudioOutput, and Instrument.
Definition at line 152 of file threadbase.cpp.
|
virtual |
Mark the thread as suspended.
Calling this function tells the thread that it has to wait in some sort of standby. Note that the thread itself is not terminated and that the event loop is still active. Calling this function stops the timer so that the periodicallyCalledWorker() is not active any more. In addition the mSuspended flag is set.
Reimplemented in MidiPlayer, and SoundGenerator.
Definition at line 84 of file threadbase.cpp.
|
privatevirtualslot |
Private timeout slot called by the worker.
This slot is called periodically by the timer of the worker. If the thread is not suspended it calles the user-defined virtual function periodicallyCalledWorker();
Definition at line 169 of file threadbase.cpp.
|
friend |
Allow ThreadWorker to access the private elements of this class.
Definition at line 65 of file threadbase.h.
|
private |
Flag indicating suspended state.
Definition at line 100 of file threadbase.h.
|
private |
Instance of the worker.
Definition at line 99 of file threadbase.h.