@@ -26,8 +26,9 @@ import generator.model
|
||||
import generator.musicxml
|
||||
import generator.musicxml_writer
|
||||
import generator.pico_artwork
|
||||
import generator.performance
|
||||
import generator.pitch
|
||||
import generator.playback
|
||||
import tests.score_events
|
||||
import tests.arrangement_fixtures
|
||||
import generator.score
|
||||
import generator.theme
|
||||
@@ -71,7 +72,7 @@ class ScoreBundleTests(unittest.TestCase):
|
||||
for start, end in ((0, 4), (4, 8)):
|
||||
system = generator.engraving.layout.make_system(index, start, end, fonts, generator.engraving.types.Style())
|
||||
self.assertTrue(any(p.role == 'tie' and len(p.sources) == 2 for p in system.primitives))
|
||||
self.assertEqual([generator.model.fraction(e['duration']) for e in generator.playback.compile_timeline(source)['events']], [8])
|
||||
self.assertEqual([generator.model.fraction(e['duration']) for e in tests.score_events.timeline(source)['events']], [8])
|
||||
restored = self.round_trip(source)
|
||||
self.assertEqual(tests.test_musicxml.notes(restored)[0]['pitches'], tests.test_musicxml.notes(source)[0]['pitches'])
|
||||
self.assertEqual(restored['staves'][0]['measures'][1]['barlines'], {'right': 'light-heavy'})
|
||||
@@ -212,6 +213,9 @@ class ScoreBundleTests(unittest.TestCase):
|
||||
page.write_bytes(data)
|
||||
document = generator.musicxml.load_musicxml(pathlib.Path('tests/fixtures/engraving.xml'))
|
||||
bundle = {'music': document, 'presentation': {'engine': generator.engraving.validation.ENGINE_NAME, 'width': 976, 'height': 484, 'pages': [{'path': 'page.png', 'sha256': hashlib.sha256(data).hexdigest()}]}}
|
||||
times = generator.performance.boundaries(document)
|
||||
bundle['presentation']['pages'][0].update(first_measure=1, measure_count=len(times) - 1, start_beat=generator.model.rational(0), end_beat=generator.model.rational(times[-1]))
|
||||
bundle['performance'] = generator.performance.timing(document)
|
||||
path = assets / 'score.json'
|
||||
path.write_text(json.dumps(bundle))
|
||||
self.assertEqual(generator.score.load_json(path), document)
|
||||
|
||||
Reference in New Issue
Block a user