Re: Improved Schenker diagram

2019-09-16 Thread Christopher Heckman
On Mon, Sep 16, 2019 at 9:39 AM  wrote:
>
> Hi Werner,
>
> > I've invested some time to revise the Schenker diagram, which
> > deteriorated over time.
>
> Thanks for doing that!
>
> Related: For the last couple of years, I’ve been [slowly] putting together a 
> SchenkerLily framework, which makes so much of this a lot easier to code. I’m 
> hoping to release it to OpenLilyLib soon.
>
> Best,
> Kieren.

A few months ago, I also worked on setting up some notation to
describe Schenker diagrams, and did some coding as well. I don't have
it with me -- I'm at work right now -- but later I'll post what I came
up with.

--- Christopher Heckman

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


Re: Improved Schenker diagram

2019-09-16 Thread Werner LEMBERG

> I can't comment on it because I don't know much about Schenker
> graphs.  But I could right away use it ;-)
> https://github.com/frescobaldi/frescobaldi/pull/1173#issuecomment-531884243
> (actually this was something I had been hoping for).

:-)


Werner

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


Re: Improved Schenker diagram

2019-09-16 Thread Urs Liska
Hi Werner,

thank you for that!

I can't comment on it because I don't know much about Schenker graphs. But I 
could right away use it ;-)
https://github.com/frescobaldi/frescobaldi/pull/1173#issuecomment-531884243 
(actually this was something I had been hoping for).

Best
Urs

16. September 2019 14:55, "Werner LEMBERG"  schrieb:

