[Csnd-dev] Source tree reorganization
Steven Yi <[email protected]>
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Message-ID | <CANtcCs6U7VA=7LP_ADZwVAEatEoAW_nzQU+j5znPS++pSXHq6Q@mail.gmail.com> |
Hi All, We've had a couple of conversations about this the past half year and I thought I'd bring it up again. From my perspective we've been essentially working with a monorepo made up of libraries and applications, yet our code hasn't been as organized as it could be to align with this. In particular, having the source for libcsound intermixed at the same top-level as other folders doesn't really encapsulate things well and makes it a little more difficult to find. For a first iteration, I was thinking: /libcsound - move H, include, Engine, Top, OOps (rename to opcodes), po /plugins - InOut, Opcodes (break this up into one folder per plugin); this folder could be broken up into different kinds of plugins (opcodes, io, ftable, etc.) /apps - all commandline apps that rely on libcsound. Move Frontends, util, util1 (compiled commands). Also look at separating each executable into their own folder. This adds a lot of folders but it also makes it very clear for code relationships. /util - move non-compiled code utilities here (util2, parts of util1) as well as utility code that doesn't use libcsound (longline.c, nsliders.tk). /platform - platform-specfic code; use existing platform folder but move Android, Bela, Daisy, iOS, Java (though this might be better removed and separate repo for Java binding maintained), wasm, Python Thoughts? steven