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

xtMidi.cpp (530B)


      1 #include "xtMidi.h"
      2 
      3 #include "synthLib/midiTypes.h"
      4 
      5 namespace xt
      6 {
      7 	SciMidi::SciMidi(XtUc& _uc) : hwLib::SciMidi(_uc.getQSM(), 40000), m_romWaves(_uc)
      8 	{
      9 	}
     10 
     11 	void SciMidi::write(const synthLib::SMidiEvent& _e)
     12 	{
     13 		if (m_romWaves.receiveSysEx(m_results, _e.sysex))
     14 			return;
     15 
     16 		hwLib::SciMidi::write(_e);
     17 	}
     18 
     19 	void SciMidi::read(std::vector<uint8_t>& _result)
     20 	{
     21 		hwLib::SciMidi::read(_result);
     22 
     23 		for (const auto& result : m_results)
     24 			_result.insert(_result.end(), result.begin(), result.end());
     25 		m_results.clear();
     26 	}
     27 }