> I've invested some time to revise the Schenker diagram, which
> deteriorated over time.
> 
> Here is the original version
> 
> https://www.linuxjournal.com/article/8364
> 
> Here is what we currently have (not the bad spacing and bad vertical
> alignment).
> 
> http://lilypond.org/doc/v2.19/Documentation/ly-examples/bach-schenker.png
> 
> And attached you can find my new version.
> 
> Please comment so that I can add this to the git repository.
> 
> Werner
> 
> % -*-coding: utf-8 -*-
> 
> \version "2.19.21"
> 
> \header{
> composer = "J.S. Bach"
> title = "Wenn wir in höchsten Nöten sein (BWV 641)"
> subtitle = "Analysis from Gene Biringer's Schenker Text, Ex. 5-27"
> enteredby = "Kris Shaffer, Werner Lemberg"
> }
> 
> setup = { \oneVoice
> \override NoteColumn.ignore-collision = ##t }
> 
> % Some remarks.
> %
> % - Number `i' in the comments below gives the `i'th column in the graph.
> % Rhythmically, every column is (arbitrarily) represented as an eighth.
> % In total, the graph has 15 columns.
> %
> % - Using `\stemUp' and `\stemDown' influences the positioning of slurs even
> % if `\omit Stem' disables printing of stems.
> %
> % - Since each layer of the Schenker graph uses `\\' to create a new voice
> % it is not necessary to undo `\omit' or `\hide' commands. The same holds
> % for overridden properties.
> %
> % The `price' for using `\\' is to call the above-defined macro `\setup'
> % at the beginning of each voice to undo horizontal voice shifts and to
> % make LilyPond ignore collisions.
> %
> % - Trailing (musical) skips in voices are omitted.
> 
> rightHand = {
> \clef treble
> \key g \major
> 
> <<
> {
> \setup
> % This produces half notes as note heads of eighths.
> \override NoteHead.duration-log = #1
> 
> % 1
> s2
> % 5
> b'8\tweak positions #'(8 . 8) ^[
> ^\markup { \override #'(baseline-skip . 0.8)
> \column { \with-color #red \small { ^ 3 } } }
> s4.
> % 9
> s4 a'8
> ^\markup { \override #'(baseline-skip . 0.8)
> \column { \with-color #red \small { ^ 2 } } }
> s8
> % 13
> s4 g'8]
> ^\markup { \override #'(baseline-skip . 0.8)
> \column { \with-color #red \small { ^ 1 } } }
> }
> \\
> {
> \setup
> \override Slur.color = #(x11-color "purple")
> \stemUp
> \omit Stem
> \hide NoteHead
> \slurDashed
> 
> % 1
> s2
> % 5
> b'2\tweak height-limit #6 _(
> % 9
> b'4)
> a'4\tweak height-limit #3.25 _(
> % 13
> s8
> a'4)
> }
> \\
> {
> \setup
> 
> % 1
> \stemUp
> g'8\tweak positions #'(4.5 . -3.25) -[ s4.
> % 5
> \stemDown
> \once \hide NoteHead
> b'8]
> \stemUp
> a'8\tweak positions #'(3 . -3) -[ s
> \stemDown
> c''8]
> }
> \\
> {
> \setup
> \override Slur.color = #(x11-color "violet")
> 
> % 1
> \stemDown
> \omit Stem
> \omit Flag
> s8 fis'^(_\markup { \with-color #blue \tiny N } g')
> a'8^(^\markup { \with-color #blue \tiny P }
> % 5
> \hideNotes
> b'4)
> \unHideNotes
> \once \override TextScript.outside-staff-priority = ##f
> b'8^(^\markup { \with-color #blue \tiny P }
> \undo \omit Stem
> \undo \omit Flag
> \stemUp
> \override Stem.length = #10
> c''8)^(
> % 9
> \override Stem.length = #14
> b'4) s8
> \stemDown
> \omit Stem
> \omit Flag
> c''8^(
> % 13
> b'8_\markup { \with-color #blue \tiny P } a')
> }
> \\
> {
> \setup
> \override Slur.color = #(x11-color "violet")
> 
> % 1
> \stemUp
> \omit Stem
> \omit Flag
> g'8_( fis' g'4)
> % 5
> s2
> % 9
> s2
> % 13
> b'8_( a')
> }
> \\
> {
> \setup
> \omit Stem
> \hide NoteHead
> 
> % 1
> s2
> % 5
> s8 d'4
> \change Staff = "LH"
> b4
> }
> \\
> {
> \setup
> \omit Stem
> \hide NoteHead
> 
> % 1
> s2
> % 5
> s2
> % 9
> s4
> d'4
> \change Staff = "LH"
> % 13
> b4
> }
>>> 
> 
> \bar "|."
> }
> 
> leftHand = {
> \clef bass
> \key g \major
> 
> <<
> {
> \setup
> % This produces half notes as note heads of eighths.
> \override NoteHead.duration-log = #1
> 
> % 1
> g8\tweak positions #'(-8 . -8) _[
> _\markup { \with-color #(x11-color 'LawnGreen) \bold I }
> s4.
> % 5
> s2
> % 9
> s2
> % 13
> d8_\markup { \with-color #(x11-color 'LawnGreen) \bold V }
> s8
> g,8]_\markup { \with-color #(x11-color 'LawnGreen) \bold I }
> }
> \\
> {
> \setup
> \override Slur.color = #(x11-color "violet")
> \stemUp
> \hide Stem
> \hide Flag
> 
> % 1
> s8
> \once \override TextScript.outside-staff-priority = ##f
> \once \override TextScript.padding = #1
> a8_(^\markup { \with-color #blue \tiny P } b)
> \stemDown
> fis8^(^\markup { \with-color #blue \tiny P }
> % 5
> e8)
> c8\tweak height-limit #1.5 ^(
> d8)^\markup { \with-color #blue \tiny N }
> \stemUp
> fis,8_(
> % 9
> \undo \hide Stem
> \undo \hide Flag
> \override Stem.length = #10
> \stemDown
> g,4)
> c8_(
> \hide Stem
> \hide Flag
> a,8)
> % 13
> \once \hide NoteHead
> d8^( d,)
> }
> \\
> {
> 

Re: Improved Schenker diagram

2019-09-16 Thread Kieren MacMillan
Hi Werner,

> I've invested some time to revise the Schenker diagram, which
> deteriorated over time.

Thanks for doing that!

Related: For the last couple of years, I’ve been [slowly] putting together a 
SchenkerLily framework, which makes so much of this a lot easier to code. I’m 
hoping to release it to OpenLilyLib soon.

Best,
Kieren.


Kieren MacMillan, composer (he/him/his)
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


Improved Schenker diagram

2019-09-16 Thread Werner LEMBERG

I've invested some time to revise the Schenker diagram, which
deteriorated over time.

Here is the original version

  https://www.linuxjournal.com/article/8364

Here is what we currently have (not the bad spacing and bad vertical
alignment).

  http://lilypond.org/doc/v2.19/Documentation/ly-examples/bach-schenker.png

And attached you can find my new version.

Please comment so that I can add this to the git repository.


Werner
% -*-coding: utf-8 -*-

\version "2.19.21"


\header{
  composer = "J.S. Bach"
  title = "Wenn wir in höchsten Nöten sein (BWV 641)"
  subtitle = "Analysis from Gene Biringer's Schenker Text, Ex. 5-27"
  enteredby = "Kris Shaffer, Werner Lemberg"
}


setup = { \oneVoice
  \override NoteColumn.ignore-collision = ##t }


% Some remarks.
%
% - Number `i' in the comments below gives the `i'th column in the graph.
%   Rhythmically, every column is (arbitrarily) represented as an eighth.
%   In total, the graph has 15 columns.
%
% - Using `\stemUp' and `\stemDown' influences the positioning of slurs even
%   if `\omit Stem' disables printing of stems.
%
% - Since each layer of the Schenker graph uses `\\' to create a new voice
%   it is not necessary to undo `\omit' or `\hide' commands.  The same holds
%   for overridden properties.
%
%   The `price' for using `\\' is to call the above-defined macro `\setup'
%   at the beginning of each voice to undo horizontal voice shifts and to
%   make LilyPond ignore collisions.
%
% - Trailing (musical) skips in voices are omitted.


rightHand = {
  \clef treble
  \key g \major

  <<
{
  \setup
  % This produces half notes as note heads of eighths.
  \override NoteHead.duration-log = #1

  % 1
  s2
  % 5
  b'8\tweak positions #'(8 . 8) ^[
^\markup { \override #'(baseline-skip . 0.8)
   \column { \with-color #red \small { ^ 3 } } }
  s4.
  % 9
  s4 a'8
^\markup { \override #'(baseline-skip . 0.8)
   \column { \with-color #red \small { ^ 2 } } }
  s8
  % 13
  s4 g'8]
^\markup { \override #'(baseline-skip . 0.8)
   \column { \with-color #red \small { ^ 1 } } }
}
  \\
{
  \setup
  \override Slur.color = #(x11-color "purple")
  \stemUp
  \omit Stem
  \hide NoteHead
  \slurDashed

  % 1
  s2
  % 5
  b'2\tweak height-limit #6 _(
  % 9
  b'4)
  a'4\tweak height-limit #3.25 _(
  % 13
  s8
  a'4)
}
  \\
{
  \setup

  % 1
  \stemUp
  g'8\tweak positions #'(4.5 . -3.25) -[ s4.
  % 5
  \stemDown
  \once \hide NoteHead
  b'8]
  \stemUp
  a'8\tweak positions #'(3 . -3) -[ s
  \stemDown
  c''8]
}
  \\
{
  \setup
  \override Slur.color = #(x11-color "violet")

  % 1
  \stemDown
  \omit Stem
  \omit Flag
  s8 fis'^(_\markup { \with-color #blue \tiny N } g')
  a'8^(^\markup { \with-color #blue \tiny P }
  % 5
  \hideNotes
  b'4)
  \unHideNotes
  \once \override TextScript.outside-staff-priority = ##f
  b'8^(^\markup { \with-color #blue \tiny P }
  \undo \omit Stem
  \undo \omit Flag
  \stemUp
  \override Stem.length = #10
  c''8)^(
  % 9
  \override Stem.length = #14
  b'4) s8
  \stemDown
  \omit Stem
  \omit Flag
  c''8^(
  % 13
  b'8_\markup { \with-color #blue \tiny P } a')
}
  \\
{
  \setup
  \override Slur.color = #(x11-color "violet")

  % 1
  \stemUp
  \omit Stem
  \omit Flag
  g'8_( fis' g'4)
  % 5
  s2
  % 9
  s2
  % 13
  b'8_( a')
}
  \\
{
  \setup
  \omit Stem
  \hide NoteHead

  % 1
  s2
  % 5
  s8 d'4
  \change Staff = "LH"
  b4
}
  \\
{
  \setup
  \omit Stem
  \hide NoteHead

  % 1
  s2
  % 5
  s2
  % 9
  s4
  d'4
  \change Staff = "LH"
  % 13
  b4
}
  >>

  \bar "|."
}


leftHand = {
  \clef bass
  \key g \major

  <<
{
  \setup
  % This produces half notes as note heads of eighths.
  \override NoteHead.duration-log = #1

  % 1
  g8\tweak positions #'(-8 . -8) _[
_\markup { \with-color #(x11-color 'LawnGreen) \bold I }
  s4.
  % 5
  s2
  % 9
  s2
  % 13
  d8_\markup { \with-color #(x11-color 'LawnGreen) \bold V }
  s8
  g,8]_\markup { \with-color #(x11-color 'LawnGreen) \bold I }
}
  \\
{
  \setup
  \override Slur.color = #(x11-color "violet")
  \stemUp
  \hide Stem
  \hide Flag

  % 1
  s8
  \once \override TextScript.outside-staff-priority = ##f
  \once \override TextScript.padding = #1
  a8_(^\markup { \with-color #blue \tiny P } b)
  \stemDown
  fis8^(^\markup { \with-color #blue \tiny P }
  % 5
  e8)
  c8\tweak height-limit #1.5 ^(
  d8)^\markup { \with-color #blue \tiny N }
  \stemUp
  fis,8_(
  % 9
  \undo \hide Stem
  \undo \hide Flag
  \override 

PATCHES - Countdown for September 16th

2019-09-16 Thread James

Hello,

Here is the current patch countdown list. The next countdown will be on
September 19th.

A quick synopsis of all patches currently in the review process can be
found here:

http://philholmes.net/lilypond/allura/




Push:

No patches to push at this time,


Countdown:

No patches on countdown at this time.


Review:

No patches in Review at this time


New:

No New patches at this time.




***

Regards,


James


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