Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AutoDJ: insert silence with adjustable start point #9540

Open
mixxxbot opened this issue Aug 23, 2022 · 11 comments
Open

AutoDJ: insert silence with adjustable start point #9540

mixxxbot opened this issue Aug 23, 2022 · 11 comments

Comments

@mixxxbot
Copy link
Collaborator

Reported by: idcmp
Date: 2018-12-10T06:19:10Z
Status: Confirmed
Importance: Wishlist
Launchpad Issue: lp1807647
Tags: autodj


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

  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.

@mixxxbot
Copy link
Collaborator Author

Commented by: ninomp
Date: 2018-12-11T20:28:43Z


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

@mixxxbot
Copy link
Collaborator Author

Commented by: idcmp
Date: 2018-12-12T06:04:04Z


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

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2018-12-15T23:04:20Z


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?

@mixxxbot
Copy link
Collaborator Author

Commented by: idcmp
Date: 2018-12-16T01:56:33Z


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).

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2018-12-16T22:35:39Z


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?

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2018-12-16T22:39:31Z


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.

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2018-12-16T22:42:22Z


https://bugs.launchpad.net/mixxx/+bug/1808725

@mixxxbot
Copy link
Collaborator Author

Commented by: idcmp
Date: 2018-12-19T00:39:35Z


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.

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2018-12-19T07:08:57Z


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?

@mixxxbot
Copy link
Collaborator Author

Commented by: idcmp
Date: 2018-12-19T07:24:19Z


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.

@mixxxbot
Copy link
Collaborator Author

Commented by: Be-ing
Date: 2019-11-12T05:38:00Z


The Full Intro + Outro and Fade At Outro Start modes added in #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).

@mixxxbot mixxxbot transferred this issue from another repository Aug 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant