[Strasheela-users] lily tuple for score objects
Status: Beta
Brought to you by:
t-anders
From: Torsten A. <tor...@pl...> - 2008-03-29 17:26:41
|
On Mar 29, 2008, at 4:17 PM, Graham Percival wrote: > On Fri, 28 Mar 2008 16:45:09 +0000 > Torsten Anders <tor...@pl...> wrote: > >> %% In the score, the info attribute of sequential containers supports >> %% a record with the label lily. The VS at feature 1 of this record >> %% will be inserted at beginning of this sequential. Note that nested >> %% sequentials can bring in their own lilypond VS. > > I love this! Could I convince you to merge {SeqToLily} with the > one currently in Out.seqToLily? > > fun {SeqToLily Seq Clauses} > Lily = {Seq getInfoRecord($ lily)} > in > {Out.listToVS > [if Lily == nil then nil else Lily.1 end > {Out.seqToLily Seq Clauses}] > " "} > end > > The recusive call would need to remove the existing lily record, > of course. OK, done. Doc quote "Arbitrary Lilypond code can be added to container and note objects via a tuple with the label 'lily' given to the info attribute of a score object. This tuple must only contain VSs which are legal Lilypond code. For containers, this lilypond code is always inserted in the Lilypond output before the container, for notes it is inserted after the note." The following now works as expected. MyScore = {Score.makeScore sim(items:[seq(info:[lily("\\key d \\major \\time 3/4" "\\clef alto")] items:[note(duration:8 pitch:64) note(duration:8 pitch:64)]) seq(info:[lily("\\clef bass")] items:[note(duration:4 pitch:64 info:lily("(")) note(duration:4 pitch:64 info:lily("\\staccato")) note(duration:4 pitch:64 info:lily("\\mordent" "\\breathe")) note(duration:4 pitch:64 info:lily(")")) ]) ] startTime:0 timeUnit:beats(4)) unit} {Out.outputLilypond MyScore unit} You could use this lily info tuple for your triplets too :) However, for overwriting things like the default staff settings (e.g. for creating a RhythmStaff) you still need to define your own sequential or simultaneous output function.. >> BTW: the Strasheela test files already contain lots of small scale >> examples up to example of this size. Any idea how we can make them >> more accessible for users (who checks for examples in files like *- >> test.oz??). > > Sorry, could I come back to this in a week or so? I'm on a roll > with my exercise creation, so I'd like to concentrate on finishing > these programming tasks before diving into documentation again. Hey, no problem :) Best Torsten -- Torsten Anders Interdisciplinary Centre for Computer Music Research University of Plymouth Office: +44-1752-233667 Private: +44-1752-558917 http://strasheela.sourceforge.net http://www.torsten-anders.de |