Re: parallel versus series scoring

2006-01-23 Thread Han-Wen Nienhuys

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

2006-01-20 Thread Han-Wen Nienhuys

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

2006-01-19 Thread Nicolas Sceaux
-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

2006-01-19 Thread John Wiedenhoeft
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

2006-01-18 Thread -DeeT (sent by Nabble.com)

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

2006-01-18 Thread John Wiedenhoeft
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

2006-01-18 Thread Graham Percival


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