Hi guys, I spent a lot of time over the last few weeks thinking about the play queue and how I was going to reimplement it for 1.8. I was having trouble figuring out exactly behaviour we wanted it to have, so I went back to the two use cases I've found in practice from the old play queue.
The old play queue was supposed to be modeled after Rhythmbox's play queue, where the "next" track would be loaded from the play queue. Simple, right? Well, it's a little confusing because A) we have two players to deal with so "next" is hard to define and B) having a mode where a single player just loads and plays the next track from the play queue is only be useful for just regular playback like you'd use Rhythmbox or Winamp for. If you wanted to do that, you'd just use Winamp. :) The way I found I ended up using the old play queue in practice was primarily as a temporary bin to throw tracks I was going to play during a set, but also as a Winamp-style playlist (usually while testing stuff, not while DJing). As Sean pointed out to me, we now have crates, so I could just make a crate called "Tonight's Set" and use that as my temporary bin. However, I still wanted a way to play a bunch of tracks continuously, and for many users this would be important in case they get called away momentarily while DJing. In other words, the two use cases for the play queue are A) a crate and B) for bathroom breaks. With that in mind, I decided to turn the play queue into something called "Auto DJ", which is now in the features_sqlite branch. Auto DJ contains a playlist that you can add tracks to (just like any other), and when you enable Auto DJ mode, Mixxx will load the first track and start playing it. When the song is within 5% of the end, Mixxx will remove that track from the top of the playlist and load the next track into the other player. It will begin playing that track and will automatically crossfade until the end of the initial song. It sounds more complicated than it is - Just load some tracks in, push the button, and go cook supper. I think this is way more useful than our old play queue, and ends up tackling a few feature requests. This is essentially a smart ping pong mode, so we no longer need to worry about that, and I think this also fulfills the requests for automatic crossfading. This also gives us a base to improve upon in the future. We'll be able to do things like sync the tempos and phase of the tracks, and maybe even offer a mode where we intelligently fill the queue with songs. There's probably some cool GSoC projects in here... :) Anyways, just wanted to give some background as to where this Auto DJ thing came from. Enjoy, Albert ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Mixxx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mixxx-devel
