You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							43 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							43 lines
						
					
					
						
							1.1 KiB
						
					
					
				
								#!/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)
							 |