How to toggle play/pause from single midi controller button

Hi, I’ve just bought Cantabile v4 Solo. I have an external midi controller (MC) that has play and stop buttons.

I can bind the MC “Play” button (cc 115) to Cantabile transport functions “Play”, “Pause”, “Play/Pause” etc

But I want the following behaviour…

Pressing Play on MC when transport is stopped or paused, makes the song play
Pressing Play on MC when transport playing, makes the song pause.
Pressing Stop on MC when transport is playing stops the song and resets to start

In other words, I want the MC play button to toggle between play & pause, and stop to always stop & reset.

This seems to be the normal behaviour when clicking the transport “Pause” and “Stop” buttons with the mouse, so I’m not sure why the binding behaviour is different?

Hi Pete and Welcome to the forum!

What version of Cantabile are you using and are able to post a screen shot of the binding(s) you have tried so far? What you want to do is pretty straight forward so hopefully we can get you fixed up.



Hi Dave

Thanks for replying so quickly.

I’m using Cantabile v4.0 Build 4150 (x64) Solo.

I’ve tried too many combinations of bindings to post all, but the config I’ve shown now is the only thing I can get to work reasonably. However, I’ve had to use 3 controller buttons bond separately to Transport Play, Stop and Pause. I can then Play and Pause using the separate MC play & pause buttons. But I haven’t found a way to make a single MC button toggle between play & pause.

I note that there are two “Point” binding options that look promising “Play/Pause” and “Play/Stop”. I’ve tried binding my MC Play button to “Play/Pause”, but it will only play a stopped song once, then further presses do nothing!

Hi @petehughes

This will work:

  1. In the Source area, make sure you have “Controller (Button)” selected
  2. In the Target area, choose Transport Play/Pause
  3. In the Mapping area make sure the mapper is Command to Switch (or Automatic - Command To Switch) and the Action is “Toggle”.


And here’s how to stop: (again make sure Controller (Button) in the source area).

To explain: you need to tell Cantabile you want to map from a CC button as the available options and mapping modes are handled differently.



Thanks Brad, that worked perfectly.

Incidentally, I don’t see the “Mapper: Automatic (Command to Switch)” setting on my screens. Is it because I have the “Solo” version?

No, that’s because I’m running the expermental build and you’re running 4150 - things have changed a bit with the addition of binding expressions.

1 Like