Track Store for Sessions#150
Open
BuffMcBigHuge wants to merge 6 commits into
Open
Conversation
Signed-off-by: BuffMcBigHuge <marco@bymar.co>
Signed-off-by: BuffMcBigHuge <marco@bymar.co>
Signed-off-by: BuffMcBigHuge <marco@bymar.co>
Signed-off-by: BuffMcBigHuge <marco@bymar.co>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds browser-local saved sessions to the realtime motion graph performance UI. A performer can save the current session, reopen it later from the same browser, rename/delete saved sessions, and see an always-visible dirty/save status pill while performing.
The saved session snapshot captures the active runtime config, selected fixture, uploaded custom track metadata, stem overlay state, and local audio assets needed to restore the performance state without requiring a fresh upload.
What Changed
SavePillandSessionsTileUI surfaces so saved sessions are available directly from the performance screen and drawer.skip_stem_extractionthrough the frontend protocol and backend swap/start paths so restored sessions with cached stems do not re-run the backend stem extraction path.Notes
Saved sessions are intentionally local to the browser/device. The audio assets live in IndexedDB, while a legacy localStorage read path keeps older lightweight saved session records from disappearing. Saved custom-track stems must be ready before saving a non-
fullsource mode, because restore depends on the cached stem PCM.Deleting a session removes the session record but leaves shared cached audio assets untouched, which avoids breaking other saved sessions that may reference the same uploaded audio.
Test Plan
No automated checks are currently reported on this PR branch.
Recommended manual validation:
full, save the session, reload the page, and reopen it from Local Saved Sessions.vocalsorinstruments, wait for stem extraction, save, reload, and confirm restore uses cached stem audio without triggering backend extraction again.