diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-12-15 17:23:44 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-12-16 09:36:52 +0000 |
commit | fe0761d404f9d036acb5a825561c733e2e14d8b4 (patch) | |
tree | 7a573590c05a47f35d834bdd7ce065325d0c6310 /libs/evoral | |
parent | 76dca432f0eeaff18afae8463813280337887bbb (diff) |
unused but slightly tricky code to add track name/instrument to an SMF file when saved
Diffstat (limited to 'libs/evoral')
-rw-r--r-- | libs/evoral/src/libsmf/smf_save.c | 26 |
1 files changed, 26 insertions, 0 deletions
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) |