From 7e0dbd06dbecd400a9ea3b05566b757982596e69 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 14 Dec 2016 11:42:10 +0000 Subject: extract track and instrument names from SMF while loading --- libs/evoral/src/libsmf/smf_load.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'libs') diff --git a/libs/evoral/src/libsmf/smf_load.c b/libs/evoral/src/libsmf/smf_load.c index c043c26c97..6bcf14980e 100644 --- a/libs/evoral/src/libsmf/smf_load.c +++ b/libs/evoral/src/libsmf/smf_load.c @@ -812,8 +812,22 @@ parse_mtrk_chunk(smf_track_t *track) break; } - if (event_is_end_of_track(event)) + if (event_is_end_of_track(event)) { break; + } + + if (smf_event_is_metadata (event)) { + switch (event->midi_buffer[1]) { + case 0x03: + track->name = smf_event_extract_text (event); + break; + case 0x04: + track->instrument = smf_event_extract_text (event); + break; + default: + break; + } + } } track->file_buffer = NULL; -- cgit v1.2.3