midi2-dev / MIDI2.0Workbench

MIDI 2.0 Testing Tool
MIT License
45 stars 5 forks source link

Is the reserved area handled correctly when generating a MUID? #14

Open RyoSusami opened 2 months ago

RyoSusami commented 2 months ago

sendDiscovery() in /libs/midici.js this._muid = getRandomInt(0xFFFFF00);

getRandomInt() in /libs/utils.js return Math.floor(Math.random() * Math.floor(max+1));

Does this mean the generated value will include 0x0FFFFF00 ?

On the other hand, the specifications... https://amei.or.jp/midistandardcommittee/MIDI2.0/MIDI2.0-DOCS/M2-101-UM_v1-2_MIDI-CI_Specification.pdf 3.3 MIDI-CI MUID The values 0x0FFFFF00 to 0x0FFFFFFE are reserved.

0x0FFFFF00 looks like it should not be used.

Please ignore if I misunderstood. Thank you.

starfishmod commented 2 months ago

@RyoSusami yes you are correct. It should be getRandomInt(0xFFFFEFF) <-- One less than what it was.
Granted the chances of it ever getting 0xFFFFF00 is very very very rare :)

I'll add a fix in the next release - thanks!