Re: Style questions

2017-03-28 Thread Dmytro O. Redchuk
2017-03-28 18:16 GMT+03:00 David Wright :
> because it doesn't handle whole-measure rests...or does it now?
No, it doesn't, indeed.

> I have come across this reference, which claims to handle them,
> but I have yet to try it out:
>
> https://github.com/wbsoft/lilymusic/blob/master/include/merge-rests.ily
Oh, thank you, I have to try it too :)

-- 
  Dmytro O. Redchuk

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


Re: Style questions

2017-03-28 Thread Dmytro O. Redchuk
2017-03-28 18:16 GMT+03:00 David Wright :
>> Having abovementioned LSR snippet: here in Ukraine quarter rests in
>> the first measure should be merged, but in the second one upper voice
>> hsould be notated as r4 r e g and two quarter rests should not be
>> merged.
>
> Am I looking at the same image? I'm struggling to find anything
> that could be r4 r4 e4 g4 within it.
No, I mentioned the snippet image in LSR:
http://lsr.di.unimi.it/LSR/Item?id=336 --- just to note that local
rules may differ.

-- 
  Dmytro O. Redchuk

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


Re: [ANN] LilyQuick 0.92beta

2017-03-28 Thread tisimst
Hi, Vaughan!

On Tue, Mar 28, 2017 at 6:36 PM, Vaughan McAlley [via Lilypond] <
ml-node+s1069038n201694...@n5.nabble.com> wrote:

> Greetings,
>
> I’m happy to announce LilyQuick 0.92beta. The main feature is
> (hopefully) simpler installation with (hopefully) clearer
> documentation. As well, LilyQuick can now automatically quit Qsynth
> when it quits. Enjoy!
>

Congrats! This is exciting! I would love to see a short video of this in
use to have a better grasp for the time savings over manual entry. Any
chance you can be convinced to put something together and post it on
YouTube?

Best,
Abraham




--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Re-ANN-LilyQuick-0-92beta-tp201695.html
Sent from the User mailing list archive at Nabble.com.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


[ANN] LilyQuick 0.92beta

2017-03-28 Thread Vaughan McAlley
Greetings,

I’m happy to announce LilyQuick 0.92beta. The main feature is
(hopefully) simpler installation with (hopefully) clearer
documentation. As well, LilyQuick can now automatically quit Qsynth
when it quits. Enjoy!

https://github.com/palestrina/lily-q

Vaughan

Here is the README file:
LILYQUICK

Welcome to LilyQuick, originally written as a replacement for Speedy
Note Entry when I moved from Finale to Lilypond, and then much
improved. The basic idea is to play notes on a MIDI keyboard with your
left hand, then while they are sounding, press a note on the numeric
keypad with your right hand corresponding to the duration. For
example, to get "f2", play an F on the keyboard, and press number 5 on
the numeric keypad. The advantage to this approach is excellent speed
and accuracy, and you get to hear the notes as they are being entered.

The default key layout is as follows: numeric keypad keys 0-6 produce
notes in conjunction with the MIDI keyboard.
6 - semibreve/whole
5 - minim/half
4 - crochet/quarter
1 - quaver/eighth
2 - semiquaver/sixteenth
3 - demisemiquaver/thirty-second
0 - last note value (useful with repeated dotted notes)

If useLongValues is set to true in LQconfig.lua, the 3 key changes to
\breve. This can be useful when entering early music.

7 adds whole bar rests such as R1* , then changes to data entry mode,
where the numeric keypad behaves as normal. Pressing enter leaves data
entry mode. The type of rest is from the variable fullRest in
LQconfig.lua. So to enter 15 bars of rest, you would type 7, 1, 5,
enter on the numeric keypad.

8 is for entering tuplets. The 8 key enters \tuplet, then enters data
entry mode for the numbers. The enter key leaves data entry mode and
adds the curly bracket " { ", ready for note entry. So for quintuplets
you would press 8, 5, /, 4, enter; which would type " \tuplet 5/4 {"

If you only ever use triplets, you may want to make tuplets into a
simple string such as:
  ["8"] = " \\tuplet 3/2 {",
(in LQkeyboardEvents.lua)

9 just adds a right curly bracket " }"

+ alternates between entering left and right slurs: " (" and " )"

