That’s an interesting idea, but I’d need to check how many objects would typically appear in that menu.
Hrm… that sounds like a challenge
One idea that was discussed here a while back is the idea of having a second window that can be shown that shows all objects and/or all states and the saved value for each property.
Show notes is on hold for the moment - I think I keep trying to overengineer it, so I keep putting it on hold.
In the meantime, the current show notes is basically a list of text block - so yes, you could store json in them.
The network server is not running nodejs - it’s implemented in Cantabile in C# and the server itself is not extensible - however the files it can serve are. ie: you can pretty easily add client side libraries and then implement what you need client side. eg: I’m pretty sure lowdb can run in the browser, but not sure where you’ll store the data.
If you need more, maybe you could write your own node server and have the client scripts connect to both Cantabile server and your node server.
Perhaps provide some more details on what you’re trying to do and I can suggest something.
I wrote a Python script for creating Cantabile songs based on a PDF leadsheet. It takes a Cantabile template song and the PDF as inputs and does roughly the following:
Converts the PDF into separate PNGs for each page
Creates show notes for each page
Creates song states for each page
Ensures the correct page is unhidden for each song state
If anyone is interested, I can tidy things up and upload the script somewhere.