[Cuis-dev] Signals library and Tracker
Luciano Notarfrancesco
luchiano at gmail.com
Sat Apr 18 01:45:42 PDT 2026
Yes, I tried to make the format simple and straight forward so someone in
the future could easily read it. But I don’t handle different versions yet,
at this point things are still changing and sometimes (when I add or remove
some knob from a module, for example) I need to manually convert all
examples to the new format and save it again. Also, I didn’t use
ReferenceStream to serialize the modules because they typically have state
(instance variables) that are only used at runtime and I didn’t want to
persist that, I only need to persist the position of each knob and this is
easy to implement in general in the class Module (>>asJsonWithBuffers: and
>>readFromJson:buffers:).
I do include all samples in the .song files, not only notes. The .mod files
that traditional trackers used also included the samples (as opposed to
.mid MIDI files that only included notes), and this ensures that they sound
correctly any time you play them because they don’t depend on which samples
are loaded in the tracker.
How about you? Why did you choose to use ReferenceStream for DrGeo? Does it
give you any problem when you add or remove instance variables?
On Sat, Apr 18, 2026 at 14:48 Hilaire Fernandes <hfern at free.fr> wrote:
> Interesting. I saw the binary data at the beginning of the file, but I did
> not realize there is Json data at the tail. Did you think about the
> evolution of the format, regarding long term compatibility?
> Le 14/04/2026 à 11:59, Luciano Notarfrancesco a écrit :
>
> No, I’m just using a mix of JSON and binary buffers in a single file. Most
> of the modules only need to store the settings (the position of each knob
> for example, it’s just a Dictionary name -> value), with the exception of
> Sample, Multisample and Wavetable that need to store also buffers
> (Float32Arrays). The .song or .patch files (that store a whole song a a
> single instrument respectively) are self-contained, they contain all the
> samples used too, not only the notes.
>
> -- http://mamot.fr/@drgeo
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20260418/115e732e/attachment.htm>
More information about the Cuis-dev
mailing list