#!/usr/bin/env python3 # -*- coding: utf-8 -*- import sys import os import time from reportlab.lib.units import mm, cm, inch, pica from reportlab.lib.pagesizes import A4, A5, LETTER, LEGAL from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont from chordsheet.common import scriptDir from chordsheet.document import Document, Style, Chord, Block, Section from chordsheet.render import Renderer from chordsheet.parsers import parseFingering, parseName import _version pdfmetrics.registerFont( TTFont('FreeSans', os.path.join(scriptDir, 'fonts', 'FreeSans.ttf'))) if sys.platform == "darwin": pdfmetrics.registerFont( TTFont('HelveticaNeue', 'HelveticaNeue.ttc', subfontIndex=0)) if len(sys.argv) == 2: inputFilePath = sys.argv[1] else: print("Please provide a .cml, .xml, or .cma file to process.") sys.exit() doc = Document() if inputFilePath[-4:] == ".cma": doc.loadCSMacro(inputFilePath) else: doc.loadXML(inputFilePath) style = Style() renderer = Renderer(doc, style) outputFilePath = ".".join(inputFilePath.split(".")[:-1]) + ".pdf" renderer.savePDF(outputFilePath)