Cantabile has a new setting to control tempo formatting, but you might be wondering why this is important...

Originally Cantabile only supported whole number tempos and formatting was a non-issue. Once support for fractional tempos was added things got a little more complicated, but the approach was to just display as many decimal places as necessary (ie: trailing zeros removed).

For user entered tempo values this works fine but gets messy when syncing to an external MIDI clock.  In this case the tempo isn't passed as part of the MIDI information and needs to be "detected" or based on how fast the MIDI ticks are received.  Unfortunately, any jitter in the received MIDI ticks results in constantly shifting tempos - usually with a fractional component.

Previously Cantabile used to just round these to a whole number, and more recently to 1 decimal place.  Unfortunately, this causes issues with some plugins that rely on an accurate tempo value to maintain sync.  I'm not sure why these plugins don't just use the time position information reported by the host/DAW/Cantabile, but it is what it is.

To resolve the sync issue, as of build 4209, Cantabile no longer rounds tempos detected by external MIDI clock sync.  This means you can get precise tempo values like 120.238.  But, occassionally it will hit on tempos with trailing zeroes that are displayed without those zeros: eg 120.2.  Because the length of the displayed value is constantly changing the display that jumps all over the place making it hard to read and somewhat distracting.

So, there's a conundrum - if a user enters a value with three decimal places it should be shown, but the tempo detection can produce values with various numbers of decimal places that should be shown in a stable way.

I've struggled with how to resolve this and considered different formats when MIDI clock is active vs not but they all seemed messy.   Instead, I've taken a simpler approach and provided a setting to control the display format.

There's not much to it, choose from Automatic (the old behavior which displays between 0 and 3 decimal places) or a fixed number of decimal places.

Available now in build 4209.