[sdiy] MIDI bytestream parser

Neil Johnson neil.johnson97 at ntlworld.com
Tue Nov 16 21:07:38 CET 2010


Hi Tom,

> Very interesting, Neil. I've got one or two questions though;

Thanks!

> What's all this 'real' and 'encoded' stuff? Is that what the hash  
> is for? What are you up to?

The MIDI Specification defines the sixteen MIDI channels as '1' to  
'16', however the channel is encoded in status bytes using the values  
0 to 15.  But this is just an implementation detail.  So the 'real'  
and 'encoded' maps between the correct user-view and the internal  
representation.

The hash function compresses the size of the hander table.

> When you do further documentation, I'd appreciate an overview of  
> the general structure or form of the code.

I've uploaded a diagram showing the main flows through the parser.   
Its in "trunk/doc".

> The point is that as well as the microscopic detail, documentation  
> needs to give a macroscopic overview of the basic principles and  
> structure.

I agree to some extent, although given this is a hobby project it is  
expected that the interested reader invests *some* of their own time  
in understanding it!  The main focus for documentation will be on how  
to *use* the parser, not on its internal workings.

Cheers,
Neil
--
http://www.njohnson.co.uk






More information about the Synth-diy mailing list