= or / adds a tie "~"

. adds a dot to the rhythm

* changes the previous note enharmonically, for example cis to des.
Press again to cycle between possibilities.

The Enter key either exits data entry mode, or adds a bar check and
newline: " |\n"

F8/F15 exits LilyQuick. Because I don’t know anything about signals,
you need to press a key on your MIDI keyboard to exit properly.

F9/F16 changes the key sharpwards. LilyQuick will play a G to signify
one sharp, up to a C# to signify seven sharps. If you want sharps and
you’re getting flats, try changing the key.

F10/F17 changes the key flatwards

In C major, LilyQuick will type a chromatic scale as follows: c cis d
es e f fis g gis a bes b.

F11/F18 and F12/F19 (and any other numeric key) can be customized at
your pleasure.

IMPLEMENTATION
LilyQuick intercepts keystrokes from the computer keyboard. If they’re
not from the numeric keypad, they are sent straight on to the system.
If they are, they are sent to the Lua program, which can create vitual
keystrokes. At the moment it can send any character that can be typed
on the regular part of the computer keyboard using the shift key. This
includes all characters I regularly use for inputting Lilypond code. I
don’t know enough about non-English keyboard layouts, and whether
people would want to enter non-ASCII characters when entering notes in
Lilypond. It shouldn’t be too hard to add this feature if the need
arises.

What LilyQuick does with incoming keystrokes is defined in LQkeyboardEvents.lua

Intercepting computer keyboard keystrokes requires superuser privileges (sudo).

CUSTOMIZATION
LQconfig.lua contains a number of options you may wish to change, such
as absolute/relative note entry, MIDI output channel etc. See the
INSTALL file for more information on deviceName and MIDIKeyboardName.
The file LQkeyboardEvents.lua determines how incoming computer
keyboard keystrokes are handled, and is completely customizable. To
type a simple string, just include it (like the entry for "9").
Otherwise the entry should be a table containing a function, and the
parameter to send to it. To send multiple parameters, put them in a
table (like the function Alternate).

TODO
- Allow make install to put the executable into some /bin directory.
Not sure how to tell it where the Lua scripts are yet.
- Easier time signature changing, either through the command line or
the numeric keypad.
- Tracking note values entered to allow automatic bar checks/new lines.
- Allow entry of higher UTF-8 characters and different keyboard layouts.

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


Re:

2017-03-28 Thread Rob Torop
Point taken. I actually had read it a while back, which is how I came to
know about bar checks, but missed that part.  I'll reread it...

On Mar 27, 2017 3:28 AM, "Phil Holmes"  wrote:

> Others have pointed out the problem to you, but you would have found it
> yourself by reading the Learning Manual:
>
> http://lilypond.org/doc/v2.19/Documentation/learning/some-common-errors
> http://lilypond.org/doc/v2.19/Documentation/usage/common-
> errors#an-extra-staff-appears
>
> --
> Phil Holmes
>
>
>
> - Original Message -
> *From:* Rob Torop 
> *To:* lilypond-user@gnu.org
> *Sent:* Sunday, March 26, 2017 9:49 PM
>
> I'm finding that when I use a TabStaff and also set some properties
> (either or both of minimumFret and restrainOpenStrings), my first line has
> an extra TabStaff!  What can I do to get rid of it? Thanks!
>
> Here's what it looks like:
>
> [image: Screen Shot 2017-03-26 at 4.46.59 PM.png]
>
> And here's the code that generated this:
>
> \version "2.19"
> \language "english"
>
> solo = \relative c' {
>
> % Either of both of the two settings will cause an extra "TAB" staff
> to be rendered
>  \set TabStaff.minimumFret=#1
>  \set TabStaff.restrainOpenStrings = ##t
>
>  c8   f e ef df c bf af
> }
>
> \score {
>   <<
>  \new Staff\solo
>  \new TabStaff  \solo
>>>
> }
>
>
> --
>
> ___
> 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: \RemoveEmptyStaves don't work as I would to

2017-03-28 Thread Son_V
Instead that has worked. Thanks (my fault).



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/RemoveEmptyStaves-don-t-work-as-I-would-to-tp201683p201691.html
Sent from the User mailing list archive at Nabble.com.

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


Re: \RemoveEmptyStaves don't work as I would to

