KingaJanicka / pushpin-groovebox

WIP Groovebox project using Push 2 as a control surface and interface and Raspberry Pi for hosting
MIT License
6 stars 0 forks source link

agree folder structure #37

Open mesbahkhan opened 3 weeks ago

mesbahkhan commented 3 weeks ago

based on the code a first pass could be to move similar sounding scripts into folders of thier own and let the structure emerge organically

from a superficial analysis of the code I can see

   - components
      - oscillators
      - effects
      - mixer
      - mod_matrix
      - controllers
         - push2       
   - constants (not sure if this should be per component or general)
   - definitions
   - modes
   - helpers

also an overall source folder and tests folder helps to organise the top level so the top level could be source

tests docs

KingaJanicka commented 3 weeks ago

Fundamentally all oscillators and effects are the same thing really, there is this split in how they're grouped in the file structure, but that's mostly to help me find the right thing, as there is a lot of those FX. They are all a json file that has a def for what controls need to be loaded when it's selected and some init calls to send to the synthesizer in order to set the state.

There are some devices that are different (mod_matrix, audio_in), but they're the exception rather than the norm.

I would probably group all of the files with JSON definitions into one folder, with subfolders maybe to have it be easier to find what we're looking for

mesbahkhan commented 3 weeks ago

ok for oscillators/effects but what about the rest?

what about all the modes that seems to be one set of classes derived from a main class

and also my other point about separting source from test usually a good idea to keep the main source code in a separate folder (people call it src, but I prefer source (based on the no-abbreviations rule from clean coding)

I think currently everything is in root so the structure is not explicit.