Comping
This commit is contained in:
@@ -17,9 +17,10 @@ def fixture(root):
|
||||
music = tests.test_musicxml.parse(tests.test_musicxml.xml_score(tests.test_musicxml.xml_note()))
|
||||
first = music['staves'][0]['measures'][0]
|
||||
music['staves'][0]['measures'].append(copy.deepcopy(first))
|
||||
music['staves'][0]['measures'].extend({**copy.deepcopy(first), 'ending_sustain': True} for _ in range(3))
|
||||
music['metadata']['song_id'] = 'fixture'
|
||||
pages = [dict(path=f'{i + 1}.png', sha256='0' * 64, first_measure=i + 1, measure_count=1,
|
||||
start_beat=generator.model.rational(i * 4), end_beat=generator.model.rational((i + 1) * 4)) for i in range(2)]
|
||||
pages = [dict(path=f'{i + 1}.png', sha256='0' * 64, first_measure=i + 1, measure_count=1 if i == 0 else 4,
|
||||
start_beat=generator.model.rational(i * 4), end_beat=generator.model.rational(4 if i == 0 else 20)) for i in range(2)]
|
||||
bundle = dict(music=music, presentation=dict(width=976, height=484, pages=pages), performance=generator.performance.timing(music))
|
||||
(root / 'score.json').write_text(json.dumps(bundle))
|
||||
entries = []
|
||||
@@ -73,7 +74,8 @@ class PerformanceTests(unittest.TestCase):
|
||||
bundle = json.loads((root / 'score.json').read_text())
|
||||
generator.performance.validate_pages(bundle['music'], bundle['presentation']['pages'])
|
||||
self.assertEqual([c['downbeat'] for c in bundle['performance']['clicks']], [True, False, False, False] * 2)
|
||||
self.assertEqual(bundle['performance']['duration'], generator.model.rational(8))
|
||||
self.assertEqual(bundle['performance']['duration'], generator.model.rational(20))
|
||||
self.assertEqual(bundle['performance']['sustain_start'], generator.model.rational(8))
|
||||
bundle['presentation']['pages'][1]['start_beat'] = generator.model.rational(3)
|
||||
with self.assertRaisesRegex(ValueError, 'timing'):
|
||||
generator.performance.validate_pages(bundle['music'], bundle['presentation']['pages'])
|
||||
|
||||
Reference in New Issue
Block a user