2017-03-28 Thread Kieren MacMillan
Hi,

> Thanks for the lesson (maybe I'll be able to understand it), but still it 
> doesn't work…

Below is your original snippet, with the suggested fix.
It doesn’t work for you as you expect? (It certainly does for me.)

Kieren.

\version "2.19.26"
\layout {
 \context {
   \Score
   skipBars = ##t
 }
 \context {
   \Staff
   \RemoveAllEmptyStaves
 }
}
PartPOneVoiceOne =  \relative g' {
 \clef "treble" \key c \major \numericTimeSignature\time 4/4 g1 | % 2
 g1 \break | % 3
 R1*2 \bar "|."
}

PartPTwoVoiceOne =  \relative b' {
 \clef "treble" \key c \major \numericTimeSignature\time 4/4 R1*2
 \break | % 3
 b1 | % 4
 b1 \bar "|.”
}

% The score definition
\score {
 <<
   \new Staff <<
 \set Staff.instrumentName = "Voce"
 \set Staff.shortInstrumentName = "Vo."
 \context Staff <<
   \context Voice = "PartPOneVoiceOne" { \PartPOneVoiceOne }
>>
>>

   \new Staff <<
 \set Staff.instrumentName = "Soprano"
 \set Staff.shortInstrumentName = "S."
 \context Staff <<
   \context Voice = "PartPTwoVoiceOne" { \PartPTwoVoiceOne }
>> >> >>
 }



Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


Re: \RemoveEmptyStaves don't work as I would to

2017-03-28 Thread Son_V
Thanks for the lesson (maybe I'll be able to understand it), but still it
doesn't work...



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/RemoveEmptyStaves-don-t-work-as-I-would-to-tp201683p201689.html
Sent from the User mailing list archive at Nabble.com.

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


Re: \RemoveEmptyStaves don't work as I would to

2017-03-28 Thread Son_V
I've installed the latest version, but no changes :-(



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/RemoveEmptyStaves-don-t-work-as-I-would-to-tp201683p201687.html
Sent from the User mailing list archive at Nabble.com.

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


Re: \RemoveEmptyStaves don't work as I would to

2017-03-28 Thread Thomas Morley
Hi Son,

about minimal examples, see my comments below. ;)


2017-03-28 21:48 GMT+02:00 Son_V :
> neither \\RemoveAllEmptyStaves ..
>
> This is my try for a Minimum example, sorry if I failed to make it smaller:
>
> \version "2.19.26"
> \layout {
>   \context {
> \Score

no need for skipBars

> skipBars = ##t
> %\RemoveEmptyStaves
>   }
> }
> PartPOneVoiceOne =  \relative g' {

no need for
clef "treble" \key c \major \numericTimeSignature\time 4/4
it's mostly the default, or suoerfluous for a minimal
Also too many notes/rests.

>   \clef "treble" \key c \major \numericTimeSignature\time 4/4 g1 | % 2
>   g1 \break | % 3
>   R1*2 \bar "|."
> }
>
> PartPTwoVoiceOne =  \relative b' {

same here

>   \clef "treble" \key c \major \numericTimeSignature\time 4/4 R1*2
>   \break | % 3
>   b1 | % 4
>   b1 \bar "|."
> }
>
>

For a minimal no complete score-definition, (unless the problem would
be in there)

> % The score definition
> \score {
>   <<
> \new Staff <<
>   \set Staff.instrumentName = "Voce"
>   \set Staff.shortInstrumentName = "Vo."
>   \context Staff <<
> \context Voice = "PartPOneVoiceOne" { \PartPOneVoiceOne }
>   >>
> >>
> \new Staff <<
>   \set Staff.instrumentName = "Soprano"
>   \set Staff.shortInstrumentName = "S."
>   \context Staff <<
> \context Voice = "PartPTwoVoiceOne" { \PartPTwoVoiceOne }
>   >>
> >>
>   >>
>   }

Remaining minimal with solution,

\layout {
  \context {
\Staff
\RemoveEmptyStaves
  }
}

