SysEx documentation v_0 v0.1
authorFrantišek Kučera <franta-hg@frantovo.cz>
Tue, 19 May 2020 17:31:26 +0200
branchv_0
changeset 3 51a8362261a9
parent 2 a84830179027
child 4 dfd422ad13d3
SysEx documentation
mt-32-display.cpp
--- a/mt-32-display.cpp	Tue May 19 17:04:22 2020 +0200
+++ b/mt-32-display.cpp	Tue May 19 17:31:26 2020 +0200
@@ -45,6 +45,19 @@
  */
 int main(int argc, char**argv) {
 	std::cout << "f0 41 10 16 12 20 00 00 ";
+	// f0 = start of SysEx message
+	// 41 = Roland manufacturer ID, see https://www.midi.org/specifications-old/item/manufacturer-id-numbers
+	// 10 = device ID
+	// 16 = model ID
+	// 12 = command ID
+	// 20 00 00 = show message on the display
+
+	// The start and end of the SysEx message and the manufacturer ID are part of the MIDI standard.
+	// The rest of the bytes is Roland specific.
+
+	// TODO: allow changing device ID to support controlling multiple devices in daisy-chain
+	// TODO: allow custom replacement character ('.')
+
 	std::cout << std::hex << std::setfill('0');
 
 	int sum = 0;
@@ -63,7 +76,9 @@
 	sum %= 128;
 	sum = 128 - sum;
 	std::cout << std::setw(2) << sum;
+
 	std::cout << " f7";
+	// f7 = end of SysEx message
 
 	std::cout << std::endl;
 	return 0;