I’ve finally settled on an approach for a new version of Cantabile’s Show Notes and rather than develop it in the dark, I thought I’d post progress updates here for anyone interested in following along.
I’ve put this off for a long time because the requirements have be pretty wide and varied but the time has come to start work on this… and the experiments with cantabile-media-server, especially the PDF support has solidified the approach I want to take with this - which is to build it using web technologies (nodejs, browser, html, javascript, markdown, WebSockets, etc…)
In case you’re worried: this new approach won’t be replacing the existing show notes anytime soon - the intention is to allow both the old and new approaches to be available for at least a considerable transition period (if not indefinitely).
These posts will be a bit of a technical discussion, but not so much that you shouldn’t be able to get the general of idea of where this is going.
Over the last couple of weeks, cantabile-media-server has proved to be a good proof of concept for this approach:
Works as a media server
MIDI controllable from Cantabile
WebSocket support lets Cantabile control playback and scrolling within the browser.
Given the additional text formatting requirements for show notes I think doing it in HTML/JavaScript and rendering in a browser is a good approach - there’s just one problem: many users don’t want their show notes in a separate browser window and would prefer them displaying inside Cantabile.
There’s two solutions to this:
Build it twice, once embedded in Cantabile and once in a browser.
Embed a browser directly inside Cantabile and build it just once.
I really don’t want to build this twice, so today’s job was to see if a browser can be easily embedded in Cantabile. Turns out it can - see here. (ignore the “Browser” tab that’s just a placeholder for this test).
That was the final piece in deciding on this approach. The following posts will be focused on the show notes format and will be demoed in an external browser - just remember the idea is to eventually move this so it can all run inside Cantabile.
Next job - start implementing the show notes Markdown + directives file format and get it appearing in a browser.