Skip to content

πŸ›  - Rekordbox sync Phase 3a: tags β†’ MyTagsΒ #171

Description

@maxwellmattryan

Goal

Crate tag categories and tags appear as Rekordbox MyTags with correct track assignments, within Rekordbox's limits.

Scope

  • djmdMyTag (parent rows = categories, child rows = tags, Seq) + djmdSongMyTag (uuid4 ids)
  • Crate already caps at 4 categories, matching Rekordbox's 4-category limit; still handle the >4 case defensively by merging overflow into a single "Crate Tags" category, and the 128-total-tag cap by truncating with a warning surfaced in the sync result
  • Rename/recolor/move of tags and categories tracked via sync-state so they update in place
  • Full Sync removes MyTags Crate created that no longer exist; Playlist Sync only adds/updates
  • Builds directly on the πŸ›  - Rekordbox sync Phase 0: de-risking spike (open master.db, accepted insert, MyTag round-trip)Β #168 slice (one category round-trip) β€” this phase generalises it to the whole tag tree

Acceptance criteria

  • All categories and tags appear under MyTag in Rekordbox with correct assignments
  • Rename/move in Crate updates in place; no duplicates on re-run
  • Overflow (>4 categories, >128 tags) handled gracefully and reported
  • Integration test asserts (ContentID, MyTagID) pairs against a fixture library

Relation

Child of #39 (Phase 3 was split: tags here, cues in #174). Depends on #169.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions