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