Build 3544 - What's New

Hey All,

Build 3544 is finally here! (Download link)

I’ll write up some blog posts soon, but in the meantime, here’s a quick look at what’s new…

Web UI

Cantabile Performer (not Solo/Lite) on Windows 8 or later (unavailable in Windows 7) now supports a web based UI that can be used to control Cantabile from another device.

Here’s how it works:

  1. Go to Options → Miscellaneous and turn on “Enable Network Server”

    image

  2. To test this on the same machine as Cantabile is running, open a web browser and navigate to “http://localhost:35007/”. You should see something like this:

Note that most browsers support some kind of full screen mode, eg: in Chrome hit F11 to go full screen.

You could also run it as a standalone Chrome app which removes the address bar using a command like this:

Here’s the command:

    "%ProgramFiles(x86)%\Google\Chrome\Application\chrome.exe" --app=http://localhost:35007

Here’s how it looks with address bar and tabs removed:

Web UI on Other Devices

To bring up the Web UI on another device, you’ll need the local IP address of the machine Cantabile is running on. To find this, bring up a command prompt and type ipconfig and you’ll find the IPv4 address in there:

Use that IP address on any modern phone, tablet, computer that’s running on the same local network and you should see the same UI.

eg: my machine running Cantabile has IP address 10.1.1.4 so on my iPhone if I navigate to http://10.1.1.4:35007 I get this:

Don’t forget to include the :35007 port number in the URL

Web UI on iOS

Both iOS and Android have commands to add a web page to the home screen. The cool thing about this is it gets rid of the address bars and tab screens and makes them run full screen.

To do this on iOS:

  1. Bring up Cantabile’s WebUI in Safari.
  2. Click the “More Actions” button
  3. In the bottom row of icons you should see “Add to Home Screen”. Do it.
  4. Tap the new “app” on your home screen… no toolbars!

Here’s a video showing this…

Web UI on Android

Android is similar…

  1. Bring up the Cantabile WebUI in Chrome
  2. Click the … menu button in top right hand corner
  3. Click the Add to Home Screen menu item, follow the instructions

Here’s the same UI on my Android tablet:

About the Web UI

The web UI currently supports set lists, song states list, show notes, current time indicator, panic button, transport controls and “Continue” button (ie: next song part or song). I’ll continue to develop this, but want to get some feedback before spending more time on it.

Also, the WebUI was designed to work with a fast modern browser. If you just get a mostly black screen and nothing else then your browser it probably too old. eg: it doesn’t work on an iPad 3 but does work on a Nexus 7.

New - Network and JavaScript API

Underlying all this Web UI is a new network API that can be used to programatically control Cantabile. It includes a low level network API and a Javascript library that wraps it all up and makes it easy to use from Node.js and from within a browser.

For more details on all this, see this page.

For an example of this kinds of things you might do with this, see this post.

New - Per Song Metronome Sounds Settings

Metronome sounds can now be enabled/disabled on a per-song basis. This functionality is optional, see this video:

New - Busy Indicator

The power button now glows orange when Cantabile is busy (eg: loading songs, plugins, set lists etc…)

image

New - Set List Picker

Clicking on the title bar of the set list panel now brings up a “set list picker”. Note this list isn’t populated from the recently used set list menu, rather it just shows all the set list files in the directory you have configured for set list (Options → File Locations);

image

New - Support for 24-bit FLAC files

Not much to say about this - they now work!

New - Program Number and (N)RPN Number formatting

New option to zero pad program numbers and new option for separated MSB/LSB RPN numbers:

image

New - Ability to Hide Plugins in the Insert Plugin window

You can now hide plugins in the Insert Plugin window. Note the new “hidden” checkbox in the bottom right corner and the new “Hidden” category on the left (so you can get back to them to unhide them)

New - MIDI Output Ports can now be used as the source of a MIDI binding

You can now use a MIDI output port as the source of a binding. (ie: invoke bindings when particular MIDI events are sent).

Note the source column - this binding will invoke when CC 16 is sent to the External Synth port:

New - Related File Operations

Cantabile will now manage files with similar names to song files when you “rename” or “save as” a song in Cantabile. eg: suppose you have the following song file:

  • YellowSubmarine.cantabileSong

and you have an associated file:

  • YellowSubmarine.score.jpeg

If you opened the song file in Cantabile and then did File → Save As, Cantabile would also copy the .jpeg file (and any other similarly named files). The same thing works if you rename a song in the set list.

(Note: this only works for song files - not other file types).

