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

xtWavePreview.h (571B)


      1 #pragma once
      2 
      3 #include "xtState.h"
      4 
      5 namespace dsp56k
      6 {
      7 	class Memory;
      8 }
      9 
     10 namespace xt
     11 {
     12 	class Xt;
     13 
     14 	class WavePreview
     15 	{
     16 	public:
     17 		struct PartData
     18 		{
     19 			std::array<WaveData, 64> waves{};
     20 			std::array<uint16_t, 64> control{};
     21 		};
     22 
     23 		WavePreview(Xt& _xt);
     24 
     25 		bool receiveWave(const SysEx& _data);
     26 		bool receiveWaveControlTable(const SysEx& _data);
     27 		bool receiveWavePreviewMode(const SysEx& _data);
     28 
     29 	private:
     30 		void sendToDSP(const WaveData& _data, uint8_t _part, uint8_t _wave);
     31 
     32 		Xt& m_xt;
     33 		dsp56k::Memory& m_dspMem;
     34 		std::array<PartData, 8> m_partDatas;
     35 	};
     36 }