I was beating the heck out of auto-DJ last night, and got it to mess up a few
times. Sometimes, the played track wouldn't get removed from the list, and the
other deck would get loaded with the same track. I thought it was because of
shuffling the playlist, or adding new tracks to the top of the queue, or
dragging tracks to the decks manually, but after reading the code over today, I
don't think that's it -- the code seems to expect that. However, I can cause
that problem by dragging a track to the top of the auto-DJ queue manually.
The code (i.e. src/dlgautodj.cpp) apparently leaves the track at the top of the
auto-DJ queue when it loads the deck, and only removes it when the track starts
playing. I wonder, why is that? DlgAutoDJ::shufflePlaylist() has to
special-case this, as does WTrackTableView::sendToAutoDJ(). Plus,
DlgAutoDJ::toggleAutoDJButton() will mess up if the first track in the queue is
on the 2nd deck, and the second track in the queue is on the 1st deck --
neither will get removed from the auto-DJ queue.
I think it'd be less error-prone to remove the track from the auto-DJ queue as
soon as it's loaded into a deck. The alternative would, at a minimum, have to
prevent the user from dragging a track to the top of the auto-DJ queue, which
would probably confuse the user.
Any thoughts on this? I would do the work of fixing this, once I have your
feedback on the issues involved.
Steven Boswell
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel