view abcfirstline.py @ 50:e666306c5ab1

Add list of tune first lines. Add a list of tune first lines to the Booke. First, a small Python script to filter a .abc file and spit out just enough to give a graphic of the first line without the title. Then generate these graphics and generate a new section in the Booke with a longtable of tune name and the first line graphic.
author Jim Hague <jim.hague@laicatc.com>
date Sun, 04 Mar 2012 20:16:48 +0000
parents
children 00a1bef43a34
line wrap: on
line source

#!/usr/bin/env python
#
# 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):
    print "X:1"
    for line in inf:
        line = line.strip()
        start = line[:2]
        if start[0] != "|" and start[1] == ":":
            if start[0] in ["M", "K", "L"]:
                print line
        elif start[0] != "%":
            print line
            if line[-1] != "\\":
                break

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)