On 3/29/2023 11:57 PM, Jean Abou Samra wrote:
These "-1" suffices are messing with my URLs for the SVG files,
so I'd appreciate any ideas on how to get rid of them. Thx.
They are there for good reason. If any of your |\book|s got output on
multiple pages, there would indeed be multiple files output.
Understood, but, like midi, the first file could (should) still have
been un-suffixed.
And the current mismatch between layout files and midi files is a good
reason for the opposite:
Consider this MWE named MidiMismatch.ly that generates pairs of svg and
midi files:
\version "2.24.1"
#(ly:set-option 'backend 'cairo)
#(ly:set-option 'separate-page-formats 'svg)
#(ly:set-option 'use-paper-size-for-page #f)
#(ly:set-option 'point-and-click #f)
\header { tagline = ##f }
\paper { print-page-number = ##f }
\score { { f' } \layout { } \midi { } }
\pageBreak
\score { { a' } \layout { } \midi { } }
\pageBreak
\score { { b' } \layout { } \midi { } }
The suffices of its generated svg files are **off by one** from the midi
files:
1 -rwxrwxrwx+ 1 J None 119 Mar 30 17:15 MidiMismatch.mid*
1 -rwxrwxrwx+ 1 J None 119 Mar 30 17:15 MidiMismatch-1.mid*
1 -rwxrwxrwx+ 1 J None 119 Mar 30 17:15 MidiMismatch-2.mid*
8 -rwxrwxrwx+ 1 J None 6496 Mar 30 17:15 MidiMismatch-1.svg*
8 -rwxrwxrwx+ 1 J None 6502 Mar 30 17:15 MidiMismatch-2.svg*
8 -rwxrwxrwx+ 1 J None 6510 Mar 30 17:15 MidiMismatch-3.svg*
By the way, in addition to simplifying automation (like lilypond-book),
The above example shows how this creates an automation nightmare.
having |-1.svg| even on the first page makes it possible to use both
|separate-page-formats| and |tall-page-formats| at the same time.
So I added "#(ly:set-option 'tall-page-formats 'svg)" to the example above
and it produced MidiMismatch.svg (with three scores) which is what I
assume you mean.
It had no effect on the off-by-one between midi and svg, of course.
Nevertheless, couldn't the suffixing algorithm in all cases still start with
the un-suffixed named and add suffices only to resolve actual collisions?
Removing the tall-page-formats line would then have begun with
MidiMismatch.svg
matching MidiMismatch.mid (the note f') and all subsequent files would
also match.
And that would also have enabled bookOutputName in my original example
to have
complete control over the whole file name (with only one file per book).
As it stands, it seems I'd have to use techniques outside of lilypond,
as David W suggests, in order to correct the filenames. Is that what
you're implying?
Thx,
Jeff