Minimum and maximum cps?

Hi, are there any limits regarding the cps setting?

Looking through SuperDirt, I couldn't find any limits imposed on it. However, the maximum for cps should be directly proportional to your CPU's clock speed and your audio driver settings.

The following should give a signal of period 1 second, regardless of the value of n?

do
  let n = 2
  setcps n
  d1 $ slow n $ s "bd"

My observation: only works for n in the interval 0.1 to 4. For n=0.01: too fast, for n= 5: too slow. Wat?

[EDIT] perhaps this: "If the bpm ... is outside the range from 20.0 to 999.0, ..." GitHub - Deep-Symmetry/carabiner: A loose connector for interacting with Ableton Link That's the only mention of some limits, after a quick search. but I'm not sure if that even applies. About those numbers ... perhaps 240 * 4 ~ 1000, 240 * 0.1 ~ 20 explains my observation?

[EDIT] this? https://github.com/tidalcycles/Tidal/blob/1.10-dev/tidal-link/link/include/ableton/link/ClientSessionTimelines.hpp#L30

// Clamp the tempo of the given timeline to the valid Link range
inline Timeline clampTempo(const Timeline timeline)
{
  const double kMinBpm = 20.0;
  const double kMaxBpm = 999.0;
 ...
1 Like

Yes, it appears, that tempo can be only in range <20,999> bpm. One can easily check this with setcps and getcps. Any values outside this range are discarded, and tempo is set to the max or min value. This should probably be mentioned in the docs. If anyone has an idea how to extend these limits, I would really appreciate it.

what are you actually looking to do?
because if you want to just manipulate time for all channels, why not do

all $ fast 1000
2 Likes

Ah, there never used to be a cps limit, until the new link support. So I guess we have to thank ableton for this arbitrary limit! @polymorphic.engine has the solution though..

1 Like