Re: separating design from pure score

2012-03-15 Thread Urs Liska

Hi Stjepan,

sorry that I don't have the time to really go through this thread (so I 
might misunderstand sth).


But I think you should separate your music variables from your score 
definition, so you can \include them separately:


music.ly
myMusic = { ... }

score.ly
\score {
\new Staff 
  \myMusic
  \myMarks

}


Then you can have your master file like:

\include music.ly
myMarks = { ... }
\include score.ly

Does that help?

Best
Urs

Am 15.03.2012 11:23, schrieb Stjepan Horvat:

Hello all..thank you for you anwsers..i really appreciate it..It's not
exactly what i wanted..but it helps me figure out more what i want and
what will be my solution..!

David Kastrup leads in this direction what i'm trying ta achive..The
diference form Hans Aikema is that i want to include music in a
diffrent file which i compile afterwords..The reason for that is that
i want to define music as is..Becouse each song is uniq and
unchangable..So i dont ever have to change the music file.

For Example:
1. I want the score to be minimalistic and to be sufficient in itself.

= score.ly =
\verison 2.14.2
\header { title = TITLE composer = COMPOSER }
mymusic = \relative c' { c4 d e f \mark \default g }
mylyrics = \lyricmode { c d e f g }
mychords = \chordmode { c1 c4 }
\score {

\new ChordNames { \mychords }
\new Staff { \mymusic }
\addlyrics { \mylyrics }
}
 end of score.ly 

Minimalistic as i said. Maybe even without \mark \default.

So now in design.ly i would set the fonts and paper and whatever would
be static in project period. I think the layout should work here.

And on the end.

 master.ly 
\include ./desing.ly
\include ./score.ly

%now here should go the paddings for this specifig song couse every
song looks difrent and has diffrent bar numbers..Now i would want to
maybe use \break command but inside the score..So here comes my
problem. Becouse the score block is included while including score.ly
(i would want only the variable to be included) i can't make a mark
blok where i would define simple marks and bar brakes.

paper {
markup-system-spacing #'padding = #5
markup-system-spacing #'stretchability = #5
score-system-spacing #'padding = #5
last-bottom-spacing #'padding = #5
score-markup-spacing #'padding = #5
top-system-spacing #'padding = #17.5
}

marks = {
   \set Score.markFormatter = #format-mark-box-barnumbers
   \hideNotes
   R1 \break
   \bar ||
   \mark \default
   \unHideNotes
   \bar |.
}

\score {

\new ChordNames { \mychords }
\new Staff {  \mymusic \marks}
\addlyrics { \mylyrics }
}

 end of master.ly 

I would only compile the maste.ly file..

I think i made myself clear..:) Thanks for further guidence.


On Wed, Mar 14, 2012 at 9:31 PM, Hans Aikemahans.aik...@aikebah.net  wrote:

On 14-3-2012 19:16, Stjepan Horvat wrote:

Hello,

I'm working on a project and i want to separate the design from score
because i want to have a clear score so that in the future when i
maybe want to change the design i dont have to change the score
(something like html and CSS :) ). So when i include my score into my
design file variables are included but score block also. Now when i
what to change, for example, \mark \default to have a preety box i
dont know where to put it. Is there a way not to include a score block
but all variables, or insert stuff into a score block that is
invisible to me?



If I understand your request correctly you're looking for a similar
structure as what I'm working with for generating beamerslides of songs
including their music. In that case the \include command is your friend.

What I have in my projects:

format/BaseBeamerslideDesign.ly
contains
- a \paper section containing lots of formatting settings
- a \layout setting containing lots of formatting settings
- an include for yet another lilypond file containing useful scheme
functions such as the override-color-for-allgrobs scheme funtion I found in
the LSR: http://lsr.dsi.unimi.it/LSR/Item?id=443
- variable definitions for a music staff (muziekbalk) and its associated
lyrics (verstekst):
muziekbalk = { \new Staff \new Voice = myMelody { \melodie } }
verstekst = {\new Lyrics \lyricsto myMelody { \tekst }}

format/BeamerRegular.ly
contains
- an include of format\BaseBeamerslideDesign.ly
- a Score block combining the variables defined in BaseBeamerSlideDesign
into an actual Score and override of the grob-colors to get colored output:
=== format/BeamerRegular.ly sample ===
\include BaseBeamerslideDesign.ly

\score {

\applyContext #(override-color-for-all-grobs white)
\muziekbalk
\verstekst
}
=== end of format/BeamerRegular.ly ===

Then any song requiring the beamer slide format:
- a \header block
- a variable definition called 'melodie' (which is refered to in the
format\BaseBeamerslideDesign.ly mentioned above) containing the melody of
the song
- a variable definition called 'tekst' which is refered to in the
format\BaseBeamerslideDesign.ly mentioned above) 

Re: Question about missing accidentals, and banishing stems

2012-03-27 Thread Urs Liska

Does the accidental-style forget work for your case?

Am 26.03.2012 18:05, schrieb Robert Schmaus:

Hi Michael,

the whole music is defined in a single cadenza with manual barlines in
between. so, from pov of lilypond, all the music is in one bar, thus,
the second ees doesn't sport an accidental.

Use ees! to force the accidental ...

Best,
Robert



On Sun, Mar 25, 2012, at 09:01 PM, Michael Welsh Duggan wrote:

I was writing some experimental lilypond in preparation for writing some
music functions.  The following lilypond file creates two variables
which contain a line of notes and a line of lyrics together in a cons
cell.  The score attempts to join the two.  Output is attached.  The
question is, why is the e-flat in the second part not getting its
accidental printed?  (The e-flat in the first part prints just fine.)


Sub-question: I got rid of stems by removing the stem engraver.  The
slurs, however, look like they are trying to take into account the
missing stems.  How can I avoid this?



[Inline image]


--
Michael Welsh Duggan
(m...@md5i.com)
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
Email had 2 attachments:
+ PopuleMeus.ly
   1k (text/x-lilypond)
+ PopuleMeus.png
   22k (image/png)

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



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


Re: node head positions

2012-04-11 Thread Urs Liska

Am 11.04.2012 00:28, schrieb Tim Roberts:

Huang wrote:

Yes, I am looking for a way to highlight notes while playing MIDI. I
will definitely check Frescobaldi to see how it works. I need to
understand how Lily generates these notes and find out their positions.

I just want to caution you about how difficult this task will be.  The
PDF output does contain a link for each note that tells you where, in
the original LilyPond input file, that note or chord originated.  It
does NOT tell you the note's pitch or duration, and that information is
not trivially derivable from the original source, either.  There's no
good way to line up the PDF with the MIDI.


But there _have_ been efforts in such directions, isn't it?
I recall someone having a  (drum?) score doing exactly this. He used the 
SVG output IIRC
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Barline type before \time change

2012-04-12 Thread Urs Liska

Hello list,

I'm sorry, but I can't find the relevant documentation.
I want to change lilyPond's default behaviour and tell it to use || 
barlines before \time changes instead of normal ones.
Although it is quite easy to do this manually, I'd like to know where 
and how I could change this setting, possibly in a \layout section.


Best
Urs

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


Re: Barline type before \time change

2012-04-13 Thread Urs Liska

Hello Jan-Peter and Tim,

thanks for your replies.

I would like to use this on sources I'm already working on.
So I don't need to use your include construct.
But I think I'll try out your Scheme engraver approach. If it doesn't 
work or behave as I would like, then I'll go for entering the double 
bars manually. This is of course manageable, but I'd find it cleaner to 
have it as a 'setting' in the layout block and use simple \time commands 
in the source.


Best
Urs

Am 13.04.2012 09:49, schrieb Jan-Peter Voigt:

Hello Urs,

There are two possibilities:

1.: use a little music-function-helper:
--snip--
\version 2.15.36

dbtime = #(define-music-function (parser location frac)(fraction?)
  #{
\bar || \time $frac
#})

% example
\relative c' {
  c4 e g b \dbtime 3/4 c des b | c2.
}
--snip--

but this means not using the standard \time command.

2.: If you want to have this effect on existing sources, you might 
want to use a scheme-engraver.
This is based on a snippet, I took from this list ... I think David 
Nalesnik wrote it(?)

--snip--
\version 2.15.36
% this might work in 2.14 too?

