Updated docs.
Imported improved parser from develop branch and fixed a broken test.
Updated changelog.
Bumped version to 1.0.4.
encode_variable_int() went into an infinite loop if input was negative.
Now raises ValueError instead.
Merged meta message docs from Rapolas.
Changed MidiFile.name to MidiFile.filename. (It makes more sense.)
Fixed an off-by-one error in the docs.
Also added some whitespace and replaced some tabs.
Fixed time_signature denominator default value in docs.
Bumped valid range of smpte_offset hours to 255. (Was 24.)
Tiny changes to meta message docs.
Removed a debugging print().
Added tests for BaseMessage.copy().
Added tests for base ports.
Bugfix: send() raised ValueError when argument was not a message.
Should be TypeError.)
Changed an error type in MidiFile.
Changed some exceptions types.
Improved implementation of Backend and removed name shortcuts. Updated docs.
Added autoreset option to output ports.
Reworked error handling in ports and socket ports.