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

hdi08List.h (699B)


      1 #pragma once
      2 
      3 #include <vector>
      4 
      5 #include "hdi08Queue.h"
      6 
      7 namespace virusLib
      8 {
      9 	class Hdi08List
     10 	{
     11 	public:
     12 		Hdi08List()
     13 		{
     14 			m_queues.reserve(2);
     15 		}
     16 
     17 		void addHDI08(dsp56k::HDI08& _hdi08);
     18 		bool rxEmpty() const;
     19 		void exec();
     20 		size_t size() const { return m_queues.size(); }
     21 
     22 		dsp56k::HDI08& getHDI08(size_t _index) { return getQueue(_index).get(); }
     23 		Hdi08Queue& getQueue(size_t _index) { return m_queues[_index]; }
     24 
     25 		void writeRX(const dsp56k::TWord* _buf, size_t _length);
     26 
     27 		void writeRX(const std::vector<dsp56k::TWord>& _data)
     28 		{
     29 			writeRX(&_data[0], _data.size());
     30 		}
     31 
     32 		void writeHostFlags(uint8_t _flag0, uint8_t _flag1);
     33 
     34 	private:
     35 		std::vector<Hdi08Queue> m_queues;
     36 	};
     37 }