RE: Scope of scheme defines in Lilypond projects

2011-02-11 Thread James Lowe
Simon,

)-Original Message-
)From: lilypond-user-bounces+james.lowe=datacore@gnu.org
)[mailto:lilypond-user-bounces+james.lowe=datacore@gnu.org] On
)Behalf Of Simon Mackenzie
)Sent: 11 February 2011 07:37
)To: lilypond-de...@gnu.org
)Cc: lilypond-user@gnu.org
)Subject: Scope of scheme defines in Lilypond projects
)
)Hi
)I'm wanting to write some globally accessible scheme functions /
)procedures (defines) for my lilypond project but the documentation on
)such seems a bit limited. I.e. Do \header, \page and other contexts
)introduce new variable scopes (assuming yes here)? If so, how can
)scheme functions and variables be defined globally for access in all such
)scopes within a lilypond project?

I am not a scheme programmer but want to check that you have considered the 
\include and \global settings?

http://lilypond.org/doc/v2.13/Documentation/notation/working-with-input-files

Simply put; have a single file with all your 'global' settings in and then you 
can include other files that you need - for instance many of the mutopia scores 
that are in LilyPond format are done like this with a single 'global' file - 
the main score and all the various instrument files - the notes -  done 
separately.

You can then add the scheme functions to the one file and then just include 
that file in all your other .ly files as needed.

Hope this helps.

James


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Slur position : catching Llilypond values...

2011-02-11 Thread Xavier Scheuer
On 8 February 2011 22:56, David Nalesnik dnale...@umail.iu.edu wrote:

 Hello,

 There probably is a better way to do this, but the function below
 seems to do the trick.  It adds an offset to the Y-coordinate of
 either or both of the slur's attachment points.  Setting one value of
 the pair to zero will leave one end-point as it is.  (See attached
 files.)

 offsetPositions =
  #(define-music-function (parser location offsets) (pair?)
#{
   \once \override Slur #'positions = #(lambda (grob)
 `(,(+ (car $offsets) (cdar (ly:slur::calc-control-points grob))) .
   ,(+ (cdr $offsets) (cdr (cadddr (ly:slur::calc-control-points 
 grob))
#})

Nice feature!

Could you add it to the LSR?  http://lsr.dsi.unimi.it/

Cheers,
Xavier

-- 
Xavier Scheuer x.sche...@gmail.com

___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Cross staff slur help

2011-02-11 Thread Phil Holmes
I have a piece of piano music from the opening chorus of The Gondoliers that 
I'm struggling to get my head round.  A scan is attached.  It's a 
cross-staff slur, but my problem is that the music in the left hand is still 
continuing (the crochet F) while the slur is crossing the staves.  I can't 
work out a) how to start setting this in LilyPond or b) what it means in 
performance.


Can anyone help?

--
Phil Holmes

attachment: CrossStaffSlur.png___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


fixing beaming

2011-02-11 Thread Douglas Ridgway
\relative c' {
c8 c8 c8 c4 c4 c8~ | c8 r8 r2.
}

This beams the first three eighth notes together, but the third one
should have a flag, to emphasize the syncopation. What's the right way
to fix this?

Thanks!
doug.

___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Can't use NoteNames twice in score block ??

2011-02-11 Thread Phil Holmes
- Original Message - 
From: Michael Ellis


I'm not having much luck reducing it down to a minimal example.   I have 
family visiting for the next few days, so I'll try to pick it back up 
after Christmas.



Cheers and happy holidays to all!,
Mike


Michael,

Did you make any progress with creating a Tiny example of this issue?

--
Phil Holmes




___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Snippet does not work anymore

2011-02-11 Thread Ole Schmidt

Am 11.02.2011 um 06:52 schrieb James Lowe:
 
 
 For those that had trouble actually finding what the .ly code was..
 
 % CODE %%
 \markup { { \score {\new Staff \with {
 \remove Time_signature_engraver
 \remove Clef_engraver  
 \remove Staff_symbol_engraver
 } {
 d'8[ d']
 } \layout { ragged-right = ##t indent = 0} } \lower #3 {  = }
 \score {\new Staff \with { 
 \remove Time_signature_engraver
 \remove Clef_engraver  
 \remove Staff_symbol_engraver 
 
 } {
 \times 2/3 { d'4 d'8 }
 } \layout { ragged-right = ##t indent = 0}  }
 
 }
 } 
 
 %

to answer my own question: it can be done with \general-align #Y #DOWN

the = sign is now a bit low, but I don't know how to raise it- I can live 
with that...

ole

% corrected Code 
\markup {\general-align #Y #DOWN  { \score {\new Staff \with {
\remove Time_signature_engraver
\remove Clef_engraver  
\remove Staff_symbol_engraver
} {
d'8[ d']
} \layout { ragged-right = ##t indent = 0} }  {  = }
\score {\new Staff \with { 
\remove Time_signature_engraver
\remove Clef_engraver  
\remove Staff_symbol_engraver 

} {
\times 2/3 { d'4 d'8 }
} \layout { ragged-right = ##t indent = 0}  }

}
}
%
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Cross staff slur help

2011-02-11 Thread Phil Holmes
- Original Message - 
From: David Kastrup d...@gnu.org

To: lilypond-user@gnu.org
Sent: Friday, February 11, 2011 2:44 PM
Subject: Re: Cross staff slur help



Phil Holmes em...@philholmes.net writes:


I have a piece of piano music from the opening chorus of The
Gondoliers that I'm struggling to get my head round.  A scan is
attached.  It's a cross-staff slur, but my problem is that the music
in the left hand is still continuing (the crochet F) while the slur is
crossing the staves.  I can't work out a) how to start setting this in
LilyPond or b) what it means in performance.

Can anyone help?


It's a rising melody line starting in the left hand and moving to the
right.  The music in the left hand is _not_ still continuing in the
execution, but it would be silly to write an actual rest here while the
sustain pedal is down.


OK.  Thanks.


So that's probably a case for f4*1/4 in the input.



Sorry - I don't understand.  What does this mean?

--
Phil Holmes



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


FW: Scope of scheme defines in Lilypond projects

2011-02-11 Thread James Lowe
-Original Message-
From: Simon Mackenzie [mailto:smac...@me.com] 
Sent: 11 February 2011 14:50
To: James Lowe
Subject: Re: Scope of scheme defines in Lilypond projects

Hi James,
Thank you for the pointer. Booked out over the weekend time wise so will check 
this out early next week.
Much appreciated...
Here's hoping.

Simon Mackenzie

On 2011/02/11, at 16:43, James Lowe wrote:

 Simon,
 
 )-Original Message-
 )From: lilypond-user-bounces+james.lowe=datacore@gnu.org
 )[mailto:lilypond-user-bounces+james.lowe=datacore@gnu.org] On 
 )Behalf Of Simon Mackenzie
 )Sent: 11 February 2011 07:37
 )To: lilypond-de...@gnu.org
 )Cc: lilypond-user@gnu.org
 )Subject: Scope of scheme defines in Lilypond projects
 )
 )Hi
 )I'm wanting to write some globally accessible scheme functions / 
 )procedures (defines) for my lilypond project but the documentation on 
 )such seems a bit limited. I.e. Do \header, \page and other contexts 
 )introduce new variable scopes (assuming yes here)? If so, how can 
 )scheme functions and variables be defined globally for access in all 
 such )scopes within a lilypond project?
 
 I am not a scheme programmer but want to check that you have considered the 
 \include and \global settings?
 
 http://lilypond.org/doc/v2.13/Documentation/notation/working-with-inpu
 t-files
 
 Simply put; have a single file with all your 'global' settings in and then 
 you can include other files that you need - for instance many of the mutopia 
 scores that are in LilyPond format are done like this with a single 'global' 
 file - the main score and all the various instrument files - the notes -  
 done separately.
 
 You can then add the scheme functions to the one file and then just include 
 that file in all your other .ly files as needed.
 
 Hope this helps.
 
 James
 


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Can't use NoteNames twice in score block ??

2011-02-11 Thread Michael Ellis
On Fri, Feb 11, 2011 at 8:53 AM, Phil Holmes m...@philholmes.net wrote:

 Michael,

 Did you make any progress with creating a Tiny example of this issue?


No.  I tried for a while and then decided to let it sleep.  It's not
impacting the things I'm currently doing with LilyPond.  Thanks for
asking! If it's a real bug I'm sure it will come back to bite me again
and I'll pursue it then.

Cheers,
Mike

___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Get the pitch as number

2011-02-11 Thread Gilles THIBAULT



It appears to me that I'm getting a list rather than an integer, but if I
run (get-text texts (ly:pitch-semitones (ly:make-pitch 0 1 0)))

So get-pitch was probably the culprit ...

%
#(define (make-text-script x)
(make-music 'TextScriptEvent
   'direction DOWN
   'text (get-text texts x)))

#(define (add-text-script m)
 (if (equal? (ly:music-property m 'name) 'EventChord)
 (ly:music-set-property! m 'elements
   (cons (make-text-script (get-pitch m))
 (ly:music-property m 'elements)))
 (let ((es (ly:music-property m 'elements))
(e (ly:music-property m 'element)))
   (if (pair? es)(ly:music-set-property! m 'elements
  (map add-text-script es)))
   (if (ly:music? e)(ly:music-set-property! m 'element
  (add-text-script e)
 m)

#(define (get-text ls n)
 (if (or ( n 0)(= n (length ls)))
   
   (list-ref ls n)))

#(define (get-pitch music)  %% music as a eventChord
 (let* ((es (ly:music-property music 'elements))
(p  (ly:music-property (car es) 'pitch)))
;(display \npitch : )(ly:pitch-semitones p)(newline)
(if (ly:pitch? p)(ly:pitch-semitones p) -1)))
%%(if (ly:pitch? p)(ly:pitch-notename p) -1)))

#(define texts '(zero one two three four))
%%#(define texts '(zero one two three four))%% with use of
ly:pitch-notename

addText = #(define-music-function(parser location m)(ly:music?)
(add-text-script m))

music = \relative c' { b c cis d dis e f r}
%% music = \relative c' { b c d e f g a r} %% with use of ly:pitch-notename

\score {
  \new Staff \addText \music
}


NB
You use : ly:pitch-semitones. You'll get first only a number from a note
above the middle C, then your texts list will be very extensive. Are you 
sure you

don't want ly:pitch-notename instead ?

Gilles



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Cross staff slur help

2011-02-11 Thread David Kastrup
Phil Holmes em...@philholmes.net writes:

 I have a piece of piano music from the opening chorus of The
 Gondoliers that I'm struggling to get my head round.  A scan is
 attached.  It's a cross-staff slur, but my problem is that the music
 in the left hand is still continuing (the crochet F) while the slur is
 crossing the staves.  I can't work out a) how to start setting this in
 LilyPond or b) what it means in performance.

 Can anyone help?

It's a rising melody line starting in the left hand and moving to the
right.  The music in the left hand is _not_ still continuing in the
execution, but it would be silly to write an actual rest here while the
sustain pedal is down.

So that's probably a case for f4*1/4 in the input.

-- 
David Kastrup


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: fixing beaming

2011-02-11 Thread Phil Holmes
- Original Message - 
From: Douglas Ridgway ridg...@dridgway.com

To: lilypond-user@gnu.org
Sent: Friday, February 11, 2011 5:22 PM
Subject: fixing beaming



\relative c' {
c8 c8 c8 c4 c4 c8~ | c8 r8 r2.
}

This beams the first three eighth notes together, but the third one
should have a flag, to emphasize the syncopation. What's the right way
to fix this?

Thanks!
doug.


\relative c' {
c8[ c8] c8 c4 c4 c8~ | c8 r8 r2.
}

I think this is what you want?

--
Phil Holmes


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: fixing beaming

2011-02-11 Thread Douglas Ridgway
On Fri, Feb 11, 2011 at 10:40 AM, Phil Holmes m...@philholmes.net wrote:
 - Original Message - From: Douglas Ridgway ridg...@dridgway.com
 To: lilypond-user@gnu.org
 Sent: Friday, February 11, 2011 5:22 PM
 Subject: fixing beaming


 \relative c' {
 c8 c8 c8 c4 c4 c8~ | c8 r8 r2.
 }

 This beams the first three eighth notes together, but the third one
 should have a flag, to emphasize the syncopation. What's the right way
 to fix this?

 \relative c' {
 c8[ c8] c8 c4 c4 c8~ | c8 r8 r2.
 }

 I think this is what you want?

Yep, exactly. I knew it ought to be easy :) Thanks!

doug.

___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Cross staff slur help

2011-02-11 Thread Graham Percival
On Fri, Feb 11, 2011 at 05:23:20PM -, Phil Holmes wrote:
 - Original Message - From: David Kastrup d...@gnu.org
 So that's probably a case for f4*1/4 in the input.
 
 Sorry - I don't understand.  What does this mean?

draw an f crotchet (i.e. no beams), but consider that note to be
a semiquaver (1/4 the duration of a crotchet) for internal
lilypond timing

Cheers,
- Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: midi-output using one midi channel per string?

2011-02-11 Thread Marc Hohl

Am 10.02.2011 08:59, schrieb Ingo Glöckner:

Hello,

I am using Lilypond for writing guitar music.
In this process, the generated midi output can
be a useful control.
In order to get a more realistic impression,
I would like to send the notes for each guitar
string to a separate midi channel so that it can
trigger specific sound samples for each string.

So far I have only found out how to assign
distinct midi channels to distinct Lilypond
voices, but I cannot enter the guitar music
using one voice per string.

My question is if is possible to split the midi
output by strings.

AFAIK, this is not possible.

In case there is no simple way to achieve this:
The association of the individual notes and
corresponding strings is obviously known somewhere
in the TabStaff code. Would this be a possible
starting point for implementation?

The performers are responsible for MIDI output, IIUC.
So probably the note-performer has to take the string
numbers into account. Or you'll have to create a kind of
string-channel-performer which does the right thing.

Performers are written in C++, but that's all I know about
this stuff.

Regards,

Marc

Thanks in advance for help!

- Ingo

___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user




___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Slur position : catching Llilypond values...

2011-02-11 Thread David Nalesnik
On 2/11/11, Xavier Scheuer x.sche...@gmail.com wrote:
 On 8 February 2011 22:56, David Nalesnik dnale...@umail.iu.edu wrote:

 Hello,

 There probably is a better way to do this, but the function below
 seems to do the trick.  It adds an offset to the Y-coordinate of
 either or both of the slur's attachment points.  Setting one value of
 the pair to zero will leave one end-point as it is.  (See attached
 files.)

 offsetPositions =
  #(define-music-function (parser location offsets) (pair?)
#{
   \once \override Slur #'positions = #(lambda (grob)
 `(,(+ (car $offsets) (cdar (ly:slur::calc-control-points grob))) .
   ,(+ (cdr $offsets) (cdr (cadddr (ly:slur::calc-control-points
 grob))
#})

 Nice feature!

Thanks!

 Could you add it to the LSR?  http://lsr.dsi.unimi.it/

Done: http://lsr.dsi.unimi.it/LSR/Snippet?id=748

I tried to make the code a little clearer by using first and last,
but apparently those procedures aren't defined within the #{  . . . #}
construct.

 Cheers,
 Xavier

Best,
David

___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user