Mercurial > dottes
view abcfirstline.py @ 697:de5bbf98b1c5 build-default-275
Two more from Nerys - Handlarens Vals and Maguire and Patterson.
Neither came with chords. I've not found and for Handlarens Vals,
and the ones I have found for M&P don't sound too terrific. But add
them now and see if anyone has any better ideas.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Mon, 18 Sep 2017 22:30:16 +0100 |
parents | 1b79867b4f35 |
children |
line wrap: on
line source
#!/usr/bin/env python3 # # Write out a modified version of a .abc file with just the data # to print the first line of the music only. # import sys def process(inf): continued = False print("X:1") for line in inf: line = line.strip() # If it is empty or starts "%", ignore it. if len(line) == 0 or line[0] == "%": continue # Is it a header line? I.e. does it start LETTER (or +) COLON? # If so, output only ones we need. start = line[:2] if len(start) > 1 and start[1] == ":" and (start[0].isalpha() or start[0] == '+'): if start[0] in ["M", "K", "L"]: print(line) # Output line. If it is a continuation, output at most one # continuation. else: print(line) if continued or line[-1] != "\\": break else: continued = True if len(sys.argv) > 1: for arg in sys.argv[1:]: try: inf = open(arg, "r") process(inf) finally: inf.close() else: process(sys.stdin)