AutoDJ: insert silence with adjustable start point

Bug #1807647 reported by Idcmp
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Confirmed
Wishlist
Unassigned

Bug Description

Mixxx 2.2 (local build, Linux, ref 5752e913130544295230be9693a3919adb08b799 )

1. Add some songs to AutoDJ.
2. Enable AutoDJ.
3. On the song not playing, set the Cue point (with the 'CUE' button) somewhere in the song.
4. Bring the playing song to near the end (or wait if you like the song).

Expected Result:

1. Song with Cue point starts at cue point.

Actual Result:

1. Song starts at beginning.

NOTE: This happens if you eject and reload the track or if the song gets automatically scheduled into a track by AutoDJ.

Tags: autodj
Revision history for this message
Nino MP (ninomp) wrote :

Is 'Jump to main cue point on track load' option enabled in your Preferences, under Decks, in 'Deck options' section?

Revision history for this message
Idcmp (jatwill) wrote :

Yup. The *first* song that starts playing when AutoDJ is enabled starts at the cue point, the rest do not.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Do the tracks always "load" at the cue point?
That is currently the only point where the track is seeked to the cue point.
Is this broken? I cannot confirm it here.

In your step by step description you did not reload the track. Is this correct?

If the song is already loaded, it is on your responds to seek the track to the desired cue point.
Is that the issue?

How can we improve the situation? What is your expectations when Mixxx should seek to cue?

Revision history for this message
Idcmp (jatwill) wrote :

The tracks "load" at the cue point; the waveform before the cue point is darker than the waveform after it (which is the "normal" brightness) using the Deere skin.

However, right as the "other" song ends, the play point (a green bar in Deere) jumps to the beginning of the song and that's where it plays from.

When you mentioned that you can't reproduce it I did some more testing. I think I've found the missing key: In Auto DJ set your 'transition time' to -1 seconds. Once I set to 0 seconds the cue point works properly.

(Where I DJ people want a moment to thank their dance partner before finding someone else; so depending on the night I will have -1 or -2 as transition time to have some silence).

Revision history for this message
Daniel Schürmann (daschuer) wrote : Re: AutoDJ does not start at CUE point with negative transition time

OK this is by design. When designing the gap mode (negative transition) we did not consider your use case. Normally the people want to have the "into" and not an abrupt start on a beat in that mode. I am not sure how to improve the situation for you?
I think we need a special type of transition for this?

summary: - AutoDJ does not start at CUE point
+ AutoDJ does not start at CUE point with negative transition time
Changed in mixxx:
status: New → Confirmed
Revision history for this message
Daniel Schürmann (daschuer) wrote :

The gap is generated by cuing the track into the lead in. I think the track should be loaded at this point in gap mode to avoid surprises. I will file a separate bug.

Revision history for this message
Daniel Schürmann (daschuer) wrote :
tags: added: autodj
Revision history for this message
Idcmp (jatwill) wrote :

Oddly, this is exactly what I need.

I want to start once the beat kicks in and not have the intro as sometimes the intro to songs are tedious and floating and the beat only kicks in 10-15 seconds into the song.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

So we need to play silence instead of the tracks intro in you cade, right?
The track starts in this case appubt on a beat, right? Is this intended?

Revision history for this message
Idcmp (jatwill) wrote :

I think so.

If the second song has a Cue point at 0:05, and I have a Transition Time of -3, then:

1. The current song plays until its end (or its end cue point?)
2. There is three seconds of silence.
3. The new song starts at offset 0:05.

Be (be.ing)
summary: - AutoDJ does not start at CUE point with negative transition time
+ AutoDJ: insert silence with adjustable start point
Revision history for this message
Be (be.ing) wrote :

The Full Intro + Outro and Fade At Outro Start modes added in https://github.com/mixxxdj/mixxx/pull/2103 kinda do that if you don't set the intro end or outro start cues. The difference is that they would start the new song at 0:02 (3 seconds before 0:05). In the case where the intro start point is left at its autodetected point, this works fine because the automatic placement is where the first sound is. However, if you move the intro start point later in the track, it would not work as desired.

Implementing that would require substantial changes to how AutoDJ works. Currently AutoDJProcessor tracks updates in the play position of the decks to move the crossfader. The crossfader is treated as the definitive indicator for how far the transition has progressed. The way negative transition times are currently implemented by seeking before the start point is an ugly hack on top of this logic. Actually implementing reliable silence insertion would require AutoDJProcessor to track the progress of the transition on a timer independent of the crossfader and deck positions. That could lay the groundwork for more complicated transitions than the simple crossfades AutoDJ does now, for example fading out a track then immediately starting the next track at full volume (Bug #1766164). It could also be useful for switching AutoDJ to use the deck faders instead of the crossfader (Bug #1334279).

Be (be.ing)
Changed in mixxx:
importance: Undecided → Wishlist
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/9540

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.