I see that I can create bindings in a song, or rack. With my controller I want to assign CC118 for Previous Song and CC119 for Next Song. But do I have to create those bindings in every song (or rack) or can I create them at the set list level, or some other global level?
You usually put those in the Background Rack so they are global to all songs present and future.
I can really recommend @brad’s videos and the excellent guides section. In the “racks” part, it reads:
THE BACKGROUND RACK
Aside from racks that you explicitly load into a song there is one special rack called the “Background Rack” that is typically used for bindings that need to work across all songs but can also be used to load plugins, media players or triggers that you need available in all sessions.
To access the background rack, from the View menu choose “Background Rack”.
Changes to the background rack are always saved automatically when the Cantabile is closed.
Even after more than three years with Cantabile, I come back to the Guides section regularly to read up on features I use less frequently and to clarify things.
But yes, Cantabile is a hugely powerful and complex environment - working with it is like learning to play an instrument; one step at a time. And we’re all happy to share from our failures and successes