<<
  \new Staff { g'1 \break R1 }
  \new Staff { R1 \break b'1 }
>>

RemoveEmptyStaves needs to be applied in a Staff-context, examples in the NR

Cheers,
  Harm

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


Re: \RemoveEmptyStaves don't work as I would to

2017-03-28 Thread David Kastrup
Son_V  writes:

> neither \\RemoveAllEmptyStaves ..
>
> This is my try for a Minimum example, sorry if I failed to make it smaller:
>
> \version "2.19.26"
> \layout {
>   \context {
> \Score
> skipBars = ##t
> %\RemoveEmptyStaves
>   }
> }

\RemoveEmptyStaves and \RemoveAllEmptyStaves apply to the context
containing them.

Removing the Score context could be ... interesting.

You probably want to use this invocation on Staff instead of Score.

-- 
David Kastrup

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


Re: \RemoveEmptyStaves don't work as I would to

2017-03-28 Thread Kieren MacMillan
Hi,

> neither \\RemoveAllEmptyStaves ..

In 2.19.56, that (with a single \ of course) works as expected for me.
Maybe upgrade?

Hope this helps,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


\RemoveEmptyStaves don't work as I would to

2017-03-28 Thread Son_V
neither \\RemoveAllEmptyStaves ..

This is my try for a Minimum example, sorry if I failed to make it smaller:

\version "2.19.26"
\layout {
  \context {
\Score
skipBars = ##t
%\RemoveEmptyStaves
  }
}
PartPOneVoiceOne =  \relative g' {
  \clef "treble" \key c \major \numericTimeSignature\time 4/4 g1 | % 2
  g1 \break | % 3
  R1*2 \bar "|."
}

PartPTwoVoiceOne =  \relative b' {
  \clef "treble" \key c \major \numericTimeSignature\time 4/4 R1*2
  \break | % 3
  b1 | % 4
  b1 \bar "|."
}


% The score definition
\score {
  <<
\new Staff <<
  \set Staff.instrumentName = "Voce"
  \set Staff.shortInstrumentName = "Vo."
  \context Staff <<
\context Voice = "PartPOneVoiceOne" { \PartPOneVoiceOne }
  >>
>>
\new Staff <<
  \set Staff.instrumentName = "Soprano"
  \set Staff.shortInstrumentName = "S."
  \context Staff <<
\context Voice = "PartPTwoVoiceOne" { \PartPTwoVoiceOne }
  >>
>>
  >>
  }

If you uncomment \RemoveEmptyStaves, the "solo" disappears but remains the
void Soprano voice.

I would have seen the void Soprano voice to disappear.

Even using \RemoveAllEmptyStaves won't work, on the contrary it gives a
cahotic result.

What should I do? Thanks.



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/RemoveEmptyStaves-don-t-work-as-I-would-to-tp201683.html
Sent from the User mailing list archive at Nabble.com.

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


Re: Rootless slash chords, 2017 edition

2017-03-28 Thread Thomas Morley
2017-03-28 0:39 GMT+02:00 Dmitry :
> Hi,
>
> There's been a long standing feature request:
>
> https://sourceforge.net/p/testlilyissues/issues/3909/
>
> #3909 a feature to disable the chord root name printing - just print
> the slash and inversion
>
> Over the years, it has been addressed more or less. Time to give it
> another try?
>
> In a few words, we need a mechanism to suppress printing repeated root
> chord name over a progression of slash chords. That means, we'd like to
> see this:
>
> F#min9 /F /E /D#
>
> instead of this:
>
> F#min9 F#min9/F F#min9/E F#min9/D#
>
> The latter is much less readable, occupies more space and bloats the
> score.
>
> To say this feature is demanded in jazz means say nothing! I've
> recently started working on a bunch of jazz scores, and the very first
> piece features three (!) different progressions with changing bass
> notes, like the above. OK, there is a well-known hack that uses
> \whiteout: http://lsr.di.unimi.it/LSR/Item?id=776
>
> Unfortunately, for the real-life scores it is simply a no-go. It
> requires a chord exception for each and every rootless slash chord, it
> messes up MIDI output (as slash chords are not recognized in chord
> exceptions), not to mention that it produces unclean output.
>
> There is another workaround from 2011: http://www.mail-archive.com/lily
> pond-user%40gnu.org/msg67087.html
> Needless to say, it doesn't work in 2017 :) but I've managed to fix it.
> Here we go,
>
> #(define (rootless-chord-names in-pitches bass inversion context)
>(ignatzek-chord-names `(,(ly:make-pitch 0 0 0) ,(ly:make-pitch 0 0
> 0)) bass inversion context))
>
> #(define (empty-namer pitch lower?) (make-simple-markup ""))
>
> retainChordNoteNamer =
> \applyContext
>   #(lambda (context)
>  (let ((rn (ly:context-property context 'chordRootNamer)))
>(ly:context-set-property! context 'chordNoteNamer rn)))
>
> rootless = {
>   \retainChordNoteNamer
>   \once \set chordNameFunction = #rootless-chord-names
>   \once \set chordRootNamer = #empty-namer
> }
>
> After that, one can use \rootless as follows:
>
> fis2:m7.9 \rootless fis4:m7.9/f \rootless fis4:m7.9/e \rootless
> fis1:m7.9/dis
>
> This produces perfect output, but the code is ugly as hell. What I'm
> doing here is basically the following:
> - kill off chordRootNamer, but retain chordNoteNamer;
> - after that, the root note note wouldn't be printed, but the suffix
> (like m9, etc.) would be. To suppress it, we supply a
> proxy chordNameFunction that would guarantee a suffix-less chord.
>
> It should be easy to convert this one-shot semantics to something like
> \rootlessOn and \rootlessOff. In fact, it would be nice if mainstream
> Lilypond had something similar to "\set chordChanges = ..." but for
> slash chords; but of course nobody would like to see ugly hacks like
> the above in the mainstream :)
>
> Off the top of my head, I could propose the following solution:
>
> - inside Scheme code for chord name functions ({ignatzek,banter,jazz}-
> chord-names), allow for NIL "pitches" argument. That should mean
> "produce output for bass note only, omitting everything before the
> slash";
> - in Chord_name_engraver::process_music, track repeating root parts of
> slash chords and pass NIL pitches to a chordNameFunction in case of
> repetition. Everything should be similar to handling chordChanges,
> however this time we should remember and compare whole chord
> structures, not markup.
>
> What do you think?
>
> Cheers,
> Dmitry



Hi Dmitry,

below my approch.
I'm afraid you'll not have problems to break it...
Comments inline.

\version "2.19.57"

%% Tries to compare the relevant parts of the markups for current and previous
%% chord.
%%
%% Probably it would be far easier to compare actual pitches in the
%% chordNameFunction as delivered there, but 'lastChord' returns only a markup
%% not pitches.
#(define (test-engraver ctx)
  (let ((prev '()))
(make-engraver
  (acknowledgers
((chord-name-interface engraver grob source-engraver)
   ;; As of the 'ignatzek-chord-names'-procedure:
   ;; 'current' will always be a list, as well as '(last current)'
   ;; So it seems safe to apply list-modifying procedures to them.
   ;; Ofcourse this may change, when 'ignatzek-chord-names' is changed
   ;; or a different chordNameFunction is used.
   (let* ((current (ly:grob-property grob 'text))
  (current-string-lists
(split-list-by-separator
  (filter
(lambda (arg)
  (and (string? arg) (not (string-null? arg
(flatten-list current))
  (lambda (x) (string=? x "/"
  (prev-string-lists
(split-list-by-separator
  (filter
(lambda (arg)
  (and (string? arg) (not (string-null? arg
   

Re: Style questions

2017-03-28 Thread Simon Albrecht

Am 28.03.2017 um 11:09 schrieb Menu Jacques:
- should there be only one set of quarter rests under (CT.) in the 
lower staff, and if so, how can that be done (i.e. to « mask » a rest 
in a voice if there’s already one at the same point in another voice 
in the same staff)? Finale does so;


- would it be better to swap voices for the f and a quarter notes in 
the last measure (Finale does so too). I’m no keyboard player 
unfortunately, and I guess that players don’t take voices numbers into 
account as we do when using Lilypond or other scoring software.


Is this supposed to be a keyboard arrangement? Then make it a real 
keyboard arrangement, w.r.t clefs and simplifying polyphony 
If it’s not – this is no keyboard music (there was (almost) no real 
keyboard music at Binchois’ time). Music from that time should _never_ 
have two vocal parts sharing one staff. Also, definitely don’t eliminate 
any voice-crossings if you don’t intend to make an arrangement.


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


Re: Style questions

2017-03-28 Thread David Wright
On Tue 28 Mar 2017 at 12:16:41 (+0300), Dmytro O. Redchuk wrote:
> Regarding the first question: Lilypond can merge rests "automagically"
> --- http://lsr.di.unimi.it/LSR/Item?id=336 --- but it may depend on
> local rules.

I've used this snippet for a while now, together with
mmrest = { \once \override MultiMeasureRest.staff-position = #2 }
%% and is used thus: \mmrest R1 \mmrest R2.

because it doesn't handle whole-measure rests...or does it now?
I have come across this reference, which claims to handle them,
but I have yet to try it out:

https://github.com/wbsoft/lilymusic/blob/master/include/merge-rests.ily

> Having abovementioned LSR snippet: here in Ukraine quarter rests in
> the first measure should be merged, but in the second one upper voice
> hsould be notated as r4 r e g and two quarter rests should not be
> merged.

Am I looking at the same image? I'm struggling to find anything
that could be r4 r4 e4 g4 within it.

The zeroth¹ measure is the intonation, right? There shouldn't be a rest;
in fact, there shouldn't be two staves at that point, should there.

In my image, measure 1 stave 2 of the piece is where you want the
four quarter-rests merged into two. That would be conventional.

> 2017-03-28 12:09 GMT+03:00 Menu Jacques :
> > Hello folks,
> >
> > Two questions about the display style for Recordare's Binchois20.xml file:
> >
> > - should there be only one set of quarter rests under (CT.) in the lower
> > staff, and if so, how can that be done (i.e. to « mask » a rest in a voice
> > if there’s already one at the same point in another voice in the same
> > staff)? Finale does so;
> >
> > - would it be better to swap voices for the f and a quarter notes in the
> > last measure (Finale does so too). I’m no keyboard player unfortunately, and
> > I guess that players don’t take voices numbers into account as we do when
> > using Lilypond or other scoring software.

Do you mean you're thinking of writing the first quarter-notes in
measure 2 stave 2 with the stem up on C and down on A? I can see
no reason at all to change what's in the image. The parts cross,
that's all.

¹ counting measures in the image from zero,
  so the polyphony starts at one.

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


Re: Style questions

2017-03-28 Thread Menu Jacques
Hello Dmytro,

Thanks, that will help me a lot too!

JM

> Le 28 mars 2017 à 16:03, Dmytro O. Redchuk  a écrit :
> 
> 2017-03-28 16:50 GMT+03:00 Guy Stalnaker :
>> Oh, my! This is brilliant! I write mostly choral music and this will be
>> invaluable! Much thanks.
> Well, when you need two rests to remain separated, you can put in
> either voice before that rest:
> 
> \once \override Staff.RestCollision.positioning-done = ##t
> 
>> 
>> Guy
>> 
>> Guy Stalnaker
>> jimmyg...@gmail.com
> 
> -- 
>  Dmytro O. Redchuk
> 
> ___
> 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: Style questions

2017-03-28 Thread Dmytro O. Redchuk
2017-03-28 16:50 GMT+03:00 Guy Stalnaker :
> Oh, my! This is brilliant! I write mostly choral music and this will be
> invaluable! Much thanks.
Well, when you need two rests to remain separated, you can put in
either voice before that rest:

\once \override Staff.RestCollision.positioning-done = ##t

>
> Guy
>
> Guy Stalnaker
> jimmyg...@gmail.com

-- 
  Dmytro O. Redchuk

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


Re: Style questions

2017-03-28 Thread Guy Stalnaker
Oh, my! This is brilliant! I write mostly choral music and this will be
invaluable! Much thanks.

Guy

Guy Stalnaker
jimmyg...@gmail.com

On Tue, Mar 28, 2017 at 4:16 AM, Dmytro O. Redchuk 
wrote:

> Regarding the first question: Lilypond can merge rests "automagically"
> --- http://lsr.di.unimi.it/LSR/Item?id=336 --- but it may depend on
> local rules.
>
> Having abovementioned LSR snippet: here in Ukraine quarter rests in
> the first measure should be merged, but in the second one upper voice
> hsould be notated as r4 r e g and two quarter rests should not be
> merged.
>
> 2017-03-28 12:09 GMT+03:00 Menu Jacques :
> > Hello folks,
> >
> > Two questions about the display style for Recordare's Binchois20.xml
> file:
> >
> > - should there be only one set of quarter rests under (CT.) in the lower
> > staff, and if so, how can that be done (i.e. to « mask » a rest in a
> voice
> > if there’s already one at the same point in another voice in the same
> > staff)? Finale does so;
> >
> > - would it be better to swap voices for the f and a quarter notes in the
> > last measure (Finale does so too). I’m no keyboard player unfortunately,
> and
> > I guess that players don’t take voices numbers into account as we do when
> > using Lilypond or other scoring software.
> >
> > Thanks for your help!
> >
> > JM
> >
> >
> > ___
> > lilypond-user mailing list
> > lilypond-user@gnu.org
> > https://lists.gnu.org/mailman/listinfo/lilypond-user
> >
>
>
>
> --
>   Dmytro O. Redchuk
>
> ___
> 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: Detecting polyphony from stencil-override

2017-03-28 Thread David Kastrup
Urs Liska  writes:

> Am 28.03.2017 um 14:56 schrieb David Kastrup:
>
>> You may try looking at the grob-property-data of 'direction which
>> will be a direction when there is a direction override in progress
>> (pointing to a multi-voice situation) and usually some sort of
>> callback for the decision-making when it isn't.  Except that the
>> callback might already have been called and replaced with a
>> direction.  So it's a bit shaky.
>
> Hm, I'll have to try figuring out what that means.
> Can that discern between a manual (local) override or a polyphony
> \voiceXXX assignment?

No, and to me it very much seems like you are wanting to be too clever.
It looks like you are planning to create behavior that tries
distinguishing cases non intended to be different.  That's a recipe for
things becoming unpredictable to the user and other programmers.

> Another option that would help me if it were possible to override some
> custom property whenever a polyphonc section starts or stops (but it
> has to be the implicit \\ construct, as that is what comes in from a
> format converter).

There are other cases of polyphony.  You can override the treatment of
the \\ construct (it's expanded in some music hook) but I doubt that it
is a good idea to go against expectations.

> The thing is, I can always read the 'direction from ly:grob-property,
> but that doesn't tell me anything about its cause.

And making that case different is not likely a good idea.

> The actual problem is: I want to overrule LilyPond's direction
> handling and place ties always opposite of the stem direction - but
> only in monophonic, i.e. \oneVoice situations. In polyphonic sections
> they have to point "outside", just as usual.

So where is the problem?  Override your tie direction callback to do
just that.  In polyphonic sections, the direction will be overriden
anyway.

-- 
David Kastrup

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


Re: Detecting polyphony from stencil-override

2017-03-28 Thread Urs Liska


Am 28.03.2017 um 14:56 schrieb David Kastrup:
> Urs Liska  writes:
>
>> Hi all,
>>
>> (how) is it possible to determine (from within a stencil override
>> callback) if at any given point there is more than one active voice?
>> I've asked a similar question before but probably from the wrong
>> perspective.
>>
>> I'm overriding a stencil have to make a decision depending on the
>> situation of being in a single voice or a << { } \\ { } >> polyphony
>> construct.
>>
>> Any pointers? I assume this has something to do with contexts but I'm
>> not really there yet.
> Bad idea.  At the time a stencil callback is being called, contexts are
> long gone.  

OK.

> What context information you want should be left in the
> grob.  You can still look at the 'direction of the event-cause of the
> grob and that's a reliable measure for figuring out explicit directions
> (like ^( or _) ) in the source.  

I'm trying to get http://lsr.di.unimi.it/LSR/Snippet?id=889 to work,
which I found after this suggestion.
This will *not* detect directions that stem from \voiceOne (or their
implicit friends through the \\ polyphony construct, isn't it?

> You may try looking at the
> grob-property-data of 'direction which will be a direction when there is
> a direction override in progress (pointing to a multi-voice situation)
> and usually some sort of callback for the decision-making when it isn't.
> Except that the callback might already have been called and replaced
> with a direction.  So it's a bit shaky.

Hm, I'll have to try figuring out what that means.
Can that discern between a manual (local) override or a polyphony
\voiceXXX assignment?

Another option that would help me if it were possible to override some
custom property whenever a polyphonc section starts or stops (but it has
to be the implicit \\ construct, as that is what comes in from a format
converter).

The thing is, I can always read the 'direction from ly:grob-property,
but that doesn't tell me anything about its cause.
The actual problem is: I want to overrule LilyPond's direction handling
and place ties always opposite of the stem direction - but only in
monophonic, i.e. \oneVoice situations. In polyphonic sections they have
to point "outside", just as usual.

Urs

-- 
u...@openlilylib.org
https://openlilylib.org
http://lilypondblog.org


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


Re: Detecting polyphony from stencil-override

2017-03-28 Thread David Kastrup
Urs Liska  writes:

> Hi all,
>
> (how) is it possible to determine (from within a stencil override
> callback) if at any given point there is more than one active voice?
> I've asked a similar question before but probably from the wrong
> perspective.
>
> I'm overriding a stencil have to make a decision depending on the
> situation of being in a single voice or a << { } \\ { } >> polyphony
> construct.
>
> Any pointers? I assume this has something to do with contexts but I'm
> not really there yet.

Bad idea.  At the time a stencil callback is being called, contexts are
long gone.  What context information you want should be left in the
grob.  You can still look at the 'direction of the event-cause of the
grob and that's a reliable measure for figuring out explicit directions
(like ^( or _) ) in the source.  You may try looking at the
grob-property-data of 'direction which will be a direction when there is
a direction override in progress (pointing to a multi-voice situation)
and usually some sort of callback for the decision-making when it isn't.
Except that the callback might already have been called and replaced
with a direction.  So it's a bit shaky.

-- 
David Kastrup

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


Detecting polyphony from stencil-override

2017-03-28 Thread Urs Liska
Hi all,

(how) is it possible to determine (from within a stencil override
callback) if at any given point there is more than one active voice?
I've asked a similar question before but probably from the wrong
perspective.

I'm overriding a stencil have to make a decision depending on the
situation of being in a single voice or a << { } \\ { } >> polyphony
construct.

Any pointers? I assume this has something to do with contexts but I'm
not really there yet.

Best
Urs


-- 
u...@openlilylib.org
https://openlilylib.org
http://lilypondblog.org


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


Re: Style questions

2017-03-28 Thread Dmytro O. Redchuk
Regarding the first question: Lilypond can merge rests "automagically"
--- http://lsr.di.unimi.it/LSR/Item?id=336 --- but it may depend on
local rules.

Having abovementioned LSR snippet: here in Ukraine quarter rests in
the first measure should be merged, but in the second one upper voice
hsould be notated as r4 r e g and two quarter rests should not be
merged.

2017-03-28 12:09 GMT+03:00 Menu Jacques :
> Hello folks,
>
> Two questions about the display style for Recordare's Binchois20.xml file:
>
> - should there be only one set of quarter rests under (CT.) in the lower
> staff, and if so, how can that be done (i.e. to « mask » a rest in a voice
> if there’s already one at the same point in another voice in the same
> staff)? Finale does so;
>
> - would it be better to swap voices for the f and a quarter notes in the
> last measure (Finale does so too). I’m no keyboard player unfortunately, and
> I guess that players don’t take voices numbers into account as we do when
> using Lilypond or other scoring software.
>
> Thanks for your help!
>
> JM
>
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>



-- 
  Dmytro O. Redchuk

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


Style questions

2017-03-28 Thread Menu Jacques
Hello folks,

Two questions about the display style for Recordare's Binchois20.xml file:

- should there be only one set of quarter rests under (CT.) in the 
lower staff, and if so, how can that be done (i.e. to « mask » a rest in a 
voice if there’s already one at the same point in another voice in the same 
staff)? Finale does so;

- would it be better to swap voices for the f and a quarter notes in 
the last measure (Finale does so too). I’m no keyboard player unfortunately, 
and I guess that players don’t take voices numbers into account as we do when 
using Lilypond or other scoring software.

Thanks for your help!

JM

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


Access a script attached to a note head

2017-03-28 Thread Urs Liska
Hi all,

I don't find a way to determine if a given note head has a script
attached to it. Neither the grob-object nor the parent note column seem
to have this information. Is it necessary to go back to the music that
caused the notehead to get to attached scripts?

Thanks
Urs

-- 
u...@openlilylib.org
https://openlilylib.org
http://lilypondblog.org


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