- commit
- b32777d7c1e30cbfaa70c20f250c0a2ab086b6ae
- parent
- bdda87bc720b6ca7dc59d3f1efd4e6fe039d1220
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2023-09-18 21:37
midi: support writing strings
Diffstat
| M | midi.py | 6 | +++++- |
| M | xi2.py | 2 | +- |
2 files changed, 6 insertions, 2 deletions
diff --git a/midi.py b/midi.py
@@ -45,6 +45,10 @@ class Midi: 45 45 self.write_variable(length) 46 46 self.write_fixed(data, length) 47 47 -1 48 def meta_event_str(self, dt, event, s): -1 49 data = s.encode('ascii') -1 50 self.meta_event(dt, event, len(data), data) -1 51 48 52 def system_exclusive(self, dt, length, data): 49 53 self.write_variable(int(dt * TIME_DEVISION)) 50 54 self.write_fixed(0xf0, 1) @@ -63,7 +67,7 @@ class Midi: 63 67 self.ch_event(dt, 0x8, ch, key, int(vol * 0x7f)) 64 68 65 69 def lyrics(self, dt, s):66 -1 self.meta_event(dt, 0x05, len(s), s)-1 70 self.meta_event_str(dt, 0x05, s) 67 71 68 72 def prog_ch(self, dt, ch, prog): 69 73 self.ch_event(dt, 0xc, ch, prog)
diff --git a/xi2.py b/xi2.py
@@ -112,7 +112,7 @@ ch = 0 112 112 for name, track in tracks.items(): 113 113 m = midi.Midi() 114 114 # write meta info115 -1 m.meta_event(0, 0x04, len(name), name)-1 115 m.meta_event_str(0, 0x04, name) 116 116 try: 117 117 prog = int(name) 118 118 except ValueError: