1
0
Fork 0
pytexbook/update_sets.ly.py

46 lines
1.3 KiB
Python
Raw Permalink Normal View History

#! /usr/bin/env python3
from tunes_db.tune import Tune
from tunes_db.sets import sets
from generate_ly import generate_ly
import os
############################################
# Generate a pdf for each instrument from instrument array
############################################
#TODO: execute lilypond
#TODO: generate full/drums/mid scores
music_root = "/home/ericteunis/projects/pipeband-scoring/music/"
ly_dir = "./ly/sets/"
gen_files = []
for tuneset in sets:
title = "Set " + tuneset.setid + ": " + tuneset.name
print(title, end=None)
set_dir = os.path.join(ly_dir, "set"+tuneset.setid)
instrument_files = {}# holds all successfully generated set *.ly files
for instrument, scores in tuneset.instruments.items():
instrset = generate_ly(title, scores, root=music_root)
if instrset is not False:
if not os.path.isdir(set_dir):
os.makedirs(set_dir)
instrument_files[instrument] = os.path.join(set_dir, instrument+".ly")
# save to file
with open(instrument_files[instrument], 'w') as f:
f.write(instrset)
# execute lilypond
# save the list of generated files
for k,v in instrument_files.items():
gen_files.append(v)
# output a list of all generated files
print(gen_files)