writing text on the staff & using numbers in music functions

2016-03-30 Thread Flaming Hakama by Elaine
\version "2.19.15"

%{

Thanks to everyone who suggested looking at LSR-753 for the "Jazz style"
multi-measure rest.
That is substantially what I want.


In attempts to add parenthesis in the staff around the number within the
staff, I ran into several problems.

I first tried adding parenthesis as text to the multi-measure rest, as
described in
http://www.lilypond.org/doc/v2.18/Documentation/snippets/text#text-multi_002dmeasure-rest-markup
since it claims to center text.  Which it does:

%}

#(define (white-under grob) (grob-interpret-markup grob
  (markup #:vcenter #:whiteout #:pad-x 1 (ly:grob-property grob 'text

setInlineMMRN = {
\set Score.skipBars = ##t
\override Score.MultiMeasureRest.expand-limit = 1
\override Score.MultiMeasureRest.minimum-length = #30
}

inlineMMRN = {
\once \override MultiMeasureRest.layer = #-2
\once \override MultiMeasureRestNumber.layer = #-1
\once \override MultiMeasureRestNumber.Y-offset = #0
\once \override MultiMeasureRestNumber.stencil = #white-under
}

timeParens = \markup { \huge "(" \magnify #1.4 " " \huge ")" }

{
\setInlineMMRN
\inlineMMRN R1*4^\markup { \timeParens }
}


%{

But I could not get it to move down onto the staff.  As described in
http://www.lilypond.org/doc/v2.19/Documentation/notation/formatting-text#text-alignment
"Vertical alignment is a bit more complex. As stated above, markup objects
can be moved as a whole;
however, it is also possible to move specific elements inside a markup
block."

It took me a while to realize this meant that the techniques using
raise, lower, translate, general-align and translate-scaled
will NOT affect the "markup object moved as a whole",
but rather affect the relative position of objects within the markup
object.

I also learned that these techniques, in addition to never placing text on
the staff,
will not place text to the left of the anchor point.

Perhaps this section should include a comment to the effect of:

"The commands raise, lower, translate, general-align and translate-scaled
used within a markup block are limited to printing text
outside the staff and to the right of the anchor point."
%}

{
%
%  An example of a failed attempt to translate text within a markup block
%

%  The translated object will not move to the left, even if it does not
collide with anything:
d'1^\markup {
Acte I
\translate #'(-30 . 4) "Scène 1"
}
1 1

%  It seems the translated object is positioned relative to the first text
object
%  and the entire markup is positioned above the staff.
%  Here, the lowered second object has the effect of pushing the first
object higher up.
1^\markup {
Acte I
\translate #'(0 . -4) "Scène 1"
}
1 1
d'1^\markup {
Acte I
\translate #'(0 . 4) "Scène 1"
}

%  The documentation for moving objects suggests using extra-offset.
%  http://lilypond.org/doc/v2.19/Documentation/learning/moving-objects
%  Likewise, this does not work on the multi-measure rest.

\setInlineMMRN
\inlineMMRN
\once \override TextScript #'extra-offset = #'(0 . -3.7)
R1*8^\timeParens
}


%  What did allow me to place text in the staff was attaching it to an
empty chord.

wideTimeParens = \markup { \magnify #11.5 " " \huge "(" \magnify #1.4 " "
\huge ")" }

inlineMMRN = {
\once \override MultiMeasureRest.layer = #-2
\once \override MultiMeasureRestNumber.layer = #-1
\once \override MultiMeasureRestNumber.Y-offset = #0
\once \override MultiMeasureRestNumber.stencil = #white-under
\once \override TextScript #'extra-offset = #'(0 . -3.7)
<>^\wideTimeParens
}

{
\setInlineMMRN
\inlineMMRN
R1*4
}


%  But then I lost the auto-centered-ness of attaching it to the
multi-measure rest.

{
\setInlineMMRN
\inlineMMRN
R1*44
\inlineMMRN
R1*8
\inlineMMRN
R1*12
}


%  So I can tweak these into submission.

inlineMMRN = {
\once \override MultiMeasureRest.layer = #-2
\once \override MultiMeasureRestNumber.layer = #-1
\once \override MultiMeasureRestNumber.Y-offset = #0
\once \override MultiMeasureRestNumber.stencil = #white-under
\once \override TextScript #'extra-offset = #'(0 . -3.7)
}

