280 if (message->size() == 0)
284 unsigned char channel = ((*message)[0] & 0x0f) + 1;
285 if (((*message)[0] & 0xf0) == 0x80)
289 if (mii->receivedNote)
290 mii->receivedNote(mii->context, mn);
293 else if (((*message)[0] & 0xf0) == 0x90)
295 unsigned char velocity = (*message)[2];
298 bool isNoteOn = (velocity != 0);
302 if (mii->receivedNote)
303 mii->receivedNote(mii->context, mn);
306 else if (((*message)[0] & 0xf0) == 0xb0)
310 if (mii->receivedController)
311 mii->receivedController(mii->context, mc);
314 else if (((*message)[0] & 0xf0) == 0xe0)
318 if (mii->receivedPitchBend)
319 mii->receivedPitchBend(mii->context, mp);
324 const char *hex =
"0123456789abcdef";
325 std::string messageHex;
326 for (
size_t i = 0; i < message->size(); ++i)
328 messageHex.push_back(hex[(*message)[i] >> 4]);
329 messageHex.push_back(hex[(*message)[i] & 0x0f]);
331 VUserLog(
"Warning: Received unknown message: 0x%s", messageHex.c_str());