[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] How do you organize your work with sc ?



On 08-12-2014 19:39, Eric Würbel wrote:
> Hello listers,
> 
> I have a general question concerning the workflow with supercollider.
> 
> I fiddle around with sc for a few months now, studying existing code and
> experimenting ideas.
> 
> My main concern is the organization of the code. When I work on a new
> idea, I generally end up with a bunch of source files containing
> variations around the idea, and it becomes tedious to finalize the work
> when facing x versions of my idea.
> 
> So my question is merely a kind of poll : how do you organize your work
> when you start to compose/develop an idea, etc...
> 
> I leave apart the development of extensions, because it seems to me that
> this process is closer to the organization of a software development. I
> actually developed an extension, a class which implements a
> probabilistic automata, and I didn't feel lost in the source code, my
> computer scientist background makes me feel comfortable with this.
> 
> Thanks in advance for your interest for this problem.
> 
> Eric
> 
Hi

Latelly I organize all my code for a piece using functions, dictionaries
and arrays, so no classes and no library recompiling.

I tend to keep variations of the same thing in files that end like
nicething_0.scd, nicething_1.scd, etc. When the piece develops to the
point where it's more or less clear what are the things that will stay
fixed and what are the things that I will be tweaking, I create a data
stucture thar encapsultes all the parameters that I will be changing
that are needed to generate the piece and I crete a function which takes
as an argument the path to a file containing such a data structure. The
code to generate the whole piece then becomes:

generateMyPiece.("/some/folder/piece_configuration_file_v35.scd")

where /some/folder/piece_configuration_file_v35.scd contains something like

(
numberOfEvents: 32,
duration: 456,
...
)

As I keep changing things I just create updated versions of the
configuration file keeping all the older ones. This makes it easy to
compare diferent versions of the piece (provided the generateMyPiece
function was not changed).

On top of that I use git on the whole folder of the piece and just do a
commit at the end of a day of work, usually with a non descriptive
message such as "bump".

best,
Miguel

Attachment: signature.asc
Description: OpenPGP digital signature