clap

CLAP Audio Plugin API
Log | Files | Refs | README | LICENSE

commit de3ce04943ef70d9fd7993a0c0e02b79795f916e
parent 60f3b8e6b0dfcd531fa38136ee201bdbb6a0d1bc
Author: Alexandre Bique <bique.alexandre@gmail.com>
Date:   Thu, 29 Sep 2016 18:19:34 +0200

More info for midi parser

Diffstat:
Minclude/clap/helpers/midi-parser.h | 44++++++++++++++++++++++++++++++++++++++++++++
Mtests/midi-parser/midi-parser.c | 2+-
2 files changed, 45 insertions(+), 1 deletion(-)

diff --git a/include/clap/helpers/midi-parser.h b/include/clap/helpers/midi-parser.h @@ -87,6 +87,50 @@ clap_midi_status_name(int status) } } +enum clap_midi_meta +{ + CLAP_MIDI_META_SEQ_NUM = 0x00, + CLAP_MIDI_META_TEXT = 0x01, + CLAP_MIDI_META_COPYRIGHT = 0x02, + CLAP_MIDI_META_TRACK_NAME = 0x03, + CLAP_MIDI_META_INSTRUMENT_NAME = 0x04, + CLAP_MIDI_META_LYRICS = 0x05, + CLAP_MIDI_META_MAKER = 0x06, + CLAP_MIDI_META_CUE_POINT = 0x07, + CLAP_MIDI_META_CHANNEL_PREFIX = 0x20, + CLAP_MIDI_META_END_OF_TRACK = 0x2F, + CLAP_MIDI_META_SET_TEMPO = 0x51, + CLAP_MIDI_META_SMPTE_OFFSET = 0x54, + CLAP_MIDI_META_TIME_SIGNATURE = 0x58, + CLAP_MIDI_META_KEY_SIGNATURE = 0x59, + CLAP_MIDI_META_SEQ_SPECIFIC = 0x7F, +}; + +static const char * +clap_midi_meta_name(int type) +{ + switch (type) { + case CLAP_MIDI_META_SEQ_NUM: return "Sequence Number"; + case CLAP_MIDI_META_TEXT: return "Text"; + case CLAP_MIDI_META_COPYRIGHT: return "Copyright"; + case CLAP_MIDI_META_TRACK_NAME: return "Track Name"; + case CLAP_MIDI_META_INSTRUMENT_NAME: return "Instrument Name"; + case CLAP_MIDI_META_LYRICS: return "Lyrics"; + case CLAP_MIDI_META_MAKER: return "Maker"; + case CLAP_MIDI_META_CUE_POINT: return "Cue Point"; + case CLAP_MIDI_META_CHANNEL_PREFIX: return "Channel Prefix"; + case CLAP_MIDI_META_END_OF_TRACK: return "End of Track"; + case CLAP_MIDI_META_SET_TEMPO: return "Set Tempo"; + case CLAP_MIDI_META_SMPTE_OFFSET: return "SMPTE Offset"; + case CLAP_MIDI_META_TIME_SIGNATURE: return "Time Signature"; + case CLAP_MIDI_META_KEY_SIGNATURE: return "Key Signature"; + case CLAP_MIDI_META_SEQ_SPECIFIC: return "Sequencer Specific"; + + default: return "(unknown)"; + } +} + + struct clap_midi_channel_event { unsigned status : 4; diff --git a/tests/midi-parser/midi-parser.c b/tests/midi-parser/midi-parser.c @@ -56,7 +56,7 @@ void parse_and_dump(struct clap_midi_parser *parser) case CLAP_MIDI_PARSER_TRACK_META: printf("track-meta\n"); printf(" time: %d\n", parser->vtime); - printf(" type: %d\n", parser->meta.type); + printf(" type: %d [%s]\n", parser->meta.type, clap_midi_meta_name(parser->meta.type)); printf(" length: %d\n", parser->meta.length); break;