I have this project: I make arrangements of figured bass pieces. (Generalbass Wolf). In total 100 pieces. Uptill now I organised it this way: - 1 file with all pieces in it (I did about 10, 90 to go). The file starts with an include of a startup.ily, with some settings for the whole book then the first piece. I include a file (arrangeit.ily) to change the music into several voices, etcetera using arranger.ly<http://arranger.ly>. I add some lines to change 1-2 voices a bit using also arranger.ly<http://arranger.ly> then I include a file (Generalbassmakescore.ily with the settings to create the score. Second piece (with the same variablenames!) and repeat the includes like mentioned above. etcetera.
It works, looks well. At the end I have 1 file with alle the pieces and 3-4 files to do small jobs, It is not fast. But somehow I have the idea this could be easier/better. But how? - One idea would be to put all pieces in separate files and include this in one file with all jobs: arranging, extra changes, create voice/score. But then I will have 101 files Most easy would be to create a file with procedures I need, include the file and call the procedures when needed. . But how? Lilypond does not have procedures (as far I know?). Using functions gives lots of errors. I tried it with variables, but no luck either. I try to put these lines in a variable/function/procedures (as an example): What to do, to make lilypond use the lines between {} simply as a replacement of the variable? arrangeit = { %----- verwerking------- all = #'(pright pleft soprano alto tenor bass viola contrabas soprano) #(init all) #(begin ;;pianopartij (rm 'pright '(1-4) (rel 1 'melody) ) (rm 'pleft '(1-4) (rel 'bassline) ) ;; koorpartijen ;; sopraan (rm 'soprano '(1-4) (note 1 (rel 'melody) )) ;;alt (rm 'alto '(1-4) (note 2 (rel 1 'melody)) ) ;; tenor (rm 'tenor '(1-4) (note 3 (rel 1 'melody) )) ;; bass (rm 'bass '(1-4) (rel 'bassline) ) ;;ciontrabass (rm 'contrabas ' (1-4) (rel 'bassline) ) ) } Eef