Skip to content

fix(cue): preserve per-track metadata and isolate cache variants#514

Open
markojurkovic wants to merge 1 commit into
losnoco:mainfrom
markojurkovic:fix/cue-metadata-integrity
Open

fix(cue): preserve per-track metadata and isolate cache variants#514
markojurkovic wants to merge 1 commit into
losnoco:mainfrom
markojurkovic:fix/cue-metadata-integrity

Conversation

@markojurkovic

Copy link
Copy Markdown
Contributor

Summary

Fix CUE tracks losing or sharing per-track metadata when playlist entries are inserted, reloaded, or served from the metadata cache.

Changes

  • Give logical CUE metadata precedence over tags from the shared underlying audio file.
  • Apply preloaded CUE metadata after playlist insertion so KVO and row bindings observe the correct per-entry values.
  • Use the same metadata-merging behavior for initial, asynchronous, and synchronous playlist loading.
  • Keep CUE-aware and skipCue metadata/property cache entries separate.
  • Replace plug-in dictionary category merges with explicit merges to avoid Objective-C selector collisions changing merge precedence.

Result

Each CUE track retains its own title and track metadata instead of inheriting shared-file tags or another track’s displayed values. Queries made with and without CUE processing also no longer contaminate one another through the cache.

Verification

  • Debug arm64 build completed successfully with code signing disabled.
  • git diff --check main...fix/cue-metadata-integrity passes.

Suggested manual checks

  • Load a multi-track CUE sheet whose tracks have distinct titles.
  • Confirm every playlist row displays the correct title immediately after insertion.
  • Reload metadata and confirm the titles remain correct.
  • Exercise metadata lookups both with and without CUE processing and confirm their results remain independent.

Apply logical CUE metadata after playlist insertion, keep CUE-aware and skip-CUE cache entries separate, make per-track fields take precedence, and avoid Objective-C category collisions while merging plug-in metadata.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant