Gapless playback of back-to-back tracks

Bug #1007092 reported by Mel Grubb on 2012-05-31
This bug affects 4 people
Affects Status Importance Assigned to Milestone

Bug Description

I have, on occasion, wanted to play two tracks together back-to-back. This is usually a song that is considered to be in two "parts", or one that has an intro which is considered to be a separate track. As Mixx stands now, there is no way for me to play these two parts of the same song together. I have two ideas for how this could work in the UI.

1) Load part 1 into deck 1, Load part 2 into deck 2, flip some "auto" button on deck 2 to indicate that it should start exactly at the end of the first part. This means polluting skins with extra buttons that will almost never be used, and would most certainly be accidentally left on when they are.

Or, in my mind a better solution

2) Dragging multiple tracks to a single deck stitches them together on-demand into a single, temporary track. Certainly this is easier UI wise, the only difficulty being in remembering that it's possible, and not doing it accidentally. Perhaps a pop-up confirmation that the user has selected multiple tracks would solve the latter problem. As for the stitching, I don't know how Mixx works behind the scenes with regards to mp3 decoding. If Mixxx works ahead when I load a track, and buffers up an uncompressed wave in the background, then I don't think this would be that bad. A single library entry gets turned into an array, and they all get uncompressed into a single buffer together. If the decompression is truly on-the-fly, then this option gets a bit harder.

Mel Grubb (melgrubb) wrote :

Something else just occurred to me. In the second case, the "confirmation" dialog could also serve as the UI for confirming the order in which the tracks would be stitched together. A simple re-use of the library grid would do here. I could drag 5 tracks to a single deck, make sure it got the order right, and click OK to load them up together.

Daniel Schürmann (daschuer) wrote :

Hi Mel,

Thank you for the bug report!

Maybe this is already solved by the new Auto DJ feature in Mixxx 1.11.
There you can set the transition time to zero.

You can try it if you like:

Please report your results!

Thank you!

Changed in mixxx:
importance: Undecided → Wishlist
tags: added: autodj
Mel Grubb (melgrubb) wrote :

Can I do this on demand in the middle of a regular manual set, though? What would the workflow look like there? Lets say I have something already playing on deck 1, and I want to auto-play 2 tracks together next. Would I start the first track manually and then flip to auto-dj mode? Can I test drive this in the alpha drops yet?

Daniel Schürmann (daschuer) wrote :

Yes , you can test this in the alpha yet.

1. Play the "part 1" in track
2. Put the "part 2" in the auto DJ queue
3. Set Transition time to 0 s
4. Enable Auto DJ
Auto DJ will put the tracks together and will disable itself if queue is empty after that

Mel Grubb (melgrubb) wrote :

I have tried this a couple of times, and even with the delay set to 0, the auto-dj still results in an audible gap between the first and second songs, so it doesn't quite solve the original goal. I think for now my solution will be to hand-stitch such songs together beforehand and make extra entries in the library.

Owen Williams (ywwg) wrote :

MP3 has an issue where nearly all tracks do not end on an MP3 frame boundary. This means the song ends and then there's a tiny amount of silence to fill out the rest of the last frame. This is why gapless playback with mp3 is so difficult. To properly support gapless playback, Auto DJ needs to be able to detect the silence at the end of the track and bring in the next track at exactly the right moment.

Be ( wrote :

FWIW there is a gap playing FLAC tracks in AutoDJ with the transition time set to 0.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers