feat: persist global track visibility status and metronome status

This commit is contained in:
Xiaohan-Tian
2026-06-02 23:25:30 -07:00
parent 6b0de74acd
commit 528e4ca7f9
9 changed files with 219 additions and 43 deletions
+14
View File
@@ -163,6 +163,20 @@ describe('KGProjectStorage', () => {
expect(loaded!.getPianoRollZoom()).toBe(5);
});
it('preserves persisted global-track visibility and metronome state when saving and loading', async () => {
const project = createTestProject('Toggle Song');
project.setShowGlobalTracks(true);
project.setIsMetronomeEnabled(true);
await storage.save('Toggle Song', project);
const loaded = await storage.load('Toggle Song');
expect(loaded).not.toBeNull();
expect(loaded!.getShowGlobalTracks()).toBe(true);
expect(loaded!.getIsMetronomeEnabled()).toBe(true);
});
it('preserves global tracks and marker regions when saving and loading', async () => {
const project = createTestProject('Marker Song');
const markerTrack = project.getGlobalTracks().find(track => track.getType() === GlobalTrackType.Marker);