[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.