summaryrefslogtreecommitdiff
path: root/libs/evoral
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-12-15 17:23:44 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2016-12-16 09:36:52 +0000
commitfe0761d404f9d036acb5a825561c733e2e14d8b4 (patch)
tree7a573590c05a47f35d834bdd7ce065325d0c6310 /libs/evoral
parent76dca432f0eeaff18afae8463813280337887bbb (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.c26
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)