Re: Organising files/variables/ in lilypond

2023-04-07 Thread Eef Weenink
Thank you, Valentin, 

Specially for the examples, I will study, experiment with them and see how I 
can learn how to solve my issues this way. 
Regards, Eef 

> Op 7 apr. 2023, om 23:34 heeft Valentin Petzel  het 
> volgende geschreven:
> 
> Hello Eef,
> 
> if I understand you correctly you essentially want to put the content of a 
> Lilypond file into a variable and evaluate that. This is not possible with 
> Lilypond as such, but instead you can avoid Lilypond syntax and directly use 
> the scheme hooks.
> 
> Instead of doing
> 
> all = ...
> 
> you can have a scheme function do
> 
> (set! all ...)
> 
> (but for this to work you need to have the binding "all" existing before by 
> doing #(define all #f) (or any other value).
> 
> Instead of simply creating a \score ... and let the parser delegate this to 
> the correct hook you can pass scores directly via scheme by doing
> 
> (add-score #{ \score { ... } #})
> 
> Generally there are many ways to do things, and we’d need to know more about 
> your specific situation to be able to elaborate a good solution.
> 
> Recently I did a mass for which I created a small framework which allows me 
> to 
> first register parts and such by doing
> 
> \registerPart partname
> \partSetTitle partname "Title"
> 
> \partSetStaff partname staffname { music }
> ...
> 
> and then when needed do
> 
> \partPrint name layoutfunction
> 
> to create a specific score or
> 
> \printParts layoutfunction
> 
> to print all scores.
> 
> layoutfunction is then a function taking partname and creating the desired 
> score.
> 
> I’d then have a folder "layouts" specifying layout functions, a folder 
> "styles" specifying stylesheets, and a folder of files registering scores, 
> and 
> one or multiple masters reading these files and printing scores with one or 
> multiple layout functions.
> 
> I’ve included the core library and an example layout function. Maybe this 
> approach could be useful for you (I’ve also sent this to the list not too 
> long 
> ago).
> 
> Cheers,
> Valentin
> 
> Am Freitag, 7. April 2023, 16:11:43 CEST schrieb Eef Weenink:
>> I have this project: I make arrangements of figured bass pieces.
>> (Generalbass Wolf). In total 100 pieces. Uptill now I organised it this
>> way:
>> - 1 file with all pieces in it (I did about 10, 90 to go).
>> The file starts with an include of a startup.ily, with some settings for the
>> whole book then the first piece.
>> I include a file (arrangeit.ily) to change the music into several voices,
>> etcetera using arranger.ly. I add some lines to change
>> 1-2 voices a bit using also arranger.ly then I include
>> a file (Generalbassmakescore.ily with the settings to create the score.
>> Second piece (with the same variablenames!)
>> and repeat the includes like mentioned above.
>> etcetera.
>> 
>> It works, looks well. At the end I have 1 file with alle the pieces and 3-4
>> files to do small jobs, It is not fast.
>> 
>> But somehow I have the idea this could be easier/better. But how?
>> - One idea would be to put all pieces in separate files and include this in
>> one file with all jobs: arranging, extra changes, create voice/score. But
>> then I will have 101 files
>> 
>> Most easy would be to create a file with procedures I need, include the file
>> and call the procedures when needed. . But how? Lilypond does not have
>> procedures (as far I know?). Using functions gives lots of errors.
>> I tried it with variables, but no luck either.
>> 
>> I try to put these lines in a variable/function/procedures (as an example):
>> What to do, to make lilypond use the lines between {} simply as a
>> replacement of the variable?
>> 
>> arrangeit = {
>> %- verwerking---
>> all = #'(pright pleft  soprano alto tenor bass viola contrabas soprano)
>> #(init all)
>> 
>> #(begin
>>   ;;pianopartij
>>  (rm 'pright '(1-4)   (rel 1 'melody) )
>>  (rm 'pleft '(1-4)   (rel  'bassline) )
>> 
>> ;; koorpartijen
>> ;; sopraan
>>  (rm 'soprano '(1-4) (note 1 (rel   'melody) ))
>> ;;alt
>>  (rm 'alto '(1-4)   (note 2  (rel  1 'melody)) )
>> ;; tenor
>>  (rm 'tenor '(1-4) (note 3 (rel 1 'melody) ))
>> ;; bass
>>  (rm 'bass '(1-4)  (rel  'bassline) )
>> ;;ciontrabass
>>  (rm 'contrabas ' (1-4)  (rel  'bassline) )
>> )
>> }
>> 
>> Eef
> 
> 



OLL bezier error

2023-04-07 Thread Andrew Bernard
Has anybody ported the openlilylib/bezier library to work with recent 
versions of lilypond?


With 2.25 I get:

/home/acb/lib/openlilylib/bezier/_internal/special-cpts-display.ily:13:2: 
error: Guile signaled an error for the expression beginning here # (cond 
((not (defined? 'debug-control-points-line-thickness)) Syntax error: 
/home/acb/lib/openlilylib/bezier/_internal/special-cpts-display.ily:14:8: 
definition in expression context, where definitions are not allowed, in 
form (define debug-control-points-line-thickness 0.05) 
/home/acb/lib/openlilylib/bezier/_internal/special-cpts-display.ily:15:2: 
error: Guile signaled an error for the expression beginning here # (cond 
((not (defined? 'debug-control-points-cross-size)) Syntax error: 
/home/acb/lib/openlilylib/bezier/_internal/special-cpts-display.ily:16:8: 
definition in expression context, where definitions are not allowed, in 
form (define debug-control-points-cross-size 0.7) 
/home/acb/lib/openlilylib/bezier/_internal/special-cpts-display.ily:17:2: 
error: Guile signaled an error for the expression beginning here # (cond 
((not (defined? 'debug-control-points-color)) Syntax error: 
/home/acb/lib/openlilylib/bezier/_internal/special-cpts-display.ily:18:8: 
definition in expression context, where definitions are not allowed, in 
form (define debug-control-points-color red)


Re: Graphics

2023-04-07 Thread Johannes A . Roeßler

Embarrassing.. thx

Am 8. April 2023 00:06:19 schrieb Jean Abou Samra :

Le samedi 08 avril 2023 à 00:02 +0200, Johannes A. Roeßler a écrit :

Excellent! Did I miss it somewhere in the documentation or is this well hidden?

The \epsfile command? It's on the page you gave the link of...




Re: Graphics

2023-04-07 Thread Jean Abou Samra
Le samedi 08 avril 2023 à 00:02 +0200, Johannes A. Roeßler a écrit :
>  Excellent! Did I miss it somewhere in the documentation or is this well 
> hidden?  

The \epsfile command? It's on the page you gave the link of...


signature.asc
Description: This is a digitally signed message part


Re: Graphics

2023-04-07 Thread Johannes A . Roeßler

Excellent! Did I miss it somewhere in the documentation or is this well hidden?
J

Am 7. April 2023 19:33:49 schrieb Jean Abou Samra :


Le 7 avr. 2023 à 19:15, Johannes A. Roeßler  a écrit :


Thx for the fast answer. In the EPS I will find the needed moveto and 
curveto commands to copy to lilypond?



Don’t copy the contents of the file. Just put the EPS file next to your 
LilyPond file and write


\markup \epsfile #Y #10 "name-of-file.eps"

in your LilyPond code.




Re: Organising files/variables/ in lilypond

2023-04-07 Thread Valentin Petzel
Hello Eef,

if I understand you correctly you essentially want to put the content of a 
Lilypond file into a variable and evaluate that. This is not possible with 
Lilypond as such, but instead you can avoid Lilypond syntax and directly use 
the scheme hooks.

Instead of doing

all = ...

you can have a scheme function do

(set! all ...)

(but for this to work you need to have the binding "all" existing before by 
doing #(define all #f) (or any other value).

Instead of simply creating a \score ... and let the parser delegate this to 
the correct hook you can pass scores directly via scheme by doing

(add-score #{ \score { ... } #})

Generally there are many ways to do things, and we’d need to know more about 
your specific situation to be able to elaborate a good solution.

Recently I did a mass for which I created a small framework which allows me to 
first register parts and such by doing

\registerPart partname
\partSetTitle partname "Title"

\partSetStaff partname staffname { music }
...

and then when needed do

\partPrint name layoutfunction

to create a specific score or

\printParts layoutfunction

to print all scores.

layoutfunction is then a function taking partname and creating the desired 
score.

I’d then have a folder "layouts" specifying layout functions, a folder 
"styles" specifying stylesheets, and a folder of files registering scores, and 
one or multiple masters reading these files and printing scores with one or 
multiple layout functions.

I’ve included the core library and an example layout function. Maybe this 
approach could be useful for you (I’ve also sent this to the list not too long 
ago).

Cheers,
Valentin

Am Freitag, 7. April 2023, 16:11:43 CEST schrieb Eef Weenink:
> I have this project: I make arrangements of figured bass pieces.
> (Generalbass Wolf). In total 100 pieces. Uptill now I organised it this
> way:
> - 1 file with all pieces in it (I did about 10, 90 to go).
> The file starts with an include of a startup.ily, with some settings for the
> whole book then the first piece.
> I include a file (arrangeit.ily) to change the music into several voices,
> etcetera using arranger.ly. I add some lines to change
> 1-2 voices a bit using also arranger.ly then I include
> a file (Generalbassmakescore.ily with the settings to create the score.
> Second piece (with the same variablenames!)
> and repeat the includes like mentioned above.
> etcetera.
> 
> It works, looks well. At the end I have 1 file with alle the pieces and 3-4
> files to do small jobs, It is not fast.
> 
> But somehow I have the idea this could be easier/better. But how?
> - One idea would be to put all pieces in separate files and include this in
> one file with all jobs: arranging, extra changes, create voice/score. But
> then I will have 101 files
> 
> Most easy would be to create a file with procedures I need, include the file
> and call the procedures when needed. . But how? Lilypond does not have
> procedures (as far I know?). Using functions gives lots of errors.
> I tried it with variables, but no luck either.
> 
> I try to put these lines in a variable/function/procedures (as an example):
> What to do, to make lilypond use the lines between {} simply as a
> replacement of the variable?
> 
> arrangeit = {
> %- verwerking---
> all = #'(pright pleft  soprano alto tenor bass viola contrabas soprano)
> #(init all)
> 
>  #(begin
>;;pianopartij
>   (rm 'pright '(1-4)   (rel 1 'melody) )
>   (rm 'pleft '(1-4)   (rel  'bassline) )
> 
> ;; koorpartijen
> ;; sopraan
>   (rm 'soprano '(1-4) (note 1 (rel   'melody) ))
> ;;alt
>   (rm 'alto '(1-4)   (note 2  (rel  1 'melody)) )
> ;; tenor
>   (rm 'tenor '(1-4) (note 3 (rel 1 'melody) ))
> ;; bass
>   (rm 'bass '(1-4)  (rel  'bassline) )
> ;;ciontrabass
>   (rm 'contrabas ' (1-4)  (rel  'bassline) )
> )
> }
> 
> Eef

\include "../lib/send-to-context.ily"

% Layout function for a full-score
#(define (full-score partname)
   #{
 \score {
   \header {
 title = \partGetTitle #partname
   }
   \layout { }
   \midi { }
   <<
 \new Devnull \partGetStaff #partname tempo
 \partCreateStaff
   \with {
 instrumentName = \partGetStaffName "2 Flöten" #partname flöte
 shortInstrumentName = \partGetShortStaffName "Fl." #partname flöte
 %midiInstrument = flute
   }
   \accidentalStyle modern
   #partname flöte
 \new StaffGroup <<
   \partCreateTwoStaff
 \with {
   instrumentName = \partGetStaffName "Trompeten" #partname 
trompeten
   shortInstrumentName = \partGetShortStaffName "Trp." #partname 
trompeten
   %midiInstrument = trumpet
 }
 \accidentalStyle modern
 \with {
   instrumentName = \partGetStaffName "Trompete I" #partname 
trompeteI
   shortInstrumentName = \partGetShortStaffName 

Re: Graphics

2023-04-07 Thread Jean Abou Samra



> Le 7 avr. 2023 à 19:15, Johannes A. Roeßler  a écrit :
> 
> 
> Thx for the fast answer. In the EPS I will find the needed moveto and curveto 
> commands to copy to lilypond?


Don’t copy the contents of the file. Just put the EPS file next to your 
LilyPond file and write

\markup \epsfile #Y #10 "name-of-file.eps"

in your LilyPond code.





Re: Graphics

2023-04-07 Thread Johannes A . Roeßler
Thx for the fast answer. In the EPS I will find the needed moveto and 
curveto commands to copy to lilypond?


Best regards
Joei


Am 7. April 2023 19:09:36 schrieb Jean Abou Samra :





Le 7 avr. 2023 à 19:02, Johannes Roeßler  a écrit :
Hi Group,
is there a way to generate vector files with a program producing e.g. a SVG 
files and convert it to the PS commands needed for lilypond?

https://lilypond.org/doc/v2.22/Documentation/notation/graphic



If I understand your request correctly, you can convert the SVG file to 
EPS, for example using librsvg with


rsvg-convert --format=eps file.svg > file.eps

then include it with \epsfile.

Of course, you will need to install librsvg.

There are also countless websites out there where you can do the SVG -> EPS 
conversion step online.


Best

Jean




define-markup-command

2023-04-07 Thread Ken Ledeen
Hi All,

Thanks to Jean Abou Samra I can now create \markup that goes to a place in
a youtube video.

These are of the form:

fis4^\markup \with-url#"https://youtu.be...?t=SEC; {ref} where "SEC" is
replaced with the number of seconds in from the start.

I would like to create a function to simplify things so instead of having
the entire URL repeated everywhere, would have something that looks like

fis4^\mymk "215".

So far, I remain entirely confused about creating a new markup command.  I
won't bother describing my many failed attempts.  I am clearly missing some
basic concepts. I have no problem creating scheme functions to do various
manipulations, but extending the markup function has eluded me.

Any guidance would be most appreciated!

Ken Ledeen

Mobile:   617-817-3183

www.nevo.com
www.bitsbook.com
tiny.cc/KenLedeen 


Re: Graphics

2023-04-07 Thread Jean Abou Samra


> Le 7 avr. 2023 à 19:02, Johannes Roeßler  a écrit :
> 
> 
> Hi Group,
> 
> is there a way to generate vector files with a program producing e.g. a SVG 
> files and convert it to the PS commands needed for lilypond? 
> https://lilypond.org/doc/v2.22/Documentation/notation/graphic
> 


If I understand your request correctly, you can convert the SVG file to EPS, 
for example using librsvg with

rsvg-convert --format=eps file.svg > file.eps

then include it with \epsfile.

Of course, you will need to install librsvg.

There are also countless websites out there where you can do the SVG -> EPS 
conversion step online.

Best

Jean



Graphics

2023-04-07 Thread Johannes Roeßler

Hi Group,

is there a way to generate vector files with a program producing e.g. a 
SVG files and convert it to the PS commands needed for lilypond?

https://lilypond.org/doc/v2.22/Documentation/notation/graphic

Best regards
Joei


Re: MIDI, dynamics and expression

2023-04-07 Thread Knute Snortum
On Fri, Apr 7, 2023 at 2:02 AM Dario Marrini 
wrote:

> Hi lilypond people,
> I tried adding these :
>
> midiMinimumVolume = #0.05
> midiMaximumVolume = #0.95
>
> but I got no so different results;
>

Hmm, with the code below, I got very noticable results:

%%%
\version "2.24.1"

\score {
  \new Voice { c'4\pp\< 4 4 4 | 4 4 4 4\ff }
  \midi {
\tempo 4 = 120
\context {
  \Score
  midiMinimumVolume = #0.1
  % midiMinimumVolume = #0.50
  midiMaximumVolume = #0.99
  % midiMaximumVolume = #0.50
}
  }
  \layout {}
}
%%%

--
Knute Snortum


Re: Markup in the middle of a spanner

2023-04-07 Thread David Nalesnik
On Fri, Apr 7, 2023 at 7:26 AM David Nalesnik 
wrote:

> Hi Andrew,
>
> On Fri, Apr 7, 2023 at 7:23 AM Andrew Bernard 
> wrote:
>
>> Ah, that's the one I now remember.
>>
>> Could this go into OLL?
>>
>> Andrew
>>
>
> Sure, if you like!  It might need some adjusting for 2.24 - not sure.
>
> David
>

Works fine in 2.24.


Re: Openlilylib questions

2023-04-07 Thread Mark Knoop
Hi Andrew,

> Since handing over OLL I have lost track of processes. What is the
> communications platform for queries and discussions now?

This mailing list seems best.

> And are we in fact still open for business? I need to submit a pull
> request to add some code for my slash stem functions which somehow
> never made it in.

Yes - please do so in the relevant github repo.

Cheers, M

--
Mark Knoop



Organising files/variables/ in lilypond

2023-04-07 Thread Eef Weenink
I have this project: I make arrangements of figured bass pieces. (Generalbass 
Wolf). In total 100 pieces.
Uptill now I organised it this way:
- 1 file with all pieces in it (I did about 10, 90 to go).
The file starts with an include of a startup.ily, with some settings for the 
whole book
then the first piece.
I include a file (arrangeit.ily) to change the music into several voices, 
etcetera using arranger.ly.
I add some lines to change 1-2 voices a bit using also 
arranger.ly
then I include a file (Generalbassmakescore.ily with the settings to create the 
score.
Second piece (with the same variablenames!)
and repeat the includes like mentioned above.
etcetera.

It works, looks well. At the end I have 1 file with alle the pieces and 3-4 
files to do small jobs, It is not fast.

But somehow I have the idea this could be easier/better. But how?
- One idea would be to put all pieces in separate files and include this in one 
file with all jobs: arranging, extra changes, create voice/score. But then I 
will have 101 files

Most easy would be to create a file with procedures I need, include the file 
and call the procedures when needed. . But how? Lilypond does not have 
procedures (as far I know?).
Using functions gives lots of errors.
I tried it with variables, but no luck either.

I try to put these lines in a variable/function/procedures (as an example):
What to do, to make lilypond use the lines between {} simply as a replacement 
of the variable?

arrangeit = {
%- verwerking---
all = #'(pright pleft  soprano alto tenor bass viola contrabas soprano)
#(init all)

 #(begin
   ;;pianopartij
  (rm 'pright '(1-4)   (rel 1 'melody) )
  (rm 'pleft '(1-4)   (rel  'bassline) )

;; koorpartijen
;; sopraan
  (rm 'soprano '(1-4) (note 1 (rel   'melody) ))
;;alt
  (rm 'alto '(1-4)   (note 2  (rel  1 'melody)) )
;; tenor
  (rm 'tenor '(1-4) (note 3 (rel 1 'melody) ))
;; bass
  (rm 'bass '(1-4)  (rel  'bassline) )
;;ciontrabass
  (rm 'contrabas ' (1-4)  (rel  'bassline) )
)
}

Eef








Re: Openlilylib questions

2023-04-07 Thread Andrew Bernard
Are we taking pull requests. Sorry my metaphor may not have been clear!

On 7 April 2023 10:17:51 pm AEST, Jean Abou Samra  wrote:
>
>
>> Le 7 avr. 2023 à 14:06, Andrew Bernard  a écrit :
>> 
>> Since handing over OLL I have lost track of processes. What is the 
>> communications platform for queries and discussions now?
>
>
>I don’t think anything has been set up to replace your Discourse server, but 
>GitHub issues are still there.
>
>
>> And are we in fact still open for business?
>
>What does that mean in practical terms?
>
>
>


Re: movement in markups like TeX's `em` and `ex` units

2023-04-07 Thread Robin Bannister

Werner LEMBERG wrote:

```
Emaj = \markup { E \raise #1 maj }

\markup \Emaj

\markup \fontsize #10 \Emaj
```

As can be seen, `\raise #1` is not the right value in the second case. 



We have  \translate-scaled #'(0 . 1)  for doing that.
A simple-minded mouthful.


Cheers,
Robin



Re: OLL shaoing bezier curves

2023-04-07 Thread Jean Abou Samra


> Le 7 avr. 2023 à 14:23, Andrew Bernard  a écrit :
> 
> 
> I have this:
> 
> DEPRECATION! You have loaded the openLilyLib module 
> snippets.notation-snippets.shaping-bezier-curves.shapeII The functionality of 
> this module has been moved or reimplemented in the module bezier.shapeII 
> Please consider switching to the new module.
> 
> I am unable to find bezier.shapeII. Where is it?
> 

This? https://github.com/openlilylib/bezier/tree/master/shapeII



Re: Markup in the middle of a spanner

2023-04-07 Thread David Nalesnik
Hi Andrew,

On Fri, Apr 7, 2023 at 7:23 AM Andrew Bernard 
wrote:

> Ah, that's the one I now remember.
>
> Could this go into OLL?
>
> Andrew
>

Sure, if you like!  It might need some adjusting for 2.24 - not sure.

David


Re: Markup in the middle of a spanner

2023-04-07 Thread Andrew Bernard

Ah, that's the one I now remember.

Could this go into OLL?

Andrew


On 7/04/2023 10:21 pm, David Nalesnik wrote:

Hi Rip_mus,


On 7/04/2023 4:18 pm, Rip _Mus wrote:
> do you know any technique to place a markup right in the middle (X
> axis) of a DurationLine Grob? (or also a textspanner).


This will handle TextSpanners:

https://github.com/davidnalesnik/lilypond-text-spanner-inner-texts

Best,
David

OLL shaoing bezier curves

2023-04-07 Thread Andrew Bernard

I have this:

   DEPRECATION! You have loaded the openLilyLib module
   snippets.notation-snippets.shaping-bezier-curves.shapeII The
   functionality of this module has been moved or reimplemented in the
   module bezier.shapeII Please consider switching to the new module.

I am unable to find bezier.shapeII. Where is it?

Andrew


Re: Markup in the middle of a spanner

2023-04-07 Thread David Nalesnik
Hi Rip_mus,


>
> On 7/04/2023 4:18 pm, Rip _Mus wrote:
> > do you know any technique to place a markup right in the middle (X
> > axis) of a DurationLine Grob? (or also a textspanner).
>
>
This will handle TextSpanners:

https://github.com/davidnalesnik/lilypond-text-spanner-inner-texts

Best,
David


Re: Openlilylib questions

2023-04-07 Thread Jean Abou Samra



> Le 7 avr. 2023 à 14:06, Andrew Bernard  a écrit :
> 
> Since handing over OLL I have lost track of processes. What is the 
> communications platform for queries and discussions now?


I don’t think anything has been set up to replace your Discourse server, but 
GitHub issues are still there.


> And are we in fact still open for business?

What does that mean in practical terms?





Re: Line numbering in Frescobaldi editor

2023-04-07 Thread Andrew Bernard
Oh thank you. I had the false impression it was a property of the editor 
preferences.


Andrew


On 7/04/2023 10:03 pm, Jun Tamura wrote:

I think that’s “Line Numbers” under “View” menu




Openlilylib questions

2023-04-07 Thread Andrew Bernard
Since handing over OLL I have lost track of processes. What is the 
communications platform for queries and discussions now? And are we in 
fact still open for business? I need to submit a pull request to add 
some code for my slash stem functions which somehow never made it in.


Andrew





Re: Line numbering in Frescobaldi editor

2023-04-07 Thread Jun Tamura
I think that’s “Line Numbers” under “View” menu.
Jun

> 2023/04/07 20:58、Andrew Bernard のメール:
> 
> Coming back to Frescobaldi after a very long time not using it, I thought you 
> can get the editor to show line numbers down the side. Am I completely 
> imagining this?
> 
> Andrew
> 
> 
> 




Line numbering in Frescobaldi editor

2023-04-07 Thread Andrew Bernard
Coming back to Frescobaldi after a very long time not using it, I 
thought you can get the editor to show line numbers down the side. Am I 
completely imagining this?


Andrew





Re: MIDI, dynamics and expression

2023-04-07 Thread Dario Marrini
Hi lilypond people,
I tried adding these :

midiMinimumVolume = #0.05
midiMaximumVolume = #0.95

but I got no so different results; at this point, I should know how to set
a specific output volume to a specific dynamic signs; even because I don't
know default values

regards

Il giorno ven 7 apr 2023 alle ore 10:14 Dario Marrini <
dario.marr...@gmail.com> ha scritto:

> Hi lilypond people,
> I'm trying to understand how all this works; there is a short code file as
> attachment, with midi and pdf ones;  I tried to use dynamics and other
> signs, but the difference on sound between signed (with 'p' and others
> signs) and not signed notes it's quite not hearable; I found in docs
> instructions about how to modify the output level of each midi instrument ,
> and the same about output level of applied signs; every time docs refers to
> a scm/midi.scm file, for default settings, but I can't understand its
> values; I need to know what defaults settings are, for trying to manage
> them. Any help about is very appreciated
>
> regards
>
> dario m.
>
>
>


MIDI, dynamics and expression

2023-04-07 Thread Dario Marrini
Hi lilypond people,
I'm trying to understand how all this works; there is a short code file as
attachment, with midi and pdf ones;  I tried to use dynamics and other
signs, but the difference on sound between signed (with 'p' and others
signs) and not signed notes it's quite not hearable; I found in docs
instructions about how to modify the output level of each midi instrument ,
and the same about output level of applied signs; every time docs refers to
a scm/midi.scm file, for default settings, but I can't understand its
values; I need to know what defaults settings are, for trying to manage
them. Any help about is very appreciated

regards

dario m.


legature_e_dinamiche.midi
Description: MIDI audio
\version "2.24.1"

global = {
  \key c \major
  \time 4/4
  \tempo "Allegro" 4=128
}

violin = \relative c' {
  \global
  % Qui segue la musica.
  c4 d8 e f g a b c4 b8 a g f e d
  c4\p\cresc\( d8 e f g a b\) c4\f\dim b8 a g f e d 
  c4\p\cresc\( d8 e\) f\( g a b\) c4\ff\dim b8 a g f e d\! 
  c2 r
}

\score {
  \new Staff \with {
instrumentName = "Violino"
midiInstrument = "string ensemble 1"
  } \violin
  \layout { }
  \midi {
\tempo 4=128
  }
}


legature_e_dinamiche.pdf
Description: Adobe PDF document


movement in markups like TeX's `em` and `ex` units

2023-04-07 Thread Werner LEMBERG

Consider the following snippet:

```
Emaj = \markup { E \raise #1 maj }

\markup \Emaj

\markup \fontsize #10 \Emaj
```

As can be seen, `\raise #1` is not the right value in the second case.
What I would like to have instead is an equivalent to TeX's relative
units `em` and `ex`, being multiples of the width of glyph 'm' and the
height of glyph 'x', respectively (HTML/CSS has that too, BTW).

How can I do that in LilyPond?  I could imagine code like

```
Emaj = \markup { E \raise #(* 1 ex) maj }
```

In other words, font-related command like `\fontsize` could set up
markup-wide entities `ex` and `em` that can be used for offsets
depending the current (scaled) font dimensions.

Or maybe

```
Emaj = \markup { E \raise #(ex 1) maj }
```

where function `ex` examines the current font and gets the 'ex' value?
Ditto for a function `em`.


Werner


Re: Markup in the middle of a spanner

2023-04-07 Thread Andrew Bernard
Others will shortly come in with a formal Scheme solution but I just use 
markup text with a whiteout background and manually offset it to be in 
the middle of the spanner. No good when things shift, but does the job.


I thought there used to be a technique for this in the Lilypond Snippet 
Repository but I can't find it just now.


Andrew


On 7/04/2023 4:18 pm, Rip _Mus wrote:
do you know any technique to place a markup right in the middle (X 
axis) of a DurationLine Grob? (or also a textspanner).




Markup in the middle of a spanner

2023-04-07 Thread Rip _Mus
Hello,
do you know any technique to place a markup right in the middle (X axis) of
a DurationLine Grob? (or also a textspanner).

Thank you

Rip_mus