Add shuffle functionality in Auto-DJ queue

Bug #615796 reported by Not Necessary
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Wishlist
Mika Haulo

Bug Description

This is a wish.

In many other music software there is a functionality to shuffle the play queue (example: Virtual DJ, Rhythmbox). That is basic, but useful for those that just put hundreds of songs in a queue then shuffle it to get some hours of random music without any human interaction.

So, it would be interesting to have that functionality in Mixxx, mainly due to the fact that it should be incredibly easy to implement.

Related branches

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Hi there,

Thanks for the report. We've considered this in the past but we have a lot of other features that we ranked higher than this. This would be a great intro project to Mixxx for a new developer.

Thanks,
RJ

Changed in mixxx:
status: New → Confirmed
importance: Undecided → Wishlist
jus (jus)
summary: - shuffle functionality in play queue
+ Add shuffle functionality in Auto-DJ queue
Revision history for this message
Mistakes (synthetic-h8) wrote :

i'd like to second this request. i run a streaming radio station, and i don't have time to constantly cue playlist when i'm not around.

Mika Haulo (mhaulo)
Changed in mixxx:
assignee: nobody → Mika Haulo (mhaulo)
status: Confirmed → In Progress
Revision history for this message
Mika Haulo (mhaulo) wrote :

There are two possible implementations for this: either rearrange the playlist or randomly choose the next track. I did the shuffling in my branch. This enables the dj to see what's next in the queue and gives possibility to rearrange or re-shuffle the playlist. The downside is that there's no way to restore the original track order. Except manually.

Revision history for this message
Nicolas Vanhoren (OpenERP) (niv-openerp) wrote :

This seems good to me. It's the behavior of Virtual DJ and basically all djing programs I've ever seen.

In my opinion, being able to rearrange the playlist after a shuffle is mandatory for a serious djing program, "choose next track randomly" is good only for winamp like programs.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote : Re: [Bug 615796] Re: Add shuffle functionality in Auto-DJ queue

AutoDJ will hopefully get more fancy in the future, but it might make sense
to keep track of the point in the queue at which the auto-DJ is currently,
and then only randomize the songs after the point. That way they can still
see the history of what AutoDJ played earlier. (they can already get a sense
from the played checkboxes though, so its not criticla)

On Thu, Mar 24, 2011 at 5:44 PM, Nicolas Vanhoren (OpenERP) <
<email address hidden>> wrote:

> This seems good to me. It's the behavior of Virtual DJ and basically all
> djing programs I've ever seen.
>
> In my opinion, being able to rearrange the playlist after a shuffle is
> mandatory for a serious djing program, "choose next track randomly" is
> good only for winamp like programs.
>
> --
> You received this bug notification because you are subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/615796
>
> Title:
> Add shuffle functionality in Auto-DJ queue
>

Revision history for this message
Mika Haulo (mhaulo) wrote :

Doesn't AutoDJ always load and remove the topmost track from the queue so that there are only unplayed tracks in the list view?

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

nope, it keeps the previously played in the queue so you can see what was
played previously

On Thu, Mar 24, 2011 at 6:08 PM, Mika Haulo <email address hidden>wrote:

> Doesn't AutoDJ always load and remove the topmost track from the queue
> so that there are only unplayed tracks in the list view?
>
> --
> You received this bug notification because you are subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/615796
>
> Title:
> Add shuffle functionality in Auto-DJ queue
>

Revision history for this message
Mika Haulo (mhaulo) wrote :

Sounds the way it should be, and I made some modifications to my branch that should enable shuffling unplayed tracks only. However, the code I have really does remove the track from the top. And after merging from trunk there seems to be a bug: AutoDJ get stuck on the first track on the list. It looks like the list doesn't get properly resfreshed, because PlaylistTableModel::removeTrack get called and after restarting Mixxx the topmost track is gone.

Revision history for this message
Nukem36 (nukem36) wrote :

High!

thanks for all the feedback. Unfortunatly I wasn't informed on your comments via mail, so my reactions seems to be late.

Anyhow, it's nice to hear that there is a branch doing what I need. What to do, to get this functionality in a major release, like 1.10?

Regards
Nukem36

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Hey Nukem36,

The merge window for 1.10.0 ends April 6, so there is still ample time to
get this into 1.10.0. Mika, where does the branch stand?

