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

midiToSysex.h (920B)


      1 #pragma once
      2 
      3 #include <vector>
      4 #include <iostream>
      5 #include <cstdint>
      6 
      7 namespace synthLib
      8 {
      9 	class MidiToSysex
     10 	{
     11 	public:
     12 		static bool readFile(std::vector<uint8_t>& _sysexMessages, const char* _filename);
     13 		static void splitMultipleSysex(std::vector<std::vector<uint8_t>>& _dst, const std::vector<uint8_t>& _src, bool _isMidiFileData = false);
     14 		static bool extractSysexFromFile(std::vector<std::vector<uint8_t>>& _messages, const std::string& _filename);
     15 		static bool extractSysexFromData(std::vector<std::vector<uint8_t>>& _messages, const std::vector<uint8_t>& _data);
     16 	private:
     17 		static bool checkChunk(FILE* hFile, const char* _pCompareChunk);
     18 		static uint32_t getChunkLength(FILE* hFile);
     19 		static int32_t readVarLen(FILE* hFile, int* _pNumBytesRead);
     20 		static void readVarLen(uint32_t& _numBytesRead, uint32_t& _result, const uint8_t* _data, size_t _numBytes);
     21 		static bool ignoreChunk(FILE* hFile);
     22 	};
     23 }