SynthLab SDK
synthlabcore.h
1 #pragma once
2 
3 #include "synthbase.h"
4 #include "synthfunctions.h"
5 
6 namespace SynthLab
7 {
8 
9  class SynthLabCore : public ModuleCore
10  {
11  public:
13  SynthLabCore(); /* C-TOR */
14 
16  virtual ~SynthLabCore(); /* D-TOR */
17 
18  virtual bool reset(CoreProcData& processInfo);
19  virtual bool update(CoreProcData& processInfo);
20  virtual bool render(CoreProcData& processInfo);
21  virtual bool doNoteOn(CoreProcData& processInfo);
22  virtual bool doNoteOff(CoreProcData& processInfo);
23 
24  protected:
25  double sampleRate = 1.0;
26 
27  // --- FMCORE additions
28  double outputValue = 0.0;
29  double modStrength = 1.0;
30 
31  // --- timebase
32  SynthClock fmOpClock[3];
33 
34  // --- for one shot renders
35  bool renderComplete = false;
36  };
37 
38 
39 
40 } // namespace
41 
bool renderComplete
flag for one-shot
Definition: synthlabcore.h:35
virtual bool render(CoreProcData &processInfo)
Renders the output of the module.
Definition: synthlabcore.cpp:164
virtual bool reset(CoreProcData &processInfo)
Resets object to initialized state.
Definition: synthlabcore.cpp:29
SynthLabCore()
Construction: Cores follow the same construction pattern.
Definition: synthlabcore.cpp:7
virtual bool update(CoreProcData &processInfo)
Updates the object for the next block of audio processing.
Definition: synthlabcore.cpp:41
virtual bool doNoteOn(CoreProcData &processInfo)
Note-on handler for the ModuleCore.
Definition: synthlabcore.cpp:202
Definition: synthlabcore.cpp:4
double sampleRate
sample rate
Definition: synthlabcore.h:31
virtual bool doNoteOff(CoreProcData &processInfo)
Note-off handler for the ModuleCore.
Definition: synthlabcore.cpp:212