- commit
- 1afa755b98c2e6bfff05ff00d60593d935f67762
- parent
- b4e06ad3d0e0674b706cffb025f64eb2a9c9a9ce
- Author
- Tobias Bengfort <tobias.bengfort@gmx.net>
- Date
- 2012-07-31 17:29
argparse
Diffstat
| M | midi.py | 2 | +- |
| M | xi2.py | 19 | ++++++++++++------- |
2 files changed, 13 insertions, 8 deletions
diff --git a/midi.py b/midi.py
@@ -80,7 +80,7 @@ class Midi: 80 80 def ctrlEvent(self, dt, ctrl, v): 81 81 self.chEvent(dt, 0xB, ch, ctrl, v) 82 8283 -1 def setVol(self, dt, ch, vol=1)-1 83 def setVol(self, dt, ch, vol=1): 84 84 self.ctrlEvent(dt, ch, 0x07, int(vol * 0x7f)) 85 85 86 86 class MidiFile(Midi):
diff --git a/xi2.py b/xi2.py
@@ -1,19 +1,26 @@ 1 1 #!/usr/bin/env python 2 23 -1 import sys4 3 import re 5 4 from iparser import IParser 6 5 from midi import Midi, MidiFile -1 6 import argparse 7 7 8 8 # creates indermediate code from xi2 code 9 9 # and than uses iparser to create midi bytecode 10 10 -1 11 parser = argparse.ArgumentParser() -1 12 parser.add_argument('-t', '--tempo', help="tempo in bpm", default=120, type=int) -1 13 parser.add_argument('-o', '--offset', help="key offset", default=60, type=int) -1 14 parser.add_argument('infile') -1 15 parser.add_argument('outfile') -1 16 args = parser.parse_args() -1 17 11 18 def length(data): 12 19 data = re.sub('{[^}]*}', '', data) 13 20 data = re.sub('\([^\)]*\)', '', data) 14 21 return len(data.split(',')) - 1 15 2216 -1 f = open(sys.argv[1])-1 23 f = open(args.infile) 17 24 lines = f.readlines() 18 25 f.close() 19 26 @@ -52,8 +59,6 @@ ll = re.sub('\\\\n', '\n', ll) 52 59 # remove newlines at the end 53 60 ll = re.sub('\n*$', '', ll) 54 6155 -1 print ll56 -157 62 def parse(t): 58 63 string = ''; 59 64 stack = [[]] @@ -97,7 +102,7 @@ mf = MidiFile() 97 102 98 103 # create first track with meta infos 99 104 m = Midi()100 -1 m.setTempo(25)-1 105 m.setTempo(args.tempo) 101 106 mf.addTrack(m) 102 107 103 108 ch = 0 @@ -109,11 +114,11 @@ for name, track in tracks.iteritems(): 109 114 except ValueError: prog = 0 110 115 m.progCh(0, ch, prog) 111 116 # write data112 -1 ip = IParser(track, ch=ch, offset=76)-1 117 ip = IParser(track, ch=ch, offset=args.offset) 113 118 m += ip.midi 114 119 # write 115 120 mf.addTrack(m) 116 121 ch += 1 117 122 118 123 # write to file119 -1 mf.write('test.mid')-1 124 mf.write(args.outfile)