Building Live Mode

In a final push to get v3 out the door, today I started on “live mode”, starting with a button for it:

and a new “Monitor” side panel:

More to come…


Best button design ever! :smile:

1 Like

Today’s progress on Live Mode - the “Controller Bar” (for want of a better name).

Mostly self-explanatory except the tempo button - it’ll flash with each beat, or you can tap, tap, tap to set the tempo. Also, all the buttons on the left will be customizable. All the buttons will be able to be resized and/or hidden.

In case you’re wondering, Live Mode isn’t going to be a separate screen - rather the main window will get all the pieces to make live mode and the Live Mode button will simply switch between two different window layouts. eg: by default live mode will show the monitor side panel, hide the onscreen keyboard, hide the timeline panel, show the controller bar and switch the main content area to a new tab that shows current song, next song, perhaps notes etc…

Of course you’ll then be able to say show the timeline panel and Cantabile will remember that you want that for Live Mode.

Still a work in progress…


Quick question about the flashing tempo indicator. Should this have a different color for beat 1, and how contrasting in color does it need to be?

Also, do you have a preferred color? I’m thinking bright green for beat 1 and white/gray for the other beats (similar to the beat indicators in the status panel).

Indicating beat 1 could be useful, and I like the idea of beat 1 being a distinctive colour, while the other beats are a neutral colour. I have no preference for colour personally - bright green sounds fine to me.

Thanks Neil.

I’ve implemented it as described - seems to work fine.


1 Like

Nah - it has to have entirely user-customizable colors! Or nothing! :stuck_out_tongue_winking_eye:

(Only kidding, of course - as if this code-pusher didn’t have enough on his plate!) :smile:


Hi Terry


Just so you know though… I do spend a lot of time thinking about stuff like this. It’s amazing how nuanced something like this can be once you take into account color blindness, how this might be used on stage, surrounding lighting etc… Even for something as seemingly simple as a flashing tempo indicator I’ve spent probably at least an hour tweaking the colors while sitting in a darkened room, staring straight at it, having it sitting in peripheral vision etc…

And I’m still not convinced it’s right but there’s only so much I can guess so I’ll leave it to feedback now.


Some more good progress on the controller bar! Custom buttons are now implemented and can be configured with:

  • Tip text - the small text above the button
  • Caption text - the large text on the button.
  • Action - what to do when click
  • MIDI Parameters - what to send for MIDI actions

Both of text properties support variables, so the time button is implemented with caption “$(h):$(min)” - it’s just a pre-canned customizable button. You could edit it to say “$(day) $(h):$(min)” to include the day of the week for example.

Custom buttons can be configured to either invoke a Cantabile command (ie: the same commands as in the Hot Keys options page, or in other words pretty much any menu command). They can also be configured to send MIDI events which will be sent from the On-screen Keyboard device and support same set of events as triggers - CC, program changes, banked program changes, NRPN/RPN, MMC commands etc…

Where applicable, the buttons can be configured as:

  • Button - sends MIDI when pressed and then released.
  • Momentary Button - sends one value when pressed, another when released.
  • Toggle Button - sends one of two values, toggling each time and lighting up when “on”.
  • Slider - pops up a slider bar above the button when pressed.

The tempo, transpose, song and state buttons are also all done and working.

Still rough around the edges but getting there… need more coffee!


The Controller Bar is now finished, including ability to add/delete and re-order custom buttons + hide and show the built-in controls. Also, I’ve added a new “Continue” button which moves to the next song part, or next song if at end of current song.

So that’s the monitor panel and controller bar done and dusted.

Next up is the main live mode view…


Any new surprises cooking in the Cantabile kitchen? :grinning:

For various timing reasons, I’ve set live mode aside for the past week and been working on other behind the scenes stuff that needs to be done before release. I’ve probably got another day or so on that before jumping back to live mode.

Also, I didn’t get much done today because… Star Wars! (Which was amazing btw).


Hi Brad,

I’m totally new to using VST. As you know from an email, I want to integrate all my inputs (keyboard, MIDI wind controller and woodwinds) via interface (looks like it will be Steinberg UR44) to your shell, then out to the interface to the world.

Questions, since this is the “Live Mode” thread. (1) Will I be able to vector outputs to multiple audio outputs? (2) How does the shell handle - “see” as it were - (if at all) VSTs that are built into the UR44 interface if I want to use them? (3) Can anyone on this thread with all their vast experience in this area think of any issues I may be missing. (4) will the setup, below, have latency issues?

If I use the audio input for my sax, I’m looking to use various effects, including harmonization. If I use MIDI I will use whatever VST sounds I have in the shell. Either way I may choose to use the UR44 built in effects. Keyboard interface will bee through USB.

I am an electrical engineer who has also toured as a sax player, so get as technical as you need to. Thanks everyone!


Hi Ken,

I don’t own the UR44 so not exactly sure what’s happening inside but I’m familiar with the situation of audio interfaces with integrated FX sections (used creamware DSP cards in former days and a Babyface atm).

First off: when we talk of Live Mode in cantabile a special kind of front end is meant with fewer elements on the surface due to ease of use and transparency on stage (here we usually don’t need to have every parameter of everything available - instead few informations we really need). Generally spoken: cantabile is a Live host even if Live Mode will be implemented lateron.

Concerning routing of signals to physical outs of the audio interface: sure, this is simple. You have to define virtual output ports mapped to the physical ports in the settings. Virtual ports are the ones you use inside cantabile.

Concerning latency: please keep in mind the sound of vstis (instruments) is only running through one ASIO buffer which produces latency but signals arriving cantabile through audio ins have to proceed 2 buffers! This means: 2 times the usual latency. To my experience buffer size should be 128 slots or even lower to handle this.

Concerning using the effects of the UR44 “inside” cantabile: maybe possible but I would not recommend this for some reasons:

  1. Re-routing of the effects lanes probably needs audio ports which probably can not be used for other purpose.

  2. Keeping the whole setup under control can be really cumbersome as it is a complex setup.

  3. Most likely (but I confess: dunno how UR44 is handling this) there is no chance to store settings of the internal effects inside cantabile. Even if it would be possible to call up patches by midi it is not a real Total Recall setup.

  4. Effects inside an audio interface ofter are not really top notch. There are tons of really good plugs out there for little money or even free.

So my hint would be: either only use the internal effects and let cantabile do the keyboard parts or go the “all inside way” but keep hands off a mixed bag.

Kind regards and good luck, humphrey

1 Like

Hey All,

I’ve been playing with ideas for presenting the current song and part in live mode and came up with this idea for a “ticker bar”. It shows everything in a horizontal queue with the current item centered on the screen:

and as you progress through the song things shift to the left:

same for the set list:

Font size of each row is adjustable.




Hey Brad,

This looks cool, i can see how it would help me know where i am and whats coming. I like it.:grinning:

I like it too and agree with Dave’s comment. When will this feature be available for a test drive?

Definitely well thought out. Absolutely no doubt this will be helpful in many scenarios.


I really like that for visual indication of song/state! Would it also provide interaction mechanisms for next/previous?

Thanks guys… I’ll get on an finish it then!

Sometime in the next week I’d imagine. I wanted to release all the live mode stuff in one go, but if you look carefully at the above screen shots you’ll notice a whole new main content tab which I haven’t started on yet. Depending on how that goes I might just put up a build with the monitor panel, controller bar and this ticker bar.

Yep I implemented the interactivity last night - each row is focusable, up/down arrows move between rows, left/right arrows move between items and enter key activates the selected item. You can also mouse click/tap an item to load it.