Aviate Audio Multiverse Library
TunerManager.h
1 #pragma once
2 #ifndef AVIATE_TUNERMANAGER_H_
3 #define AVIATE_TUNERMANAGER_H_
4 
5 #include <memory>
6 #include "Aviate/ForwardDeclares.h"
7 
8 namespace Aviate {
9 
11 enum class TunerNote : unsigned {
12  C_NATURAL = 0,
13  C_SHARP_D_FLAT,
14  D_NATURAL,
15  D_SHARP_E_FLAT,
16  E_NATURAL,
17  F_NATURAL,
18  F_SHARP_G_FLAT,
19  G_NATURAL,
20  G_SHARP,A_FLAT,
21  A_NATURAL,
22  A_SHARP_B_FLAT,
23  B_NATURAL,
24  NO_DETECT
25 };
26 
31 class TunerManager {
32 public:
33  TunerManager() = delete;
34  TunerManager(Avalon::AvalonHardwareControls& hardwareControls); //< DO NOT USE. Use tunerManagerPtr instead
35  virtual ~TunerManager();
36 
39  void setTunerMode(bool enabled);
40 
43  bool getTunerMode();
44 
50  void sendNoteUpdate(TunerNote note, float cents, bool noFiltering = false);
51 
52 private:
53  struct impl;
54  std::unique_ptr<impl> pimpl;
55 };
56 
58 
59 } // namespace Aviate
60 #endif // AVIATE_TUNERMANAGER_H_
The TunerManager class provides an API to access the Tuner display on the Multiverse hardware screen.
Definition: TunerManager.h:31
bool getTunerMode()
Retrieve the tuner mode.
void sendNoteUpdate(TunerNote note, float cents, bool noFiltering=false)
Send an update to the tuner display.
void setTunerMode(bool enabled)
Set the TunerMode on the display to on or off.
The Aviate library/namespace provides the primary API for working with Multiverse.
Definition: AudioEffectWrapper.h:24
TunerNote
enum to specify detected notes to the TunerManager
Definition: TunerManager.h:11
TunerManager * tunerManagerPtr
pointer to global TunerManager pointer