| 21 | enum State { EmptyAudioAndMidiRegions = 0, Recording, Processing, PopulatedAudioAndMidiRegions }; |
| 22 | |
| 23 | class NeuralNoteAudioProcessor : public PluginHelpers::ProcessorBase |
| 24 | { |
| 25 | public: |
| 26 | NeuralNoteAudioProcessor(); |
| 27 | |
| 28 | ~NeuralNoteAudioProcessor() override; |
| 29 | |
| 30 | void prepareToPlay(double sampleRate, int samplesPerBlock) override; |
| 31 | |
| 32 | void processBlock(AudioBuffer<float>&, MidiBuffer&) override; |
| 33 | |
| 34 | AudioProcessorEditor* createEditor() override; |
| 35 | |
| 36 | void getStateInformation(MemoryBlock& destData) override; |
| 37 | |
| 38 | void setStateInformation(const void* data, int sizeInBytes) override; |
| 39 | |
| 40 | State getState() const { return mState.load(); } |
| 41 | |
| 42 | void setStateToRecording() { mState.store(Recording); } |
| 43 | |
| 44 | void setStateToProcessing() { mState.store(Processing); } |
| 45 | |
| 46 | void setStateToPopulatedAudioAndMidiRegions() { mState.store(PopulatedAudioAndMidiRegions); } |
| 47 | |
| 48 | void clear(); |
| 49 | |
| 50 | SourceAudioManager* getSourceAudioManager() const; |
| 51 | |
| 52 | Player* getPlayer() const; |
| 53 | |
| 54 | TranscriptionManager* getTranscriptionManager() const; |
| 55 | |
| 56 | std::array<RangedAudioParameter*, ParameterHelpers::TotalNumParams>& getParams(); |
| 57 | |
| 58 | float getParameterValue(ParameterHelpers::ParamIdEnum inParamId) const; |
| 59 | |
| 60 | NeuralNoteMainView* getNeuralNoteMainView() const; |
| 61 | |
| 62 | AudioProcessorValueTreeState& getAPVTS(); |
| 63 | |
| 64 | ValueTree& getValueTree(); |
| 65 | |
| 66 | void addListenerToStateValueTree(ValueTree::Listener* inListener); |
| 67 | |
| 68 | void removeListenerFromStateValueTree(ValueTree::Listener* inListener); |
| 69 | |
| 70 | private: |
| 71 | static ValueTree _createDefaultValueTree(); |
| 72 | |
| 73 | void _updateValueTree(const ValueTree& inNewState); |
| 74 | |
| 75 | // ValueTree for general plugin state |
| 76 | ValueTree mValueTree = _createDefaultValueTree(); |
| 77 | |
| 78 | // Value tree state to pass automatable parameters from UI |
| 79 | AudioProcessorValueTreeState mAPVTS; |
| 80 |
nothing calls this directly
no outgoing calls
no test coverage detected