Entropy Piano Tuner  1.1.3 (documentation not yet complete)
An open-source experimental software for piano tuning by entropy minimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
recordingmanager.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright 2015 Haye Hinrichsen, Christoph Wick
3  *
4  * This file is part of Entropy Piano Tuner.
5  *
6  * Entropy Piano Tuner is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * Entropy Piano Tuner is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14  * more details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * Entropy Piano Tuner. If not, see http://www.gnu.org/licenses/.
18  *****************************************************************************/
19 
20 //=============================================================================
21 // Recording manager
22 //=============================================================================
23 
24 #ifndef RECORDINGMANAGER_H
25 #define RECORDINGMANAGER_H
26 
27 #include "../../messages/messagelistener.h"
28 #include "audiorecorderadapter.h"
29 
37 
39 {
40 public:
41  RecordingManager (AudioRecorderAdapter *audioRecorder);
42 
43  void init () {};
44  void exit () {};
45 
46 private:
47  virtual void handleMessage(MessagePtr m);
48 
50  const Piano* mPiano;
52  const Key* mSelectedKey;
55 
56  const double FPS_FAST = 30;
57  const double FPS_SLOW = 15;
58 
60 };
61 
62 #endif // RECORDINGMANAGER_H
std::shared_ptr< Message > MessagePtr
Global type of a shared message pointer.
Definition: message.h:98
Abstract adapter class for recording audio signals.
OperationMode
Operation mode of the tuner.
Definition: prerequisites.h:66
Recording manager.
virtual void handleMessage(MessagePtr m)
Listen to messages and take action accordingly.
const double FPS_SLOW
Stroboscopic fps during non-recording.
const Key * mSelectedKey
Currently selected key.
Class describing a single piano key.
Definition: key.h:45
void updateStroboscopicFrequencies()
Update the stroboscopic frequencies.
const Piano * mPiano
Poitner to the actual piano.
Definition: piano.h:40
int mNumberOfSelectedKey
Number of actually selected key.
const double FPS_FAST
Stroboscopic fps during recording.
RecordingManager(AudioRecorderAdapter *audioRecorder)
int mKeyNumberOfA4
Total number of keys.
OperationMode mOperationMode
Current operation mode.
AudioRecorderAdapter * mAudioRecorder
Pointer to the audio device.