Improved - Better Support for Narrow Plugins

Cantabile used to have a minimum plugin editor width which introduced gray panels each side of the plugin. This limitation has been removed. eg:

Improved - Show Notes Editor Tweaks

Cantabile used to forget where you had the show notes editor window placed. Now it remembers.

Also, Ctrl+A to select all in multi-line text fields now works

Improved - External Tools with Song Variables

If you setup an external tool (Options → Custom Tools) that uses one of the song name related variables (eg: $(SongTitle) and you try to invoke that command with an unsaved song file, you’ll now get prompted to save it first.

Improved - Transport Button Changes

Media Player slots now have a stop button again:

image

and the behaviour of the buttons has been tweaked:

  • The play button now always commences playback (it used to toggle play/top)
  • The pause button now pauses if playing, or unpauses if paused
  • The stop button of course stops playback

The old behaviour wasn’t very standard, I think this is better (even though it takes up more room in the main panel for the extra button).

Improved - Renewed Subscriptions Automatically Re-activated

If you renew your subscription, Cantabile will now automatically re-activate it as required.

Bug Fixes

  • Fixed - voices being dropped with custom metronome sounds at fast tempo
  • Fixed - small problem with indexed object bindings when switching to new song
  • Fixed - display issue with white space in show notes
  • Fixed - issue with popup placement and size on hi-dpi monitors
  • Fixed - enter key not working in filtered set list grid
  • Fixed - focus incorrectly set on startup if set list grid visible
  • Fixed - main window sometimes left disabled after plugin scan
  • Fixed - main window sometimes disappears and then reappears after song load
  • Fixed - toggle popups command (F4) not working
  • Fixed - display issues after re-ordering show notes
  • Fixed - file sharing issue when using non-zipped UI themes
  • Fixed - exception when verifying set lists with unloaded embedded racks
  • Fixed - several other obscure exceptions

Available Now

This build is available now (download link) but there’s been quite a few changes so definitely treat it as experimental, especially the network related stuff.

Enjoy, please report any issues!

Brad

10 Likes

I can tell already this will be very cool!!! Just checked on my browser and boom right there.

Thanks @brad

2 Likes

Wow Brad, this is an amazing update!!

1 Like

Decisions, decisions. It’s 2AM, I have a series of gigs starting Thursday. Do I geek out till sunrise, or go to bed, and try to wait till Sunday ?:anguished:

3 Likes

@brad

Not an issue but an observation. If you select a song on the long set list that has been scrolled down and then go the states tab and return to the set list tab and it has reset to the top of the list. Could it remember last position scrolled to? This is really nice work!

Dave

We need to move Down Under :rofl::rofl:

Pick me up on your way. We will become beta testers for Brad. Hope he has plenty of room, because I needs me space. :laughing:

Just checked the WebUI on my tablet Samsung Galaxy Note Pro 12.2 … so cool!

Hey Dave… there’s already code in there to specifically do this and it seemed to be working for me. What device/browser are you using?

latest Firefox, should I try other? I saw you recommend chrome.

Firefox on Windows? I’ll check it out tomorrow. (Yep I was running Chrome when testing)

Yes, Firefox 61.0.1 (64-bit)

1 Like

btw: I should add… for any devs/tech-heads who want to customize the WebUI the source code for it all is available here.

2 Likes

Hey @Mistheria - if you click Chrome’s menu button and choose Add to Home Screen you can get rid of the address bar and tabs and go full screen.

1 Like

This is not showing up for me.

Hey @brad

I checked on all 3 of these browsers and had the same result, it might have been the way I described it, I’m not sure. If I am in the browser and on the setlist tab and select a song that is down the list and then go to the States tab when I return to the setlist tab it is reset to the top of the set list on all of these browsers.

Microsoft Edge 42.17134.1.0
Microsoft EdgeHTML 17.17134

Firefox Quantum 61.0.1 (64-bit)

Google Chrome - Version 67.0.3396.99 (Official Build) (64-bit)

Dave

Thanks @brad ! Excellent, done!

1 Like

@Corky What version of Windows are you running? Microsoft’s http stack only support WebSockets (which this is built on) in Windows 8 and later. So the full requirement is Cantabile Performer and Win8 or later. Running Windows 7 by any chance? I’ll update above description to reflect this.

@dave_dore OK I’ll check it out. Perhaps something broke.

That would be the problem. I am on Win7. My backup is Win 8. I will try it on backup. Other than that, loving what I see so far. Narrow plugs look real sharp.

Thanks

Corky