From fe0761d404f9d036acb5a825561c733e2e14d8b4 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 15 Dec 2016 17:23:44 +0000 Subject: unused but slightly tricky code to add track name/instrument to an SMF file when saved --- libs/evoral/src/libsmf/smf_save.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'libs/evoral') diff --git a/libs/evoral/src/libsmf/smf_save.c b/libs/evoral/src/libsmf/smf_save.c index 6463955dba..555881ab08 100644 --- a/libs/evoral/src/libsmf/smf_save.c +++ b/libs/evoral/src/libsmf/smf_save.c @@ -382,6 +382,32 @@ write_track(smf_track_t *track) if (ret) return (ret); + if (track->name) { + printf ("save track name [%s]\n", track->name); + smf_event_t *ev = smf_event_new_textual (0x03, track->name); + ev->delta_time_pulses = 0; /* time zero */ + ev->track = track; + ret = write_event (ev); + ev->track = 0; + smf_event_delete (ev); + if (ret) { + return ret; + } + } + + if (track->instrument) { + printf ("save track instrument [%s]\n", track->instrument); + smf_event_t *ev = smf_event_new_textual (0x04, track->instrument); + ev->delta_time_pulses = 0; /* time zero */ + ev->track = track; + ret = write_event (ev); + ev->track = 0; + smf_event_delete (ev); + if (ret) { + return ret; + } + } + while ((event = smf_track_get_next_event(track)) != NULL) { ret = write_event(event); if (ret) -- cgit v1.2.3