22 #include "../messages/messagehandler.h"
23 #include "../messages/messagekeyselectionchanged.h"
24 #include "../messages/messagechangetuningcurve.h"
25 #include "../messages/messagecaluclationprogress.h"
29 mFactoryDescription(desciption),
30 mKeyboard(mPiano.getKeyboard()),
31 mKeys(mKeyboard.getKeys()),
32 mNumberOfKeys(mKeyboard.getNumberOfKeys()),
33 mKeyNumberOfA4(mKeyboard.getKeyNumberOfA4())
46 LogI(
"Start calculation.");
47 MessageHandler::send<MessageCaluclationProgress>
53 MessageHandler::send<MessageKeySelectionChanged>(-1,
nullptr);
55 MessageHandler::send<MessageCaluclationProgress>
57 LogI(
"End of calculation");
63 mKeyboard[keynumber].setComputedFrequency(frequency);
64 MessageHandler::send<MessageChangeTuningCurve>(keynumber,frequency);
81 MessageHandler::send<MessageCaluclationProgress>
101 double start,
double range)
double getRecordedFrequency() const
Get recorded frequency.
virtual void algorithmWorkerFunction()=0
virtual void workerFunction() overridefinal
Virtual worker function, executed within the new thread.
Class describing a single piano key.
Keyboard & mKeyboard
Reference to the keyboard.
static void setThreadName(std::string s)
Specify the name of the thread.
const int mKeyNumberOfA4
Number of A4.
void showCalculationProgress(double fraction)
Transmit the current percentage of progress to the messaging system.
void updateTuningCurve(int keynumber, double frequency)
Algorithm(const Piano &piano, const AlgorithmFactoryDescription &desciption)
const int mNumberOfKeys
The number of keys.