xi2

a plain text language that compiles to MIDI
git clone https://git.ce9e.org/xi2.git

commit
322a09be2976cdf60a89616840d85875f580d0c9
parent
e7f2ff34cb5450621c58560a3f2b9ccf9275ab91
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2023-09-18 15:37
style: two spaces before comment

Diffstat

M iparser.py 10 +++++-----
M midi.py 18 +++++++++---------

2 files changed, 14 insertions, 14 deletions


diff --git a/iparser.py b/iparser.py

@@ -23,14 +23,14 @@ class IParser:
   23    23         return a
   24    24 
   25    25     def parse_el(self, e):
   26    -1         if e.isdigit(): # note
   -1    26         if e.isdigit():  # note
   27    27             self.midi.note_on(self.dt, self.ch, self.offset+int(e), 1)
   28    28             self.dt = self.dt_step()
   29    -1         elif e == '-': # continue
   -1    29         elif e == '-':  # continue
   30    30             self.dt += self.dt_step()
   31    -1         elif e == '': # break
   -1    31         elif e == '':  # break
   32    32             self.dt += self.dt_step()
   33    -1         else: # lyrics
   -1    33         else:  # lyrics
   34    34             self.midi.lyrics(self.dt, e.replace('_', ' '))
   35    35             self.dt = self.dt_step()
   36    36 
@@ -72,7 +72,7 @@ class IParser:
   72    72             if e == '-':
   73    73                 self.stop()
   74    74             elif e == '':
   75    -1                 pass # already stopped
   -1    75                 pass  # already stopped
   76    76             elif e.isdigit():
   77    77                 self.midi.note_off(self.dt, self.ch, self.offset+int(e), 1)
   78    78                 self.dt = 0

diff --git a/midi.py b/midi.py

@@ -91,16 +91,16 @@ class MidiFile(Midi):
   91    91 
   92    92     def update(self):
   93    93         self._buf = ''
   94    -1         self.write_fixed(0x4D546864, 4) # chunk ID "MThd"
   95    -1         self.write_fixed(6, 4) # chunk size
   96    -1         self.write_fixed(1, 2) # format type
   97    -1         self.write_fixed(len(self._tracks), 2) # numer of tracks
   98    -1         self.write_fixed(TIME_DEVISION, 2) # time devision
   -1    94         self.write_fixed(0x4D546864, 4)  # chunk ID "MThd"
   -1    95         self.write_fixed(6, 4)  # chunk size
   -1    96         self.write_fixed(1, 2)  # format type
   -1    97         self.write_fixed(len(self._tracks), 2)  # numer of tracks
   -1    98         self.write_fixed(TIME_DEVISION, 2)  # time devision
   99    99         for track in self._tracks:
  100    -1             self.write_fixed(0x4D54726B, 4) # chunk ID "MTtr"
  101    -1             self.write_fixed(len(track._buf)+4, 4) # chunk size
   -1   100             self.write_fixed(0x4D54726B, 4)  # chunk ID "MTtr"
   -1   101             self.write_fixed(len(track._buf)+4, 4)  # chunk size
  102   102             self._buf += track._buf
  103    -1             self.meta_event(0, 0x2f, 0, '') # end_track event
   -1   103             self.meta_event(0, 0x2f, 0, '')  # end_track event
  104   104 
  105   105     def add_track(self, data, update=True):
  106   106         self._tracks.append(data)
@@ -114,7 +114,7 @@ if __name__ == '__main__':
  114   114     f.add_track(Midi())
  115   115     t = Midi()
  116   116     t.set_vol(0, 1, 1)
  117    -1     t.ctrl_event(0, 1, 0x00, 0) # setting bank
   -1   117     t.ctrl_event(0, 1, 0x00, 0)  # setting bank
  118   118     t.note_on(0.5, 1, 60)
  119   119     t.note_off(1, 1, 60)
  120   120     t.note_on(0, 1, 62)