12 lines
713 B
Python
12 lines
713 B
Python
import unittest.mock
|
|
from generator import comping, vocabulary, parts
|
|
from generator.arrange import form, generate
|
|
|
|
def section_document(document,part_type):
|
|
prepared=parts.prepare_document(document)
|
|
role={'acoustic':'accompaniment','electric':'melody','vocal':'vocal'}[part_type]
|
|
section=form.ArrangementSection('',0,len(prepared['staves'][0]['measures']),0,role)
|
|
with unittest.mock.patch('generator.arrange.form.full_arrangement_sections',return_value=[section]), vocabulary.using(vocabulary.load(),part_type+'_accompaniment'):
|
|
backing=comping.Canonical(prepared,part_type,'fixture') if part_type=='acoustic' else None
|
|
return generate._arrange_document(prepared,part_type,accompaniment=backing)
|