Thanks,
RJ

On Mon, Mar 28, 2011 at 1:00 PM, Nukem36 <email address hidden> wrote:

> High!
>
> thanks for all the feedback. Unfortunatly I wasn't informed on your
> comments via mail, so my reactions seems to be late.
>
> Anyhow, it's nice to hear that there is a branch doing what I need. What
> to do, to get this functionality in a major release, like 1.10?
>
> Regards
> Nukem36
>
> --
> You received this bug notification because you are subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/615796
>
> Title:
> Add shuffle functionality in Auto-DJ queue
>

Revision history for this message
Mika Haulo (mhaulo) wrote :

There are a couple of bugs related to header columns and sorting.

1) After shuffling, the #-column is not updated correctly. It shows old positions until Mixxx is restarted.
2) If the playlist is sorted by any other column, shuffling does nothing (I found solution for this: need to call m_pTrackTableView->sortByColumn(0, Qt::AscendingOrder) before shuffling)

Otherwise it feels pretty ok. It is possible to shuffle only unplayed tracks by giving the current track index as a parameter. Shuffling large playlists shouldn't be a problem either. ~1400 tracks took 2-3 seconds on my setup (Athlon XP 64 X2 5000+ / 8G ram).

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Hey Mika,

As for 1, are you using the latest version of trunk to work on ? In either
case, I woudln't worry about this. The track table is currently force
updated when you add a track to it. I'm going to be adding a fix in the 1.9
branch that will made any changes in PlaylistDAO for a playlist
automatically get messaged to the associated playlist-table-models. So this
isn't really your bug.

For 2 -- I'm thinking that we should not allow sorting in playlist tables --
drag-and-drop reordering also is not meaningful in the playlist unless it is
sorted by column 0, so I think playlists just should not be sortable. I
could be totally off the mark here, so I'd love to hear what you and others
from the team think of this.

Cheers,
RJ

On Mon, Mar 28, 2011 at 4:21 PM, Mika Haulo <email address hidden>wrote:

> There are a couple of bugs related to header columns and sorting.
>
> 1) After shuffling, the #-column is not updated correctly. It shows old
> positions until Mixxx is restarted.
> 2) If the playlist is sorted by any other column, shuffling does nothing (I
> found solution for this: need to call m_pTrackTableView->sortByColumn(0,
> Qt::AscendingOrder) before shuffling)
>
> Otherwise it feels pretty ok. It is possible to shuffle only unplayed
> tracks by giving the current track index as a parameter. Shuffling large
> playlists shouldn't be a problem either. ~1400 tracks took 2-3 seconds
> on my setup (Athlon XP 64 X2 5000+ / 8G ram).
>
> --
> You received this bug notification because you are subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/615796
>
> Title:
> Add shuffle functionality in Auto-DJ queue
>

Revision history for this message
Mika Haulo (mhaulo) wrote :

On Monday 28 March 2011 23:57:54 RJ Ryan wrote:
> As for 1, are you using the latest version of trunk to work on ? In either
> case, I woudln't worry about this. The track table is currently force
> updated when you add a track to it. I'm going to be adding a fix in the 1.9
> branch that will made any changes in PlaylistDAO for a playlist
> automatically get messaged to the associated playlist-table-models. So this
> isn't really your bug.

Ok, I'll leave it as it is.
Latest trunk changes should be merged by now.

> For 2 -- I'm thinking that we should not allow sorting in playlist tables
> -- drag-and-drop reordering also is not meaningful in the playlist unless
> it is sorted by column 0, so I think playlists just should not be
> sortable. I could be totally off the mark here, so I'd love to hear what
> you and others from the team think of this.
>

I'm not a heavy user of playlists and I'm not sure how people (who use them)
want them to behave, but I think you might be right. I played around a little
and at least DnD feels confusing if the list sorted by a "wrong" column.

Revision history for this message
Mika Haulo (mhaulo) wrote :

I almost forgot this for a while, but let's try to get this ready by April 6.

Mika Haulo (mhaulo)
Changed in mixxx:
status: In Progress → Fix Committed
Revision history for this message
jus (jus) wrote :

Can not assign bugs afterwards to milestones that have already been released.
Fix was released with 1.10.0.

Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/5474

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.