summaryrefslogtreecommitdiff
path: root/decoders/midi/pd.py
AgeCommit message (Collapse)Author
2016-09-24midi: Add support for complex MIDI message formats (inter-related).Chris
- Handle "Running Status" where status byte can be omitted - SysEx message can be terminated by status byte, not just EOX - Handle SysReal messages that interrupt in-progress message transmission - Identify and print garbage / truncated data - Add 2 new annotations: text-sysreal-verbose and text-error
2016-09-04Updates each annotation with multiple strings ranging from long, medium, and ↵Chris
short lengths
2016-08-23midi: Substantially improve decoding of MIDI messages.Chris Dreher
* Decode note names and percussion names (ex: 'G2', 'Tambourine'). * Decode instrument names and drum_kit names (ex: 'Flute', 'GS Orchestra Kit'). * Handle Polyphonic Pressure / Aftertouch (message 0xAn). * Handle Program Change (message 0xCn). * Handle Channel Pressure / Aftertouch (message 0xDn). * Handle Channel Mode (message 0xBn mm where mm is 120 through 127). * Handle System Common messages (message 0xF1 through 0xF6), including full time code decoding. * SysEx decoding now decodes the 1-3 byte manufacturer field, payload is now displayed as hex. * 'undefined' fields now display the value (ex: 'undefined 0xf4'). * Add 'MSB' and 'LSB' to many control_functions entries. * Fix "trapped in state X" bug with handle_channel_msg_generic(), though this might be dead code. * Fix bug in sysex_manufacturer_ids; 1-byte manufacturers were not tuples due to missing comma. * Fix bug in SysEx decoding state machine; 0xF7 now sent to handle_sysex_msg().
2016-05-15Use consistent __init__() format across all PDs.Uwe Hermann
The previous **kwargs some PDs had is not actually ever used, so drop it.
2014-10-16uart: Emit databyte and bits list at the same time.Uwe Hermann
This will allow for much simpler code in stacked PDs. Adapt stacked PDs to new API.
2014-10-15midi: Fix two incorrect sample numbers.Uwe Hermann
2014-07-15All PDs: Minor whitespace and consistency fixes.Uwe Hermann
- No newlines at the end of files. - No trailing ';' characters. - Comparison with None: Use 'is None' or 'is not None'. - Comparison with True/False: Use 'if cond:' or 'if not cond:'. - Various minor whitespace fixes.
2014-07-09All PDs: Drop unneeded exceptions.Uwe Hermann
In all current PDs it is not necessary to raise an exception upon invalid states (of the PD's state machine), since we can guarantee that no such invalid state can ever be reached in these PDs.
2014-04-15All PDs: Bump api_version to 2.Uwe Hermann
Older libsigrokdecode versions are no longer able to use the current versions of the PDs (various changes in syntax etc).
2014-04-15All PDs: Drop some unneeded comments.Uwe Hermann
2014-03-10Probes, optional probes and annotations now take a tuple.Bert Vermeulen
Annotation entries also consist of a tuple, not a list.
2014-03-10Remove unused probes and optionsBert Vermeulen
2014-01-30s/out_proto/out_python/.Uwe Hermann
The output type is now called OUTPUT_PYTHON, adapt all PDs to that.
2014-01-28All PDs: Consistent naming/case for annotation shortnames/IDs.Uwe Hermann
2014-01-28All PDs: Drop unneeded comments.Uwe Hermann
The single comment re-stating the PD's name / description / purpose in each pd.py file is not really needed, that info is available in the Decoder class' attributes already.
2013-11-15Drop obsolete report() method.Bert Vermeulen
2013-11-15Use the new Decoder.register() APIBert Vermeulen
2013-11-07Rename inter-PD output type to SRD_OUTPUT_PYTHONBert Vermeulen
This better reflects what it is: a python object generated and processed by python code.
2013-10-30The start() method no longer takes a metadata parameterBert Vermeulen
2013-10-06Add initial MIDI protocol decoder.Uwe Hermann
This supports a certain number of MIDI messages already, but not yet all of them. More will be added later.