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 351a8362261a9
parent 2 a84830179027
child 4 dfd422ad13d3
SysEx documentation
mt-32-display.cpp
     1.1 --- a/mt-32-display.cpp	Tue May 19 17:04:22 2020 +0200
     1.2 +++ b/mt-32-display.cpp	Tue May 19 17:31:26 2020 +0200
     1.3 @@ -45,6 +45,19 @@
     1.4   */
     1.5  int main(int argc, char**argv) {
     1.6  	std::cout << "f0 41 10 16 12 20 00 00 ";
     1.7 +	// f0 = start of SysEx message
     1.8 +	// 41 = Roland manufacturer ID, see https://www.midi.org/specifications-old/item/manufacturer-id-numbers
     1.9 +	// 10 = device ID
    1.10 +	// 16 = model ID
    1.11 +	// 12 = command ID
    1.12 +	// 20 00 00 = show message on the display
    1.13 +
    1.14 +	// The start and end of the SysEx message and the manufacturer ID are part of the MIDI standard.
    1.15 +	// The rest of the bytes is Roland specific.
    1.16 +
    1.17 +	// TODO: allow changing device ID to support controlling multiple devices in daisy-chain
    1.18 +	// TODO: allow custom replacement character ('.')
    1.19 +
    1.20  	std::cout << std::hex << std::setfill('0');
    1.21  
    1.22  	int sum = 0;
    1.23 @@ -63,7 +76,9 @@
    1.24  	sum %= 128;
    1.25  	sum = 128 - sum;
    1.26  	std::cout << std::setw(2) << sum;
    1.27 +
    1.28  	std::cout << " f7";
    1.29 +	// f7 = end of SysEx message
    1.30  
    1.31  	std::cout << std::endl;
    1.32  	return 0;