Skip to content

(feat) Library: add 'Prep' playlist marker, add control to append deck track to this playlist#14759

Draft
ronso0 wants to merge 3 commits into
mixxxdj:mainfrom
ronso0:lib-add-to-playlist-shortcut
Draft

(feat) Library: add 'Prep' playlist marker, add control to append deck track to this playlist#14759
ronso0 wants to merge 3 commits into
mixxxdj:mainfrom
ronso0:lib-add-to-playlist-shortcut

Conversation

@ronso0
Copy link
Copy Markdown
Member

@ronso0 ronso0 commented May 10, 2025

Allows to quickly add a deck's track to a specific playlist with a controller
no, existing options won't do1

  • add a Playlist sidebar action "Set/Unset 'Prep' playlist"
    -> toggles 'prep playlist' marker (heart icon) for selected playlist
  • playlist id is stored in database -> settings -> mixxx.db.model.playlist.PrepPlaylistId

Keyboard shortcut

press Alt+P while sidebar has focus

New controls:

[group],append_deck_track_to_prep_playlist for all decks and samplers
[Library],append_selected_track_to_prep_playlist

Behavior / UX

Testing with a controller revealed that it's handy to also have a "remove" action. For example when you added a track before you notice it doesn't really fit, or takes a strange turn.
To keep it simple, the append...to_prep_playlist controls work for append and remove:

  • trigger control
  • is track in Prep playlist?
    • NO
      -> add it, show 💙 splashscreen
    • YES
      -> show splash with 💙 with ✔️
      -> trigger again while splash is shown:
      -> remove track and show 💙 (broken heart)

GUI

If there's a demand for a GUI integration (skin button) I'll need to revise this, but for now it's just perfect.


image
then it's marked:
image

Btw works just fine with Sidebar Bookmarks #14508 : )

Let me know what you think about this!

Footnotes

  1. 'Add to Auto DJ' is only available in the track menu, not as deck control, and I don't like the extra step of moving tracks from AutoDJ to my prep playlist
    And 'Preparation window' Preparation Window (pannel / view / whatever) + Preparation Lists (or whatever name you like) #14350 is WIP and simply overkill for what I need

@ronso0 ronso0 force-pushed the lib-add-to-playlist-shortcut branch from 4e3667a to 5360826 Compare May 13, 2025 10:50
@ronso0 ronso0 force-pushed the lib-add-to-playlist-shortcut branch 2 times, most recently from 6d9f4a2 to 557841f Compare May 13, 2025 17:23
@ronso0 ronso0 marked this pull request as ready for review May 14, 2025 13:59
@ronso0 ronso0 force-pushed the lib-add-to-playlist-shortcut branch from 557841f to 89e52cc Compare May 17, 2025 23:18
@github-actions github-actions Bot added the ui label May 17, 2025
@ronso0 ronso0 force-pushed the lib-add-to-playlist-shortcut branch from 89e52cc to e8265e4 Compare May 20, 2025 09:52
@ronso0
Copy link
Copy Markdown
Member Author

ronso0 commented Jun 14, 2025

Wow, I've been using this for like 10 sessions now with the ⭐ button on my Kontrol S4 and I love it!

Sometimes I append tracks to early, notice it doesn't fit or takes a turn, and I want to remove it from the prep playlist again.
So I'll try to add a 'remove' control as well.


edit
I tested (and like) to have just one control:
Is track in Prep playlist?

  • NO. add it -> show 💙 splashscreen
  • YES
    • show splash with 💙 + ✔️
    • double-press (press again within N ms) to remove -> show 💙

This is way more convenient than having to map add + remove in scripts.
If there's a demand for a GUI integration (skin button) I'll need to revise this (eg. remove the splashscreen), but for now it's just perfect.

Will update this soon.

@ronso0 ronso0 changed the title Library: add 'Prep' playlist marker, add control to append deck track to this playlist (feat) Library: add 'Prep' playlist marker, add control to append deck track to this playlist Oct 25, 2025
@ronso0 ronso0 marked this pull request as draft October 25, 2025 13:53
@ronso0 ronso0 force-pushed the lib-add-to-playlist-shortcut branch from e8265e4 to 8ea9012 Compare May 6, 2026 15:32
@github-actions github-actions Bot added the skins label May 6, 2026
@ronso0 ronso0 force-pushed the lib-add-to-playlist-shortcut branch from 8ea9012 to a56d7d0 Compare May 6, 2026 15:54
… feedback

The behavior/UX of appending the selected/loaded track to the Prep palyist is now
* success: track is not in list, append, show heart splashsreeen
* confirm/status: is already in list, show heart+checkmark splashscreen
* triggered again while confirm splash is visible: remove, show broken heart splashscreen

This allows to use only one control for append/remove in controller mappings
@ronso0 ronso0 force-pushed the lib-add-to-playlist-shortcut branch from a56d7d0 to 0e1a64e Compare May 6, 2026 16:06
@ronso0
Copy link
Copy Markdown
Member Author

ronso0 commented May 7, 2026

Some tests are failing on Win and macOS ARM, but I don't see how they are related to my changes..

Win:
205 - CoverArtCacheTest.loadCoverFromFileRelative (Failed)
206 - CoverArtCacheTest.loadCoverFromFileAbsolute (Failed)
207 - CoverArtUtilTest.extractEmbeddedCover (Failed)
208 - CoverArtUtilTest.searchImage (Failed)
809 - TrackUpdateTest.parseModifiedCleanOnce (Failed)
810 - TrackUpdateTest.parseModifiedCleanAgainSkipCover (Failed)
811 - TrackUpdateTest.parseModifiedCleanAgainUpdateCover (Failed)
812 - TrackUpdateTest.parseModifiedDirtyAgain (Failed)

macOS ARM
78 - BeatsTranslateTest.SimpleTranslateMatch (SEGFAULT)

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant