[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [SPAM] Re: Transcribing individual score pages from scans

From: Urs Liska
Subject: Re: [SPAM] Re: Transcribing individual score pages from scans
Date: Mon, 12 May 2014 17:46:52 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

Am 12.05.2014 17:37, schrieb David Cuenca:
Hi Federico,

What I need is the ability to generate score in two view modes: each page
individually, or all pages together.

Imagine the use case. A user works page scan by page scan to make the
lilypond engraving look exactly like it was originally published (possible
already). Then they want to visualize all pages together (possible but only
as images, one after the other), and finally they want to download a single
.ly file or to render a typeset pdf, or generate a midi file from all the
pages together (not possible).

Yes, with the mediawiki extension we already can put all pages together
(see [1], if you hover your mouse over the small number on the left you
will see that is composed of two pages "100", "101"). When you click on
that number you go to the page view of either one, and  if you click edit
you will see the lilypond source of the corresponding page. But to
associate several independent pages as a bundle (for rendering, download,
or midi generation), that doesn't work.

 From our side we are considering each page as an individual independent
file. It was suggested by Urs to use one variable for each page, and then
render them either individually (when the user is in page view) or all
together (when the user request a download of the whole book/score).
However, lilypond is running in safe mode, thus variables are not

I hope I have better explained the problem now... any ideas about how to

What I haven't fully understood yet is how your users are entering content. Do they have an input field on a web page that they submit?

Then I'd repeat my suggestion. Let them enter parts of the content one by one, presumably providing them with user interface elements to define exactly what they are meaning (e.g. "the violin part for page 3"). If you can't use variables in LilyPond's safe mode then you might want to preprocess this input with a server side script. That is: store all fragments in individual text files with LilyPond variables, and before passing anything to LilyPond let some script generate a "flat" LilyPond file without variables.


If you want to dig deeper you can take a look to our Extension:Proofread
Page [2] which manages transclusion. And if you'd like to go even a step
further and have a test environment, it is easy to set up a virtual machine
with Vagrant [3].



On Mon, May 12, 2014 at 4:53 PM, Federico Bruni <address@hidden> wrote:

Hi David

I haven't totally understood what you need, but it seems to me that what
you are looking for should be achieved by the Mediawiki extension, not by

2014-05-09 13:21 GMT+02:00 David Cuenca <address@hidden>:

Hi Urs,

unfortunately we cannot work with files, nor variables. The only thing we
can do is to join text inputs. What we are after is a way to append the
source texts that generate individual pages and generate a valid lilypond
input just by adding a header/footer.

Is that possible?


On Fri, May 9, 2014 at 12:31 PM, Urs Liska <address@hidden> wrote:

Am 09.05.2014 12:26, schrieb Urs Liska:

  Am 09.05.2014 12:16, schrieb David Cuenca:


I'm a contributor from Wikisource, an online digital library part of
Wikimedia Foundation, where we transcribe works in the public domain.
last year we have enabled a mediawiki extension to render scores [1],
now enables our users to transcribe pages with music like these [2] [3]

Of course that is great when a work is only one page long, but for us
becomes problematic to stitch together all the different pages into a
single one (what we call "transclusion").
Some users are just considering each page independent, but that doesn't
allow us to generate a whole lilypond file for download. For instance
this Catalan song [4], if you click on "edit" you will see that we are
combining two pages [5] and [6], where the text resides.

What we would like is to combine these pages to generate the lilypond
I have been checking the input structure documentation [7] and I found
"\book" and "\bookpart", but I didn't see anything like "\bookpage".
Is there any command that would help us to achieve the page separation
we need?

If I'm not mistaken that should be quite easy to achieve.
You can organize LilyPond input in variables, and you can combine those
variables to larger units. That is, you don't use variables only to
store the different parts in a score, but you can also separate
different sections of it.

I'm not completely sure if that fits your use case, but you may have a
start with something like:

violinPageI = ŗelative c'' {
% some music

violinPageII = ŗelative c'' {
% some music

violinMusic = {

\score {
    \new Staff \violinMusic

With this you can as well create alternative scores for individual pages
if you like.

Does that sound plausible?


Oh, I've already a few additional remarks that I forgot.

Of course you will want to store the variables in individual files and
include them.

If you have spanners reaching from one variable to another (e.g. slurs)
you will have to enclose the variables in an explicitly created voice:

violinMusic = \new Voice {
% ...


lilypond-user mailing list

Etiamsi omnes, ego non

lilypond-user mailing list

lilypond-user mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]