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 }