gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

wDevice.h (883B)


      1 #pragma once
      2 
      3 #include "synthLib/device.h"
      4 #include "synthLib/midiBufferParser.h"
      5 
      6 namespace dsp56k
      7 {
      8 	class EsxiClock;
      9 }
     10 
     11 namespace wLib
     12 {
     13 	class Device : public synthLib::Device
     14 	{
     15 	public:
     16 		explicit Device(const synthLib::DeviceCreateParams& _params);
     17 		bool setDspClockPercent(uint32_t _percent) override;
     18 		uint32_t getDspClockPercent() const override;
     19 		uint64_t getDspClockHz() const override;
     20 
     21 	protected:
     22 		virtual dsp56k::EsxiClock* getDspEsxiClock() const = 0;
     23 		void process(const synthLib::TAudioInputs& _inputs, const synthLib::TAudioOutputs& _outputs, size_t _size, const std::vector<synthLib::SMidiEvent>& _midiIn, std::vector<synthLib::SMidiEvent>& _midiOut) override;
     24 
     25 		std::vector<uint8_t>				m_midiOutBuffer;
     26 		synthLib::MidiBufferParser			m_midiOutParser;
     27 		std::vector<synthLib::SMidiEvent>	m_customSysexOut;
     28 		uint32_t							m_numSamplesProcessed = 0;
     29 	};
     30 }