{
\setInlineMMRN
\inlineMMRN
<>^\markup { \magnify #10.4 " " \huge "(" \magnify #4 " " \huge ")" }
R1*44
\inlineMMRN
<>^\markup { \magnify #13.1 " " \huge "(" \magnify #1.9 " " \huge ")" }
R1*8
\inlineMMRN
<>^\markup { \magnify #12 " " \huge "(" \magnify #3.9 " " \huge ")" }
R1*12
}

%{

Finally, here is the real point of my post:

It would be nice to have a function that could take these arguments:
duration, number of measures, X-tweak, Y-tweak.

I've done music functions before music and text, but not with numbers.
My template for a music function that takes numbers comes from
http://lilypond.org/doc/v2.18/Documentation/notation/substitution-function-examples

padText = #(define-music-function
 (parser location padding)
 (number?)
   #{
 \once \override TextScript.padding = #padding
   #})

\relative c'' {
  c4^"piu mosso" b a b
  \padText #1.8
  c4^"piu mosso" b a b
  \padText #2.6
  c4^"piu mosso" b a b
}

So, here is my attempt.
Does anyone have any 

Re: How to get swing feel from dotted notation?

2016-03-30 Thread Colin Campbell

On 16-03-30 08:49 PM, Stephen MacNeil wrote:

Hi Colin

Sometime ago I came across a file on the net... not sure where. It was 
written by Johannes Rohrer I believe. Anyway all you do is


\include "../SwingMarks.ly"  % location of file
#(load "../swing.scm")   % location of file
and it will play the midi in swing

and example is on my site

http://www.mglessons.com/lilypond/

source for the example is

http://www.mglessons.com/lilypond/svg/Ex25.ly

you can also download the files there




You, sir, are a gentleman, a scholar, and an undoubted prince among men! 
My heartfelt thanks for what looks like it will solve my problem very 
neatly indeed, as well as adding to my toolkit.


Cheers,
Colin


--
I stay cool and dig all jive, That's the way I stay alive.
 My motto, as I live and learn, is "Dig and be dug in return."
 - Langston Hughes

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


How to get swing feel from dotted notation?

2016-03-30 Thread Stephen MacNeil
Hi Colin

Sometime ago I came across a file on the net... not sure where. It was
written by Johannes Rohrer I believe. Anyway all you do is

\include "../SwingMarks.ly"  % location of file
#(load "../swing.scm")   % location of file

and it will play the midi in swing

and example is on my site

http://www.mglessons.com/lilypond/

source for the example is

http://www.mglessons.com/lilypond/svg/Ex25.ly

you can also download the files there


HTH

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


Re: How to get swing feel from dotted notation?

2016-03-30 Thread Henry Law

On 31/03/16 01:48, Colin Campbell wrote:

into more of a triplet effect


If I, as a sometime jazz player, were trying to communicate the effect 
of "swing" then I'd say, summarising brutally and rather inaccurately, 
"It's written as 4/4 but played as 12/8."


In other words the player adds something that's not written down, which 
is going to make it rather hard for you to generate MIDI which, since 
it's generated from the written-down bits, is /ipso facto/ lacking the 
"feel" that the player adds.


Sounds to me as if you're going to have to play it on a keyboard and 
save the (quantized) note values as MIDI.


--

Henry LawManchester, England

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


How to get swing feel from dotted notation?

2016-03-30 Thread Colin Campbell
I'm transcribing a piece originally written with a lot of syncopation, 
using half-values ties across the beat, as well as what I think must be 
intended as a "swing" feel, notated with dotted rhythms. No problem 
reproducing the visual elements, but I also need to produce practice 
tracks for an amateur chorale, and the output in MIDI is very jerky. 
I've read /ly/articulate.ly but didn't see anything understandably 
useful. I think I need to turn the rhythms, both syncopated and dotted, 
into more of a triplet effect, in order to get the smooth swing I need. 
I've set up two \score blocks, to separate \layout and \midi, and 
\included "articulate.ly", but clearly, I need further suggestions.


A typical couple of bars look like this:
*
{
\time 4/4 \key e \major
  r2 r4 r8 b
  e8 b16 e~ e8 fs16 a~ a gs8. fs16 e
  d8 e16 cs~ cs2 r8 b
 }

***

Cheers,
Colin
--
Theatre is Life.
 Film is Art.
Television is Furniture.
-- :-( Xjahn, The TheatrElf :-)

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


Re: Multiple stanza lines under second section of music

2016-03-30 Thread David Wright
On Mon, 28 Mar 2016 18:53:13 +0100, Richard Shann wrote:
> On Mon, 2016-03-28 at 19:30 +0200, David Kastrup wrote:
> > Henry Law  writes:
> >
> > > 3. On 28/03/16 13:05, Christoph Friedrich wrote:
> > >> refrain-empty = \lyricmode {
> > >> " " " " " " " " " " " "
> > >>   }
> > >
> > > (Blush) no it isn't.  I'd used underscores, which seemed to work.
> > > Yes, I know not to do that now.
> >
> > Why?  I think that's what the underscores are actually for.
>
> There is a comment in the docs saying that underscores are for melisma
> and that \skip is good otherwise. This came up recently in the denemo
> list, I put in a command to take a selection of notes and create a \skip
> for the appropriate number of syllables, as the only thing I could
> suggest otherwise was melisma.

If underscores are used for skipping notes, there is one problem to
be aware of: the first underscore causes the previous syllable to be
treated as the start of a melisma, moving it from centre- to left-aligned.

Because I prefer _ to \skip1 on several counts †, I'm careful to
replace the first underscore (which is sufficient to break the melisma)
with something else. I used to write
 invisibledot = \lyricmode { \once \override LyricText.font-size = #-19 "." }
but I now use
 · = \markup \char ##x00A0
where that centred dot could be almost any convenient character.

† more typing; weird durations; putting extraneous letters and
digits amongst the lyrics, confusing the eye; the syntax highlighter
colouring them so they stand out even more.

Spaces, ie " ", are treated exactly like underscores, but are
error-prone and confuse the eye when several occur together.

Cheers,
David.
\version "2.18.2"
\header { tagline = ##f }
· = \markup \char ##x00A0

notes = { e'' d'' c'' b' a' g' f' e' e' f' g' a' b' c'' d'' e'' \bar "|." }
bad = \lyricmode { Here is one _ _ _ Here is
		   two " " " " " "  Is it right? × }
good = \lyricmode { Here is one \skip1 \skip1 \skip1 Here is
		two \· _ _ Is it right? √ }

\new Staff <<
  \new Voice { \notes }
  \addlyrics { \bad }
>>
\new Staff <<
  \new Voice { \notes }
  \addlyrics { \good }
>>


lyskp.pdf
Description: Adobe PDF document
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: naturalize pitches

2016-03-30 Thread Jaime Oliver
> Sometimes it preferable to change the source directly instead of using 
> function calls.

Could you explain when this is the case? 

This is only a transposing instrument situation so it should be doable. I used 
the \transpose function and \naturalize form the documentation which ended up 
working fine. 

The problems I had were caused by conflicts with the arrow microtones I was 
using. 

best,

J


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


Re: unfold: volta for typesetting, unfold for MIDI generation?

2016-03-30 Thread Henning Hraban Ramm
Am 2016-03-30 um 16:43 schrieb Johannes Waldmann :

> What is the recommended way to obtain the following behaviour
> from one and the same source code:
> repeats typeset as "\repeat volta N"
> (so the page is not filled with duplicates)
> but MIDI generated as with "\repeat unfold N"
> (so the duplicates are heard).

You need two different \score sections for MIDI and PDF output like here:
https://gist.github.com/fiee/8171f1228cd560788e88
and employ \unfoldRepeats for MIDI.


Greetlings, Hraban
---
fiëé visuëlle
Henning Hraban Ramm
http://www.fiee.net
http://angerweit.tikon.ch/lieder/
https://www.cacert.org (I'm an assurer)





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


Re: rhythm shift

2016-03-30 Thread Gianmaria Lari
Ciao Robert,

sorry if I reply so late.
What you propose to do is a bit too complicated for me and I'll use it as a
last resort. What I'm trying to do now is just to open the midi file with
musescore and add a note in the file to correctly shift the others.

Anyway, it would be great having some programming tools to manipulate
lilypond source code like what I was asking for.

Thank a lot for you help Robert!!!
Best regards, Gianmaria
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


unfold: volta for typesetting, unfold for MIDI generation?

2016-03-30 Thread Johannes Waldmann
Hi.

What is the recommended way to obtain the following behaviour
from one and the same source code:
repeats typeset as "\repeat volta N"
(so the page is not filled with duplicates)
but MIDI generated as with "\repeat unfold N"
(so the duplicates are heard).

Thanks, Johannes.

(in other words, "MIDI generation is broken for \repeat volta",
and in fact "the abstract syntax for \alternative is broken",
but these seem to be design decisions ...)

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


Re: How do we specify the midi instrument sine wave in Lilypond

2016-03-30 Thread m.tarensk...@zonnet.nl
Lilypond supports the 128 instruments that are specified by the General Midi version 1 ( GM1) standard. Sinewave is not included in that list. But use for example "flute" as instrument in your Lilypond source, and then let your soundsource replace the corresponding programchange number with a sinewave. P.S. I have always wanted to be able to select Midi Programs by number instead of by name in Lilypond. Not every soundsource (softsynth, soundfont, hardware synth) has sounds organized as GM standard instruments. Oorspronkelijk bericht Onderwerp: How do we specify the midi instrument sine wave in LilypondVan: Salil Kashyap Aan: lilypond-user@gnu.orgCc: Hello,Does anybody have an idea as to how can we specify the midi instrument--sine wave-- in Lilypond?Looking forward to hearing from someone.Sincerely,Salil___lilypond-user mailing listlilypond-user@gnu.orghttps://lists.gnu.org/mailman/listinfo/lilypond-user___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


How do we specify the midi instrument sine wave in Lilypond

2016-03-30 Thread Salil Kashyap
Hello,

Does anybody have an idea as to how can we specify the midi instrument--
sine wave-- in Lilypond?

Looking forward to hearing from someone.

Sincerely,
Salil


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