commands.cpp (4287B)
1 #include "commands.h" 2 3 #include <array> 4 5 #include "baseLib/binarystream.h" 6 7 namespace bridgeLib 8 { 9 std::string commandToString(const Command _command) 10 { 11 std::array<char, 5> temp; 12 commandToBuffer(temp, _command); 13 return {temp.data()}; 14 } 15 16 void commandToBuffer(std::array<char, 5>& _buffer, Command _command) 17 { 18 const auto c = static_cast<uint32_t>(_command); 19 _buffer[0] = static_cast<char>((c >> 24) & 0xff); 20 _buffer[1] = static_cast<char>((c >> 16) & 0xff); 21 _buffer[2] = static_cast<char>((c >> 8) & 0xff); 22 _buffer[3] = static_cast<char>((c) & 0xff); 23 _buffer[4] = 0; 24 } 25 26 baseLib::BinaryStream& Error::write(baseLib::BinaryStream& _s) const 27 { 28 _s.write<uint32_t>(static_cast<uint32_t>(code)); 29 _s.write(msg); 30 return _s; 31 } 32 33 baseLib::BinaryStream& Error::read(baseLib::BinaryStream& _s) 34 { 35 code = static_cast<ErrorCode>(_s.read<uint32_t>()); 36 msg = _s.readString(); 37 return _s; 38 } 39 40 baseLib::BinaryStream& ServerInfo::write(baseLib::BinaryStream& _s) const 41 { 42 _s.write(protocolVersion); 43 _s.write(portUdp); 44 _s.write(portTcp); 45 return _s; 46 } 47 48 baseLib::BinaryStream& ServerInfo::read(baseLib::BinaryStream& _s) 49 { 50 _s.read(protocolVersion); 51 _s.read(portUdp); 52 _s.read(portTcp); 53 return _s; 54 } 55 56 baseLib::BinaryStream& PluginDesc::write(baseLib::BinaryStream& _s) const 57 { 58 _s.write(protocolVersion); 59 _s.write(pluginName); 60 _s.write(pluginVersion); 61 _s.write(plugin4CC); 62 _s.write(sessionId); 63 return _s; 64 } 65 66 baseLib::BinaryStream& PluginDesc::read(baseLib::BinaryStream& _s) 67 { 68 _s.read(protocolVersion); 69 pluginName = _s.readString(); 70 _s.read(pluginVersion); 71 plugin4CC = _s.readString(); 72 _s.read(sessionId); 73 return _s; 74 } 75 76 baseLib::BinaryStream& DeviceCreateParams::read(baseLib::BinaryStream& _s) 77 { 78 _s.read(params.preferredSamplerate); 79 _s.read(params.hostSamplerate); 80 params.romName = _s.readString(); 81 _s.read(params.romData); 82 _s.read(params.romHash); 83 _s.read(params.customData); 84 return _s; 85 } 86 87 baseLib::BinaryStream& DeviceCreateParams::write(baseLib::BinaryStream& _s) const 88 { 89 _s.write(params.preferredSamplerate); 90 _s.write(params.hostSamplerate); 91 _s.write(params.romName); 92 _s.write(params.romData); 93 _s.write(params.romHash); 94 _s.write(params.customData); 95 return _s; 96 } 97 98 baseLib::BinaryStream& DeviceDesc::write(baseLib::BinaryStream& _s) const 99 { 100 _s.write(samplerate); 101 _s.write(outChannels); 102 _s.write(inChannels); 103 _s.write(dspClockPercent); 104 _s.write(dspClockHz); 105 _s.write(latencyInToOut); 106 _s.write(latencyMidiToOut); 107 _s.write(preferredSamplerates); 108 _s.write(supportedSamplerates); 109 return _s; 110 } 111 112 baseLib::BinaryStream& DeviceDesc::read(baseLib::BinaryStream& _s) 113 { 114 _s.read(samplerate); 115 _s.read(outChannels); 116 _s.read(inChannels); 117 _s.read(dspClockPercent); 118 _s.read(dspClockHz); 119 _s.read(latencyInToOut); 120 _s.read(latencyMidiToOut); 121 _s.read(preferredSamplerates); 122 _s.read(supportedSamplerates); 123 return _s; 124 } 125 126 baseLib::BinaryStream& RequestDeviceState::write(baseLib::BinaryStream& _s) const 127 { 128 _s.write(static_cast<uint32_t>(type)); 129 return _s; 130 } 131 132 baseLib::BinaryStream& RequestDeviceState::read(baseLib::BinaryStream& _s) 133 { 134 type = static_cast<synthLib::StateType>(_s.read<uint32_t>()); 135 return _s; 136 } 137 138 baseLib::BinaryStream& DeviceState::write(baseLib::BinaryStream& _s) const 139 { 140 _s.write(static_cast<uint32_t>(type)); 141 _s.write(state); 142 return _s; 143 } 144 145 baseLib::BinaryStream& DeviceState::read(baseLib::BinaryStream& _s) 146 { 147 type = static_cast<synthLib::StateType>(_s.read<uint32_t>()); 148 _s.read(state); 149 return _s; 150 } 151 152 baseLib::BinaryStream& SetSamplerate::write(baseLib::BinaryStream& _s) const 153 { 154 _s.write(samplerate); 155 return _s; 156 } 157 158 baseLib::BinaryStream& SetSamplerate::read(baseLib::BinaryStream& _s) 159 { 160 _s.read(samplerate); 161 return _s; 162 } 163 164 baseLib::BinaryStream& SetUnknownCustomData::write(baseLib::BinaryStream& _s) const 165 { 166 _s.write(data); 167 return _s; 168 } 169 170 baseLib::BinaryStream& SetUnknownCustomData::read(baseLib::BinaryStream& _s) 171 { 172 _s.read(data); 173 return _s; 174 } 175 176 baseLib::BinaryStream& SetDspClockPercent::write(baseLib::BinaryStream& _s) const 177 { 178 _s.write(percent); 179 return _s; 180 } 181 182 baseLib::BinaryStream& SetDspClockPercent::read(baseLib::BinaryStream& _s) 183 { 184 _s.read(percent); 185 return _s; 186 } 187 }