DbBars = #(lambda (context)
  (let ((time-signature '())
(last-fraction #f))

   `((process-music
  . ,(lambda (trans)
  (let ((frac (ly:context-property context 
'timeSignatureFraction)))

   (if (and (null? time-signature)
(not (equal? last-fraction frac))
(fraction? frac))
   (begin
 (ly:context-set-property! context 
'whichBar ||)

 (set! last-fraction frac)
  )))
))

(stop-translation-timestep
  . ,(lambda (trans)
  (set! time-signature '()
))

% example
\score {
  \relative c' {
c4 e g b \time 3/4 c des b | c2.
  }
  \layout {
\context {
  \Score
  \consists \DbBars
}
  }
}
--snip--

With the engraver, you should be able to include an existing file 
while using this custom engraver globally:

--snip--
\layout {
  \context {
\Score
\consists \DbBars
  }
}
\include mymusic.ly
--snip--

HTH

Cheers, Jan-Peter



On 12.04.2012 16:29, Urs Liska wrote:

Hello list,

I'm sorry, but I can't find the relevant documentation.
I want to change lilyPond's default behaviour and tell it to use || 
barlines before \time changes instead of normal ones.
Although it is quite easy to do this manually, I'd like to know where 
and how I could change this setting, possibly in a \layout section.


Best
Urs

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




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



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


Re: Barline type before \time change

2012-04-13 Thread Urs Liska

Hi Jan-Peter,

thanks a lot, works perfectly!

Am 13.04.2012 11:49, schrieb Urs Liska:

Hello Jan-Peter and Tim,

thanks for your replies.

I would like to use this on sources I'm already working on.
So I don't need to use your include construct.
But I think I'll try out your Scheme engraver approach. If it doesn't 
work or behave as I would like, then I'll go for entering the double 
bars manually. This is of course manageable, but I'd find it cleaner 
to have it as a 'setting' in the layout block and use simple \time 
commands in the source.


Best
Urs

Am 13.04.2012 09:49, schrieb Jan-Peter Voigt:

Hello Urs,

There are two possibilities:

1.: use a little music-function-helper:
--snip--
\version 2.15.36

dbtime = #(define-music-function (parser location frac)(fraction?)
  #{
\bar || \time $frac
#})

% example
\relative c' {
  c4 e g b \dbtime 3/4 c des b | c2.
}
--snip--

but this means not using the standard \time command.

2.: If you want to have this effect on existing sources, you might 
want to use a scheme-engraver.
This is based on a snippet, I took from this list ... I think David 
Nalesnik wrote it(?)

--snip--
\version 2.15.36
% this might work in 2.14 too?

DbBars = #(lambda (context)
  (let ((time-signature '())
(last-fraction #f))

   `((process-music
  . ,(lambda (trans)
  (let ((frac (ly:context-property context 
'timeSignatureFraction)))

   (if (and (null? time-signature)
(not (equal? last-fraction 
frac))

(fraction? frac))
   (begin
 (ly:context-set-property! 
context 'whichBar ||)

 (set! last-fraction frac)
  )))
))

(stop-translation-timestep
  . ,(lambda (trans)
  (set! time-signature '()
))

% example
\score {
  \relative c' {
c4 e g b \time 3/4 c des b | c2.
  }
  \layout {
\context {
  \Score
  \consists \DbBars
}
  }
}
--snip--

With the engraver, you should be able to include an existing file 
while using this custom engraver globally:

--snip--
\layout {
  \context {
\Score
\consists \DbBars
  }
}
\include mymusic.ly
--snip--

HTH

Cheers, Jan-Peter



On 12.04.2012 16:29, Urs Liska wrote:

Hello list,

I'm sorry, but I can't find the relevant documentation.
I want to change lilyPond's default behaviour and tell it to use 
|| barlines before \time changes instead of normal ones.
Although it is quite easy to do this manually, I'd like to know 
where and how I could change this setting, possibly in a \layout 
section.


Best
Urs

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




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



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



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


Understanding how LilyPond handles external fonts

2012-04-18 Thread Urs Liska

Hello list,

I have some difficulties understanding how to access the different 
versions/weights/styles of external fonts (in markups mode). And I'm not 
sure if this is a LilyPond or rather a documentation issue.
So before submitting a documentation suggestion I'd like to really 
understand the issue.


I understand that I have to override the font-name property to access 
external fonts.

For example
\override TextScript #'font-name = #Arial
or
\markup { \override #'(font-name . Arial) ... }

What I'm not really clear about is how LilyPond accesses the different 
variations of the fonts.


It seems that overriding font-series doesn't have an effect at all.
Instead I seem to have to specify the full font-name
So
\markup { \override #'(font-name . Arial) \override 
#'(font-series . bold) }

doesn't work, while
\markup { \override #'(font-name . Arial Bold) ... }
does.

So if this is true (and not considered as a bug) I think there would be 
the need for a documentation improvement.


To understand this topic I have another question: What is the correct 
form of the font-name that has to be specified? Where does LilyPond look at?


I have a font family installed which has a great variety of fonts, lets 
call it Minion Pro.
Let's say I want to use the Medium Condensed version, then how should I 
know what name to use here?


   In Scribus it is called Medium Cond,
   in OpenOffice Med Cond,
   Fontmatrix gives me
   - Medium Cond
   - Postscript name MediumCn

Nowhere I find Medium Condensed, but this is the only one that works 
with LilyPond.


Any ideas?

Best
Urs
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Oldstyle Figures (OSF) from OpenType Font

2012-04-18 Thread Urs Liska

Hello list,

can anybody tell me if I can use the 'Old Style Figure' subset of an 
OpenType font in markups?


Thank you for any help
Urs

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


\makeOctaves broken?

2012-04-18 Thread Urs Liska

I was quite happy to find the function \makeOctaves in the LSR.

But now it seems to be broken - there is no error message, but the 
function doesn't do anything (2.15.36).
As I don't know _anything_ about Scheme I can't do more than ask if 
anybody has an idea what has changed with LilyPond so that this function 
is now broken?


I thought I could live without \makeOctaves (at least for some time). 
But now I've come across a piece that practically consists of octaves ...


Any help would really be apreciated.

Best
Urs

%LSR This function was contributed by Jay Anderson.

#(define (octave-up m t)
 (let* ((octave (1- t))
  (new-note (ly:music-deep-copy m))
  (new-pitch (ly:make-pitch
octave
(ly:pitch-notename (ly:music-property m 'pitch))
(ly:pitch-alteration (ly:music-property m 'pitch)
  (set! (ly:music-property new-note 'pitch) new-pitch)
  new-note))

#(define (octavize-chord elements t)
 (cond ((null? elements) elements)
 ((eq? (ly:music-property (car elements) 'name) 'NoteEvent)
   (cons (car elements)
 (cons (octave-up (car elements) t)
   (octavize-chord (cdr elements) t
 (else (cons (car elements) (octavize-chord (cdr elements ) t)

#(define (octavize music t)
 (if (eq? (ly:music-property music 'name) 'EventChord)
   (ly:music-set-property! music 'elements (octavize-chord
(ly:music-property music 'elements) t)))
 music)

makeOctaves = #(define-music-function (parser location arg mus) (integer? 
ly:music?)
 (music-map (lambda (x) (octavize x arg)) mus))

 \relative c' {
   \time 3/8
   \key gis \minor
   \makeOctaves #1  { dis8( e dis')~ dis8.( cis16 b8}
   \makeOctaves #-1 { ais' gis dis) cis( disdis gis') }
 }


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


Re: \makeOctaves broken?

2012-04-19 Thread Urs Liska

Hi Jay,

Thanks for the link. I'l look into it, but am practically sure that I 
won't be able to fix anything. As mentioned I don't have any experience 
with Scheme.


Best
Urs

BTW: The current piece not only has plenty of octaves (one voice is 
virtually octaves-only), but each octave has a -. articulation on it :-(


Am 19.04.2012 04:23, schrieb Jay Anderson:

On Wed, Apr 18, 2012 at 4:44 PM, Urs Liskali...@ursliska.de  wrote:

I was quite happy to find the function \makeOctaves in the LSR.

But now it seems to be broken - there is no error message, but the function
doesn't do anything (2.15.36).
As I don't know _anything_ about Scheme I can't do more than ask if anybody
has an idea what has changed with LilyPond so that this function is now
broken?

David Kastrup did a quick fix a few months
back:http://lists.gnu.org/archive/html/lilypond-user/2012-03/msg00114.html

I just tried it and it had a few problems:
- it didn't work within a relative section. It only worked within
relative sections before.
- Slurs and dynamics attached to single notes are lost during the
conversion to chords.

Below fixes the relative problem, but I haven't spent enough time on
it to figure out the second problem. That will take a little bit more
time to understand the internal structure changes which I don't have
at the moment. Perhaps you can take a look and make it work.

-Jay

\version 2.15.35

#(define (with-octave-up m octave)
   (let* ((old-pitch (ly:music-property m 'pitch))
  (new-note (ly:music-deep-copy m))
  (new-pitch (ly:make-pitch
   (- octave 1)
   (ly:pitch-notename old-pitch)
   (ly:pitch-alteration old-pitch
 (set! (ly:music-property new-note 'pitch) new-pitch)
 (list m new-note)))

#(define (octavize music t)
   (map-some-music
 (lambda (m)
   (cond ((music-is-of-type? m 'event-chord)
  (set!
(ly:music-property m 'elements)
(append-map!
  (lambda (n)
(if (music-is-of-type? n 'note-event)
  (with-octave-up n t)
  (list n)))
  (ly:music-property m 'elements)))
  m)
 ((music-is-of-type? m 'note-event)
  (make-event-chord (with-octave-up m t)))
 (else #f)))
 music))

makeOctaves = #(define-music-function (parser location arg mus)
(integer? ly:music?)
  (octavize mus arg))

\relative c'
{
   \time 3/8
   \key gis \minor
   \makeOctaves #1  { dis8(\f e dis')~ dis8.( cis16 b8 }
   \makeOctaves #-1 { ais' gis dis) cis( disdis gis')\p }
}

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



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


Re: \makeOctaves broken?

2012-04-19 Thread Urs Liska

Hi all,

thank you very much for all these thoughts.
I'm so sorry that I don't understand a (Scheme) word from it ...
But judging from my programming experience in other languages David's 
last solution looks _very_ elegant. And it seems to work, even with 
still more complex chords and multiple articulations.


I'd suggest to rename the function though, because makeOctaves 
suggests that it (only) makes octaves from monophonic notes.


And it may be of interest to note that the function also works with 
other values than +/- 1,

and that it can be nested:

\relative c {
  \time 3/8
  \key gis \minor
  \makeOctaves #1  { dis8( e dis')~ dis8.( cis16 b8) }
  \makeOctaves #2 { ais8. gis32_| fis^| e8^._-  }
  \makeOctaves #2 {
\makeOctaves #-1 {
  ais'( gis-. dis-.) cis( disdis gis')
e g bes  f d'_^^.fis cis' gis'_.^-
}
  }
}

Any chance to get this incorporated to default LilyPond syntax?

Best (and many thanks)
Urs

Am 19.04.2012 09:56, schrieb David Kastrup:

Urs Liskali...@ursliska.de  writes:

[...]

I recommend a healthy dose of cheating.  The main non-triviality seems
to be dealing with relative music properly.  Other than that it is just
  \transpose c' c'' $xxx $xxx  or similar.  So let's treat the
problem at the root, with a to-relative-callback for the transposed
music that a) returns the unchanged reference pitch for the sake of the
following music b) temporarily undoes the octave transposition for the
sake of relativizing.

makeOctaves =
#(define-music-function (parser location arg mus)
   (integer? ly:music?)
   #{  \withMusicProperty #'to-relative-callback
 #(lambda (m p)
   (let ((mu (ly:music-property m 'element)))
(ly:music-transpose mu (ly:make-pitch (- arg) 0 0))
(ly:make-music-relative! mu p)
(ly:music-transpose mu (ly:make-pitch arg 0 0)))
   p)
 \transpose c' $(ly:make-pitch arg 0 0) $mus
 $mus
  
   #})

\relative c' {
   \time 3/8
   \key gis \minor
   \makeOctaves #1  { dis8( e dis')~ dis8.( cis16 b8}
   \makeOctaves #-1 { ais' gis dis) cis( disdis gis') }
}





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


Re: \makeOctaves broken?

2012-04-19 Thread Urs Liska

just another observation:
While it worked smoothly with the last example, the function complains 
when there are phrasingSlurs involved. I get a message saying a) (at the 
beginning) that there already is a phrasingSlur and b) (at the end) that 
the phrasingSlur can't be ended.

The result is correct, though.

BTW: shouldn't it be quite easy (and interesting) to modify the function 
so that arg doesn't mean the number of octaves but a number of semitones?


Best
Urs

Am 19.04.2012 19:58, schrieb Urs Liska:

Hi all,

thank you very much for all these thoughts.
I'm so sorry that I don't understand a (Scheme) word from it ...
But judging from my programming experience in other languages David's 
last solution looks _very_ elegant. And it seems to work, even with 
still more complex chords and multiple articulations.


I'd suggest to rename the function though, because makeOctaves 
suggests that it (only) makes octaves from monophonic notes.


And it may be of interest to note that the function also works with 
other values than +/- 1,

and that it can be nested:

\relative c {
  \time 3/8
  \key gis \minor
  \makeOctaves #1  { dis8( e dis')~ dis8.( cis16 b8) }
  \makeOctaves #2 { ais8. gis32_| fis^| e8^._-  }
  \makeOctaves #2 {
\makeOctaves #-1 {
  ais'( gis-. dis-.) cis( disdis gis')
e g bes f d'_^^.fis cis' gis'_.^-
}
  }
}

Any chance to get this incorporated to default LilyPond syntax?

Best (and many thanks)
Urs

Am 19.04.2012 09:56, schrieb David Kastrup:

Urs Liskali...@ursliska.de  writes:

[...]

I recommend a healthy dose of cheating.  The main non-triviality seems
to be dealing with relative music properly.  Other than that it is just
  \transpose c' c'' $xxx $xxx  or similar.  So let's treat the
problem at the root, with a to-relative-callback for the transposed
music that a) returns the unchanged reference pitch for the sake of the
following music b) temporarily undoes the octave transposition for the
sake of relativizing.

makeOctaves =
#(define-music-function (parser location arg mus)
   (integer? ly:music?)
   #{  \withMusicProperty #'to-relative-callback
 #(lambda (m p)
   (let ((mu (ly:music-property m 'element)))
(ly:music-transpose mu (ly:make-pitch (- arg) 0 0))
(ly:make-music-relative! mu p)
(ly:music-transpose mu (ly:make-pitch arg 0 0)))
   p)
 \transpose c' $(ly:make-pitch arg 0 0) $mus
 $mus

   #})

\relative c' {
   \time 3/8
   \key gis \minor
   \makeOctaves #1  { dis8( e dis')~ dis8.( cis16 b8}
   \makeOctaves #-1 { ais' gis dis) cis( disdis gis') }
}





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



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


controlling footnote separator line

2012-04-19 Thread Urs Liska

Hello list,

I was very pleased to see that by now one can write footnotes quite easily.
Unfortunately I didn't find the property that controls the line 
separating the footnote. from the score.
I would like to have the footnote either without any separator or with a 
short, left-aligned line.


Is this possible?
is it documented (and I am blind)?
or is this impossible?

Best
Urs

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


Re: controlling footnote separator line

2012-04-20 Thread Urs Liska

Hi Gilles,

thank you very much. Looks very promising.

Best
Urs

Am 20.04.2012 10:43, schrieb Gilles:


Unfortunately I didn't find the property that controls the line 
separating the footnote. from the score.

Is this possible?
is it documented (and I am blind)?
or is this impossible?


Well not easy to find.
In paper-defaults-init.ly, you have some variable controlling Footnotes.
By default, the settings are

\paper {
  footnote-separator-markup = \markup \fill-line { \override 
#'(span-factor . 1/2) \draw-hline }

  footnote-padding = 0.5\mm
  footnote-footer-padding = 0.5\mm
  footnote-number-raise = 0.5\mm
  footnote-numbering-function = #numbered-footnotes
  reset-footnotes-on-new-page = ##t
}

If you set :
footnote-separator-markup = \markup \null
it will do the trick.

Gilles

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



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


Re: Oldstyle Figures (OSF) from OpenType Font

2012-04-21 Thread Urs Liska

Thanks for pointing to this, Werner.

Just a question:
In the issue report you say, LilyPond doesn't currenty (i.e. Nov 2010) 
support OpenType features.
LilyPond does support ligatures and kerning (at least on Linux, it seems 
this doesn't work on Windows). Are these no OpenType features? Or have 
there been improvements since your report?


Best
Urs

Am 21.04.2012 19:26, schrieb Werner LEMBERG:

I may be mistaken, but I don't believe there is currently a way to do
this. Perhaps post to the Bugs list as a feature request?

http://code.google.com/p/lilypond/issues/detail?id=1388


 Werner

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



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


Re: Oldstyle Figures (OSF) from OpenType Font

2012-04-21 Thread Urs Liska
Unfortunately that's not possible because I can't select my font 
according to this.

And it's not a show stopper not to have OSF, just an inconvenience.

I assume such an improvement would be a non-trivial issue?

Best
Urs

Am 22.04.2012 02:42, schrieb Nick Payne:

On 22/04/12 08:26, Urs Liska wrote:

Thanks for pointing to this, Werner.

Just a question:
In the issue report you say, LilyPond doesn't currenty (i.e. Nov 
2010) support OpenType features.
LilyPond does support ligatures and kerning (at least on Linux, it 
seems this doesn't work on Windows). Are these no OpenType features? 
Or have there been improvements since your report?


You could use a font that defaults to old style figures. For example, 
Spectrum MT:


\relative c'' {
c4^\markup { \override #'(font-name . SpectrumMT SC) 0123456789 }
}





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


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


Re: Make Tie a Slur

2012-04-22 Thread Urs Liska

Am 21.04.2012 17:53, schrieb Pavel Roskin:

Quoting Nils l...@nilsgey.de:


Hello,

I have 70 pieces with ties and slurs here. They are already in Lilypond
with the correct syntax.

Now my publisher says he wants that ties look like slurs.
I couldn't disagree more but I have no choice here.

Any suggestions how make the ties look like slurs without changing them
all manually?


It may be possible to write an engraver that would get tie events, 
hide ties and create slurs instead.  But I see little motivation to do 
something that won't improve music typesetting.


You may want to replace ties with macros that can expand to a slur or 
to a tie.


%% Insane publisher
%tieStart = (
%tieEnd = )

% Sane publisher
tieStart = ~
tieEnd = {}

{ c'' \tieStart c'' \tieEnd }

I don't think this is something the OP wants to do as he has 70 finished 
pieces.

What he wants is a general override to achieve the desired look, isn't it?

Nils, you might get help if you tell us what it is you want to achieve. 
Maybe post images of the current and the desired output?


Best
Urs

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


Re: Make Tie a Slur

2012-04-22 Thread Urs Liska


Am 22.04.2012 15:05, schrieb Nils:

Sun, 22 Apr 2012 14:47:57 +0200
schrieb Urs Liskali...@ursliska.de:


Am 21.04.2012 17:53, schrieb Pavel Roskin:

Quoting Nilsl...@nilsgey.de:


Hello,

I have 70 pieces with ties and slurs here. They are already in
Lilypond with the correct syntax.

Now my publisher says he wants that ties look like slurs.
I couldn't disagree more but I have no choice here.

Any suggestions how make the ties look like slurs without changing
them all manually?

It may be possible to write an engraver that would get tie events,
hide ties and create slurs instead.  But I see little motivation to
do something that won't improve music typesetting.

You may want to replace ties with macros that can expand to a slur
or to a tie.

%% Insane publisher
%tieStart = (
%tieEnd = )

% Sane publisher
tieStart = ~
tieEnd = {}

{ c'' \tieStart c'' \tieEnd }


I don't think this is something the OP wants to do as he has 70
finished pieces.
What he wants is a general override to achieve the desired look,
isn't it?

Nils, you might get help if you tell us what it is you want to
achieve. Maybe post images of the current and the desired output?

Best
Urs

The end results are ties that look like slurs. And slurs should look
like slurs as well :) The idea is a more curved version. When I asked
the publisher for an example he told me the real slurs are perfectly
fine. He sees no distinction between a slur and a tie. For him it is
only the context which decides if it is a slur or a tie. This is so
wrong, but what can I do...

While it is not impossible to regexp my way through the files I would
be happy to find a less intrusive solution since I want to use the
files for myself in the end privately. With real ties.

Nils

Then please make a few tiny examples comparing real ties and real slurs 
instead of them.


Probably I won't be of much help then (although I may try).
But this would be a concrete question which probably would trigger some 
assistance on this list ;-)


Best
Urs


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


parenthesizing arpeggios

2012-04-22 Thread Urs Liska

Dear listers,

I thought it should be simple and straightforward, but I don't 
understand how to put an arpeggio in brackets.

If I use this code I only get a very small parenthesis:

\version 2.15.36
\relative c' {
  %\once \override ParenthesesItem #'font-size = #6
  c g' e'-\parenthesize \arpeggio
}

If I use the (commented out) override, I get a much bigger parenthesis 
but this doesn't work at all, because it is too wide and round.
Is there a possibility to put brackets around objects and let the 
brackets adapt to the height of the objects (like spanners)?


Thanks for hints
Urs


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


Re: parenthesizing arpeggios

2012-04-22 Thread Urs Liska
Thank you very much, I will try this out later today.

By overriding the stencil directly you have already solved my other problem 
that I didn't even post so far ;-)
Now I can write a macro
editorialArpeggio = {
\once \override Arpeggio ...
}

I need this because I place all my editor's additions in an extra file. They 
are then processed through a draftMode.ily to color them while I'm still in 
the editing process ...

Best
Urs
-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.



David Nalesnik david.nales...@gmail.com schrieb:

Hi again!


Here's something that works for arpeggios.  The attached file is a bit large 
because I needed to include several functions from stencil.scm to draw the 
parentheses.


Oh, what ever was I thinking!  No need at all for all that duplicated code...


This is all you need:


\version 2.15.36


\relative c' {

  \override Arpeggio #'stencil = #(lambda (grob)

(parenthesize-stencil (ly:arpeggio::print grob) 0.1 0.5 0.5 0.2))

  \override Arpeggio #'before-line-breaking = #(lambda (grob)

(set! (ly:grob-property grob 'X-extent)

  (ly:stencil-extent (ly:grob-property grob 'stencil) X)))

  \repeat unfold 4 {

  c g' e'-\arpeggio

  } 

  cis dis fis gis cis dis gis-\arpeggio

  cis dis fis gis cis dis-\arpeggio

  cis dis fis gis cis-\arpeggio

  cis dis fis gis-\arpeggio

}


-David

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


Fwd: Re: parenthesizing arpeggios

2012-04-23 Thread Urs Liska

Thanks again very much. I checked it out and it works perfectly!

Just for the record (or anybody who searches), this is what I did:

\version 2.15.36

parenthArpeggio= {
  \once \override Arpeggio #'stencil = #(lambda (grob)
(parenthesize-stencil (ly:arpeggio::print grob) 0.1 0.5 0.5 0.2))
  \once \override Arpeggio #'before-line-breaking = #(lambda (grob)
(set! (ly:grob-property grob 'X-extent)
  (ly:stencil-extent (ly:grob-property grob 'stencil) X)))
}

parenthArpeggioDraft = {
  \parenthArpeggio 
  \once \override Arpeggio #'color = #red

}

\relative c' {
  \repeat unfold 4 {
c g' e'-\arpeggio
  }
\parenthArpeggiocis dis fis gis cis dis gis-\arpeggio
  cis dis fis gis cis dis-\arpeggio
  \parenthArpeggioDraftcis dis fis gis cis-\arpeggio
  cis dis fis gis-\arpeggio
}

Hope it helps somebody ...
Best
Urs

 Original-Nachricht 
Betreff:Re: parenthesizing arpeggios
Datum:  Sun, 22 Apr 2012 20:23:01 -0500
Von:David Nalesnik david.nales...@gmail.com
An: Urs Liska li...@ursliska.de
Kopie (CC): Lilypond-User lilypond-user@gnu.org



Hi again!


   Here's something that works for arpeggios.  The attached file is a
   bit large because I needed to include several functions from
   stencil.scm to draw the parentheses.


Oh, what ever was I thinking!  No need at all for all that duplicated 
code...


This is all you need:

\version 2.15.36

\relative c' {
  \override Arpeggio #'stencil = #(lambda (grob)
(parenthesize-stencil (ly:arpeggio::print grob) 0.1 0.5 0.5 0.2))
  \override Arpeggio #'before-line-breaking = #(lambda (grob)
(set! (ly:grob-property grob 'X-extent)
  (ly:stencil-extent (ly:grob-property grob 'stencil) X)))
  \repeat unfold 4 {
c g' e'-\arpeggio
  }
cis dis fis gis cis dis gis-\arpeggio
cis dis fis gis cis dis-\arpeggio
cis dis fis gis cis-\arpeggio
cis dis fis gis-\arpeggio
}

-David
attachment: parenthArpeggio.preview.png___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: controlling footnote separator line

2012-04-25 Thread Urs Liska

Am 20.04.2012 10:43, schrieb Gilles:


Unfortunately I didn't find the property that controls the line 
separating the footnote. from the score.

Is this possible?
is it documented (and I am blind)?
or is this impossible?


Well not easy to find.
In paper-defaults-init.ly, you have some variable controlling Footnotes.
By default, the settings are

\paper {
  footnote-separator-markup = \markup \fill-line { \override 
#'(span-factor . 1/2) \draw-hline }

  footnote-padding = 0.5\mm
  footnote-footer-padding = 0.5\mm
  footnote-number-raise = 0.5\mm
  footnote-numbering-function = #numbered-footnotes
  reset-footnotes-on-new-page = ##t
}

If you set :
footnote-separator-markup = \markup \null
it will do the trick.

Gilles


Thank you again for this hint which works perfectly.
(and BTW looking into this I had the opportunity to understand something 
new about lily's workings ...)


But I have a new question in this context:
How can I override the font that is used for footnotes?
In the above list there are no helpful options, and I didn't find a 
responsible layout object that I could override.
FootnoteItem seems to be responsible for the reference text in the 
score, but changes to FootnoteSpanner don't seem to change anything (and 
I didn't found more information in the IR).

So which Engraver does print the footnote text?
(Of course I can select a font within the footnote markup itself, but I 
want to have an override that I can define for the whole score).


Any ideas? Would be highly appreciated
Urs

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



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


Re: P.S. controlling footnote separator line

2012-04-25 Thread Urs Liska

Am 25.04.2012 08:15, schrieb Urs Liska:

Am 20.04.2012 10:43, schrieb Gilles:


Unfortunately I didn't find the property that controls the line 
separating the footnote. from the score.

Is this possible?
is it documented (and I am blind)?
or is this impossible?


Well not easy to find.
In paper-defaults-init.ly, you have some variable controlling Footnotes.
By default, the settings are

\paper {
  footnote-separator-markup = \markup \fill-line { \override 
#'(span-factor . 1/2) \draw-hline }

  footnote-padding = 0.5\mm
  footnote-footer-padding = 0.5\mm
  footnote-number-raise = 0.5\mm
  footnote-numbering-function = #numbered-footnotes
  reset-footnotes-on-new-page = ##t
}

If you set :
footnote-separator-markup = \markup \null
it will do the trick.

Gilles


Thank you again for this hint which works perfectly.
(and BTW looking into this I had the opportunity to understand 
something new about lily's workings ...)


But I have a new question in this context:
How can I override the font that is used for footnotes?
In the above list there are no helpful options, and I didn't find a 
responsible layout object that I could override.
FootnoteItem seems to be responsible for the reference text in the 
score, but changes to FootnoteSpanner don't seem to change anything 
(and I didn't found more information in the IR).

So which Engraver does print the footnote text?
(Of course I can select a font within the footnote markup itself, but 
I want to have an override that I can define for the whole score).
P.S. And I need to override font-name, not just access something like 
\italic \huge a.s.o


Any ideas? Would be highly appreciated
Urs

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



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



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


Re: controlling footnote separator line

2012-04-25 Thread Urs Liska

Am 25.04.2012 08:18, schrieb m...@apollinemike.com:

On 25 avr. 2012, at 08:15, Urs Liska wrote:


Am 20.04.2012 10:43, schrieb Gilles:


Unfortunately I didn't find the property that controls the line 
separating the footnote. from the score.

Is this possible?
is it documented (and I am blind)?
or is this impossible?


Well not easy to find.
In paper-defaults-init.ly http://paper-defaults-init.ly, you have 
some variable controlling Footnotes.

By default, the settings are

\paper {
 footnote-separator-markup = \markup \fill-line { \override 
#'(span-factor . 1/2) \draw-hline }

 footnote-padding = 0.5\mm
 footnote-footer-padding = 0.5\mm
 footnote-number-raise = 0.5\mm
 footnote-numbering-function = #numbered-footnotes
 reset-footnotes-on-new-page = ##t
}

If you set :
footnote-separator-markup = \markup \null
it will do the trick.

Gilles


Thank you again for this hint which works perfectly.
(and BTW looking into this I had the opportunity to understand 
something new about lily's workings ...)


But I have a new question in this context:
How can I override the font that is used for footnotes?


Footnotes use markups, so you should be able to control the font 
within the markup:


http://lilypond.org/doc/v2.15/Documentation/notation/formatting-text#selecting-font-and-font-size
Yes, but as mentioned I want to override it for the whole document, and 
I didn't find a place where this is possible.


Cheers,
MS



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


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


Re: controlling footnote separator line

2012-04-25 Thread Urs Liska

Am 25.04.2012 08:34, schrieb m...@apollinemike.com:


On 25 avr. 2012, at 08:19, Urs Liska wrote:


Am 25.04.2012 08:18, schrieb m...@apollinemike.com:

On 25 avr. 2012, at 08:15, Urs Liska wrote:


Am 20.04.2012 10:43, schrieb Gilles:


Unfortunately I didn't find the property that controls the line 
separating the footnote. from the score.

Is this possible?
is it documented (and I am blind)?
or is this impossible?


Well not easy to find.
In paper-defaults-init.ly http://paper-defaults-init.ly/, you 
have some variable controlling Footnotes.

By default, the settings are

\paper {
 footnote-separator-markup = \markup \fill-line { \override 
#'(span-factor . 1/2) \draw-hline }

 footnote-padding = 0.5\mm
 footnote-footer-padding = 0.5\mm
 footnote-number-raise = 0.5\mm
 footnote-numbering-function = #numbered-footnotes
 reset-footnotes-on-new-page = ##t
}

If you set :
footnote-separator-markup = \markup \null
it will do the trick.

Gilles


Thank you again for this hint which works perfectly.
(and BTW looking into this I had the opportunity to understand 
something new about lily's workings ...)


But I have a new question in this context:
How can I override the font that is used for footnotes?


Footnotes use markups, so you should be able to control the font 
within the markup:


http://lilypond.org/doc/v2.15/Documentation/notation/formatting-text#selecting-font-and-font-size
Yes, but as mentioned I want to override it for the whole document, 
and I didn't find a place where this is possible.


Ah, sorry, missed that bit.

You can likely kludge your way through this - basically, you want to 
write a dummy callback for a property that'll be consulted no matter 
what (something like Y-extent).  This can read the markup stashed in 
the 'footnote-text property, wrap it in a font override, reset the 
footnote-text property with the new markup, and then return whatever 
Y-extent was supposed to return (the default is #f).


Cheers,
MS


OK, I was already afraid it would look something like that.
As this is way over my head, I'd rather to it by hand in the current 
project :-(


Or, another idea I missed to mention in my earlier post:
I can write a markup function to call from the footnote text. This isn't 
automatical but of course at least document (or project) wide.


Can you tell me how I can override font-name from within a markup 
function? I only understood how to access properties like \italic 
(#:italic) etc.


Best
Urs

Best
Urs



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


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


Access font-name in markup functions

2012-04-25 Thread Urs Liska

Hello community,

I didn't find this in the manual: How can I translate \markup { 
\override #'(font-name . XY) Test } in a markup function?

I only found how to translate e.g. \markup \italic Test etc. to #:italic.

Best
Urs
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Bug concerning acciaccatura and \time?

2012-04-25 Thread Urs Liska
This is a known issue and explained in the Notation Reference (see 
Known issues and warnings under grace notes on 
http://www.lilypond.org/doc/v2.15/Documentation/notation/special-rhythmic-concerns.html)
Basically you have to add invisible acciaccaturas of the same length in 
all staves (and also in possible Dynamics contexts).
This is not necessary with all acciaccaturas but only if you experience 
problems around special barlines (like \time changes or repeats).


HTH
Urs

Am 25.04.2012 19:48, schrieb Thomas Ruedas:

Hi,
please consider the code snippet below, which is part of a larger 
piece. It compiles without errors on my machine, but the output is 
incorrect in that it produces the time signature 1/4 twice in the 
second bar, namely first correctly at the beginning of the bar but 
also after the acciaccatura.
I have similar passages which are typeset correctly, so I think it may 
be a bug.

Thomas

\version 2.14.2

\paper {
  #(set-paper-size a4)
}

u = { \change Staff = right \stemDown }
U = { \change Staff = right \stemUp }
l = { \change Staff = left \stemUp }

%%% 3rd movement
scoreCGlobal = {
  \key c \major
  \numericTimeSignature
  \time 2/4
}

scoreCFlute = \relative c'' {
e4\mf ~ e16 fis,\( b c
% bar 17
\time 1/4 cis8. d16\)
}

scoreCRight = {
  \scoreCGlobal
 { \relative { c''16\! e,\(\ a ais b8. cis16\) } } \\
{ d'' fis''2 } 
% bar 17
\time 1/4  { f'''8 fis''\! } \\
{ gis'' b''4 } 
}

scoreCLeft = {
  \scoreCGlobal
c bes e'2
% bar 17
\time 1/4 \clef treble \acciaccatura fis8  fis fis' b' d''4
}

scoreCFlutePart = \new Staff \with {
  instrumentName = Flöte
  midiInstrument = flute
} \scoreCFlute

scoreCPianoPart = \new PianoStaff \with {
  instrumentName = Klavier
} 
  \new Staff = right \with {
midiInstrument = acoustic grand
  } \scoreCRight
  \new Staff = left \with {
midiInstrument = acoustic grand
  } { \clef bass \scoreCLeft }


\score {

\scoreCFlutePart
\scoreCPianoPart

  \layout { }
  \midi {
\context {
  \Score
  tempoWholesPerMinute = #(ly:make-moment 48 4)
}
  }
}



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


Re: Bug concerning acciaccatura and \time?

2012-04-26 Thread Urs Liska

Am 26.04.2012 00:26, schrieb Thomas Ruedas:

On 25/4/12 9:39 PM, Urs Liska wrote:

This is a known issue and explained in the Notation Reference (see
Known issues and warnings under grace notes on
http://www.lilypond.org/doc/v2.15/Documentation/notation/special-rhythmic-concerns.html) 


Basically you have to add invisible acciaccaturas of the same length in
all staves (and also in possible Dynamics contexts).

Yes, that solved it. Thanks a lot!
Thomas

No problem, I ran into this more than once ;-)

In one instance it took me quite some time to notice that there was a 
Dynamics context running in the background that I only used for 
displaying performance indications every now and then ...


Best
Urs

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


Re: quotation marks in lyricmode

2012-04-26 Thread Urs Liska

Thanks to all.
Janek's (simplest) solution just did it.
When I noticed that hitting  doesn't work because it's a special char, 
I didn't think of the (obvious) fact that the other quotation marks 
aren't special but ordinary Unicode characters ...


So copy and paste worked smoothly :-[

Best
Urs

Am 26.04.2012 13:25, schrieb Jan-Peter Voigt:

This is almost, what I just was about to write ...
just another hint: you can also enter any character in a markup with 
the \char command. The codes are 8222 and 8220.
If you want to circumvent \markup \concat { \char #8222 Ich }, you 
might use a music-function, to wrap syllables in quotes.
I have done things like that, if you're interested, I can search for 
them.


Cheers, Jan-Peter

On 26.04.2012 13:12, Janek Warchoł wrote:

On Thu, Apr 26, 2012 at 12:59 PM, Urs Liskali...@ursliska.de  wrote:
Any hints possible on how to achieve quotation marks in lyrics? 
Preferrably

the language specific (German) versions.

ordinary quotation marks should be preceded with backslashes and
included inside external quotation marks:

{ b }
\addlyrics {
   \quote\
}

to have other quotation marks, simply take advantage of Unicode
encoding - unicode recognizes several different types of quotation
marks and treats them as different characters.  The only problem is to
get them, since pressing  key on the keyboard gives the  character,
not one of the other quotations.  I usually work around this by
pasting from a word processor or, for example, wikipedia
(http://de.wikipedia.org/wiki/Anf%C3%BChrungszeichen):

{ b }
\addlyrics {
   „modal“
}

(i don't know if the e-mail won't distort the encoding, but when i use
the code which i pasted above i get german quotation marks in Lily
output)

cheers,
Janek

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




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



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


Re: Access font-name in markup functions

2012-04-26 Thread Urs Liska

Hello Jan-Peter,

thank you for this information.
This is exactly what I needed!

Can I find this in the docs? To get a better understanding ...

Best
Urs

Am 25.04.2012 10:37, schrieb Jan-Peter Voigt:

Hello Urs,

if you are using the current devel version, you can wrap any markup 
with #{ #}

--snip--
\version 2.15.37

#(define-markup-command (nfont layout props arg)(markup?)
  (interpret-markup layout props #{
  \markup { \override #'(font-name . DejaVu Sans) $arg }
#}))

\markup {
  \nfont Hallo
}
--snip--

If you are using pre-2.15 or want to do more fancy things with 
properties/overrides, you might try this: An override in a markup, 
modifies the properties for the markup to interpret. So a (cons alist 
props) can do the same:

--snip--
#(define-markup-command (xfont layout props arg)(markup?)
  (interpret-markup layout (cons '((font-name . DejaVu Sans)) props) 
arg)

)

\markup {
  \xfont Hallo
}
--snip--

HTH
Cheers, Jan-Peter

On 25.04.2012 10:15, Urs Liska wrote:

Hello community,

I didn't find this in the manual: How can I translate \markup { 
\override #'(font-name . XY) Test } in a markup function?

I only found how to translate e.g. \markup \italic Test etc. to #:italic.

Best
Urs


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




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


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


is shapeSlur broken?

2012-04-27 Thread Urs Liska

Hi list,

the shapeSlur function from the LSR 
(http://lsr.dsi.unimi.it/LSR/Snippet?id=777) doesn't seem to work 
anymore (at least for me).


That's the 'entrance' function:

shapeSlur =
#(define-music-function (parser location offsets)
(list?)
  #{
\once \override Slur #'control-points = #(shape-slur $offsets)
  #})


When calling this function I get the error:

Fehler: GUILE signalisierte einen Fehler für den hier beginnenden Ausdruck
\once \override Slur #'control-points = #
 (shape-slur $offsets)

then

Warnung: Typprüfung für »control-points« gescheitert; Wert »#unspecified« 
muss vom Typ »list« sein

and finally

Unbound variable: $offsets

From what I see I assume that this is due to some change in syntax at 
some point (the last time I recall using this function was with 2.14.0).
But as you know I'm still quite lost with Scheme, so I can't neither 
verify nor fix this, and so I'd be gracious for any advice. Of course I 
can't be sure that this type check at the calling of the 'main' function 
is all there is to it, but lilyPond doesn't even get to call shape-slur ...


Best
Urs


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


Re: is shapeSlur broken?

2012-04-27 Thread Urs Liska

Hello Jan-Peter,

thank you very much.
This seems to solve the problem. Maybe it's not perfectly robust, though.
The function now works when the number of lists exactly matches the 
number of slur fragments. I'm not sure if this has been the case earlier 
or if it had been a little bit more 'generous'.

For the project at hand I can live with that anyway.

Best ans many thanks
Urs


Am 27.04.2012 10:28, schrieb Jan-Peter Voigt:

Hello Urs,

yes there was a syntax change:
you might try

shapeSlur = #(define-music-function (parser location offsets)(list?)
  #{
\once \override Slur #'control-points = $(shape-slur offsets)
  #})

Variables in musicfunctions now are available by there name without 
the preceding $.
The $-sign now introduces a scheme-expression and returns the result 
directly ... now here should be more explanation, that I am not able 
to put in words right now ;-)


HTH
Cheers, Jan-Peter

On 27.04.2012 10:11, Urs Liska wrote:

Hi list,

the shapeSlur function from the LSR 
(http://lsr.dsi.unimi.it/LSR/Snippet?id=777) doesn't seem to work 
anymore (at least for me).


That's the 'entrance' function:

shapeSlur =
#(define-music-function (parser location offsets)
(list?)
  #{
\once \override Slur #'control-points = #(shape-slur $offsets)
  #})


When calling this function I get the error:

Fehler: GUILE signalisierte einen Fehler für den hier beginnenden 
Ausdruck

\once \override Slur #'control-points = #
 (shape-slur $offsets)

then

Warnung: Typprüfung für »control-points« gescheitert; Wert 
»#unspecified« muss vom Typ »list« sein


and finally

Unbound variable: $offsets

From what I see I assume that this is due to some change in syntax at 
some point (the last time I recall using this function was with 2.14.0).
But as you know I'm still quite lost with Scheme, so I can't neither 
verify nor fix this, and so I'd be gracious for any advice. Of course 
I can't be sure that this type check at the calling of the 'main' 
function is all there is to it, but lilyPond doesn't even get to call 
shape-slur ...


Best
Urs


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





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



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


Re: is shapeSlur broken?

2012-04-27 Thread Urs Liska

Hi David,

thank you for now. I'll look into it.
But isn't it very likely that I have to reshape a slur anyway when it 
changes from  broken to unbroken?

In that case I'd even say the errors are a 'feature' so you notice it ...
Provided it is documented enough not to drive you crazy ...

Best
Urs

Am 27.04.2012 15:22, schrieb David Nalesnik:

Hi Urs,

On Fri, Apr 27, 2012 at 6:51 AM, David Nalesnik 
david.nales...@gmail.com mailto:david.nales...@gmail.com wrote:


Hi Urs,

I've rewritten shape-slur so that you should be able to use lists
of offsets which don't match with the number of slur fragments.
 I've tested it somewhat, but if you run into a problem, let me know.


I noticed that you'll produce an error if you apply a list of lists to 
a slur which isn't broken (i.e., if a layout change results in a 
once-broken slur appearing on a single line).  Here is a fix for that:


 #(define ((shape-slur offsets) grob)
   (let* (
  ;; have we been split?
  (orig (ly:grob-original grob))
  ;; if yes, get the split pieces (our siblings)
  (siblings (if (ly:grob? orig)
(ly:spanner-broken-into orig) '() ))
  (total-found (length siblings)))

 (define (helper sibs offs)
   (if (and (eq? (car sibs) grob)
(pair? offs))
   ((alter-curve (car offs)) grob)
   (if (pair? offs)
   (helper (cdr sibs) (cdr offs))
   ((alter-curve '()) grob

 (if (= total-found 2)
 (helper siblings offsets)
 (if (list? (car offsets))
 ((alter-curve (car offsets)) grob)
 ((alter-curve offsets) grob)


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


Re: is shapeSlur broken?

2012-04-27 Thread Urs Liska

Am 27.04.2012 19:30, schrieb David Nalesnik:

Hi Urs,

On Fri, Apr 27, 2012 at 11:46 AM, Urs Liska li...@ursliska.de 
mailto:li...@ursliska.de wrote:


Hi David,

thank you for now. I'll look into it.
But isn't it very likely that I have to reshape a slur anyway when
it changes from  broken to unbroken?
In that case I'd even say the errors are a 'feature' so you notice
it ...
Provided it is documented enough not to drive you crazy ...


Sure, that's true.  Presumably when you're looking for that fine 
control, you've settled on the layout in all but the tiny details!
it's not only this. I think that with any slur that one might decide to 
shape manually a change in line break will spoil it anyway. So I'm not 
so sure it's a useful goal to make such a function fool-proof in this 
respect.
Without the modification, though, the error would cause the file to 
fail and the error message is a little opaque.  (Well, it's quite 
exact, but it takes some study to figure out how it happened.)
Well, the file fails (at least lilypond says so), but it actually 
compiles, it's only the function that isn't applied. But you're right to 
assume that the normal user can't cope with the error messages ;-)
I could create a warning here, something like: slur is not broken 
anymore.
If that's possible in such functions, I'd find it very useful. Even 
better: tell the user: The slur has now X parts, please adapt the 
function call

One thing you can do is
\shapeSlur #'( ... list of offsets ...)
or
\shapeSlur #'(( ... list of offsets ...))

without the file failing.

Since this function has come up again, I wonder if I could get your 
(and other people's) opinion on syntax.  When I first wrote the 
offsetting function (http://lsr.dsi.unimi.it/LSR/Item?id=639)I 
http://lsr.dsi.unimi.it/LSR/Item?id=639%29I thought that alists were 
a bother to type.  But 'control-pojnts _is_ an alist '((x1 . y1) (x2 . 
y2) ... )) , so shouldn't we have something like this?


\shapeSlur #'((dx1 . dy1) (dx2 . dy2) ...)

I realize that there's more to type, but wouldn't this be clearer to 
use? (As well as being more consistent with how LilyPond represents 
this type of data)?
First: I think this is a _very_ useful function that should even be made 
more widely known. The need to shape slurs is one of the most important 
issues when it comes to the major problems of a LilPond score. Not 
because it's a deficit of LilyPond but because it's a very complex topic 
that needs human intervention in most cases.


Second: your syntax suggestion looks very good to me.
Of course it is more to type. But that is more than outweighed by the 
advantages. it's easier to write and it's especially much easier to 
read. When changing the offsets (which you do multiple times until you 
get a good result ...) I'm always finding me counting params (in order 
to find the right item to change) which surely takes more time and 
concentration than typing (once) a few brackets and points.


Third: I suggest to add support for PhrasingSlurs and Ties in order to 
make it more general. For PhrasingSlurs it's just a matter of writing a 
new entrance function, but for Ties you need new shape-ties and 
alter-tie-curve subroutines. See the attached file that is the result of 
an earlier enquiry on this mailing list.
The functions themselves don't incorporate your newest additions (sorry, 
it's still a bit over my head), but you'll see what I mean.


Any thoughts?

to sum up what I said:
If you'd volunteer to do the following it would be a very valuable 
contribution to LilyPond's usability ;-)
- let the function check the number of arguments and give meaningful 
warnings instead of errors

(count arguments and compare against number of slur siblings)
- don't try to make the function robust so that it accepts wrong input. 
This may be trivial from a programmer's perspective but I can't imagine 
that it makes sense aesthetically.

- add support for phrasingSlurs and ties
- make all this visible, at least through an updated snippet in the LSR. 
Personally I think this should also be in the docs.



With best wishes
Urs


-David


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


%{
  shapeXXX.ily
  base include file with typographic tweaks
  modifing the shapes of Bezier curved spanners.
  
  Provided by Urs Liska (m...@ursliska.de)
  
  Exported functions:
  - shapeSlur
  - shapePhrasingSlur
  - shapeTie
  
  This version works also with line broken curves
  and modifies the shapes of the siblings individually
  
  Usage: \shapeXXX (offsets) music
  offset is a list of eight numbers indicating the x and y offsets
  for the four control-points of the curve
  for each part of a broken slur one can give a separate list.
  An empty list means that the respective slur isn't altered
  
  in contrast to overriding the control-points property
  this function

Re: is shapeSlur broken?

2012-05-04 Thread Urs Liska

Am 29.04.2012 00:26, schrieb David Nalesnik:

Hi Urs,

On Fri, Apr 27, 2012 at 6:05 PM, Urs Liska li...@ursliska.de 
mailto:li...@ursliska.de wrote:


Am 27.04.2012 19 tel:27.04.2012%2019:30, schrieb David Nalesnik:

Hi Urs,

On Fri, Apr 27, 2012 at 11:46 AM, Urs Liska li...@ursliska.de
mailto:li...@ursliska.de wrote:

Hi David,

thank you for now. I'll look into it.
But isn't it very likely that I have to reshape a slur anyway
when it changes from  broken to unbroken?
In that case I'd even say the errors are a 'feature' so you
notice it ...
Provided it is documented enough not to drive you crazy ...


Sure, that's true.  Presumably when you're looking for that fine
control, you've settled on the layout in all but the tiny details!

it's not only this. I think that with any slur that one might
decide to shape manually a change in line break will spoil it
anyway. So I'm not so sure it's a useful goal to make such a
function fool-proof in this respect.

Without the modification, though, the error would cause the file
to fail and the error message is a little opaque.  (Well, it's
quite exact, but it takes some study to figure out how it happened.)

Well, the file fails (at least lilypond says so), but it actually
compiles, it's only the function that isn't applied. But you're
right to assume that the normal user can't cope with the error
messages ;-)


I could create a warning here, something like: slur is not
broken anymore.

If that's possible in such functions, I'd find it very useful.
Even better: tell the user: The slur has now X parts, please
adapt the function call


One thing you can do is
\shapeSlur #'( ... list of offsets ...)
or
\shapeSlur #'(( ... list of offsets ...))

without the file failing.

Since this function has come up again, I wonder if I could get
your (and other people's) opinion on syntax.  When I first wrote
the offsetting function
(http://lsr.dsi.unimi.it/LSR/Item?id=639)I
http://lsr.dsi.unimi.it/LSR/Item?id=639%29I thought that alists
were a bother to type.  But 'control-pojnts _is_ an alist '((x1 .
y1) (x2 . y2) ... )) , so shouldn't we have something like this?

\shapeSlur #'((dx1 . dy1) (dx2 . dy2) ...)

I realize that there's more to type, but wouldn't this be clearer
to use? (As well as being more consistent with how LilyPond
represents this type of data)?

First: I think this is a _very_ useful function that should even
be made more widely known.


I'm very glad that you think so!


Second: your syntax suggestion looks very good to me.
Of course it is more to type. But that is more than outweighed by
the advantages. it's easier to write and it's especially much
easier to read. When changing the offsets (which you do multiple
times until you get a good result ...) I'm always finding me
counting params (in order to find the right item to change) which
surely takes more time and concentration than typing (once) a few
brackets and points.


Yes, I also find it very easy to make mistakes when typing in lists 
separated only by spaces.  Trying out examples for the attached file, 
I was pleasantly surprised at how much easier-- and faster! -- it is 
to use the alist notation.  Certainly, it is easier to read.  Plus, I 
think it makes the offsetting function a bit less ugly.


Third: I suggest to add support for PhrasingSlurs and Ties in
order to make it more general. For PhrasingSlurs it's just a
matter of writing a new entrance function, but for Ties you need
new shape-ties and alter-tie-curve subroutines. See the attached
file that is the result of an earlier enquiry on this mailing list.
The functions themselves don't incorporate your newest additions
(sorry, it's still a bit over my head), but you'll see what I mean.


One solution is to use a syntax like this:

\shapeCurve #Tie #'( ((dx1 . dy1) . . . ))

and then to let the functions choose the right control-points callback 
from a list based on the name of the grob you're overriding.  (Dmytro 
used this in a variant of his adaptation which I saw off-list.)


I thought it might be nice to have \shapeSlur, \shapeTie, etc.  To 
avoid duplicating so much code, I pass the relevant 'control-points 
callback to the functions which need it.  Of course, you can extend 
this list to whatever takes control-points.  As you mention, 
\shapePhrasingSlur would be the same as \shapeSlur.  You can do 
\shapeTupletBracket in 2.14.2, but it looks like 'control-points is 
gone in 2.15.


to sum up what I said:
If you'd volunteer to do the following it would be a very valuable
contribution to LilyPond's usability ;-)


I'd be delighted to do whatever I can.

- let the function check the number of arguments and give
meaningful warnings instead of errors

parenthesizing only part of an articulation

2012-05-05 Thread Urs Liska

Hi list,

I have something like
c2-_
and need to enclose the 'staccato' part of the articulation with 
parentheses (as this is an editor's addition). Unfortunately I didn't 
find a way to do this. Also it doesn't seem to work to add the -. and 
the -- separately.


How could I achieve this?

Thanks in advance
Urs

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


Re: parenthesizing only part of an articulation

2012-05-05 Thread Urs Liska
Thanks, this works (don't know why I didn't find out myself ...)
I had to tweak extra-offset instead of padding, because the tenuto is also 
misplaced horizontally (maybe it's aligned to the left bracket instead of the 
staccato).

Best
Urs
-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.



Eluze elu...@gmail.com schrieb:

hi

did you mean something like

c2 -\parenthesize -. -\tenuto

imo it does not look perdect, but maybe you can tweak the tenuto to keep 
more distance:

c -\parenthesize -. -\tweak #'padding #5 -\tenuto

hth
Eluze

Am 05.05.2012 09:06, schrieb Urs Liska:
 Hi list,

 I have something like
 c2-_
 and need to enclose the 'staccato' part of the articulation with 
 parentheses (as this is an editor's addition). Unfortunately I didn't 
 find a way to do this. Also it doesn't seem to work to add the -. and 
 the -- separately.

 How could I achieve this?

 Thanks in advance
 Urs

_

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

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


Re: parenthesizing only part of an articulation

2012-05-05 Thread Urs Liska

Am 05.05.2012 23:08, schrieb Eluze:



Am 05.05.2012 13:22, schrieb Urs Liska:

Thanks, this works (don't know why I didn't find out myself ...)
I had to tweak extra-offset instead of padding, because the tenuto is 
also misplaced horizontally (maybe it's aligned to the left bracket 
instead of the staccato).


Best
Urs


personally I try to avoid extra-offset…

at a first glance I also thought the tenuto is not centered correctly 
- but then I magnified the pdf/png file and it looked much better 
(maybe an optical illusion due to the inclination of the note head?) - 
did you try to print the result? how does this look?

Well, I know that extra-offset isn't for everyday use ;-)
But with  -\tweak #'extra-offset #'( 0.35 . 0.4 ) I get the result I 
have attached - and I think that's just right ...


Thanks again
Urs


Eluze



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


attachment: Centered-tenuto.png___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Pondings

2012-05-07 Thread Urs Liska

Am 07.05.2012 10:09, schrieb David Kastrup:

m...@apollinemike.comm...@apollinemike.com  writes:


On 7 mai 2012, at 10:02, Francisco Vila wrote:


2012/5/7 Henning Hraban Rammhra...@fiee.net:

2012/5/7 m...@apollinemike.comm...@apollinemike.com:

Hey LilyPond users,
Just a note to let you know that the Pondings column is now live
on lilypond.org!

Thank you, but it works only on the English page (i.e. if your
browser's first language is set to English).

That's because translators still have to update their versions of the
front page.

The problem I see, on the other hand, is that no matter how many times
I refresh the page, I always see only the two English tweets.


I just pushed the translations into the code base - they'll take some
time to surface on the webpage.  Sorry for the misinformation.

I repeat my suggestion to use the same pondings on every page, filtered
through _all_ of the languages in the browser preferences.  The page
choice itself is based on the _first_ supported language.

And I really stronly suggest, that - in addition to discussing the 
technical aspects - people think about submitting entries to Mike.
I can't imagine that there aren't quite a few 'tweetable' projects out 
there.
And I would consider it a very contraproductive 'statement' if it would 
remain a list of only two projects ...


Best
Urs

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


Re: Pondings

2012-05-07 Thread Urs Liska
I don't think we should filter out anything below a Bärenreiter publication ;-)

The point is to show what Lilypond is good and valuable for.

So I'd say (but I'm not responsible for this):
Anything that is in some way public (and possibly even linkable) qualifes 
immediately.
Private use may also be useful for this purpose.
If you can say: my church choir can sing better from LilyPond scores, it's a 
perfect advertisment for downloading lilypond, isn't it?
And I'd estimate a statement like 'I use LilyPond for my analyzes because I can 
use style sheets to mark my results' also a valuable contribution.
But as mentioned, I'm not responsible for this, so (all out there) get in touch 
with Mike ...

Best
Urs
-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.



Henning Hraban Ramm hra...@fiee.net schrieb:

2012/5/7 Urs Liska li...@ursliska.de:

 And I really stronly suggest, that - in addition to discussing the technical
 aspects - people think about submitting entries to Mike.
 I can't imagine that there aren't quite a few 'tweetable' projects out
 there.
 And I would consider it a very contraproductive 'statement' if it would
 remain a list of only two projects ...

Would you tweet about a small LilyPond song score in a church magazine?
That’s one of my regular uses, and I consider it too minor.

My other main use are song sheets/booklets for my private pleasure,
and since they contain mostly copyrighted songs, I can’t publish them,
unfortunately.
And I guess a lot of other users have similar problems – how much
sense makes a tweet about some unspectacular internal use of LilyPond?

Greetlings, Hraban

_

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

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


(somewhat OT:) lilypond calling bash script questions

2012-05-08 Thread Urs Liska
Please excuse if I post a linux question here, but I'd prefer not to 
have to find a dedicated forum and subscribe there first ...


I have a project with more than two dozens of lilypond scores. For 
several reasons I have them in individual files which I can't \include 
in a master file.
I would like to write a script that allows me to compile all .ly files 
in one run.

For this I need the following which I didn't find through Google:
How can I sequentially cd to all subdirectories that start with a number?
What I want is to do

cd 01_01_...
lilypond *.ly
cd ..
cd 01_02_...
..

in a form like

for dir in [get me all directories starting with a number]
do
cd $dir
lilypond *.ly
cd ..
done

This _has_ to be absolutely simple, but I didn't manage do find out how 
so far.


Many thanks for any assistance.
Urs


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


Re: (somewhat OT:) lilypond calling bash script questions

2012-05-08 Thread Urs Liska

Am 08.05.2012 11:36, schrieb m...@apollinemike.com:

On 8 mai 2012, at 11:31, Urs Liska wrote:


Please excuse if I post a linux question here, but I'd prefer not to have to 
find a dedicated forum and subscribe there first ...

I have a project with more than two dozens of lilypond scores. For several 
reasons I have them in individual files which I can't \include in a master file.
I would like to write a script that allows me to compile all .ly files in one 
run.
For this I need the following which I didn't find through Google:
How can I sequentially cd to all subdirectories that start with a number?
What I want is to do

cd 01_01_...
lilypond *.ly
cd ..
cd 01_02_...
..

in a form like


I only speak Python, but I can help you there

import subprocess

NUMBER_OF_DIRS = 10

for x in range(NUMBER_OF_DIRS) :
   subprocess.call(lilypond *.ly, shell=True, cwd=01_+(%.2d % 
x)+_foobar)

Note that I haven't tested the above, so I can't guarantee it works and you'd 
have to adapt it to your individual case.

Cheers,
MS


Well, I don't speak Python, so I'll hope to get another response.

But from what I can decipher from your script I might have to express 
myself clearer:
The condition for the inclusion of a directory is _only_ that it starts 
with a number.
The dirs with scores in it are named according to opus number, thus 
starting with a two digit number, followed by an underscore and another 
two digit number.
But the unique characteristic is that it begins with a number, as all 
other directories below the project root start with characters.


Thanks anyway
Urs

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



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


Re: (somewhat OT:) lilypond calling bash script questions

2012-05-08 Thread Urs Liska

Am 08.05.2012 11:46, schrieb Jonas Olson:

On 2012-05-08 11:31, Urs Liska wrote:

cd 01_01_...
lilypond *.ly
cd ..
cd 01_02_...
..

in a form like

for dir in [get me all directories starting with a number]
do
cd $dir
lilypond *.ly
cd ..
done


Perhaps like so:
for dir in [0-9]*/;
do

cd $dir

lilypond *.ly

cd -

done

Jonas Olson

Thank you very much. That's it!
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: (somewhat OT:) lilypond calling bash script questions

2012-05-08 Thread Urs Liska

Am 08.05.2012 11:46, schrieb Jan Kohnert:

Hi,

Am 2012-05-08 11:31, schrieb Urs Liska:

I would like to write a script that allows me to compile all .ly
files in one run.


[...]


in a form like

for dir in [get me all directories starting with a number]
do
cd $dir
lilypond *.ly
cd ..
done


This would be a bash solution:

for dir in $(find . -maxdepth 1 -type d -regex ^\.\/[0-9].*$); do
   cd {dir}
   lilypond *.ly
   cd ..
done


Wow, that's where I had been looking around without success.
However, Jonas' and David's solution doesn't look as geeky but works 
perfectly.

Thanks
Urs

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


Re: Too complicated and time consuming ...

2012-05-08 Thread Urs Liska

Am 08.05.2012 16:27, schrieb joannesmith:

Hello to all.
We are in the process of making our own hymn books (we use shape notes). We
have about 450 hymns that are in paper format right now (copied, pasted,
written on, sloppy, taped, marked, etc.) and I have the job of making them
all look nice. A friend suggested lilypond. I appreciate all that lilypond
can do, but I find that it is taking a painful amount of time The hymns
are not all the same ... and some are really complicated [for me anyway].
The easy ones only take me about 20 minutes or so, however the hard ones can
take more than 3 hours and some I have just given up on for now. Multiply
that by about 450 songs and it is really intimidating to me.

So my question ... maybe there is another program that will better suite my
needs?? Or maybe there is someone here that is really good at entering a
variety of hymns into lilypond and would be willing to help me every now and
then??? But I feel I am too needy ... I might need more help than what
someone is willing to give freely and I certainly do not have money to pay
anyone!!!

Of course I am hoping for a somewhat easier program ... clicking and
dragging sounds very appealing to me right now! Does any such program exist?

Thank you for your time.
I really can understand your situation. It hasn't been too long that I 
felt similarly - although I must admit (and this may be a big 
'although') that I was fascinated from the beginning, not only of 
LilyPond's quality but also by the implications of the text based approach.


If I were you I would seriously consider giving LilyPond a try.
I know the learning curve is quite steep for a considerable amount of 
time. But if you are looking at 450 pieces this is a long way on which 
you should be able to get quite comfortable with LilyPond along the way.


Especially notable (IMHO) is LilyPond's power when you are talking about 
repetitive things like 450 comparable scores.
Of course you will get your first scores faster with a graphical 
program. But with LilyPond you can for example set up a framework where 
you will only have to enter the plain music for each new hymn. If this 
framework is well thought out (OK, this isn't really trivial and may 
seem impossible for you at the moment), then you have a) a consistent 
layout throughout all your scores and b) can change any aspect of your 
layout or style at any moment practically without any hassle and have 
this reflected in all your scores (for example, besides general style 
decisions you can switch between completely different layouts or part 
collections (individual parts, conductor's vs. pocket score etc.) simply 
through commenting out single lines of code).


The LilyPond community won't do the work for you and can't relieve you 
from learning. But if you are willing to learn and ask the right 
questions you will surely experience good will and considerable 
expertise on this list (I can really tell you that :-) )


HTH
Urs

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


Re: is shapeSlur broken?

2012-05-08 Thread Urs Liska

Hi David,

thanks for the new 'delivery'.
I copied it to my project folder, but it's too late now here to 
investigate it (has to wait for tomorrow).
I'm really looking forward to making all this available in a structured 
way (although it will surely take some time).
Experience working with your function and the new options to visualize 
the control-points is so beautiful and such a tremenduous improvement in 
handling LilyPond ...


Best
Urs

Am 09.05.2012 01:49, schrieb David Nalesnik:

Hi Urs,

Hi David,
as promised I tried out your updated function(s).
Well, you can't call this a complete test suite, but it seems to
work perfectly. Many thanks.
Attached is a version showing that it also/still works with
phrasingSlurs.

I find the warnings very useful. I assume it isn't possible to
find out and display the 'real' place in the source where the
problem comes from? As it is, I only know that there is a changed
curve that doesn't work anymore, but don't know where it is (which
can of course be difficult to pin down in larger pieces.
If it isn't possible to identify the calling line in the source
code, would it be possible to mark the respective curve red? This
way one could easily spot the problematic grob.


You can do either, or both.  The attached file will display a warning 
which includes the input location and (if you uncomment the relevant 
lines in shape-curve) print the curves in red.



That a wrong number of pairs gives strange results is OK. That way
one is gently pointed towards malformed input ;-)


+1


So it works like a charm now :-)
If you could still add the colour or line number feature - or tell
me that you won't or can't do it - I could make a useable and
distributably version of the file - maybe as a package together
with displayControlPoints (see other mail in the other thread).


Sure, please do!  In the meantime, I'll keep tinkering with this and 
I'll send along any improvements.


Thank you very much for your comments!

Best,
David


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


Re: Too complicated and time consuming ...

2012-05-08 Thread Urs Liska
And you can/should of course put most of such a template in an include file.
So you
A) don't duplicate code unnecessarily
B) can change the setting and have this be reflected through all your scores and
C) have nice small files for the actual piece.

Best
Urs
-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.



Colin Campbell c...@shaw.ca schrieb:

On 12-05-08 08:29 PM, Colin Campbell wrote: 

snippage

  Here is a template I modified, and I apologise to the author of the 
rehearsalMidi function, as I cannot remember where I found it.  

Discussion of the template is *so* much easier when it is actually present in 
the reply!

\version 2.15.34

\language english


\header {

title = Generic Gospel Song

instrument = Male Quartet

composer = Traditional

arranger = The Loan

copyright =\markup { \char ##x00A9 2012 The Composer }

tagline = Engraved with Lilypond

}


\paper {

#(set-paper-size letter)

}


global = {

\key af \major

\time 2/2

\tempo 2=96

}


tenor = \relative c' {

\global

% Music follows here.

c

}


lead = \relative c' {

\global

% Music follows here.

c

}


bari = \relative c {

\global

% Music follows here.

c

}


bass = \relative c {

\global

% Music follows here.

c

}


verse = \lyricmode {

% Lyrics follow here.

}


rehearsalMidi = #

(define-music-function

(parser location name midiInstrument lyrics) (string? string? ly:music?)

#{

\unfoldRepeats 

\new Staff = tenor \new Voice = tenor { s1*0\f \tenor }

\new Staff = lead \new Voice = lead { s1*0\f \lead }

\new Staff = bari \new Voice = bari { s1*0\f \bari }

\new Staff = bass \new Voice = bass { s1*0\f \bass }

\context Staff = $name {

\set Score.midiMinimumVolume = #0.5

\set Score.midiMaximumVolume = #0.5

\set Score.tempoWholesPerMinute = #(ly:make-moment 96 2)

\set Staff.midiMinimumVolume = #0.8

\set Staff.midiMaximumVolume = #1.0

\set Staff.midiInstrument = $midiInstrument

}

\new Lyrics \with {

alignBelowContext = $name

} \lyricsto $name $lyrics



#})


\score {

\new ChoirStaff 

\new Staff \with {

midiInstrument = choir aahs

instrumentName = \markup \center-column { Tenor Lead }

shortInstrumentName = \markup \center-column { Tenor Lead }

} 

\clef treble_8

\new Voice = tenor { \voiceOne \tenor }

\new Voice = lead { \voiceTwo \lead }



\new Lyrics \with {

\override VerticalAxisGroup #'staff-affinity = #CENTER

} \lyricsto tenor \verse

\new Staff \with {

midiInstrument = choir aahs

instrumentName = \markup \center-column { Bari Bass }

shortInstrumentName = \markup \center-column { Bari Bass }

} 

\clef bass

\new Voice = bari { \voiceOne \bari }

\new Voice = bass { \voiceTwo \bass }





\layout { }

\midi { }

}


% Rehearsal MIDI files:

\book {

\bookOutputSuffix tenor

\score {

\rehearsalMidi tenor tenor sax \verse

\midi { }

}

}


\book {

\bookOutputSuffix lead

\score {

\rehearsalMidi lead tenor sax \verse

\midi { }

}

}


\book {

\bookOutputSuffix bari

\score {

\rehearsalMidi bari tenor sax \verse

\midi { }

}

}


\book {

\bookOutputSuffix bass

\score {

\rehearsalMidi bass tenor sax \verse

\midi { }

}

}




-- I've learned that you shouldn't go through life with a catcher's mitt on 
both hands. You need to be able to throw something back. -Maya Angelou, poet 
(1928- ) ___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Too complicated and time consuming ...

2012-05-09 Thread Urs Liska
He doesn't even have to copypaste sources.
Just save it to an appropriate place and name and include it.

Hope the OP is still with us ;-)
Best
Urs
-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.



Francisco Vila paconet@gmail.com schrieb:

2012/5/8 Colin Hall colingh...@gmail.com:
 On Tue, May 08, 2012 at 07:27:11AM -0700, joannesmith wrote:
 A friend suggested lilypond. I appreciate all that lilypond
 can do, but I find that it is taking a painful amount of time

 You might prefer:

 http://musescore.org/

 and I have heard good reports of Noteworthy:

 http://www.noteworthysoftware.com/

Are these capable of shape notes? I'm not sure.

I strongly agree with that David said: _especially_ for 450 hymns, if
I were you, I'd go definitely for LilyPond. Dragging sounds might be
better only for 1-10 pieces at most, and still you'd have to edit them
all once and again when you decide to change the overall look.
Instead, learn to use the \include command for paper and layout blocks
in LilyPond.

An unexpected feature you could discover is, you can teach the basics
(just note entry) to people so they save those notes in a text file
with a distinct filename. Then you can copy and paste that into your
music declarations such as tenor = { } , then use those variables in a
template such as \score {  \new Staff { \tenor }   }

Finally, I recommend Frescobaldi for everyday work. Type some notes,
hit CTRL+M, done. Errors? hit CTRL+E.

Good luck!
-- 
Francisco Vila. Badajoz (Spain)
www.paconet.org , www.csmbadajoz.com

_

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

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


Re: (somewhat OT:) lilypond calling bash script questions

2012-05-09 Thread Urs Liska

Thanks all for the generous feedback.

But the very simple solution that Jonas Olson posted quite early solved 
the issue.

for dir in [0-9]*/; was is exactly what I needed.

Best
Urs

Am 09.05.2012 16:31, schrieb Christopher Webster:


*From*: David Kastrup
*Subject*:  Re: (somewhat OT:) lilypond calling bash script questions
*Date*: Wed, 09 May 2012 16:01:54 +0200
*User-agent*:   Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux)


Christopher Websteraddress@hidden  writes:

/  A variant of Alex's suggestion (below):/

/  find . -type d -name [0-9]* -print | while read dir/
/  do/
/   (/
/   cd $dir;/
/   for f in *.ly/
/   do/
/   lilypond $f/
/   done/
/   )/
/  done/

find is looking _recursively_, arbitrarily deep.  It is the wrong tool
for the job.

--
David Kastrup

Apologies.  My misunderstanding.  I thought that recursion was the 
desired behaviour.  If not, then something more like this should do it:


for d in [0-9]*
do
if test -d $d
then
(
cd $d
for f in *.ly
do
lilypond $f
done
)
fi
done

Once again, I've typed this straight into the mail client without 
testing, so the obvious risks are present.


All the best

Christopher W.




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


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


Re: is shapeSlur broken?

2012-05-09 Thread Urs Liska

Hi David,

now I tested your new function.
OK, I didn't test more than the sources you provided, but I think they 
give all the necessary combinations.


So my conclusion is: This is awesome!

I won't ever live without this (as long as LilyPond is concerned) 
anymore - as long as it won't get broken by new versions.


One idea to make it even more comfortable and generic to use would be 
not to hard-code the color within the function.
If one could somehow set the color outside the function one could 
personalize it to ones needs.


As this is kind of a library thing, I think it isn't necessary to make 
this settable at runtime through the function call.
Maybe one could define a variable for the color above the function, 
setting #black as default.
Then anybody can easily see how to adapt it even if she/he doesn't 
understand the function itself.
Ah, I just realized that this way one could still set the color in the 
music source by redefininge the variable ...


I would be happy about this enhancement.
But I really have to admit that this is quite low priority because the 
function is already extremely helpful.


Best and thanks again
Urs

Am 09.05.2012 01:49, schrieb David Nalesnik:

Hi Urs,


Hi David,
as promised I tried out your updated function(s).
Well, you can't call this a complete test suite, but it seems to
work perfectly. Many thanks.
Attached is a version showing that it also/still works with
phrasingSlurs.

I find the warnings very useful. I assume it isn't possible to
find out and display the 'real' place in the source where the
problem comes from? As it is, I only know that there is a changed
curve that doesn't work anymore, but don't know where it is (which
can of course be difficult to pin down in larger pieces.
If it isn't possible to identify the calling line in the source
code, would it be possible to mark the respective curve red? This
way one could easily spot the problematic grob.


You can do either, or both.  The attached file will display a warning 
which includes the input location and (if you uncomment the relevant 
lines in shape-curve) print the curves in red.



That a wrong number of pairs gives strange results is OK. That way
one is gently pointed towards malformed input ;-)


+1


So it works like a charm now :-)
If you could still add the colour or line number feature - or tell
me that you won't or can't do it - I could make a useable and
distributably version of the file - maybe as a package together
with displayControlPoints (see other mail in the other thread).


Sure, please do!  In the meantime, I'll keep tinkering with this and 
I'll send along any improvements.


Thank you very much for your comments!

Best,
David


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


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


Re: is shapeSlur broken?

2012-05-10 Thread Urs Liska

Hi Jan-Peter,

thanks for this.
I had already inserted phrasingSlurs into the function, but somehow they 
slipped through the net during some update ...


Best
Urs

Am 10.05.2012 09:59, schrieb Jan-Peter Voigt:

Hello David, hello Urs,

thank you very much for these improvements!

I have a tiny addition: PhrasingSlurs
--snip--

shapePhrasingSlur =

#(define-music-function (parser location offsets)

(list?)

#{

\once \override PhrasingSlur #'control-points =

#(shape-curve offsets ly:slur::calc-control-points location)

#})

--snip--


Cheers, Jan-Peter

On 09.05.2012 18:42, David Nalesnik wrote:

Hi Urs,

On Wed, May 9, 2012 at 10:13 AM, Urs Liska li...@ursliska.de 
mailto:li...@ursliska.de wrote:


Hi David,

now I tested your new function.
OK, I didn't test more than the sources you provided, but I think
they give all the necessary combinations.

So my conclusion is: This is awesome!

I won't ever live without this (as long as LilyPond is concerned)
anymore - as long as it won't get broken by new versions.

Great!  I'm very happy to hear this!

One idea to make it even more comfortable and generic to use
would be not to hard-code the color within the function.
If one could somehow set the color outside the function one could
personalize it to ones needs.

As this is kind of a library thing, I think it isn't necessary to
make this settable at runtime through the function call.
Maybe one could define a variable for the color above the
function, setting #black as default.
Then anybody can easily see how to adapt it even if she/he
doesn't understand the function itself.
Ah, I just realized that this way one could still set the color
in the music source by redefininge the variable ...

I would be happy about this enhancement.
But I really have to admit that this is quite low priority
because the function is already extremely helpful.


This isn't difficult to do.  As you say, you could define a variable 
for color above the function.  All you would need to do then is 
replace red with the name of the variable in the two places it 
occurs.  In the attached file, I do this and give several ways of 
specifying the color you want.  (Of course, it's the last definition 
that is actually used.)



Best and thanks again

Urs


You're very welcome!

Best,
David


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




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


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


function that inserts a toplevel expression

2012-05-10 Thread Urs Liska

Hi list,

I'm sorry that I once more have a basic Scheme question.

[
Any suggestion for a reading to find my way into Scheme?
I think I have some programming experience (although without any formal 
IT tuition), mainly from object pascal, but also a little bit with other 
languages.
But when it comes to Scheme I'm absolutely lost. I don't seem to be able 
to find out even such things as to pass a color to a function ... All 
these brackets and ticks and #s are so confusing, that it also isn't 
possible getting somewhere through trial and error.
I have read much of LilyPond's Scheme introduction, but it doesn't seem 
to help me much. So maybe I'd rather read something elsewhere and come 
back trying to get that together with LilyPond when I'm a little bit 
familiar with Scheme.

]

So now the question:
How can I write a function that produces a toplevel expression?

I want to be able to write:

\debugCurvesOn

or

#(debug-curves-on)

(or something similar) which should then expand to

\layout {
  \context {
\Score
\override Slur #'stencil = #(display-control-points)
\override PhrasingSlur #'stencil = #(display-control-points) 
\override Tie #'stencil = #(display-control-points) 
  }

}

(you see where this is going? ;-) )

So far I have realized this with an include file.
This works without problems, but calling a function seems
- more elegant and
- you don't need to remember the path (the function would be included 
through the general library anyway)


Furthermore I will later want to write functions for the \score block, 
and I will want to pass some parameters in there - which doesn't work 
with include files.


Any help is appreciated
Best
Urs

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


Re: function that inserts a toplevel expression

2012-05-10 Thread Urs Liska

Hi David,

thank you for the reply

Am 10.05.2012 12:05, schrieb David Kastrup:

Urs Liskali...@ursliska.de  writes:


So now the question:
How can I write a function that produces a toplevel expression?

No such thing.

:-(

I want to be able to write:

\debugCurvesOn

or

#(debug-curves-on)

(or something similar) which should then expand to

\layout {
   \context {
 \Score
 \override Slur #'stencil = #(display-control-points)
 \override PhrasingSlur #'stencil = #(display-control-points)
\override Tie #'stencil = #(display-control-points) }
}

(you see where this is going? ;-) )

debugCurvesOn = \layout {
\context {
  \Score
  \override Slur #'stencil = #(display-control-points)
  \override PhrasingSlur #'stencil = #(display-control-points)
  \override Tie #'stencil = #(display-control-points) }
}

That created a layout definition (more accurately: an output definition
suitable for use in layouts).  Which can be used in \layout:

\layout { \debugCurvesOn  [Other stuff ...] }

OK, instead of

\debugCurvesOn

I now have to insert

\layout { \debutCurvesOn }

in my main file.
It is not perfectly what I had hoped for, but it's fine nevertheless 
(definitely better than the current solution).

So we may consider this as solved.

If you want to turn this into a function, you use define-scheme-function
and construct the return value using #{ \layout { ... } #}.

Not necessary anymore. But I think I see now better how this works.



Furthermore I will later want to write functions for the \score block,
and I will want to pass some parameters in there - which doesn't work
with include files.

Not clear to me what you want.


I wanted to be able to write

\liedScore Stimme Klavier
or
\liedScore Voice Piano
and get back the respective \score block with the parameters substituted.
But from your answers to the other part of the question I now know that 
this isn't possible.


Probably I'll look for a solution through defining a variable and then 
including the file with the \score definition.
For the project at hand it's not necessary because I can have the score 
block be hardcoded. But I want to distill a more generic 
library/framework for use after this project.


Thanks again
Urs

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


Re: function that inserts a toplevel expression

2012-05-10 Thread Urs Liska

Hello Jan-Peter,

thank you for the ideas, that I have partly understood.

Am 10.05.2012 13:35, schrieb Jan-Peter Voigt:

Hello Urs,

On 10.05.2012 12:40, Urs Liska wrote:

Hi David,

thank you for the reply

Am 10.05.2012 12:05, schrieb David Kastrup:

Urs Liskali...@ursliska.de  writes:


So now the question:
How can I write a function that produces a toplevel expression?

No such thing.

:-(
an _ugly_ way is to produce a string and then use 
#(ly:parser-include-string parser topLevelString)
This snip can then be included in a music- or scheme-function to be 
used in lily-syntax. There are cases, where I use this construct, but 
I try to avoid it.

OK, I don't really understand it, but the cleaner

\layout { \debugCurvesOn }

is perfectly acceptable.

...

I wanted to be able to write

\liedScore Stimme Klavier
or
\liedScore Voice Piano
and get back the respective \score block with the parameters 
substituted.


you can write
liedScore = \score { ... }
and you can write
liedScore = #(define-scheme-function (parser layout ...)(...)
#{
\score {
...
}
#})

... thanks to Davids remarkable parser refinements. (I was not amused 
in the first place, rewriting/updating my scores accordingly, but IMO 
these changes are a major step forward for lilypond!)


If you reference this, it looks all the same
\liedScore /optional parms/
So this is what I came up with. This is a minimal example of how it 
could work:

% inside included (library) file:
liedScore = \score {
  \new Staff {
\set Staff.instrumentName = \instName
\music
  }
}

music = \relative c' { c4 e g b } % Defined in another (piece specific) 
included file
instName = Test % already defined with default value in the library, 
so I don't _have_ to write this

\score { \liedScore }


But from your answers to the other part of the question I now know 
that this isn't possible.
If liedScore is a music-function (returning void), it can be placed 
anywhere. This function can do anything possible in scheme: It can add 
scores or markups to the current stream:

--snip--

fun = #(define-music-function (parser location mus)(ly:music?)

(add-score parser (list #{ \markup { Hello World } #}))

(add-score parser #{ \score { $mus } #})

(make-music 'SequentialMusic 'void #t))

\fun \relative c' { c4 e g b }

--snip--

Now you can put anything in your function, to create the score.
Unfortunately this doesn't seem to work for me. I don't want to pass the 
music as parameter but one or more strings containing the instrument 
names of the staves.


But thinking of it the above solution is probably sufficient. I can 
define default values in the library and override them in the master 
file if necessary.




Probably I'll look for a solution through defining a variable and 
then including the file with the \score definition.
For the project at hand it's not necessary because I can have the 
score block be hardcoded. But I want to distill a more generic 
library/framework for use after this project.
Using lilypond is handcraft and the artist often wishes to have his 
own unique tool ;-)


I also use my own functions:
http://www.xn--schne-noten-tfb.de/?tabs=3,1
http://www.xn--schne-noten-tfb.de/lalily.tgz
It is poorly to not documented, but if you are interested, I can give 
you more information.

I'll look into it later
Best
Urs


Cheers, Jan-Peter



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


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


Re: Too complicated and time consuming ...

2012-05-10 Thread Urs Liska

Am 10.05.2012 16:36, schrieb joannesmith:

Thank you all for your private emails ... they have been a great
encouragement to me. I will probably end up sticking with Lilypond for all
the reasons you mentioned. It really does seem like the best option ... I
just need to hang in there long enough to get a good grip on it and be
patient with myself.

A little more specifics. I first tried to use lilypond on my Linux/Ubuntu
system and could not figure it out 'to save my life.' I am still learning
Linux, but that's a whole other issue. I ended up loading lilypond on to my
Windows system and then, through some internet searching, got Frescobaldi
and it seems they work together.
LilyPond is a command line program. If you call it it will read the file 
it is given and then produces the engraved output from it.
In principle you can use any text editor to produce the text files that 
LilyPond uses to do its magic on.
But there are editors who are better suited than others. The first thing 
is syntax highlighting. And the second one are more specific tools that 
are specialised on LilyPond and that can effectively aid you in working 
with LilyPond input files. Frescobaldi is one of them.

You may want to read http://lilypond.org/easier-editing.html.


I'm ignorant as to why really but I do know
how to do html and it seems kind of like the same concept in a way? I have a
basic template that I am working off of and re-use it each time I start a
new one. If I have a hymn that seems like another one, I'll use that other
song as a template. Something I found that helps is if I keep notes of songs
that are a bit unique. And then if I run into a difficult song, I can look
at my notes and see if I've had that 'problem' before. Copying and pasting
is good.

This is the usual way you start with.
And it's exactly this what you will love with LilyPond: it will make it 
possible to overcome this situation.
In an ideal world you'd have a framework of helper and score template 
files, and you'd chose for any given song which one to use and then the 
only thing you still have to enter is the plain music .
In an ordinary world it usually isn't as nice, but with 450 pieces you 
have the chance to really go into such a direction.

Some have offered to help with questions, encouraged me to post questions
here, and also pointed me to a forum that is for lilypond users who use
shape notes. THANK YOU!!  These are all such excellent resources and I'm
sure if I just keep pressing on I'll get better and better.
Maybe you could give some examples or explanations about what is 
characteristic, usual, special or whatever about your hynms. Especially 
interesting (and good for you to thoroughly think about in advance) are 
aspects that are common to most or even all of your pieces.
You will surely get some hints about what you should take care about or 
what better to avoid.


Thank you again ... I'm so glad I posted this cry for help here!



and yes, the replies (at least the numerous ones I saw) _are_ public ;-)

Best
Urs


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


Dashed Stem

2012-05-11 Thread Urs Liska
Am I right that you can't make a Stem dashed? I didnt find anything in the IR.

What would then be the proper way to attach a dashed line to a note in place of 
the Stem?

Thanks
Urs
-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: is shapeSlur broken?

2012-05-11 Thread Urs Liska

Am 11.05.2012 01:27, schrieb David Nalesnik:

Hi Harm,

On Thu, May 10, 2012 at 6:00 PM, Thomas Morley 
thomasmorle...@googlemail.com mailto:thomasmorle...@googlemail.com 
wrote:


2012/5/11 Thomas Morley thomasmorle...@googlemail.com
mailto:thomasmorle...@googlemail.com:
 Hi David,

 I thought a while about your function.
 I'd like to suggest some changes. In the attached file you can see:

 - Elimination of `function' as argument of shape-curve and
introducing
 it as local variable.


I like this!  I had thought of looking up the callback (as an 
alternative to passing it in), but hadn't found a way to do it.  Nice!


 - A new condition added in shape-curve at the siblings-variable:
ly:spanner?


Right--otherwise overriding LaissezVibrerTie won't work.

 - In the music-function I added a new variable to specify the grob.


Aha--I didn't realize you could drop the # in the latest versions.  I 
like this too.  Of course, if you want to stick with shapeSlur (and 
its ilk) you can define it like this:


shapeSlur =
#(define-music-function (parser location offsets) (list?)
  #{
\once \override Slur #'control-points = #(shape-curve offsets 
location)

  #})
I would prefer this one, although it needs a lot of individual functions 
be defined.
But there should be no problem in defining the shapeXXX set of function 
parallel to a \shape XXX #'( version).


I hope I'll find the way how to update #(display-control-points) (from 
the other thread on bug-lilypond) so it works with the other curve types 
too.


Best
Urs



 These give the advantage to define only one music-function.
 Of course there is need to specify which grob should be applied.

 But now it works for all curves:

 Slur
 PhrasingSlur
 Tie
 RepeatTie
 LaissezVibrerTie

 I didn't test it very widly, but what do you think?

I like it all.


Oops, forgot to delete the wrong version-number..
Please switch to \version 2.15.36 or higher.

I don't have 2.14.2 up to test, but this all should work there 
provided you add the # before the string?


So:
\shape #Slur #'( ...

Thanks so much!

Best,
David



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


Re: Dashed Stem

2012-05-12 Thread Urs Liska

Hi David, Hi Thomas,

thank you very much!
I'm increasingly fascinated by LilyPond - and this mailing list.
And I'll definitely have to learn how to write Scheme functions myself ...

With your suggestions I can really solve the problem at hand, so thanks.
What I especially like about the new solution is that it automatically 
uses the original Stem's thickness (so it's independent from overrides.


Maybe it would be nice to be able to use this more generally (as a 
\stemDashed command). But for this it shouldn't have a fixed number of 
dashes but rather a consistent dash pattern (independent from the Stem's 
length. Although I don't really understand the function, I assume that 
the original Stem's length is already used. So it should be quite simple 
to use this and calculate the dashes from that?
I don't expect to be able to apply such complex operations as curve's 
'dash-definition. But if one would use two variables that are defined in 
the function's file one could then redefine them in the music file.


But as said, for my actual task I can very well use it as it is and just 
decide upon the number of dashes manually.


Best
Urs

Am 12.05.2012 04:57, schrieb David Nalesnik:

Hi Harm,

I suggest the code below. It's very close to your own but it seems to
avoid the problems.


When I tried your code out, the same problems happened for me!  I 
concluded that this is an issue with the viewer in LilyPondTool, and 
sure enough, when I view PDF with external PDF-viewer, the problem 
disappears, and I see all 20 line segments with both your version and 
mine too.


Certain aspects of your rewrite are clearer than mine--thank you!

Best,
David


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


Re: Notating same part in two different mixtures of clefs

2012-05-16 Thread Urs Liska

Am 16.05.2012 09:30, schrieb Christopher Webster:
Thank you!  Of your three proposed solutions, the one with tags looks 
like the winner.  I didn't know about tags - they look ideally suited.

Yes, that's exactly what they are for.


A feature of your first solution which I would have hoped to avoid is 
that you do seem to have duplicated notation - the s1*3 and the 
s1*2 - in the source.  Or did I misunderstand what you were suggesting?
Yes, you would have to write out the whole piece for both \voices and 
apply one or the other.
Whether this makes sense, depends a little bit, whether the clef changes 
necessarily occur at the same places, which I assume they don't. In this 
case the solution with separate voices provides you with quite fine 
control. But you have to manage a separate layer that you don't enter 
directly into the music.


And the feature of the third solution which I would have hoped to 
avoid is that I would need to edit and re-process the input to get the 
output with the other set of clefs.  I was looking for a solution in 
which one input, processed once, would produce both outputs.

No you don't have to edit the ly-file.
You can write sth like:

music = { ... }

myClefI = { \clef tenor }
myClefII = { \clef bass

\score ... % references \music

% and then redefine the variables
myClefI = { \clef treble }
myClefII = { \clef bass

\score ... % references \music

If your clef layers are independent (as I assume) you could define four 
variables trebleClef, altoClef, tenorClef, bassClef and leave two of 
them empty.


music = {
  % contains all four clefs as references.
  % If you have e.g. alto and bass clef at the same time you write
  % \altoClef \bassClef
}
% define clefs for first score
trebleClef = {}
altoClef = {}
tenorClef = { \clef tenor }
bassClef = { \clef bass }

\score { \music } % in this score the treble and alto clefs are just ignored

%then define the clefs the other way roung
% ...
 \score % now the tenor and bass clefs are ignored.

I find this solution looks nicer than with tags, but the functionality 
is nearly identical.


Only if you consider that the cello might also have a treble clef, this 
one won't work anymore. But this again is no problem when you work with 
clefs.


I have come to find the redefinition of variables a _very_ useful concept.

HTH
Urs



But the tags - they look just right!  I'll try those.

Many thanks again

/Christopher/.


On 2012-05-16 09:04, Janek Warcho? wrote:

On Wed, May 16, 2012 at 8:53 AM, Christopher Webster
christop...@claytonwebster.net  wrote:

What's the most elegant way in which I can enter the notes just once, but
generate two output scores - one with bass and tenor clefs, the other with
bass and alto clefs?

what about separate voices for clefs?  something like:


   { music }
   { \clef bass s1*3 \clef alto  s1*2 }
   %{ \clef bass s1*3 \clef tenor s1*2 }
you could also try tags
http://lilypond.org/doc/v2.14/Documentation/notation/different-editions-from-one-source#using-tags

Or simply store the clef in a variable - that's probably the simplest method:

myclef = { \clef alto }   % or \clef tenor
{ \clef bass c c \myclef f' f' }

hope this helps,
Janek




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


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


Re: Notating same part in two different mixtures of clefs

2012-05-16 Thread Urs Liska

Am 16.05.2012 10:30, schrieb Christopher Webster:
Yes - just to confirm that the tags were exactly what I needed.  
Here's the sort of thing I wanted to do:


highClef =
{
\tag #'cello { \clef tenor }
\tag #'gamba { \clef alto }
}

dots = \relative c
{
\clef bass
g'4 a b r
\highClef
d4 cis d r
\clef bass
g,1
}

\book
{
\score { \keepWithTag #'gamba \dots }
\score { \keepWithTag #'cello \dots }
}


It works like a charm.  Big thank-you from me.

/Christopher/.

OK.
If you run into trouble because you come across clef changes that have 
to be applied only in one of the instruments (or a treble clef in the 
cello part), you can still use the tag directly in the music variable 
(although this is more typing and it doesn't look as smooth).


Best
Urs



On 2012-05-16 09:30, Christopher Webster wrote:
Thank you!  Of your three proposed solutions, the one with tags looks 
like the winner.  I didn't know about tags - they look ideally suited.


A feature of your first solution which I would have hoped to avoid is 
that you do seem to have duplicated notation - the s1*3 and the 
s1*2 - in the source.  Or did I misunderstand what you were suggesting?


And the feature of the third solution which I would have hoped to 
avoid is that I would need to edit and re-process the input to get 
the output with the other set of clefs.  I was looking for a solution 
in which one input, processed once, would produce both outputs.


But the tags - they look just right!  I'll try those.

Many thanks again

/Christopher/.


On 2012-05-16 09:04, Janek Warcho? wrote:

On Wed, May 16, 2012 at 8:53 AM, Christopher Webster
christop...@claytonwebster.net  wrote:

What's the most elegant way in which I can enter the notes just once, but
generate two output scores - one with bass and tenor clefs, the other with
bass and alto clefs?

what about separate voices for clefs?  something like:


   { music }
   { \clef bass s1*3 \clef alto  s1*2 }
   %{ \clef bass s1*3 \clef tenor s1*2 }
you could also try tags
http://lilypond.org/doc/v2.14/Documentation/notation/different-editions-from-one-source#using-tags

Or simply store the clef in a variable - that's probably the simplest method:

myclef = { \clef alto }   % or \clef tenor
{ \clef bass c c \myclef f' f' }

hope this helps,
Janek




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


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


Source management tools for lilypond projects

2012-05-17 Thread Urs Liska

Hi list,

I wonder how other people manage their sources in larger lilypond projects.

Currently I'm working on a project whose source folders contain ~300 
files, most of them LilyPond source files.


One thing I really have come to love LilyPond for during this project is 
the fact that several people can work on the same scores at the same 
time - a result from the text based input approach. (For example: I (as 
the 'editor') can apply quick fixes to the musical text directly and 
don't have to ask the 'engraver' to do this)


But then the question of source management arises.
For the current project we have the whole file structure in a Dropbox 
folder. This is practical but also not really adequate - we have to do 
kind of 'file locks' through email (I'm going to edit this file, please 
don't touch it until I tell you again) ...
It's OK (as we are basically only two guys), but something I'm feeling 
quite uneasy with.


So are there any practical ideas or experiences for a source management 
for lilypond projects?


I have some ideas about but no experience with the usual tools for 
software development.

It would be nice to
- have a lilypond project hosted on a central server
- at least have mechanisms to checkout/lock files for individual editing
- maybe have the ability to diff/merge or something similar.
- maybe have the ability to assign 'roles' to different contributors 
(manage rights to grant rights for specific actions (read, edit, compile 
...) or specific files)


Ideally it should be possible to have several independent projects 
within the same file system so that one can implement libraries that are 
common to all projects. But that's not really necessary.
And OTOH the solution shouldn't be too big, i.e. it should be adequate 
for projects with 'only' 200 or 500 files.


Any ideas?
Are there other people with the need or practical experience with source 
management strategies for LilyPond projects?


Best
Urs

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


Get the positions of a beam (or other grob with positions)

2012-05-17 Thread Urs Liska

Hi,

I am very much enjoying now to tweak slurs and other curves using 
offsets instead of hardcoded control-points.


I wonder if it would be interesting to have a similar approach to grobs 
with a positions property (e.g. beams).
While it is comparably easy to find usable #'positions for a beam this 
is then of course hard-coded and won't work if either the system-system 
spacing changes for whatever reason, or the music is transposed.


Of course it must be quite straightforward to read out lilypond's 
decision and apply offsets to that in a music function?


And if that works one could even enhance the \shape function?
The wrapper function could check against a list of grob names and call 
the appropriate helper function (i.e. if its a Slur then call shape-curve).
Maybe it's even possible to make that still more generic. Is it possible 
to check if a given grob has a given property? (i.e. if the grob has a 
control-points property then call shape-curve, else if it has positions 
then call shape-positions [elseif used so that a slurs control-points 
take precedence over its positions]).


So it could be possible to write
shape Slur #'((1 . 0) (3 . -2) (0 . 0) (0 . 1))
or
shape Beam #'(2 . -1)
or
shape Arpeggio #'(-1 . 2)

Would be awesome I think.

Maybe one could even have more ideas to make this offset approach even 
more general/generic.


Instead of ready-made functions, I would also appreciate hints on how to 
achieve this (as said, I'm quite interested in getting used to write 
Scheme functions myself, without always having to ask here).


Best
Urs

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


Re: Source management tools for lilypond projects

2012-05-17 Thread Urs Liska

Am 17.05.2012 12:36, schrieb Christian Andersson:
Congratulations for touching upon a hot subject, pretty much like 
asking people what text editor to use, something that has been debated 
for decades without any objective conclusion.


Personally I tend to prefer git, not only for lilypond score projects, 
but for anything text-oriented. This is mainly because of its 
exceptional versatility and likewise exceptional efficiency. First of 
all, the lock-based approach that you describe to the inherent 
concurrency of a more-than-one-person project is obsolete since many 
years, so forget about that. It should not be too much of a problem 
having two or more persons to edit one file at the same time, the 
solution is (tool-supported) merge, in which git excels. Git is, by 
the way, the tool used for source-code control of Lilypond itself, 
which is indeed larger than the 200-500-file projects that you 
describe. On the other hand, I personally use git for many 1-3-file 
projects of mine; it scales very well.


Depending on your background in version-control tools, git may not be 
the simplest of tools to learn quickly. It's not that Google lacks 
pointers to a lot of documentation, but since git is advanced, many 
sources can be quite difficult to consume. One of the better books in 
this regard, which I'd like to recommend, is Pragmatic Version 
Control Using Git by Travis Swicegood (2008).

Thanks for the input.


Now, sit down and await all flames from proponents of all the other 
tools! Bazaar anyone? Or Subversion, CVS, whatever?

:-)
OK, but please keep in mind everybody that I specifically asked for the 
use with lilypond projects ...


Cheers /Christian



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


Re: translate a pdf file

2012-05-17 Thread Urs Liska

Am 17.05.2012 13:37, schrieb D'Arcy Cain:

On 12-05-17 05:52 AM, fabio wrote:
sorry i'm still at beginner level..!i want to know if it's possible 
to get a ly
file from a pdf,if there's any way to translate a pdf file to ly 
file!thank you!


Other than reading it and retyping, no.  It's like trying to make eggs
from omelets.  Not to say it won't ever be possible.  Think OCR.


In theory that's already possible.
There are programs that translate scanned scores to a music format (e.g. 
Finale or Sibelius). Some of these programs can then export to musicXML 
which can then be converted to .ly.


But that's quite cumbersome - and you're not very likely to get useable 
results.

So most of the time retyping will be faster and better.

HTH
Urs

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


Harvesting comments from music sources

2012-05-19 Thread Urs Liska

Hi list,

any ideas/experience on parsing lilypond input files for special 
comments and produce some documentation from it?


I would love to write editorial comments directly in the lilypond source.
Some script could then read these from the source and produce html or 
OpenDocumentText or some latex input file.


What could be a practical approach or language for this?
Are there solutions to build upon?

Best
Urs

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


Re: Source management tools for lilypond projects

2012-05-20 Thread Urs Liska

Am 20.05.2012 09:25, schrieb James Harkins:

From: Graham Percivalgra...@percival-music.ca

On Thu, May 17, 2012 at 12:36:35PM +0200, Christian Andersson wrote:

Now, sit down and await all flames from proponents of all the other tools!

Saving different versions of files to floppy disks and writing a
label in a thick pen was good enough for us in 1986.  Especially
when we re-used a floppy disk and scratched out the previous
version number and wrote a new one on top.

Fine until you need to revert to a previous version...

From: Federico Brunifedel...@gmail.com

Free as Free Software (GPL).
SparkleShare is a software, not a hosting service (even though it may
become also a hosting service, see sparkleshare.net).

You can put your git repository wherever you want: personal server,
github, bitbucket (which has unlimited free private repositories at the
moment).

I'm not familiar at all with SparkleShare. I started using it two days
ago to share some files with a person who uses Windows and knows nothing
about Git.

FWIW, I taught a couple of my students to git pull from here[1] and here[2] 
in about 5 minutes. Lack of knowledge of git is a minor consideration. Especially if you 
provide that user with a script to do this:

git stash save
git pull --rebase
git stash pop

Thanks, this is the answer to one question I had about the suggestions:
Would it be achievable to use a git repository with collaborators who 
first have to learn this from scratch.
_I_ could/can take some effort to learn git to set up and manage a repo, 
but I couldn't expect prospective contributors to do this.

:-)

Best
Urs


hjh

[1] https://github.com/jamshark70/hadron
[2] https://github.com/jamshark70/workshop2012


--
James Harkins /// dewdrop world
jamshar...@dewdrop-world.net
http://www.dewdrop-world.net

Come said the Muse,
Sing me a song no poet has yet chanted,
Sing me the universal.  -- Whitman

blog: http://www.dewdrop-world.net/words
audio clips: http://www.dewdrop-world.net/audio
more audio: http://soundcloud.com/dewdrop_world/tracks

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



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


Re: suppress warnings

2012-05-20 Thread Urs Liska

Am 20.05.2012 21:12, schrieb Graham Percival:

On Sun, May 20, 2012 at 05:01:40PM +0200, Peter O'Doherty wrote:

Is it possible to suppress specific (expected) warnings?

No, unfortunately.

- Graham

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
The only warning you can deliberately suppress is that about too many 
clashing note columns (for example: ignoreCollision = \once \override 
NoteColumn #'ignore-collision = ##t).


But that's probably not exactly what you wanted to read.

Best
Urs

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


BeatStructure in 4/4 time

2012-05-21 Thread Urs Liska
I'm stuck :-(

Why doesn't this work as I expect? .

\version 2.15.36
\time 4/4
\set Timing. BeatStructure = #'(1 1 1 1)
c8 c c c c c c c

This should result in four groups of two beamed notes, isn't it?
But I always get two groups of four notes.

The same problem with 3/4, but with 5/4 I can do any combination without 
problems.

Any ideas?

Thanks
Urs
-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: BeatStructure in 4/4 time

2012-05-21 Thread Urs Liska
Thanks, that was it.

OK, it# in the docs, but I had to re-read it three times until I got it :-(

Best
Urs
-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.



Janek Warchoł janek.lilyp...@gmail.com schrieb:

On Mon, May 21, 2012 at 3:56 PM, Urs Liska li...@ursliska.de wrote:
 I'm stuck :-(

 Why doesn't this work as I expect? .

 \version 2.15.36
 \time 4/4
 \set Timing. BeatStructure = #'(1 1 1 1)
 c8 c c c c c c c

you have to clear BeamExceptions if i remember correctly.

HTH,
Janek

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


Re: Source management tools for lilypond projects

2012-05-21 Thread Urs Liska

Dear Susan,

thank you for the valuable input.
What you describe is basically what I thought how it works - but didn't 
know for sure due to lack of experience.
Especially the aspect of branching is interesting, as I didn't really 
have an idea about that.
So what you describe as the intention of your post is exactly what I 
needed ;-)


In the meantime I had already decided to go this way for the next 
projects. Our current project that we organize with a shared Dropbox 
folder starts to become more and more complicated with regards to 
keeping everything in sync (although it is _far_ better than having 
independent copies of the folder structure and exchanging everything by 
email (not to speak about Floppy Disks, which would of course take way 
too long to be always sent from Germany to Poland and back ;-) )


Best
Urs

Am 21.05.2012 11:56, schrieb Susan Dittmar:

Dear Urs,

I just have one thing to add to the discussion: *do* use one of the
repository tools! No matter which one (you had some suggestions already),
but do use one! I do so since about 10 years (csv originally, converted to
subversion some -- more than 6, I think -- years ago), and even for
personal projects on only one computer I would not want to go without that
any more. Now it's just a question whether I did check in often enough to
restore what I need restored, not how or whether to do it. And as soon as I
work on two computers (laptop and destop for example), it's a must have.

One thing you will have to think about is check-in policy though. I
personally like to check in very often, but that means the checked in
version might not compile, let alone be in a state acceptable to use.
I guess for truely collaborative work you will want to reduce official
check-ins to working versions. This can be combined with my check in
often wish by using branches: Work in your personal branch (and check in
there as often as you want) until you are content with the results, and
when an acceptable state of your work has been reached (compiles fine, and
conforms to all the criterions you defined for an official checkin), merge
your changes back to the main branch.

To reduce problems with branch merging (adding changes of the main branch
to the work branch when someone else did a change), my next step would be
to forget about that work branch after having merged into the main branch,
and start a new branch for the next set of changes. Most newer repository
systems allow for a virtually endless number of branches.

Maybe you know all that already :-). I just thought to describe this
strategy to you as a starting point for investigation, adding some of the
technical terms to help you getting used to them.

Hope it helps and not just annoys,

Susan


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



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


Re: Source management tools for lilypond projects

2012-05-21 Thread Urs Liska

Am 22.05.2012 00:53, schrieb Colin Hall:

Hi Urs,

In addition to version control your team may need the concept of a
build token.

The person holding the token has the right to merge in their latest
work and, in so doing, break the project. They also have the
responsibility to leave it in a working state before releasing the
token for the next person.

Leaving it in a working state can mean reverting to the previous
working version, something that is easy if you have version control in
place.

This discipline is particularly valuable as you approach a release
date.

Cheers,
Colin.

On Mon, May 21, 2012 at 11:13:54PM +0200, Urs Liska wrote:

Dear Susan,

thank you for the valuable input.
What you describe is basically what I thought how it works - but
didn't know for sure due to lack of experience.
Especially the aspect of branching is interesting, as I didn't
really have an idea about that.
So what you describe as the intention of your post is exactly what I
needed ;-)

In the meantime I had already decided to go this way for the next
projects. Our current project that we organize with a shared Dropbox
folder starts to become more and more complicated with regards to
keeping everything in sync (although it is _far_ better than having
independent copies of the folder structure and exchanging everything
by email (not to speak about Floppy Disks, which would of course
take way too long to be always sent from Germany to Poland and back
;-) )

Best
Urs

Am 21.05.2012 11:56, schrieb Susan Dittmar:

Dear Urs,

I just have one thing to add to the discussion: *do* use one of the
repository tools! No matter which one (you had some suggestions already),
but do use one! I do so since about 10 years (csv originally, converted to
subversion some -- more than 6, I think -- years ago), and even for
personal projects on only one computer I would not want to go without that
any more. Now it's just a question whether I did check in often enough to
restore what I need restored, not how or whether to do it. And as soon as I
work on two computers (laptop and destop for example), it's a must have.

One thing you will have to think about is check-in policy though. I
personally like to check in very often, but that means the checked in
version might not compile, let alone be in a state acceptable to use.
I guess for truely collaborative work you will want to reduce official
check-ins to working versions. This can be combined with my check in
often wish by using branches: Work in your personal branch (and check in
there as often as you want) until you are content with the results, and
when an acceptable state of your work has been reached (compiles fine, and
conforms to all the criterions you defined for an official checkin), merge
your changes back to the main branch.

To reduce problems with branch merging (adding changes of the main branch
to the work branch when someone else did a change), my next step would be
to forget about that work branch after having merged into the main branch,
and start a new branch for the next set of changes. Most newer repository
systems allow for a virtually endless number of branches.

Maybe you know all that already :-). I just thought to describe this
strategy to you as a starting point for investigation, adding some of the
technical terms to help you getting used to them.

Hope it helps and not just annoys,

Susan


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


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

Hi Colin,

I'm afraid I didn't completely get this.

Does that 'token' mean that only one person at a time is allowed to 
merge their changes to the repository, while the others have to wait for 
their turn?

But isn't that similar to having a file lock strategy?

I'd be grateful for some more hints/explanations.

Best
Urs

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


Re: Source management tools for lilypond projects

2012-05-22 Thread Urs Liska

Dear Susan,

I think this makes sense (although I can't tell if it really is what 
Colin wanted to express ...).


Do I understand correctly that what you describe is one possible 
strategy to take care of the integrity of the main source tree?
And another one would be what I have the impression is going on with 
LilyPond development: Every contributor can commit updates, but they are 
only merged to the main or master tree after some kind of review process?


What I'm feeling slightly uneasy about with your suggestion is that it 
relies on some kind of 'lock' state. Nobody except the owner of the 
build token is allowed to update the master branch.
This is only acceptable if it is somehow enforced by the system and 
doesn't rely on the reliability of the people involved. And I feel this 
may lock up things if someone doesn't give back the token fast enough?


Best
Urs

Am 22.05.2012 10:04, schrieb Susan Dittmar:

Dear Urs,

I think what Colin meant by build token is another strategy to archieve
the same as what I described with checkin/merge to the main branch and
personal development branches. I think he has in mind a decentralized
version control tool, where you first work with your local version,
commiting changes to this local version (as I, using subversion/SVN, would
have done with a personal branch). Then, when he has the build token,
he first updates his local version with the official changes, debugs his
changes until they are in a working state, and then publishes his changes.
He makes sure that the published version is up to standard, so no coworker
has to debug his stuff. In case he finds his changes make bigger fuss than
he thought, he can always give back the build token without making any of
his changes public (that means he reverts to the previous working thing).
Then he does local work again, and when he trusts this time he will be able
to make everything work, he again acquires the build token to make them
public.

So, if I understand him correctly, the strategy is the same, just the
technology used and their abilities differ.

Hope that helps,

Susan



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


Re: Source management tools for lilypond projects

2012-05-22 Thread Urs Liska

Hi Colin,

thanks for your patience. I somehow start to see some light ;-)

Am 22.05.2012 10:53, schrieb Colin Hall:

On Tue, May 22, 2012 at 10:26:02AM +0200, Urs Liska wrote:

Dear Susan,

I think this makes sense (although I can't tell if it really is what
Colin wanted to express ...).

It was pretty close. Thanks, Susan, you write well.


Do I understand correctly that what you describe is one possible
strategy to take care of the integrity of the main source tree?

Yes. Integrity in the sense that it passes (I'm guessing) these three
tests: no errors from Lilypond, the scores look good, and the midi
sounds fine.
Or anything else one agrees upon (for example, we don't care about midi 
in this case)



And another one would be what I have the impression is going on with
LilyPond development: Every contributor can commit updates, but they
are only merged to the main or master tree after some kind of review
process?

Yes.


What I'm feeling slightly uneasy about with your suggestion is that
it relies on some kind of 'lock' state. Nobody except the owner of
the build token is allowed to update the master branch.

Yes, that's right. They are responsible for moving the head of the
master branch forward.


This is only acceptable if it is somehow enforced by the system and
doesn't rely on the reliability of the people involved.

You have to be able to rely on your team.
But it should be quite easy to implement mechanisms that enforce this 
(basically similar to lockfiles)

And I feel this may lock up things if someone doesn't give back the
token fast enough?

Yes. Susan's point about small commits and often is very important,
and more so as your project approaches a release date.

Traditionally, in a shared office, people use a rubber chicken or a
ball. You throw it to each other.

:-)


In distributed teams subject-only emails work well e.g.

From: Urs
Subj: I'm taking the build token

(Urs integrates new spacer rest layout)

From: Urs
Subj: Build token free.

(Rest of team do a git fetch or something like that)

From: Susan
Subj: Taking the build token

(Susan integrates new coda section)

etc etc

Or maybe an empty file in some directory.
If the directory is empty I do
touch token_Urs
After doing changes I remove the file.

Maybe also possible with more fine-grained control in subdirectories (in 
the current projects we have a book with 26 individual scores. So it's 
only necessary to 'lock' one score at the same time, not the whole project.


What probably wouldn't work this way to have even more finegrained control.
For example if a) is working on the polyphony in the piano right hand 
file b) can without problems proof-read the lyrics in another file of 
the same score.
If we'd use the 'build token' concept (be it through empty emails or 
'lock files') then we're basically where we are right now (with a shared 
folder): tell the others which file I'm going to edit and ask them to 
leave this alone for a while.
I hope there are tools that address this situations with some 'smart 
merge' strategies ...


Best
Urs


Cheers,
Colin.




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


\shape can crash Lilypond

2012-05-22 Thread Urs Liska
Hi David N,

Recently we experienced strange crashes in our Lilypond scores that could only 
be avoided by randomly changing the order of some function calls.

Now I sat down and pinned it down quite narrowly:
If I use your wonderful \shape function and afterwards override any property of 
the same grob it causes Lilypond to crash while 'creating systems'.

Attached you'll find a file with detailed observations.
My impression is that your function somehow messes up with the grob's 
variable/pointer or whatever, making a copy and not telling Lilypond or such 
kind of thing.

Anyone an idea what could be wrong here?

It doesn't make the function unusable (not at all), but it can cause very 
dubious errors that might be very hard to track (depending on the situation).

Best
Urs
--
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

shapeCanCrash.ly
Description: 
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \shape can crash Lilypond

2012-05-22 Thread Urs Liska

Thank you very much!
Seems to work perfectly (so far - until we find something new ;-) )

Best
Urs

Am 22.05.2012 17:28, schrieb David Nalesnik:

Hi again,

The problem happens when the variable function attempts to look
up the procedure for 'control-points.  Each override you do is
tacked onto the front of the alist and so the key we're looking
for-- 'control-points -- is pushed further back.  You can see what
I mean by changing cdr in the assignment for function (line 20?)
to cddr for one override, cdddr for two overrides...  This will
fix the problem--provided the overrides come after \shape ...
(The reason why cdr is used in the first place is that the current
override of 'control-points would be there at the head of the
list, and you'd get calculation-in-progress instead of
ly:slur::calc-control-points or whatever.)  I'll think about how
to fix this and get back to you.

Thank you for noticing this!!


OK, the solution is pretty straightforward: simply replace

(function (assoc-get 'control-points
  (cdr (ly:grob-basic-properties grob

with

(function (assoc-get 'control-points
  (reverse (ly:grob-basic-properties grob


Crisis averted! :)

-David


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


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


Re: Source management tools for lilypond projects

2012-05-22 Thread Urs Liska

Dear Susan,

thank you very much for taking so much of your valuable time.
It's astonishing - like reading a good book, but one written with my 
specific questions in mind :-)


Well basically everything really is very much what I had expected it to be.

What I will have to see in action before really being able to believe it 
works in 'real life' is the merging of text files that have been changed 
by more than one person. Of course it's clear that it _must_ work 
(everything what I might have in mind with such a system is of 
magnitudes smaller than any average software project). But it's just 
hard to imagine ;-)


Best
Urs

Am 22.05.2012 12:22, schrieb Susan Dittmar:

If we'd use the 'build token' concept (be it through empty emails or
'lock files') then we're basically where we are right now (with a shared
folder): tell the others which file I'm going to edit and ask them to
leave this alone for a while.

It looks similar, but there are big differences! You do not tell them to
leave the file alone, just to not finalize their changes with this file
yet.  Every one can continue to work on his part of the things even when
another does wear the master head at that moment. What you are telling by
locking is not do not touch, but do not update from that and thus
do not finalize.

Let me try to explain.

Let's say, A and B are both working on one file. A works on the lyrics, B
works on the polyphony (just let's assume both are in the same file).

In his local copy, A can make as many changes as he wants, and all is fine.
In his local branch, he can even do as many checkins as he wants, still all
is fine.

At the same time, B an do as many changes to *the same* file locally as she
wants. In her local branch, she can do as many checkins as she wants, too.

Now A thinks all is fine with the lyrics. He now tells the group I will do
an official checkin to the file now. From now on, *the main branch of the
file* is his to work on. He tells the repository program to merge his local
changes to the main stuff. As the main stuff is still the same as when he
created his local branch, all should work well. He does the necessary
consistency checks (like compiles and looks well), does (if necessary)
a final checkin to the main branch, then tells the group file is free
again.

Remember, B was working on the same file. Even while A does his release and
locks the file, B gladly continues her work on the polyphony (and thus on
the very file A did lock!). Now, some time later, B finally is content with
the results and could check them in.

First she checks whether someone is holding a lock over the file. As A
already did his final commit, none does, so B can continue. She tells the
group (more on that later) that now she is wearing the master hat for that
file.

Next she tells the repository software to update *her local copy* with the
changes commited to the main trunk in the time between her checkout (the
moment she started to work on the file) and now.

This is the crucial point in which repository programs are such a help: A
and B did simultaneously *work* on the same file, and just the *checkin*
needs to be one after the other!

As A did change the file, the update will change B's copy. Usually, those
changes can be done by the repository software without problems. But if
A's changes and B's changes are too close together (like in the same line),
the software cannot tell which change will have to be kept, and will now
ask B about that.

After these clashes are solved, B has to do all the consistency checks
again. All was well with her changes before she did the update, but maybe
now she has do add some tweaks again.

B goes on making sure the file becomes consistent with policy (compiles,
looks well, ...) again.

Then B makes her final checkin, and gives back this file's rubber chicken
for the next one to grab.



How this rubber chicken mechanism is implemented depends on your group,
your requirements (what needs to work after a checkin?), and the software
you use. My approach with the branches would allow you to leave all the
locking and communication to the software. You create your branch at the
moment you start to work on a file, work within that branch until you think
all is well, update this branch from the main trunk to incorporate other's
changes, check integrity again (repeat update/check until there's only very
short time since last update), then commit your changes to the main trunk,
check consistency again to make sure (and correct immediately if needed),
and then forget about the branch afterwards. Only the time between your
committing to the main trunk and the moment you are sure consistency is
still obtained is time where others cannot be asured a newly checked out
version will work fine. This is the only time you might want to 'lock' a
file or even the whole thing.

For all this, no direct communication is necessary, just the discipline to
only make checkins to the main branch only when they do not 

Re: How to catch the current height of a StaffGroup?

2012-05-23 Thread Urs Liska

No idea about Scheme,

but shouldn't a standard barline have the desired length by default?

Best
Urs

Am 23.05.2012 18:57, schrieb Thomas Morley:

Hi,

I'm trying to read out the current height of a StaffGroup, i.e. from
the bottom-line of the bottom-staff up to the top-line of the
top-staff.

As a test I created a new BreathingSign-stencil drawing a line from
top-line to bottom-line. The value for draw-line is figured out
manually for now. Of course I want to automate this.

\version 2.15.38

#(define ((staff-group-height number) grob)
  (let* ((stil (ly:text-interface::print grob))
 (par1 (ly:grob-parent grob Y)) ;; #Grob VerticalAxisGroup
 (par2 (ly:grob-parent par1 Y)) ;; #Grob VerticalAlignment
 (par3 (ly:grob-parent par2 Y)) ;; #Grob System
 )

  ;(newline)(display par1 )(display par1)

  (ly:grob-set-property! grob 'stencil
(grob-interpret-markup grob
(make-line-markup
  (list
  (make-with-dimensions-markup '(0 . 0) '(0 . 0)
(make-with-color-markup blue
  (make-draw-line-markup (cons 0 number))

%- Test

one = {
 \relative c' {
a2 b
\override Score.BreathingSign #'after-line-breaking =
#(staff-group-height -13)
c\breathe d \break
a,, b''
\override Score.BreathingSign #'after-line-breaking =
#(staff-group-height -22.5)
c\breathe d
 }
}

two = {
 \relative c {
\clef bass
a2 b c d a'' b,, c d
 }
}

\score {
 \new StaffGroup
\new Staff \one
\new Staff \two

}

I don't know which grob/item/stencil I should adress to catch the
needed value and how.

Any hint would be appreciated.

Thanks,
   Harm

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



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


Re: Source management tools for lilypond projects

2012-05-24 Thread Urs Liska

Am 24.05.2012 10:57, schrieb Colin Hall:

On Thu, May 24, 2012 at 01:24:11PM +0800, James Harkins wrote:

Not sure if this was already discussed (I've been following the thread
somewhat loosely), but it seems to me that git makes it a whole lot
easier to handle a build token by virtue of the repositories being
decentralized.

Yes, it does, especially if there are clear boundaries between the
responsibilities of the contributors. This seems to be the case for
Urs, and probably a lot of lilypond projects, and my introduction of
the build token idea was not a useful contribution. Sorry for that.


Git is really awesome.

Agreed.

How about Urs, Susan, you and I collaborating on a one-page score via github as 
a way of confirming our understanding, and demonstrating how it can be done? 
Even a few staves would be enough to confirm a suitable workflow.

Keep it very simple. Something that any of us could write in thirty minutes, 
say, on our own, but share the work via git.

Cheers,
Colin.


Hi all,
I was just busy writing to express my gratitude for all this input.
By now I think I have acquired enough information to be contented. So 
while still being interested in reading anything more, I'd say nobody 
_needs_ to give more of his/her time.


I have for some time now being decided to go for working with git.
But I won't make any experiments with our current project. This project 
triggered my thinking about this subject - but as we're rapidly approach 
the publication date, and we're in this case only two people having to 
keep the integrity of the project, it will work the way we started. And 
it's way too late to try out fundamental changes ...


I have a project in mind which will become my first bigger experience 
with a git repository: an open library with many tools and concepts we 
developed during the project (including quite some very clever coding we 
profited from on this list and bug-lilypond). But I will only start to 
think of it when the current project is ready.


And now to your idea, Colin: I find this is a very good idea.
For me personally this would be an opportunity to make sure I'm already 
on the right track when starting the library project. And to get 
feedback and discussion on the way.
I would suggest documenting such an experiment, so it will become useful 
for others.
And I suggest to set the ground 'privately' (say: we four) and then open 
it up for others from the list so we have more contributors and thus 
more 'potential' of collisions.


I suggest that I will come back to you privately when our current 
edition is finished. I would then setup a free github account, and we 
would start thinking about what to do concretely.
If anyone wants to start right now, then of course: do. But I probably 
won't be very active until mid/end June.
And (I stated already, but maybe I should repeat this here: I don't have 
any practical experience with versioning systems (although I'm surely 
'techy' enough to get it quickly ...))


This experiment could well also serve as a pre-test for a larger idea 
that I have in mind (maybe for 2013): I would like to do a 'public 
experiment' on how fast and efficient we can collaboratively produce a 
large score - thanks to the text based approach. I'd like to do this as 
a proof-of-concept project to promote some of LilyPond's qualities to a 
wider target group ...
Imagine a large symponic movement (or possibly something oratoric) from 
the end of the 19th century (so it's in the public domain) of 10 
minutes. If we'd have 20 contributors, each dealing with one or two 
parts, it should grow very speedily, documented through daily builds. 
Maybe we could even find something that we can produce as a first 
edition, which would give us quite some attention in the scholarly world 
of music edition (furthermore: this _could_ generate money for the 
development of Lilypond - provided one agrees upon not to give the 
result to the public domain. One could for example make a score freely 
available but keep the performance rights (an editor of a first edition 
can hold the performance rights for 25 years, the royalties are similar 
to those of the copyright of a composer). But that's nothing do discuss 
already now ... ).


[
This is one of my goals on a grander scale: convince as many editors as 
possible of LilyPond's qualities and potential (therefore the mentioned 
library also stresses concepts in that direction (support of editorial 
annotations, in-source communication or -documentation. And I have some 
more ideas that can't be quickly hacked but might hopefully be realized 
in the future: Support for pdf layers, a script that extracts 'critical 
comments' from the sources ...)).
If responsible editors, say of Critical Editions start getting convinced 
of LilyPond, it may increase the pressure on the publishers to slowly 
tolerate the use of LilyPond. I won't say I have influence in this area, 
but I will definitely do some lobbying with a few 

Re: Beaming regression 2.15.39 compared to 2.14.2

2012-05-24 Thread Urs Liska

Am 24.05.2012 11:57, schrieb Toine Schreurs:

On Thu, May 24, 2012 at 05:13:55PM +1000, Nick Payne wrote:

In 2.14.2, the output for the second bar beams all five eighth notes
together, as I would expect. In 2.15.39, the first eighth note is not
beamed with the others:

\relative c'' {
 \time 3/4
 c8 c c c c c
 r c c c c c
}

It apparently is different from 2.14.2, but I would not call this a
regression.

In 3/4, I would like to have 6 eights beamed together, but if any
rests are involved, the beaming should be per quarter in order to
preserve the 3-beat character. In:

\relative c'' {
\time 3/4
 r4 r8 c c c
  }

the default beaming in 2.14.2 gives an impression of a 2-beat, which should
be avoided.

Toine Schreurs

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
Just one comment, a question that I had several times when reading such 
reports.

Don't know if this applies here, but:
A regression is something that doesn't work in a later version and that 
has _deliberately_ worked in a previous version. I.e. something that has 
once been fixed to work in that specific way.
If it just was correct and isn't anymore, it isn't considered a 
regression but just a newly introduced bug.

Best
Urs

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


Re: Beaming regression 2.15.39 compared to 2.14.2

2012-05-24 Thread Urs Liska

Am 24.05.2012 14:14, schrieb Nick Payne:

On 24/05/12 21:19, m...@apollinemike.com wrote:

On 24 mai 2012, at 12:04, Urs Liska wrote:


Am 24.05.2012 11:57, schrieb Toine Schreurs:

On Thu, May 24, 2012 at 05:13:55PM +1000, Nick Payne wrote:

In 2.14.2, the output for the second bar beams all five eighth notes
together, as I would expect. In 2.15.39, the first eighth note is not
beamed with the others:

\relative c'' {
 \time 3/4
 c8 c c c c c
 r c c c c c
}

It apparently is different from 2.14.2, but I would not call this a
regression.

In 3/4, I would like to have 6 eights beamed together, but if any
rests are involved, the beaming should be per quarter in order to
preserve the 3-beat character. In:

\relative c'' {
\time 3/4
 r4 r8 c c c
  }

the default beaming in 2.14.2 gives an impression of a 2-beat, 
which should

be avoided.

Toine Schreurs

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
Just one comment, a question that I had several times when reading 
such reports.

Don't know if this applies here, but:
A regression is something that doesn't work in a later version and 
that has _deliberately_ worked in a previous version. I.e. something 
that has once been fixed to work in that specific way.
If it just was correct and isn't anymore, it isn't considered a 
regression but just a newly introduced bug.

Best
Urs
Still a regression. Any change in behavior that is not fully 
accounted for in the change log and that you feel leads to worse 
behavior than a previous version is a regression.  People can then 
either report it as a change, at which point it is a feature, or they 
can fix it, at which point the old functionality is restored.


Reverting to the previous behaviour is simply a matter of

\set beamExceptions = #'((end . (((1 . 8) . (6)

Nick

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

Well, not having followed this too closely:
I have the impression that you experience an effect or side effect of 
the heavily changed beaming.


It this is the case, could you please check if this is documented? Maybe 
you overlooked something.

Or maybe there's need for a documentations suggestion?

Best
Urs

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


Re: ly2video - create videos from your LilyPond projects

2012-05-24 Thread Urs Liska

This is great!

one question: How did you manage to create that endless, one-system layout?

Best
Urs

Am 23.05.2012 20:15, schrieb FireTight:

Hello,
my name is Jiri FireTight Szabo and I would like to introduce program
ly2video to you. This program can generate videos from your LilyPond
projects that contains moving music staff, which is synchronized to music (
http://www.youtube.com/playlist?list=PL444F0513202699C4feature=view_all
examples ). If you are interested, you can download it
http://code.google.com/p/ly2video/downloads/detail?name=ly2video_v1.0.zip
here . I hope you will enjoy it! :)

What do you need to use ly2video?
- Python 2.7
- GNU LilyPond 2.14.2
- FFmpeg
- TiMidity++

How to use it:
Just call ly2video.py [options] from command line.

Options:
-h, --help: show help message and exit
-i FILE, --input=FILE: input LilyPond project
-o FILE, --output=FILE: name of output video (e.g. myNotes.avi, default is
input + .avi)
-c COLOR, --color=COLOR: name of color of middle bar (default is red)
-f FPS, --fps=FPS: frame rate of final video (default is 30)
-r HEIGHT, --resolution=HEIGHT: resolution of final video (options: 360,
720, 1080, default is 720)
--title-at-start: adds title screen at the start of video (with name of song
and its author)
--title-delay=SECONDS: time to display the title screen (default is 3
seconds)
--windows-ffmpeg=PATH: (for Windows users) folder with ffpeg.exe (e.g.
C:\ffmpeg\bin\)
--windows-timidity=PATH: (for Windows users) folder with timidity.exe (e.g.
C:\timidity\)

Known issues:
- music written with \partial command can cause a lot of bugs
- commands like \override Stem #'stroke-style = #grace skip notes
- videos created with title screen can have some bitrate issues




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


Re: Video recording of LilyPond talk at Chemnitz

2012-05-25 Thread Urs Liska

Hi Janek,

better don't talk too much about these things.
They give me an attention I don't deserve yet.
OK, I have plans to 'tweak' several projects to be explicit promotion 
for LilyPond.
OK, I'm determined to do some heavy lobbying in an area that _could_ 
result in a significant boost of LilyPond's public attention.


But:
a) Nobody can tell right now if I will be able to realize these projects 
at all or at the desired level.
b) Nobody can tell what impact they would have in the end. Usually the 
final outcome of such pipe dreams is much smaller than hoped. I wouldn't 
count on becoming one of the lucky few who initiate a chain reaction.


Best
Urs

Am 24.05.2012 20:36, schrieb Janek Warchoł:

On Thu, May 24, 2012 at 8:23 PM, Tim Robertst...@probo.com  wrote:

Janek Warchoł wrote:
...

Urs Liska has plans for making music publishers aware of these
advantages - see last messages from Source management tools for
lilypond projects thread:
http://lists.gnu.org/archive/html/lilypond-user/2012-05/msg00561.html





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


Re: How to cancel voice so ties are right direction

2012-05-25 Thread Urs Liska
Write ^ or _ before the tilde to force the tie up or down.
Works also with articulations, slurs and many other things.

Best
Urs
-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.



Jeff Barnes jbarnes...@yahoo.com schrieb:

This snippet illustrates a problem I'm having. The tie on the g is in the wrong 
direction after I've finished with the voice split. How do I get the correct 
tie direction? It looks like the \voices are still in scope wrt ties.

Also, why did I lose the \relative c' after the voice split?

\score {
  
\new Staff {
  \relative c'
  
{
  \voiceOne
  g'2
} \\ {
  \voiceTwo
  c,2
}
  
  g' c'4 ~ g' b
}
  
  \layout { }
}

_

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

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


Re: how to enter notes quickly (midi keyboard available)

2012-05-26 Thread Urs Liska

Am 26.05.2012 18:46, schrieb David Kastrup:

Andrew Hawrylukahawry...@gmail.com  writes:


Maybe someday the computer will be able to see or hear the music in my
head and type it out ... no, scratch that. Mind-reading computers
doesn't sounds like a good idea at all: we're trying to keep the
humans in charge of this place, after all!

I have no problems with mind-reading fingers.  They leave me perfectly
well in charge.  In fact, more so than I would be without them.  It
would be more worrisome if we had mind-writing computers.

:-)


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


Re: musescore lands sponsoring?

2012-05-31 Thread Urs Liska
We'll think about this (and some more, when I'm back and we're ready with our 
current job ...). OK, Janek?
Best
Urs



Janek Warchoł janek.lilyp...@gmail.com schrieb:

On Wed, May 30, 2012 at 5:31 PM, David Kastrup d...@gnu.org wrote:
 There are also a few advantages [of using MuseScore]:

 a) MusicXML export means the results are usable in a variety of
notation
   programs making use of an open standard.

Indeed, having MusicXML exprort can give Lily more popularity.

 b) volunteers can be given a complete toolchain.  You can use an
editor
   of your choice is about as helpful for the average musician as
You
   can use a lathe of your choice.

LOL :D
how true!  Valentin, that could be the next quote of the month :)

 d) I am well-versed in LilyPond.  What form do you want the entry
in?
   Can I use music functions?  What note language should I be using?
   Should the voicing be reflected in ad-hoc voices?  Should I be
using
   anonymous parallel voices?  What kind of context mods should I be
   using?  Uh, we better form a committee for that kind of
question.

Good point.

That's why our KickStarter project (at least the first one) should be
a not-very-long piece for chamber orchestra.  Or string quartet.
Something with 3-6 staves and 5-15 pages.



cheers,
Janek

PS there actually is one serious advantage of text input in a project
like this: we could set up a git repository for it.

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

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

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


Visibility of text spanners after line break

2012-06-06 Thread Urs Liska
Hi listers,

How can I suppress the repetition of a TextSpanner's left text after a line 
break? I want the dashed line to continue, but without the text being repeated.

I didn't find anything in the NR, and there is only one snippet, but that 
refers to spanners that end immediately after the line break.

Any ideas?

Best
Urs
-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: forcing two pages

2012-06-22 Thread Urs Liska

These are the \paper variables you need to try around with:

system-count = 8 % total number of systems in the score

page-count = 2 % number of pages in the score

max-systems-per-page = 4

min-systems-per-page = 4 % if max/min are equal it's basically a 
hardcoded command


ragged-bottom = ##f % fill pages fully

ragged-last-bottom = ##f % Also fill the last page fully


HTH
Urs



Am 19.06.2012 20:10, schrieb Fidler Aoileann:


Hello,

The music I have written has one page and one line of music.
The first page seems very busy and squashed to me so I'd like

it to be spread out over the two pages.

Can anyone help?

Many thanks

Aoileann



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


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


Re: Hauptstimme Brackets?

2012-07-06 Thread Urs Liska

Am 04.07.2012 20:55, schrieb Nick Baskin:
On Wed, Jul 4, 2012 at 2:40 PM, Thomas Morley 
thomasmorle...@googlemail.com mailto:thomasmorle...@googlemail.com 
wrote:


2012/7/4 Nick Baskin amphio...@gmail.com
mailto:amphio...@gmail.com:
 Hey all,

 Is there any way to create Hauptstimme and Nebenstimme brackets
in LilyPond?
 My searches of the manual, LSR, and recent list archives have
not been
 fruitful. I am using version 2.14.2.

 Cheers,
 Nick Baskin

What is Hauptstimme and Nebenstimme brackets?
I'm a native german speaker, but I really don't understand what
you're writing.
Could you provide an example?

-Harm


@Nathan: Brilliant! This is just what I needed. Thanks!


@Thomas/Harm: Hauptstimme and Nebenstimme brackets are used to show 
which voices in a thick texture are the most important ones. My 
understanding is that they were first invented by Schoenberg, but this 
could be incorrect. There is a little information on the English 
Wikipedia here: http://en.wikipedia.org/wiki/Hauptstimme ,
Quite correct, but Hauptstimme and Hauptsatz or Nebenstimme and 
Seitensatz really aren't equivalent.
but the German Wikipedia article it links to appears to be about 
something rather different. (My German is not good enough to tell for 
certain, though, sorry!)
No, this link is quite nonsensical. The German article isn't really 
related to the topic.


Best
Urs


~Nick Baskin

--
And she forgot the stars, the moon, and sun,
And she forgot the blue above the trees,
And she forgot the dells where waters run,
And she forgot the chilly autumn breeze...

--- Keats, Isabella, or the Pot of Basil



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



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


Re: Turning a lilypond file into a Sibelius file

2012-08-05 Thread Urs Liska

Unfortunately there is no way to accomplish what you want ATM.
There has been some (or even much) discussion about implementing a 
MusicXML export that doesn't contain all the layout but rather the 
musical information. But AFAICS that's far from becoming a reality.


HTH
Urs

Am 05.08.2012 16:23, schrieb Warren Cohen:
I have a rather interesting problem. I need to turn a lilypond file 
into a Sibelius file.  It seems that lilypond is not XML compatible, 
but is there a way to convert it that would make it easier and more 
accurate than converting a PDF file?


Thanks for letting me know

Warren Cohen


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


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


Re: Incremental compiling

2012-08-09 Thread Urs Liska

 Another idea (based on sth so wrote earlier):

What I'm doing all of the time (when working on longer pieces) is 
messing around with \set Score.skipTypesetting

I set it
- to ##t at the beginning of the piece
- to  ##f a few measures before the point where I'm working on and
- to ##t again a few measures after the point (for this I usually just 
place a skip after the 'insert' point)


An editor could try to figure out the point where on just inserts music, 
do something similar to compile just a short section of the piece (maybe 
together with a -dpreview option) and show this snippet in a preview window.


Of course I'm aware of the fact that this isn't as trivial as it may sound:
If the editor shouldn't be required to parse the whole piece it has to 
rely on some user provided information in the source file (e.g. 
barNumberChecks, bar checks or special comments).
It may be complex to determine the correct point if we are using 
variables and changing time signatures etc.

Maybe one could start with something as simple as:
- find the cursor
- go up in the source until you find m bar checks
- insert \set Score.skipTypesetting = ##f there
  (this should be transparent to the user: either use some form of 
stream to pass to lilypond or write a temporary file)

- go back to the cursor and look downwards in the score
- if you find n bar checks then insert \set Score.skipTypesetting = ##t 
there
 (if you don't find them we assume we're already at the end of the 
music input)



Mmaybe it's something to think about.

Best
Urs

Am 09.08.2012 09:26, schrieb Vaughan McAlley:

Following one of the tangents from the “Sibelius Software UK office
shuts down thread”, here’s a potential algorithm for incremental
compiling. It’s only a suggestion: sorry if it’s flawed or you don’t
like it!

• when Lilypond is compiled, a temp file is created, containing the
source file, and page-layout structure of the music. For example:
Page 1 has two systems
   System 1 contains measures 1-4
   System 2 contains measures 5-7
etc...

Maybe also a database of which measure (if any) the beginning of each
line of source is part of.

• if Lilypond is invoked with the --incremental option, Lilypond
compares its cached copy of the source file with the source file
presented, and finds the first point of difference. Then it knows
which measure it wants to be on the first page it’s actually
publishing

• then, beginning at the appropriate page, it lays out one or two
pages worth of music, using simple Finale-like rules of page layout
(if a measure is too wide, it goes to the next page)

• if in doubt, do a full compile

With large scores, compile time would be reduced to slightly more than
a one- or two-page score. Watching a compile, the “interpreting music”
stage is very quick compared to “preprocessing graphic elements” and
layout optimization, and the extra work would incur little overhead
(and could be done after the PDF file is produced).

Vaughan

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



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


Emmentaler Glyph numbers

2012-08-14 Thread Urs Liska

Hi list,

sorry if this is 'findable' somewhere. But I have searched for so many 
new things recently that I may not be seeing the wood for the trees 
anymore ;-)


I need to insert single music glyphs in LaTeX text and would definitely 
prefer using the Emmentaler ones for this (not only, but also for 
consistency, as the other music in the document is LilyPond).
As I'm using XeLaTeX it is quite easy to install and access the 
Emmentaler otf fonts and write (for example)

\newcommand{\fingerOne}{{\fontspec{Emmentaler}\char31} }
which gives the desired output.

My problem is that I don't seem to find a complete list of the Unicode 
codes of Emmentaler's glyphs that I can use for different commands. In 
the character Map of my Ubuntu's default Font Viewer I only see a few 
correct glyphs, mixed with many others that apparently are from other 
fonts (I assume the viewer is confused by Emmentaler's non-standard 
encoding).

On the list I found a solution using XeTeXglyph, but didn't succeed with it.

So:
Any hint for
- a complete list of Unicode codes for the Emmentaler fonts?
- a Ubuntu tool where I can lookup the numbers?
- any other working solution to include Emmentaler glyphs in a XeLaTeX 
document?


Thanks
Urs


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


Re: Emmentaler Glyph numbers

2012-08-14 Thread Urs Liska
OK, I found my way myself. Sorry for the noise (which might prove not to 
be noise after all ...)


The wrong characters in my Ubuntu character map were obviously some 
default glyphs for the Unicode glyphs at this point.


After trying out the codes from 00 to FF and finding only a few single 
glyphs I gave up (fortunately) and installed FontForge.

So now I know the Emmentaler Glyphs are located from E100 throughout E31C.

I already started writing some commands for this and will turn this into 
a library to be developed on GitHub.
I will only be actively writing commands that I might use, so I'd be 
glad if others would participate to make it more complete.


When I have started this up, I'll post a link soon.

Best
Urs

Am 14.08.2012 12:25, schrieb Urs Liska:

Hi list,

sorry if this is 'findable' somewhere. But I have searched for so many 
new things recently that I may not be seeing the wood for the trees 
anymore ;-)


I need to insert single music glyphs in LaTeX text and would 
definitely prefer using the Emmentaler ones for this (not only, but 
also for consistency, as the other music in the document is LilyPond).
As I'm using XeLaTeX it is quite easy to install and access the 
Emmentaler otf fonts and write (for example)

\newcommand{\fingerOne}{{\fontspec{Emmentaler}\char31} }
which gives the desired output.

My problem is that I don't seem to find a complete list of the Unicode 
codes of Emmentaler's glyphs that I can use for different commands. In 
the character Map of my Ubuntu's default Font Viewer I only see a few 
correct glyphs, mixed with many others that apparently are from other 
fonts (I assume the viewer is confused by Emmentaler's non-standard 
encoding).
On the list I found a solution using XeTeXglyph, but didn't succeed 
with it.


So:
Any hint for
- a complete list of Unicode codes for the Emmentaler fonts?
- a Ubuntu tool where I can lookup the numbers?
- any other working solution to include Emmentaler glyphs in a XeLaTeX 
document?


Thanks
Urs


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



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


Re: Emmentaler Glyph numbers

2012-08-14 Thread Urs Liska

Am 14.08.2012 19:29, schrieb Werner LEMBERG:

So now I know the Emmentaler Glyphs are located from E100 throughout
E31C.

Don't rely on character code numbers!  As soon as a new glyph gets
added to the Emmentaler font, they can change.  The only reliable way
to access the glyphs is with glyph names.


 Werner

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

Thanks for this info (although I'd prefer not having to have it :-( )
Can you tell me how I can access a glyph by name from XeLaTeX / fontspec 
then?


Thanks
Urs

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


Re: Emmentaler Glyph numbers

2012-08-14 Thread Urs Liska

Thank you for this, which also worked for me.
As I wanted to have it the 'fontspec' way, I tried from there and came 
up with


\newcommand*{\lilyGlyph}[2]{\fontspec[Scale=#1]{Emmentaler-11} 
\XeTeXglyph\XeTeXglyphindex#2 }

and then (for exmple)
\newcommand*{\flatflat}{\raisebox{0.2ex}{\lilyGlyph{1.5}{accidentals.flatflat}}}

Leaving out the scaling and offsetting it looks even more straightforward:
\newcommand*{\lilyGlyph}[1]{\fontspec{Emmentaler-11} 
\XeTeXglyph\XeTeXglyphindex#1 }

and then (for exmple)
\newcommand*{\flatflat}{\lilyGlyph{accidentals.flatflat}}


(That's just for the record. Might be somewhat OT, but I think the 
intended audience for this may well be LilyPond users...)


Best
Urs

Am 14.08.2012 22:12, schrieb Werner LEMBERG:

Thanks for this info (although I'd prefer not having to have it :-( )
Can you tell me how I can access a glyph by name from XeLaTeX /
fontspec then?

Looking into XeTeX-reference.pdf, this works for me (assuming that you
have emmentaler-20.otf installed where XeTeX can find it):

   The scripts.varsegno sign:
   \font\1 = Emmentaler-20
   \1
   \XeTeXglyph \the\XeTeXglyphindex scripts.varsegno

   \bye

BTW, this is XeTeX from TeXLive 2012.


   Werner

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



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


lilyglyphs LaTeX package

2012-08-15 Thread Urs Liska

Hi list,

this is somewhat OT, but only slightly, I think.
In need to insert music glyphs in continuous text (for writing a 
revision report) I successfully found out how to insert glyphs from 
LilyPond's Emmentaler font in (Xe)LaTeX documents and wrote a few first 
commands (thanks to Google and Werner Lemberg).


As this may well be useful for anybody writing about music with LaTeX, I 
decided to make a package out of it. The project is hosted at 
https://github.com/uliska/lilyglyphs.


The package is already useable, but there will be some syntax changes in 
the near future, so I'd rather not use it extensively (you can see the 
issues in the tracker to get an impression).


For now there are a few predefined commands for glyphs, and a generic 
command to access glyphs by their name, so anything should already be 
possible.


In the download section there is a pdf that documents how it works so 
far and also gives a good impression on what it looks like.
You may either clone into the repository or download the package archive 
from the download page. So far there aren't any useful installation 
instructions, but I think it should work. You can place a symlink to the 
.sty file and a symlink to the definitions/ directory in the directory 
of your .tex file, and it should work.


I will be away for two weeks but would be happy to find a few 
collaborators afterwards to join the project.
a) there are a few issues that I would prefer not to decide alone but 
rather discuss,

b) a few issues with LaTeX programming where I'd appreciate some help, and
c) the ultimate goal is to cover the whole glyph set, but this will only 
become reality with several contributors. I will happily work on glyphs 
that I use personally, but there are so many things I won't use ...


I hope this is on interest to anybody. Please feel free to forward this 
message to whom it may concern ...


Best
Urs

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


Re: lilyglyphs LaTeX package

2012-08-16 Thread Urs Liska

Hi Reinhold, Werner and Philippe,

thanks for your feedback. Here are a few ideas before I finally leave.
[I won't read this list (from tomorrow), so if you want to contact me in 
the next weeks, please write to g...@ursliska.de]


My package works with XeLaTeX because I decided to use this flavor. 
Actually the possibility to access OpenType fonts and features that way 
was the final point for my decision to seriously jump into LaTeX use.


As Philippe and Werner pointed out there are ways to use Emmentaler 
glyphs also in plain LaTeX, but I won't actively go after this.


What I propose, and what I think is quite possible, is:

 * There is the generic access command (\lilyGlyph ATM)
 * This command is then called by the predefined commands (such as e.g.
   \doublesharp) and can be called within a LaTeX document.
 * If we can manage to keep the interface to this generic command
   consistent I would be happy to include another 'backend'.
 * I think that the generic access command could become rather an
   'interface' command. Depending on an option that can be passed to
   the package, the interface command would then call the appropriate
   generic access command.
 * Maybe it's necessary to somehow create a lookup table to map the
   Type1 numbers to the OpenType glyphnames. I found this for example:
   
https://groups.google.com/forum/?fromgroups#!topic/comp.text.tex/MDzy2xNUC84[1-25]
   - which could be of help.
 * If that works, everything that comes at a higher level (i.e. the
   actual glyph commands) could be independent of the used LaTeX flavor.

This has a few consequences:

 * There will be the need for more discussion and design before my
   prospected first official '0.1' release - but I think it would be
   worth the time and effort.
 * I won't be able to add new glyphs before this design phase is
   finished (because I'm afraid of having to update all the commands
   due to changed syntax). This is principally OK with me, but could
   cause some headaches because I started all this for a current
   project - and I think this revision report will be quite long, and I
   need the glyphs for it ...
 * I probably won't / can't do anything about the 'plain LaTeX backend'
   - just because I don't know anything about it, and I can't afford
   the time developing something I won't ever use myself.
 * ATM the stuff of integrating two 'backends' through package options
   seems over my head (as I'm practically new to LaTeX). Maybe I will
   learn it on the way, but any assistance in this field would be
   appreciated.

Best for now
Urs

Am 15.08.2012 17:34, schrieb Urs Liska:

Hi list,

this is somewhat OT, but only slightly, I think.
In need to insert music glyphs in continuous text (for writing a 
revision report) I successfully found out how to insert glyphs from 
LilyPond's Emmentaler font in (Xe)LaTeX documents and wrote a few 
first commands (thanks to Google and Werner Lemberg).


As this may well be useful for anybody writing about music with LaTeX, 
I decided to make a package out of it. The project is hosted at 
https://github.com/uliska/lilyglyphs.


The package is already useable, but there will be some syntax changes 
in the near future, so I'd rather not use it extensively (you can see 
the issues in the tracker to get an impression).


For now there are a few predefined commands for glyphs, and a generic 
command to access glyphs by their name, so anything should already be 
possible.


In the download section there is a pdf that documents how it works so 
far and also gives a good impression on what it looks like.
You may either clone into the repository or download the package 
archive from the download page. So far there aren't any useful 
installation instructions, but I think it should work. You can place a 
symlink to the .sty file and a symlink to the definitions/ directory 
in the directory of your .tex file, and it should work.


I will be away for two weeks but would be happy to find a few 
collaborators afterwards to join the project.
a) there are a few issues that I would prefer not to decide alone but 
rather discuss,
b) a few issues with LaTeX programming where I'd appreciate some help, 
and
c) the ultimate goal is to cover the whole glyph set, but this will 
only become reality with several contributors. I will happily work on 
glyphs that I use personally, but there are so many things I won't use 
...


I hope this is on interest to anybody. Please feel free to forward 
this message to whom it may concern ...


Best
Urs

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


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


Re: Subject: Re: lilyglyphs LaTeX package

2012-08-16 Thread Urs Liska
The package doesn't have real installation instructions (or even an 
installation procedure) yet (something for 0.1, a first official release).


Fortunately xelatex-ubuntu is what I have, so I can tell you how you 
will make it work.


One issue is that there are included files in a subfolder. (I assume 
I'll have to do something about that for a 'real' packaged version.)


As a dirty quick 'installation' I recommend:

 * place lilyglyphs.sty and the complete definitions/ folder somewhere
   on your disk, e.g. in a directory ~/lilyglyphs.
 * place the Emmentaler OTF file from the OTF folder in ~/.fonts
   (Maybe you have to run fc-cache afterwards to update your
   fontconfig cache - but I don't know for sure, I can't do any harm
   anyway)
 * create symlinks to lilyglyphs.sty and the definitions/ folder _in
   the directory_ where your .tex file is located:
   ln -s ~/lilyglyphs/lilyglyphs.sty
   ln -s ~/lilyglyphs/definitions
   - This is going to pretend that the package is in the same dir as
   your .tex file.
   Alternatively you can (for testing the package) put your .tex file
   in the directory where lilyglyphs.sty is.

You may get  long lists of 'kpathsea' errors. This is what I had on some 
of my computers (not only with this package but also earlier with other 
OpenType fonts and fontspec). I finally found out that this happened 
when I had 'activated' the respective fonts with a font manager 
(FontMatrix). When all these references were away, fontspec worked fine.


Hope this helps (works)
Best
Urs


Am 16.08.2012 13:37, schrieb Stefan Thomas:

Dear Urs,
how can I install this package in my xelatex-system on ubuntu?


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


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


Re: Subject: Re: lilyglyphs LaTeX package

2012-08-16 Thread Urs Liska

Am 16.08.2012 13:57, schrieb Werner LEMBERG:

  * place lilyglyphs.sty and the complete definitions/ folder somewhere
on your disk, e.g. in a directory ~/lilyglyphs.
  * create symlinks to lilyglyphs.sty and the definitions/ folder _in
the directory_ where your .tex file is located:
ln -s ~/lilyglyphs/lilyglyphs.sty
ln -s ~/lilyglyphs/definitions
- This is going to pretend that the package is in the same dir as
your .tex file.
Alternatively you can (for testing the package) put your .tex file
in the directory where lilyglyphs.sty is.

Ouch.  Why not simply put it into your local TEXMF folder, usually
~/texmf?  Then you don't have to do any further links!  If it doesn't
exist yet, you should create it.  An appropiate subdirectory is

   ~/texmf/tex/xelatex/lilyglyphs/

Oops, didn't think this would work with the subfolder ...


 Werner

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



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


Re: Subject: Re: lilyglyphs LaTeX package

2012-08-16 Thread Urs Liska

Now I know that, thanks :-)

Just had to exclude this from the git repo that controls my texmf dir ;-)

Best
Urs

Am 16.08.2012 14:29, schrieb Werner LEMBERG:

~/texmf/tex/xelatex/lilyglyphs/

Oops, didn't think this would work with the subfolder ...

This gets searched recursively by default.


Werner

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



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


Re: setting Delia Derbyshire's abstract electronic scores

2012-08-16 Thread Urs Liska

Am 16.08.2012 19:31, schrieb martinwguy:

On 14 August 2012 21:06, Francisco Vila paconet@gmail.com wrote:

El 13/08/2012 21:55, martinwguy martinw...@gmail.com escribió:

Is Lilypond capable of helping with exotic stuff like this,
from Delia Dervyshire's notes for her, maybe lost, Radio Newsreel
signature tune
e.g. the bottom of
http://delia-derbyshire.net/papers/html/dd164139.html
the top left and bottom left corners of
http://delia-derbyshire.net/papers/html/dd164239.html
or most of
http://delia-derbyshire.net/papers/html/dd164209.html
?

I am curious to see what others respond. At first I ask you: where is the
music? LP is for music engraving. Looking at the 100 percent graphic score,
my question is the reverse: are the GIMP or Inkscape capable of music
engraving?

There are more conventional scores too, at least, they have 5 lines
and notes :), but she sometimes also paints sounds with shapes.

M

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

I wouldn't really judge without having seen more.
But in the end I think this kind of score would be better (easier) done 
with some kind of graphics software. I think I would only create some 
snippets with LilyPond that are musical notation in a more traditional 
sense - and then make images from it and use these as images ...


Best
Urs

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


  1   2   3   4   5   6   7   8   9   10   >