Re: parallel versus series scoring
David B. Thomas wrote: Wouldn't it be better to store the voices in different variables? I'd be happy to do this. Then the syntax could look something like this: voice1verse1 = { some notes } voice2verse1 = { more notes } voice1verse2 = concatenate { still more notes }; voice2verse2 = concatenate { ..and more notes }; Hey, that's a neat idea. We could append to variables iso. overwriting, if they have been defined before, \parallelMusic #'(a b) { c | d | c | d } \parallelMusic #'(a b) { p | q } - a = { { c c } p } b = { { d d } q } -- Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: parallel versus series scoring
Nicolas Sceaux wrote: -- parallelMusic = #(def-music-function (parser location voice-number music) (number? ly:music?) it's hack, but it's a cool one. With a little polishing, we should be able to put it in the standard distribution. Wouldn't it be better to store the voices in different variables? It would be nice to check whether the lengths of all bars are equal. -- Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: parallel versus series scoring
-DeeT (sent by Nabble.com) [EMAIL PROTECTED] writes: The Lilypond manual explains well how to code this way: staff1, all measures staff2, all measures staff3, all measures I'd prefer to have this organization in the source: staff1,measure-group1 staff2,measure-group1 staff3,measure-group1 % staff1,measure-group2 staff2,measure-group2 staff3,measure-group2 The following function may enable the style you want. It uses the | bar check sign to separate different voices: staff1 measure-group1 | staff2 measure-group1 | staff3 measure-group1 | staff1 measure-group2 | staff2 measure-group2 | staff3 measure-group2 | -- parallelMusic = #(def-music-function (parser location voice-number music) (number? ly:music?) (let ((voices (make-vector voice-number (list))) (current 0)) (define (push-music music index) (vector-set! voices index (cons music (vector-ref voices index (map-in-order (lambda (m) (push-music m current) (if (eq? (ly:music-property m 'name) 'BarCheck) (set! current (modulo (1+ current) voice-number (ly:music-property music 'elements)) (make-music 'SimultaneousMusic 'elements (map-in-order (lambda (music-list) #{ \new Staff $(make-music 'SequentialMusic 'elements (reverse! music-list)) #}) (vector-list voices) \new StaffGroup \parallelMusic #'3 { \time 4/4 g' g' g' g' | e' e' e' e' | c' c' c' c' | %% \time 3/4 a' a' a' | fis' fis' fis' |d' d' d' | %% \time 2/4 b' b' c'' c'' | gis' gis' a' a' | e' e' f' f' | } -- You can also define something similar for mixing a melody and lyrics, but you'll have to use \lyricmode explicitly, which is not convenient here. -- songMusic = #(def-music-function (parser location music) (ly:music?) (let ((voices (make-vector 2 (list))) (current 0) (voice-number 2)) (define (push-music music index) (vector-set! voices index (cons music (vector-ref voices index (map-in-order (lambda (m) (push-music m current) (if (eq? (ly:music-property m 'name) 'BarCheck) (set! current (modulo (1+ current) voice-number (ly:music-property music 'elements)) (let ((voice (make-music 'SequentialMusic 'elements (reverse! (vector-ref voices 0 (lyrics (make-music 'SequentialMusic 'elements (reverse! (vector-ref voices 1) #{ \new Voice { $voice } \addlyrics { $lyrics } #}))) \new StaffGroup \songMusic { c'8 c' c' d' e'4 d' | \lyricmode { Au clair de la lu -- ne, } | %% c'8 e'8 d' d' c'2 | \lyricmode { mon a -- mi Pier -- rot } | } -- Note that these are just hacks. nicolas ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: parallel versus series scoring
of course, its pretty simple - see attached file. After you finished a piece, do ctrl+a and copy the content of the cells to a .ly file. cheers, john Am Mittwoch, den 18.01.2006, 14:05 -0800 schrieb Jay Hamilton, Sound and Silence: John- Could you go into this alittle more. I'm using OOo alot though the winxp version for lilypond and music matters. I'm also trying to write largish scores and keeping track of everything is a problem. But what I'm unsure about with your 'solution' is how do you then copy/paste the material into a form that lily can read? Without the underlying coding of OOo interferring with the music? Jay John Wiedenhoeft wrote: Well, I don't know if Lilypond provides something like this. What I do sometimes is using a spreadsheet editor (OOo Calc, Excel) with one cell per bar. With this method, you are not limited to one dimension, but have two, as in a real score. You can stack simultaneous bars under each other. You can also use cell references to structure your score. Cheers, John ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user barbireau.ly.xls Description: MS-Excel spreadsheet ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
parallel versus series scoring
I'm a newcomer to lilypond, having previously used abc. One thing I find vexing is how to enter scores so it is easy to see all the staves on the screen at the same time during coding (i.e. in the source code). The Lilypond manual explains well how to code this way: staff1, all measures staff2, all measures staff3, all measures With compositions of any length, this means you can't see in the source, for instance, measure 57 from all staves at the same time, except perhaps with awkward editor screen splits. I'd prefer to have this organization in the source: staff1,measure-group1 staff2,measure-group1 staff3,measure-group1 % staff1,measure-group2 staff2,measure-group2 staff3,measure-group2 This is how I'm accustomed to coding in abc, and what I like about it is that I get to the point where I can compose this way, without having to use paper first. In a sense, the source is organized similarly to the actual score, with staves aligned vertically and the notes proceeding to the right. I suppose it would be possible to do this with the simple expedient of using one text line for each staff, no matter how long it is, but then it's not particularly scrollable or printable. A better solution would be to break each staff up into measure groups that fit in a conveniently-sized line of source. Two ways I can think of that might work would be... 1. assign measure groups to separate strings, then concatenate the strings 2. change contexts on the fly, adding notes to each staff in turn (like abc) Unfortunately I'm having a hard time figuring out how to do either. Could any seasoned lilyponders offer me some coding advice, and help me across the pond, so to speak? Thanks... David View this message in context: parallel versus series scoring Sent from the Gnu - Lilypond - User forum at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: parallel versus series scoring
Well, I don't know if Lilypond provides something like this. What I do sometimes is using a spreadsheet editor (OOo Calc, Excel) with one cell per bar. With this method, you are not limited to one dimension, but have two, as in a real score. You can stack simultaneous bars under each other. You can also use cell references to structure your score. Cheers, John ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: parallel versus series scoring
On 18-Jan-06, at 2:15 AM, -DeeT (sent by Nabble.com) wrote: I'm a newcomer to lilypond, having previously used abc. One thing I find vexing is how to enter scores so it is easy to see all the staves on the screen at the same time during coding (i.e. in the source code). See sly at http://openguitar.com/lyutilities.html Cheers, - Graham ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user