Reset Tempo Bug: Shortcut behavior disables sync and doesn't match user interface behavior

Device model: Macbook Pro
Version of operating system: Ventura 13.6.3
Version of djay: 5.1

Djay Settings:

  • Maintain sync on song load: unchecked
  • Exit sync on pause, scratch, or cue jump: unchecked
  • Two deck mode: enabled
  • Crossfader: set to middle

Test steps for shortcut behavior:

  1. Assign keyboard shortcut to Deck 1 with action “Reset Tempo”
  2. Load tracks with different tempos on both decks
  3. Enable sync on both decks, first Deck 2, then Deck 1
  4. Press the keyboard shortcut to reset tempo on Deck 1

Result: Sync is disabled on Deck 1

Test steps for UI behavior:

  1. Repeat steps 2 and 3 above
  2. Double click on Deck 1’s tempo slider

Result: Sync remains enabled

Expected result: The Reset Tempo keyboard shortcut should behave the same way as double clicking the tempo slider and should not disable sync on the slave deck.

Hi @audiosymmetry, I have tested this myself and agree that the Tempo Reset keyboard shortcut should behave the same as double clicking on the onscreen tempo slider. I’ll forward this to the engineering team to see what they think and will report back here when I have news. Thanks!

Thank you so much! I know it seems like a trivial bug, but it actually completely prevents apps connected via ableton Link from updating their tempo on the downbeat when switching to a deck with a different BPM.

If this bug gets resolved, it may also resolve the issue documented here: Ableton Link not working as hoped - #47 by PKtheDJ

Please also let me know if you have any suggestions for a workaround, I’m literally a candidate for a $8000 gig that I’d only be able to accommodate if I had the ability to send a midi message from Ableton Live to Djay pro to reset the slave deck’s tempo on the downbeat of the new track without disabling sync.

You’re welcome @audiosymmetry. I haven’t had a chance to test it myself, but you could check to see if the MIDI mappable command for Reset Tempo behaves the same as the keyboard shortcut. I suspect that it does, but it wouldn’t hurt to check.

1 Like

If Ableton Live is sending the reset message could you not just leave both decks slaved on sync and switch to new bpm with tempo automation?

Hi Rob, is this what you mean?

I have Ableton Live sending Djay Pro a CC value of 63 to reset the deck’s tempo slider to center via the IAC bus on my mac. (control type: fader/knob, Pickup Mode: off).

This is being done by launching a clip on the downbeat from Ableton Live that has an envelope automation set to 63%

I have the automation start at the smallest possible time increment AFTER the midi note mapped to the play button on DJay Pro’s target deck (F#1 in this case). For some reason, Djay Pro doesn’t like this. It accepts the CC message of 63 and resets to the new tempo for 1 second, then immediately reverts back to Ableton’s Live’s BPM. For some reason, it only accepts the new BPM if I push the envelope far enough away from F#1, which defeats the whole purpose because now the track stutters a little as it jumps from Live’s tempo to the new BPM.

Yup, I checked, same behavior, sync gets disabled :face_with_head_bandage:

No not really what I was getting at. So you want the deck to start out of sync with the bpm Ableton is running at? What I was assuming is you wanted to move to a new bpm and were using the deck pitch to do this when you could just have Ableton start a clip at the new bpm and everything else follow via link.

That would work if the setlist was preplanned, that way I could pre-program the exact BPMs of the tracks I want into tempo automation clips in Ableton Live and launch them accordingly. However, for my purposes I need Ableton Live to follow the new BPM coming from Djay Pro because I won’t know what the next track or its BPM is until I read the crowd and cue it up. I guess I could load up the track in Djay, look at its BPM and type it into the clip automation in Ableton Live, but I’d really rather not be messing around under the hood like that during a live set. A midi message (or keyboard shortcut) that resets Djay’s tempo slider without disabling sync would accomplish this in spades.

I think I understand better now your scenario. Personally I’ve abandoned using Link with DJPro, it was messing with some tracks too much by effectively forcing them to run at a fixed bpm (try playing Queen don’t stop me now with link on, the song is ruined!)

What I do now is feed the booth out via a software audio loopback to Ableton then use the Follower feature to have Ableton derive the BPM from the incoming audio. It’s generally quite reliable unless the bpm jump is large and needs a kick with the tap tempo button (have that midi mapped on my DJ controller).

If only DJPro could send out a regular midi clock pulse based on the primary deck bars and beats I wouldn’t need Ableton at all for my setup, I’m just using the above to create a clock to drive SoundSwitch lighting!

Decided to raise a specific bug report on that example since its so broken.

DJPro should update Ableton Link tempo based on playing song, not shift the pitch - Bug Reports - Algoriddim Community Forums

What software are you using to route the booth out to Ableton Live?

I’m using BlackHole on MacOS.

I’m having trouble getting Blackhole to work, seems like there’s a bad delay/latency between ableton Live and Djay Pro. I played with “drift correction” in the aggregate device settings in Audio MIDI Setup and also played with driver error compensation in ableton settings, neither seemed to help much. I tried with rhythm heavy tracks, they seem a bit closer to the metronome, but still off. I also made sure ableton Live is receiving audio from Djay Pro and that Live’s bpm is constantly updating. Can you share your settings? I’d love to know where I’m going wrong.

In DJPro I have Booth set to BlackHole 2ch.
In Ableton I have Audio Input set to BlackHole 2ch (2 In, 2 Out).

For my set up I’m not generating any audio from Ableton so normally have the output set to the MacOS speakers.

However for a test I switched to output to my controller (DDJ Rev5), with a latency of 64 samples and set up a basic 1 bar kick loop. If I adjust the tempo slider in DJPro it takes Ableton a second or two to ‘beat match’ the loop against the incoming audio, but after that its rock solid - no drift - and hits are aligned (no flanging etc).

I could see the initial beat-matching pickup time being an issue in some cases - it sounds like a sloppy manual beat-match… For my scenario I’m only using this workaround to create MIDI clock for a light show so its not a disaster if the sync isn’t solid for a few bars.