I present JBSO, a framework written in UDOs to help develop almost object-oriented types in Csound. JBSO will take care of a few processes automatically, such as object counting, mapping IDs to names and more checks, but it still relies on the programmer to follow certain rules.
There is a small HTML manual, a README and each UDO contains its own documentation again.
Basically JBSO works by creating systematic channel names, namespaces, like this:
There are helper routines to create and destroy an object.
There is already some support for storage on disk, possibly using ftsave/ftload, but currently no helper opcodes have been implemented.
This is version 1.0 and I didn't have much chance to test it yet. JBSO was born as a side project to something else I am working on and finding that I repeat a lot of code over and over again and, naturally, mistyep or have small logic errors. JBSO is an attempt to safeguard more against such errors and give as much basic support to this kind of development as possible.
Since these opcodes serve a more abstract course there is no code demo included, although I hope to supply a small demonstration with a minimal type in the future. Currently, I am looking forward to go back to the main project I distracted myself from with JBSO and the scale quantisers released yesterday.