Krotos Modules 3
Loading...
Searching...
No Matches
Kwidget_Recorder.h
Go to the documentation of this file.
1namespace krotos
2{
3 class Kwidget_Recorder : public Kwidget
4 {
5 public:
6 // broadcaster class for sending messages
7 class Listener
8 {
9 public:
10 virtual ~Listener() = default;
12 virtual void notifyPerformingState(bool isPerforming) = 0;
14 virtual void notifyFinishedPerformingState(bool isFinishedPerforming) = 0;
15 };
16 void addListener(Listener* listenerToAdd);
17 void removeListener(Listener* listenerToRemove);
18
20 {
21 // static const String Example;
22 // static const String Custom;
23 };
24
25 Kwidget_Recorder(const String& id);
26
29
30 String getTopFilename();
31 void addFilename(String filename) { m_dragAndDropFilenames.add(std::make_unique<String>(filename)); }
32
37 void handleMidiMessages(MidiBuffer& midiMessages);
38
43 void setActive(bool activeState);
44
46 bool getActive() { return m_active; };
47
52 void setDraggable(bool draggableState);
53
55 bool getDraggable() { return m_draggable; };
56
58 File fetchRecordedFile();
59
64 void setPresetName(String newPresetName);
65
66 protected:
67 std::vector<ParameterInfo> createParameters() override;
68 std::unique_ptr<KwidgetProcessor> createProcessor() override;
69 std::unique_ptr<KwidgetGUI> createGUI() override;
70
71 private:
72 // call listeners
73 void setPerformingState(bool isPerforming);
74 void setFinishedPerformingState(bool isFinishedPerforming);
75 ListenerList<Listener> m_listeners;
76
77 OwnedArray<String> m_dragAndDropFilenames;
78 bool m_active{false};
79 bool m_draggable{false};
81
83
84 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(Kwidget_Recorder)
85 };
86} // namespace krotos
Definition Kwidget_Recorder.h:8
virtual void notifyFinishedPerformingState(bool isFinishedPerforming)=0
virtual void notifyPerformingState(bool isPerforming)=0
Definition Kwidget_Recorder.h:4
bool m_active
Definition Kwidget_Recorder.h:78
void handleMidiMessages(MidiBuffer &midiMessages)
Definition Kwidget_Recorder.cpp:92
bool getActive()
Definition Kwidget_Recorder.h:46
void setPresetName(String newPresetName)
Definition Kwidget_Recorder.cpp:41
std::unique_ptr< KwidgetProcessor > createProcessor() override
Definition Kwidget_Recorder.cpp:75
std::unique_ptr< KwidgetGUI > createGUI() override
Definition Kwidget_Recorder.cpp:80
File fetchRecordedFile()
Definition Kwidget_Recorder.cpp:116
OwnedArray< String > m_dragAndDropFilenames
Definition Kwidget_Recorder.h:77
void addListener(Listener *listenerToAdd)
Definition Kwidget_Recorder.cpp:32
bool m_draggable
Definition Kwidget_Recorder.h:79
RecorderDropName m_recordDragAndDropName
Definition Kwidget_Recorder.h:82
std::vector< ParameterInfo > createParameters() override
Definition Kwidget_Recorder.cpp:68
void triggerRecordingStateListenerCallback()
Definition Kwidget_Recorder.cpp:54
Kwidget_Recorder(const String &id)
Definition Kwidget_Recorder.cpp:3
void addFilename(String filename)
Definition Kwidget_Recorder.h:31
int m_activeVoices
Definition Kwidget_Recorder.h:80
void setDraggable(bool draggableState)
Definition Kwidget_Recorder.cpp:62
void setActive(bool activeState)
Definition Kwidget_Recorder.cpp:56
bool getDraggable()
Definition Kwidget_Recorder.h:55
void setFinishedPerformingState(bool isFinishedPerforming)
Definition Kwidget_Recorder.cpp:48
void removeListener(Listener *listenerToRemove)
Definition Kwidget_Recorder.cpp:34
ListenerList< Listener > m_listeners
Definition Kwidget_Recorder.h:75
String getTopFilename()
Definition Kwidget_Recorder.cpp:82
void setPerformingState(bool isPerforming)
Definition Kwidget_Recorder.cpp:43
Definition Kwidget.h:8
Definition RecorderDropName.h:14
Definition AirAbsorptionFilter.cpp:2
Definition Kwidget_Recorder.h:20