Re: Combining multiple markups into a single, word-wrappable one?

2020-07-27 Thread Aaron Hill

On 2020-07-27 7:58 pm, Mike Stickles wrote:

In the weekly service files I'm generating for my church, near the end
is the text for a dismissal prayer. This prayer pretty much always has
the same beginning and ending text, but a section in the middle varies
from service to service. I've been trying (without success) to encode
these in variables so I can have the beginning and ending pre-coded in
my template, and just have the middle part in the include file for
that service.

In other words, I'm trying to turn something like this:

\markup {
    \column { \override #'(line-width . 92) {
        \wordwrap {
            This is the beginning of the rather long dismissal prayer,
which would be in the first variable;
            followed here by the service-specific part which goes in
the include file;
            and then this part, which would be in the second variable,
goes at the end to complete the prayer.
        }
    } }
}

Into something like this:

PrayerBeginning = \markup { This is the beginning of the rather long
dismissal prayer, which would be in the first variable; }
PrayerEnding = \markup { and then this part, which would be in the
second variable, goes at the end to complete the prayer. }
TodaysMiddle = \markup { followed here by the service-specific part
which goes in the include file; }

\markup {
    \column { \override #'(line-width . 92) {
        \wordwrap {
            \PrayerBeginning
            \TodaysMiddle
            \PrayerEnding
        }
    } }
}

And have it still print as a single, word-wrapped paragraph.
Unfortunately, this (and every variation I've tried that will actually
compile) treats each variable as if the text it represents were
enclosed in double-quotes as a single string.

Does anyone know if this is even possible, and if so, how would I do 
it?


Feels like a hack, but would this help?


\version "2.20.0"

loremIpsum = \markuplist {
  \bold { Lorem ipsum } dolor sit amet,
  \italic consectetur adipiscing elit.
}

\markup {
  \override #'(line-width . 40)
  \wordwrap { $@loremIpsum $@loremIpsum $@loremIpsum }
}



-- Aaron Hill

Combining multiple markups into a single, word-wrappable one?

2020-07-27 Thread Mike Stickles
In the weekly service files I'm generating for my church, near the end 
is the text for a dismissal prayer. This prayer pretty much always has 
the same beginning and ending text, but a section in the middle varies 
from service to service. I've been trying (without success) to encode 
these in variables so I can have the beginning and ending pre-coded in 
my template, and just have the middle part in the include file for that 
service.


In other words, I'm trying to turn something like this:

\markup {
    \column { \override #'(line-width . 92) {
        \wordwrap {
            This is the beginning of the rather long dismissal prayer, 
which would be in the first variable;
            followed here by the service-specific part which goes in 
the include file;
            and then this part, which would be in the second variable, 
goes at the end to complete the prayer.

        }
    } }
}

Into something like this:

PrayerBeginning = \markup { This is the beginning of the rather long 
dismissal prayer, which would be in the first variable; }
PrayerEnding = \markup { and then this part, which would be in the 
second variable, goes at the end to complete the prayer. }
TodaysMiddle = \markup { followed here by the service-specific part 
which goes in the include file; }


\markup {
    \column { \override #'(line-width . 92) {
        \wordwrap {
            \PrayerBeginning
            \TodaysMiddle
            \PrayerEnding
        }
    } }
}

And have it still print as a single, word-wrapped paragraph. 
Unfortunately, this (and every variation I've tried that will actually 
compile) treats each variable as if the text it represents were enclosed 
in double-quotes as a single string.


Does anyone know if this is even possible, and if so, how would I do it?

Thanx,

Mike




Some thoughts on narrowing, was Re: How to compile Lilypond files using Emacs?

2020-07-27 Thread David Wright
On Mon 27 Jul 2020 at 17:02:15 (+1000), Andrew Bernard wrote:

> The issue is not WIndows specific. You need to add a line similar to
> this in your emacs init file to get the compile to work:
> 
> ;; lilypond
> (setq LilyPond-lilypond-command "lilypond -I ~/lib/lilypond
> -I~/lib/openlilylib/snippets")
> 
> I also add the following:
> 
> (autoload 'LilyPond-mode "lilypond-mode" "LilyPond Editing Mode" t)
> (add-to-list 'auto-mode-alist '("\\.ly$" . LilyPond-mode))
> (add-to-list 'auto-mode-alist '("\\.ily$" . LilyPond-mode))
> 
> But as said, you will run into issues with narrowing, and nested
> tuplets smash the formatting badly.

I can't say I agree with every indentation decision that LP/emacs
makes, but personally, the effects tend to be very shortlived,
ie lasting just a few lines. (My scores are much simpler than yours.)

As for narrowing, I wrote in 2015 that I'd not met the problem for
years, and that would be compatible with my installing Debian/squeeze
in March 2011. There's a note in lisp/simple.el that the default
value of blink-matching-paren-distance was increased from 25 to
100k with emacs version 23.2. At that time, none of my scores were
as big as 100kB.

Looking at site-lisp/lilypond-indent.el (which has changes quite
recently, though not in this area), it does appear that the
narrow-to-region call should be protected. My guess would be
that the call should be written as:

(save-excursion
  (save-restriction
(when blink-matching-paren-distance   ← line 501/502
  (narrow-to-region
   (max (point-min) (- (point) blink-matching-paren-distance))
   (min (point-max) (+ (point) blink-matching-paren-distance))

I've based that on the corresponding part of lisp/simple.el's:

(save-excursion   ← line 7571
  (save-restriction
(if blink-matching-paren-distance
(narrow-to-region
 (max (minibuffer-prompt-end) ;(point-min) unless minibuf.
  (- (point) blink-matching-paren-distance))
 oldpos))
… … ))

(AFAICT the section marked … … does not exist in site-lisp/lilypond-indent.el.)

> As mentioned, search the archives of this list. There is quite a lot
> of discussion about this topic. I'd love to fix the issues, but my
> elisp-fu is not powerful enough I'm afraid.

Assuming that LP is getting its default value for blink-matching-paren-distance
from /usr/share/emacs/26.1/lisp/simple.el.gz (Debian/buster), I would
imagine that the definition could be overwritten in one's own startup
file. This could be as simple as inserting these lines, with a greater
value in place of 100.

(defcustom blink-matching-paren-distance (* 100 1024)
  "If non-nil, maximum distance to search backwards for matching open-paren.
If nil, search stops at the beginning of the accessible portion of the buffer."
  :version "23.2"   ; 25->100k
  :type '(choice (const nil) integer)
  :group 'paren-blinking)

Apologies for my similar lack of elisp-fu.

Cheers,
David.



RE: Position of fingering

2020-07-27 Thread Mark Stephen Mrotek
Helge,

Welcome!

Mark

-Original Message-
From: lilypond-user [mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] 
On Behalf Of Helge Kruse
Sent: Sunday, July 26, 2020 11:02 PM
To: Thomas Morley 
Cc: lilypond-user@gnu.org
Subject: Re: Position of fingering

Hi Mark,

Thanks, this was my first intention since I have to put *some* numbers below 
the system.But I thought I had to use the underscore bar additionally to the 
hyphen. Just the replacement does the job.

Best regards,
Helge

Am So., 26. Juli 2020 um 14:00 Uhr schrieb Thomas Morley
:
>
> Am So., 26. Juli 2020 um 13:50 Uhr schrieb Helge Kruse :
> >
> > Hi,
> >
> > I want to put the fingering information below the notes. 
> > Corresponding to 
> > http://lilypond.org/doc/v2.18/Documentation/notation/inside-the-staf
> > f#fingering-instructions
> >
> > and
> >
> > http://lilypond.org/doc/v2.20/Documentation/notation/inside-the-staf
> > f#fingering-instructions
> >
> > this should be possible with
> >
> >  \set fingeringOrientations = #'(down)
> >
> > But as the example shwows it doesn't work. I am convinced that 
> > Lilypond is able to do it correctly. Can you help fixing my example?
> >
> > Best regards,
> > Helge
> >
> >
> > % \version "2.18.9"
> > \version "2.20.0"
> > \language "deutsch"
> >
> > \score {
> > \new Staff \relative c'' {
> >   \clef bass
> >   \set fingeringOrientations = #'(down)
> >   | g,,8-4 d'-2 h'-1 g-2 d-4 a'-2 d4-1
> > }
> > }
> >
>
> fingeringOrientations is for in-chord-fingerings use \override 
> Fingering.direction = #DOWN instead
>
> Cheers,
>   Harm
>


--
PGP Fingerprint: EDCE F8C8 B727 6CC5 7006  05C1 BD3F EADC 8922 1F61




Re: What happened to INSTALL.txt?

2020-07-27 Thread Knute Snortum
Well it looks like README.git should just contain this:

Instructions for compiling LilyPond from source files can be found online
at:


https://lilypond.org/doc/v2.21/Documentation/contributor/index_17#Compiling

---
Knute Snortum
(via Gmail)


On Sun, Jul 26, 2020 at 7:43 AM Werner LEMBERG  wrote:

>
> >> Seems to me like kind of a chicken-and-egg problem, though. In
> >> order to build lilypond I need to read INSTALL.txt, but in order to
> >> read INSTALL.txt, I need to build lilypond first...  I ended up
> >> googling for the file on the website and following the steps from
> >> there instead.
> >
> > What about a README.txt file that says, "Run configure"?
>
> I think the normal way is to have a `README.git` file that contains
> the necessary first steps to build from the repository, and people
> should then continue with reading `README.txt` after it has been
> created.
>
>
> Werner
>


Re: music symbols in LibreOffice

2020-07-27 Thread Dr Nicholas Bailey
On Sunday, 26 July 2020 09:10:55 BST Dick Kampman wrote:
> I an writing text in LibreOffice about metronome-markings. So, I have
> for instance to replace "...quarternote=60..." by "... symbol>=60...", etc.
Like ♩=72?
> 
> Can I use the Lilypond extension in LibreOffice to achieve such purposes?
It seems like a massive overkill. I'd just use Unicode 2669 (♩)

> 
> With kind regards,
> 
> Dick Kampman
> 
> kamp...@xs4all.nl
> 
> Netherlands.







Re: How to compile Lilypond files using Emacs?

2020-07-27 Thread Andrew Bernard
Hi Parviz,
The issue is not WIndows specific. You need to add a line similar to
this in your emacs init file to get the compile to work:

;; lilypond
(setq LilyPond-lilypond-command "lilypond -I ~/lib/lilypond
-I~/lib/openlilylib/snippets")

I also add the following:

(autoload 'LilyPond-mode "lilypond-mode" "LilyPond Editing Mode" t)
(add-to-list 'auto-mode-alist '("\\.ly$" . LilyPond-mode))
(add-to-list 'auto-mode-alist '("\\.ily$" . LilyPond-mode))

But as said, you will run into issues with narrowing, and nested
tuplets smash the formatting badly.

As mentioned, search the archives of this list. There is quite a lot
of discussion about this topic. I'd love to fix the issues, but my
elisp-fu is not powerful enough I'm afraid.

Andrew


On Mon, 27 Jul 2020 at 00:55, Parviz Farnia
 wrote:
>
> Hello,
>
> I would like to ask a question about using Lilypond with Emacs. According to 
> the online documentation it is possible to use Lilypond with Emacs:
>



Re: Position of fingering

2020-07-27 Thread Helge Kruse
Hi Mark,

Thanks, this was my first intention since I have to put *some* numbers
below the system.But I thought I had to use the underscore bar
additionally to the hyphen. Just the replacement does the job.

Best regards,
Helge

Am So., 26. Juli 2020 um 14:00 Uhr schrieb Thomas Morley
:
>
> Am So., 26. Juli 2020 um 13:50 Uhr schrieb Helge Kruse :
> >
> > Hi,
> >
> > I want to put the fingering information below the notes. Corresponding to
> > http://lilypond.org/doc/v2.18/Documentation/notation/inside-the-staff#fingering-instructions
> >
> > and
> >
> > http://lilypond.org/doc/v2.20/Documentation/notation/inside-the-staff#fingering-instructions
> >
> > this should be possible with
> >
> >  \set fingeringOrientations = #'(down)
> >
> > But as the example shwows it doesn't work. I am convinced that Lilypond
> > is able to do it correctly. Can you help fixing my example?
> >
> > Best regards,
> > Helge
> >
> >
> > % \version "2.18.9"
> > \version "2.20.0"
> > \language "deutsch"
> >
> > \score {
> > \new Staff \relative c'' {
> >   \clef bass
> >   \set fingeringOrientations = #'(down)
> >   | g,,8-4 d'-2 h'-1 g-2 d-4 a'-2 d4-1
> > }
> > }
> >
>
> fingeringOrientations is for in-chord-fingerings use \override
> Fingering.direction = #DOWN instead
>
> Cheers,
>   Harm
>


-- 
PGP Fingerprint: EDCE F8C8 B727 6CC5 7006  05C1 BD3F EADC 8922 1F61



Re: Position of fingering

2020-07-27 Thread Helge Kruse
Thanks, I realized my error.

Regards,
Helge

Am So., 26. Juli 2020 um 14:00 Uhr schrieb Thomas Morley
:
>
> Am So., 26. Juli 2020 um 13:50 Uhr schrieb Helge Kruse :
> >
> > Hi,
> >
> > I want to put the fingering information below the notes. Corresponding to
> > http://lilypond.org/doc/v2.18/Documentation/notation/inside-the-staff#fingering-instructions
> >
> > and
> >
> > http://lilypond.org/doc/v2.20/Documentation/notation/inside-the-staff#fingering-instructions
> >
> > this should be possible with
> >
> >  \set fingeringOrientations = #'(down)
> >
> > But as the example shwows it doesn't work. I am convinced that Lilypond
> > is able to do it correctly. Can you help fixing my example?
> >
> > Best regards,
> > Helge
> >
> >
> > % \version "2.18.9"
> > \version "2.20.0"
> > \language "deutsch"
> >
> > \score {
> > \new Staff \relative c'' {
> >   \clef bass
> >   \set fingeringOrientations = #'(down)
> >   | g,,8-4 d'-2 h'-1 g-2 d-4 a'-2 d4-1
> > }
> > }
> >
>
> fingeringOrientations is for in-chord-fingerings use \override
> Fingering.direction = #DOWN instead
>
> Cheers,
>   Harm
>


-- 
PGP Fingerprint: EDCE F8C8 B727 6CC5 7006  05C1 BD3F EADC 8922 1F61