Re: Schikkers List

2013-12-03 Thread Jan Nieuwenhuizen
Mark Knoop writes:

 There seems to be a bug - see attached screenshot. Key signatures are
 inserted always as if in treble clef rather than appropriate to the
 selected clef.

Thanks!

Greetings, Jan

-- 
Jan Nieuwenhuizen jann...@gnu.org | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl  

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


Re: Other programming languages LilyPond

2013-12-03 Thread Curt

On Dec 2, 2013, at 3:07 PM, SoundsFromSound soundsfromso...@gmail.com wrote:

 Urs Liska wrote
 Am 02.12.2013 23:34, schrieb Curt:
 I've written perl scripts that generate lilypond snippets to include in
 Anki decks for self-study of jazz theory.  There's all kinds of crazy
 programming people can do with Lilypond.
 
 Curt
 
 How are Anki decks/cards stored, can they be somehow be edited in a 
 collaborative effort?
 I think this could also be a nice addition to the Learning Manual (or 
 independently).
 
 Urs
 
 
 Curt,
 I'm also interested in hearing more about Anki and your scripts!

Sure - 

Usually what I do is I write a perl script to run through several combinations 
of music theory concepts.  The script then generates the tiny lilypond 
snippet for that concept.  It will then open a more general lilypond template,
and substitute that snippet in to the appropriate place.  The lilypond is then
rendered to a small pdf file.  I also have other utilities to generate other
assets, like a small midi2mp3 script.

Through a combination of more scripts and shell commands, the assets
are bundled together with a CSV file (a row for each combination) that 
points to the appropriate media.

Collaboratively creating lilypond anki decks could be clunky.  You'd probably
be collaboratively editing the generating scripts themselves, and then be
building the decks from that, and then reimporting on top of your already
existing deck, which could be problematic.

So far I've created decks for:

- Guitar Fretboard training: the question draws a fretboard
with a circle and a question mark at the relevant note
position, the answer replaces the question mark with 
the note name and plays the pitch.  I want to expand
it to include accidentals.
- Jazz Closed Position Comping: this has questions like
where is the appropriate place to play dm7b5? and
then shows the notation and plays the chord (first 
inversion surrounding middle-C).  Closed root 
position only, so it's not very useful.  I'm hoping to 
write more decks for more useful comping styles.
- Jazz Astronomy, Major: this has questions like what 
is the best scale to play against F7 in A major?
Answer: it's a flat-2 of V, so play C melodic minor
starting on F.  Several styles of cards that play pitches
and scales and show notation and chord symbols.
This deck has over 2500 cards, and I want to supplement 
it with minor keys.

I've had multiple requests to make the decks available, and it
really is on my list - I just need to clean some things up first.  :)

Curt




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


Re: Other programming languages LilyPond

2013-12-03 Thread Urs Liska

Am 03.12.2013 09:35, schrieb Curt:

Collaboratively creating lilypond anki decks could be clunky.  You'd probably
be collaboratively editing the generating scripts themselves, and then be
building the decks from that, and then reimporting on top of your already
existing deck, which could be problematic.


Hmmm.
In which form are decks and cards stored on disk with Anki?

Urs

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


Hook like \AtEndDocument

2013-12-03 Thread Urs Liska

Hi all,

is there a way to hook into the compilation process that allows me to do 
something when all parsing has been done?


Concretely I want to use a Scheme function to collect information during 
the parsing (something like a log) and want to output this in sorted 
form to an external file.


I see two ways to accompish this:

a) write the log to an internal structure, then at the end sort it and 
write it to the file

b) write it to the file immediately and call an external script at the end.

Both approaches (I strongly prefer a) because I'd prefer not to rely on 
an external script) would need a trigger (or listener?) that calls a 
function when everything has been parsed (or when the whole compilation 
process has been finished).
b) could be worked around by wrapping the lilypond call itself into a 
script, but as said I'd prefer a) anyway.


Any ideas?

Thanks
Urs

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


Re: Other programming languages LilyPond

2013-12-03 Thread David Kastrup
Vaughan McAlley vaug...@mcalley.net.au writes:

 On 3 December 2013 13:18, PMA peterarmstr...@aya.yale.edu wrote:
 I program in J almost exclusively, since the pursuit of my brainstorms
 (music-bound or not) tends to favor handy ad-hoc number crunching.

 +1 but with Lua. I’ve done some useful things.

 Alternatives are Frescobaldi snippets if you know Python, and you can
 do a lot with regexes, which is a side-effect of Lilypond’s text file
 format.

 David Kastrup wrote:
Scheme _is_ its scripting language.  There is some Lua branch in
GuileV2, but it's unclear when it will be production quality, unclear
when LilyPond will run on GuileV2, and unclear whether both efforts
could be combined.

 That looks really interesting—I’d probably do all sorts of stuff. But
 then Lilypond would become a Frankenstein’s monster of extensions in
 different languages. So I should probably just learn Scheme.

 Incidentally, when I first arrived on the Lilypond mailing list, I
 recognized David Kastrup from the Lua mailing list. So he does know
 Lua quite well, even if he keeps it quiet :-)

We've had discussions a few years ago where I did a number of
comparisons.  Lua is very nice and has some quite endearing traits as an
extension language.  What I consider probably its best feature is its
lack of choices.  It has a single data structure implemented
efficiently.  It has a single numeric type.  Instead of symbols and
strings it has a single chimera with traits of both: interned strings
(actually, as opposed to those of LISP, Guile symbols are pretty much
just an interned string as well, but one does not want to use them for
string processing as they are not tuned for that).

So whenever the question comes up how do we map our user language to
Lua data structures, there is usually just a single sensible answer
instead of several different tradeoffs.

Now LilyPond works a lot with exact fractions, and teaching that to the
number type of Lua is not going to be funny.

But Lua falls down in a few areas: it is not a functional language, and
LilyPond juggles in and out of Scheme all the time for _expressions_.

And it doesn't support template/macro-like manipulation of its parse
trees like Scheme does, since everything in Scheme is transparently a
list.

I've actually used Lua for writing LilyPond code.  Nowadays I wouldn't,
really.  Scheme is a bit less convenient for scripting, so if I had the
option to write LilyPond code with a standalone Scheme interpreter and a
standalone Lua interpreter, it would likely be a tie.  But LilyPond's
Scheme knows about music.

-- 
David Kastrup

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


Re: Another time model (related to the usability thread)

2013-12-03 Thread David Kastrup
Kieren MacMillan kieren_macmil...@sympatico.ca writes:

 Hi James (et al.),

 If you insert a bar, you'd have to change R1*32 to R1*33 by hand. Or, if you
 change the 10th out of the 32 bars into a 3/4 measure, I believe you would
 then have to change R1*32 to R1*9 R2. R1*22 -- highly error prone.

 \pushToTag was designed (by David K, and paid for in part by a bounty
 from me) to solve exactly that problem.
 Now all one needs is a function to take skips (e.g., from a global
 variable) and turn them into multi-measure-rests — which is probably
 relatively easy to do — and there's no more problem.  =)

You mean like

\applyMusic \mmrest-of-length { s1*20 }

?

-- 
David Kastrup

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


Re: Another time model (related to the usability thread)

2013-12-03 Thread Keith OHara

On Mon, 02 Dec 2013 22:56:49 -0800, Kieren MacMillan 
kieren_macmil...@sympatico.ca wrote:


Instead of specifying an offset from a rehearsal mark, maybe simpler to
have an independent type of marker to put in the \global stream.  Then
the entries of the parts are visible all at once in \global
global = { R1*32 \markA R1*30 \markervln34 R1*18 \markB }


In what way does \pushToTag not do this already?


It took a while to figure out the documentation, but maybe \pushToTag would work.  It seems 
that, instead of each instrument part being put in a parallel construct 
with global sequence containing the timing and marks (which I always call \conductor) the 
instrument part is a *copy* of \conductor, into which we *push* the music for that 
instrument at the appropriate places.

So far I've seen just two problems.

The tag, at the place where we want a section of music from some instrument, 
needs to mark a parallel music construction that is at least as long as the 
music to be added. (Otherwise the result of \pushToTag is longer than the 
\conductor part, ruining the synchronization)  When the instruments enter 
simultaneously, the structure is simple.  But if they come in at overlapping 
times, I seem to need a nested parallel/sequential construction in order to 
give each part a parallel-music construction of sufficient length.   If there 
are a few parts using this mechanism, it will get a bit complicated.

I do not see a way to get the multimeasure rests into the parts.  There are no 
skips of the proper length in the result of \pushToTag; instead the music is in 
parallel with longer, overlapping, skips.

But, I can change the length of skips in \conductor and the music moves to 
different bars as desired.  I will not be pursuing this technique, unless there 
is a way to avoid the confusing parallel music constructions.

\version 2.16.1 % Intro to Dvorak opus 95, HornII and Timpani only
conductor = \relative c {
  \set Score.markFormatter = #format-mark-box-barnumbers
  \time 4/4
  \tag #'score \tempo Adagio 4 = 63
  s1*9
  \tag #'tp1 \tag #'hn1  s1*9 
  \tag #'hn2  { s1*2
 \tag #'tp2  s1*3  } 
  \mark\default
  \bar||
  \time 2/4
  \tag#'score \tempo Allegro Molto 4 = 136
  s2*15
  \mark\default
}

hornII = \new Voice 
  \compressFullBarRests
  R1^\markupin E
  \transposition e
  \pushToTag #'hn1 \relative c'' {
r8..  d32\ff d2 r4 |
r8.. d32 d2 r4 |
r8.. d32 d8. r16 r8.. d32 d8. r16 |
  }
  \pushToTag #'hn2 \relative c'' {
d,16\f r8. r4 d16 r8. r4 |
d16 r8. r4 d16 r8. r4 |
c16 r8. r4 r4 r16 c'-. c-. c-. |
c16 r8. b16 r8. r2 |
  } \conductor 

timpani = {
  \clef bass
  \compressFullBarRests
  \pushToTag #'tp1 {
r16 a32\ a a16\ff r16 r4 r2 |
r16 a32\ a a16\sfz r16 r4 r2 |
r16 a32 a a16 r16 r4 r16 a32 a a16 r16 r4
  }
  \pushToTag #'tp2 \relative c {
r8 e16\mf\ e e e e e  e2*7/8\startTrillSpan s16\stopTrillSpan
r8\! e\sfz r b\sfz\ b2\startTrillSpan
b4\stopTrillSpan\p r r2
  } \conductor }

\score { 
 \new Staff \hornII
 \new Staff \timpani  }

\timpani
\hornII


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


Re: Hook like \AtEndDocument

2013-12-03 Thread David Kastrup
Urs Liska u...@openlilylib.org writes:

 Hi all,

 is there a way to hook into the compilation process that allows me to
 do something when all parsing has been done?

 Concretely I want to use a Scheme function to collect information
 during the parsing (something like a log) and want to output this in
 sorted form to an external file.

 I see two ways to accompish this:

 a) write the log to an internal structure, then at the end sort it and
 write it to the file
 b) write it to the file immediately and call an external script at the end.

 Both approaches (I strongly prefer a) because I'd prefer not to rely
 on an external script) would need a trigger (or listener?) that calls
 a function when everything has been parsed (or when the whole
 compilation process has been finished).
 b) could be worked around by wrapping the lilypond call itself into a
 script, but as said I'd prefer a) anyway.

 Any ideas?

Check out URL:http://lsr.dsi.unimi.it/LSR/Item?id=630.  It's not clear
to me why this is not in
URL:http://lilypond.org/doc/v2.16/Documentation/snippets/ since it is
in the LilyPond tree under Documentation/snippets and it seems sort of
pointless to maintain it there without making it available.

Bug?

-- 
David Kastrup

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


Is this ugly?

2013-12-03 Thread Karol Majewski
\version 2.17.96

{
 a'8 ( b'4. ) r2
}

Look at the slur. It goes through stem and flag. Shouldn't it start above the 
stem? Not sure...

Karol

attachment: slur.png___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: improving LilyPond useability

2013-12-03 Thread David Kastrup
Renato renn...@gmail.com writes:

 On Mon, 2 Dec 2013 18:14:52 -
 Phil Burfitt phil.burf...@talktalk.net wrote:

 you don't really get around these programs without reading docs
 (and you shouldn't try to make it easy).
 
 I disagree with you shouldn't try to make it easy.

 what I meant was you shouldn't try to make it easy to get around
 fiddling with the program without reading the docs, i.e. you shouldn't
 try to encourage not reading the docs

Why?  I find nothing wrong with things that work as expected as much as
possible.  It is not a sign of good design if naive expectations turn
out wrong again and again.  The purpose of LilyPond is typesetting
music, not a puzzle game.  As it is a language composed of arbitrary
letters on the keyboard, one needs something to start off, true.  An
environment with default templates or a sample document/run-through at
least gives the user enough of a clue to know when he needs to look at
more stuff or can try figuring out something by himself.

But when he _does_ try figuring out something by himself, then it's nice
if at least some things work out as expected instead of failing for
obscure technical reasons.

There is no point in exhausting the tolerance levels of the user just
for kicks.  Learning stuff must have proportional rewards, or at some
point people stop.

And that means we need a user experience where you are not stuck for
days in the docs before getting out your first notes.

-- 
David Kastrup

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


Denemo-feedback

2013-12-03 Thread Richard Shann
On Tue, 2013-12-03 at 01:20 +0100, Noeck wrote:
  But the feedback I get about Denemo is almost entirely positive - those
  who find it unusable just quietly switch to something else, out of
  politeness I guess. Most unhelpful!
 
 Hi Richard,
 
 several times now, I looked at Denemo (about twice a year for the last 4
 years). So I can only share a first impression. As background info: I
 probably always will prefer text input and I like Frescobaldi very much.
 But I think that a GUI is definitely needed for the average musician. My
 approach: A GUI program should be self explaining - I did not read the
 manual. Denemo version 0.9.2 (latest ubuntu).

sigh!, that is just over two years out of date. Like LilyPond we have
now started posting binaries for GNU/Linux on our website. I was using
ancient LilyPond versions until I finally posted to the LilyPond bug
list and got told about not depending on my distro for a LilyPond
installer. Is there anything we can do to alert people who would not
want to be using ancient versions if only they knew?

 
 You asked for feedback, so here is my first impression (+ positive, - neg.):
 
 Note entry:
 - So I open Denemo and I get asked about the input method (for most of
 them I don't know what they mean). I chose simple (this takes minutes,
 if I choose Lilypond, it hangs completely), but I am not intelligent
 enough to directly figure out how it works. I can enter notes with the
 mouse and hitting enter. Why can't I just click? The different cursors
 (for pitch and time-position) and their colours confuse me, why not one?
 I would find it more intuitive if I could click on a note to change it
 and between notes to insert something.

Here, it is difficult to respond. So much has changed and I only have
hazy recollections of what the program was like then... I think all of
those things are long fixed.


 + If I click on a note, it gets marked and I can add articulations,
 that's nice. Delete, arrows, etc. work as expected. I can change clefs
 and the key by clicking on them, that's good.
 
 - I can not click on the barlines, barnumbers, slurs, beams,
 clef-changes to edit them

This remains true, except that nowadays you can click on slurs and other
things in the final typeset and do things to them there. I think of the
clicking with the mouse to do things as just something that gets people
started, for serious use I expect people to use the keyboard, as it is
quicker. 
(Perhaps I should add that for historical reasons, making things like
barlines, trills, etc. clickable is comparatively hard - the display is
still largely just a drawing as it was in 1999 (?) when the program was
created).

 
 - I can add a slur, but it is not shown where I selected the notes but
 half a measure later.

??? sounds bizarre

 
 - I thought, maybe I can move things (thats where a GUI could be
 advantageous over the text input), but dragging does not work

This is a GUI not a WYSIWYG display. That is, what you see is what you
mean, you can see what music you have entered, but not what the LilyPond
will typeset to look like. And that is, of course, absolutely
fundamental, and is why Denemo is unusual. You are trading WYSIWYG for
quality of typesetting - if you typeset as you enter the music either
you have to wait a long time between each keystroke or you have to put
up with poor typesetting which needs manual adjustments.

 
 Look:
 - Why don't you use Fetafont symbols for the buttons and for objects
 (like the time signature)? It would look much nicer.

a good idea - I think they have been creeping in over the last couple of
years.

 
 - I see a tilde ~ in front of each duration button symbol.
 
 - The ~. symbol has no effect
 
 - It also would make a better impression, if there were lots of toolbars
 (not that I like it, but I would give the impression that this is a
 powerful tool)

I think all that is ancient history now.

 
 - There are so many menu items that I can only see 2 letters of each
 menu item. So I can only guess what's behind.

??? menus have been shortened (and deepened) a couple of times ... now
we have a searchable command center; we cannot add every LilyPond
feature into a hierarchical menu system.


 
 - The score 'preview' is very far from Lilyponds good quality, that
 reduces the fun factor (compared to Frescobaldi, where I see nice scores
 while working)

On faster machines the LilyPond typeset can keep up (especially if you
set it to typeset just a portion of the score). This feature did get
announced on the LilyPond list.

 
 - Everytime I insert a new note, I hear a very strange sound (like
 broken speakers) but that's perhaps a linux-only-problem.

Well, it is more specific than that, Denemo is mostly tested on
GNU/Linux systems, but sound systems vary and I think they can require
you to adjust the preferences - I certainly came across one case where
someone had changed the sample rate (because they thought it would
improve things) and the resultant mis-match 

Re: Is this ugly?

2013-12-03 Thread Janek Warchoł
2013/12/3 Karol Majewski karo...@wp.pl:
 \version 2.17.96

 {
  a'8 ( b'4. ) r2
 }

 Look at the slur. It goes through stem and flag. Shouldn't it start above the 
 stem? Not sure..

Imo this is ugly, but i'm not sure how it should look like...
Janek

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


Re: improving LilyPond useability

2013-12-03 Thread renato
On Tue, 03 Dec 2013 10:01:30 +0100
David Kastrup d...@gnu.org wrote:

 Renato renn...@gmail.com writes:
 
  On Mon, 2 Dec 2013 18:14:52 -
  Phil Burfitt phil.burf...@talktalk.net wrote:
 
  you don't really get around these programs without reading docs
  (and you shouldn't try to make it easy).
  
  I disagree with you shouldn't try to make it easy.
 
  what I meant was you shouldn't try to make it easy to get around
  fiddling with the program without reading the docs, i.e. you
  shouldn't try to encourage not reading the docs
 
 Why?  I find nothing wrong with things that work as expected as much
 as possible.  It is not a sign of good design if naive expectations
 turn out wrong again and again.  The purpose of LilyPond is
 typesetting music, not a puzzle game.  As it is a language composed
 of arbitrary letters on the keyboard, one needs something to start
 off, true.  An environment with default templates or a sample
 document/run-through at least gives the user enough of a clue to know
 when he needs to look at more stuff or can try figuring out something
 by himself.
 
 But when he _does_ try figuring out something by himself, then it's
 nice if at least some things work out as expected instead of failing
 for obscure technical reasons.
 
 There is no point in exhausting the tolerance levels of the user just
 for kicks.  Learning stuff must have proportional rewards, or at some
 point people stop.
 
 And that means we need a user experience where you are not stuck for
 days in the docs before getting out your first notes.
 


Hi, I feel like you misinterpreted what I'm saying. All the things you
say are good of course: sensible syntax, good getting started
documentation, templates, not exhausting the user. I'm not saying you
should purposefully make lilypond obscure, just saying that you should
not encourage people not reading the docs, i.e. hiding complexity. I
feel that many WYSYWIG editors try to make complex things easy, and
that's usually impossible by definition, so you end up sacrificing
flexibility for the sake of making a good impression on users. I
would like if lilypond never went down that path. 

But that's just my opinion, I'm not a developer nor a professional
(not even amateur) musical typesetter, so I'll just shup up now :=)

cheers,
renato


signature.asc
Description: PGP signature
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: improving LilyPond useability

2013-12-03 Thread Phil Burfitt

From: Renato renn...@gmail.com
Sent: Monday, December 02, 2013 11:54 PM



Phil Burfitt phil.burf...@talktalk.net wrote:


you don't really get around these programs without reading docs
(and you shouldn't try to make it easy).

I disagree with you shouldn't try to make it easy.


what I meant was you shouldn't try to make it easy to get around
fiddling with the program without reading the docs, i.e. you shouldn't
try to encourage not reading the docs


Ok, I see what you mean. However I think a carrot is far better than a 
stick. Give the new user plenty to play with straight off. A read-me file 
with usage instructions, a mini tutorial and well chosen examples beyond 
just \relative c' { c d e f g a b c } will quickly wet their appetite. 
They'll soon be seeking out the docs with enthusiasm, and not begrudgingly.


Phil.



renato





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


Re: Is this ugly?

2013-12-03 Thread Urs Liska

Am 03.12.2013 10:30, schrieb Janek Warchoł:

2013/12/3 Karol Majewski karo...@wp.pl:

\version 2.17.96

{
  a'8 ( b'4. ) r2
}

Look at the slur. It goes through stem and flag. Shouldn't it start above the 
stem? Not sure..

Imo this is ugly, but i'm not sure how it should look like...
Janek

I don't _know_ either, but I think to become acceptable it would 
definitely need more horizontal space between.
If it would start above the stem it would probably look absurd too. 
Maybe start right to the notehead, possibly below the flag. But maybe it 
would look acceptable going through the flag but not through the stem at 
the same time.


???
Urs

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


Re: Other programming languages LilyPond

2013-12-03 Thread Henning Hraban Ramm

Am 2013-12-03 um 14:42 schrieb Urs Liska u...@openlilylib.org:

 Am 03.12.2013 09:35, schrieb Curt:
 Collaboratively creating lilypond anki decks could be clunky.  You'd probably
 be collaboratively editing the generating scripts themselves, and then be
 building the decks from that, and then reimporting on top of your already
 existing deck, which could be problematic.
 
 Hmmm.
 In which form are decks and cards stored on disk with Anki?

A small file tree with several SQLite dbs:

Anki
├── Hraban
│   ├── backups
│   │   ├── backup-13.apkg
│   │   ├── backup-14.apkg
│   │   ├── backup-15.apkg
│   │   └── backup-42.apkg
│   ├── collection.anki2
│   ├── collection.log
│   ├── collection.media
│   ├── collection.media.db
│   └── deleted.txt
├── README.txt
├── addons
└── prefs.db





Greetlings, Hraban
---
fiëé visuëlle
Henning Hraban Ramm
http://www.fiee.net
http://angerweit.tikon.ch/lieder/
https://www.cacert.org (I'm an assurer)





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


Re: Hook like \AtEndDocument

2013-12-03 Thread Urs Liska

Am 03.12.2013 10:16, schrieb David Kastrup:

Urs Liska u...@openlilylib.org writes:


Hi all,

is there a way to hook into the compilation process that allows me to
do something when all parsing has been done?

Concretely I want to use a Scheme function to collect information
during the parsing (something like a log) and want to output this in
sorted form to an external file.

I see two ways to accompish this:

a) write the log to an internal structure, then at the end sort it and
write it to the file
b) write it to the file immediately and call an external script at the end.

Both approaches (I strongly prefer a) because I'd prefer not to rely
on an external script) would need a trigger (or listener?) that calls
a function when everything has been parsed (or when the whole
compilation process has been finished).
b) could be worked around by wrapping the lilypond call itself into a
script, but as said I'd prefer a) anyway.

Any ideas?

Check out URL:http://lsr.dsi.unimi.it/LSR/Item?id=630.


OK, trying to digest this.
Do I get this  right when I say:

- write a function annotate to be used in the main input file.
  This function saves some information (say location plus a comment) to 
an internal

  structure that is defined public.
- use this function in the input files to annotate items in the score
- write another function process-annotations.
  This function uses the technique described in the snippet to make a new
  score from itself which will then be processed after the current 
score has been finished.
  This new score contains a function that can read the data from the 
previously defined

  data structure from the original annotate function.
  (Or alternatively this new score doesn't do more than calling an 
external script when
  annotate would have written everything to a temporary file 
immediately.)

?

Urs


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


Re: Other programming languages LilyPond

2013-12-03 Thread Johan Vromans
Curt accou...@museworld.com writes:

 I've written perl scripts that generate lilypond snippets to include in 
 Anki decks for self-study of jazz theory.

Share! Share!

(both the tools and the decks)

Please...

-- Johan

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


Re: Other programming languages LilyPond

2013-12-03 Thread Urs Liska

Am 03.12.2013 11:12, schrieb Henning Hraban Ramm:

Am 2013-12-03 um 14:42 schrieb Urs Liska u...@openlilylib.org:


Am 03.12.2013 09:35, schrieb Curt:

Collaboratively creating lilypond anki decks could be clunky.  You'd probably
be collaboratively editing the generating scripts themselves, and then be
building the decks from that, and then reimporting on top of your already
existing deck, which could be problematic.


Hmmm.
In which form are decks and cards stored on disk with Anki?

A small file tree with several SQLite dbs:

Anki
├── Hraban
│   ├── backups
│   │   ├── backup-13.apkg
│   │   ├── backup-14.apkg
│   │   ├── backup-15.apkg
│   │   └── backup-42.apkg
│   ├── collection.anki2
│   ├── collection.log
│   ├── collection.media
│   ├── collection.media.db
│   └── deleted.txt
├── README.txt
├── addons
└── prefs.db

Thanks for that explanation. So Anki decks aren't really accessible to 
version control, i.e. a Git repository.
AFAICS in order to maintain a deck collaboratively one would need a 
server application that interacts with the SQLite dbs.
Which is of course feasible (I think SQLite support is nearly anywhere), 
but would of course need considerable more effort than simply 
initializing a repo.

OTOH I could imagine there already exist working approaches.

No time to research, though :-(

Urs

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


Re: Other programming languages LilyPond

2013-12-03 Thread Johan Vromans
Urs Liska u...@openlilylib.org writes:

 How are Anki decks/cards stored, can they be somehow be edited in a
 collaborative effort?

Anki stores in a SQLite database,but the decks/cards can be exported and
imported to/from other formats, e.g. CSV.

I know there is some work ongoing on collaborative maintaining of anki
decks but I don't know details.

-- Johan

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


Re: Other programming languages LilyPond

2013-12-03 Thread Urs Liska

Am 03.12.2013 11:23, schrieb Johan Vromans:

Urs Liska u...@openlilylib.org writes:


How are Anki decks/cards stored, can they be somehow be edited in a
collaborative effort?

Anki stores in a SQLite database,but the decks/cards can be exported and
imported to/from other formats, e.g. CSV.

I know there is some work ongoing on collaborative maintaining of anki
decks but I don't know details.

I think this could be a nice thing to have. An evolving Anki deck would 
also be useful for users with considerable experience.
Are you aware that there is a project to integrate LilyPond directly 
into Anki?

https://github.com/frostschutz/Anki-LilyPond

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


Re: improving LilyPond useability

2013-12-03 Thread David Kastrup
renato renn...@gmail.com writes:

 Hi, I feel like you misinterpreted what I'm saying. All the things you
 say are good of course: sensible syntax, good getting started
 documentation, templates, not exhausting the user. I'm not saying you
 should purposefully make lilypond obscure, just saying that you should
 not encourage people not reading the docs, i.e. hiding complexity.

I come not to hide complexity but to abolish it.

 I feel that many WYSYWIG editors try to make complex things easy, and
 that's usually impossible by definition,

No, it isn't.  The definition of complex is

From The Collaborative International Dictionary of English v.0.48 [gcide]:

  Complex \Complex\ (k[o^]mpl[e^]ks), a. [L. complexus, p. p. of
 complecti to entwine around, comprise; com- + plectere to
 twist, akin to plicare to fold. See {Plait}, n.]
 1. Composed of two or more parts; composite; not simple; as,
a complex being; a complex idea.
[1913 Webster]
  
  Ideas thus made up of several simple ones put
  together, I call complex; such as beauty, gratitude,
  a man, an army, the universe. --Locke.
[1913 Webster]
  
 2. Involving many parts; complicated; intricate.
[1913 Webster]
  
  When the actual motions of the heavens are
  calculated in the best possible way, the process is
  difficult and complex.--Whewell.
[1913 Webster]
  
 {Complex fraction}. See {Fraction}.
  
 {Complex number} (Math.), in the theory of numbers, an
expression of the form a + b[root]-1, when a and b are
ordinary integers.
  
 Syn: See {Intricate}.
  [1913 Webster]


The main thing to note here is involving many parts.  The art to
mastering complexity is then to have the complexity of a solution
cleanly decompose into simpler parts, with a large preference to have
this decomposition occur along the same lines that would be used to
break the complexity of the _problem_ into parts.

Here is some feature/trick which you can use for tackling an actually
dissimilar problem may save your ass sometimes, but if you save too
many asses, feeding and accommodation may become problematic.

Programmers are a bit like mathematicians at heart: if a problem has a
demonstrable solution, it is no longer interesting and they move on.

Which is bad: a proof of concept is not a substitute for a concept.

 so you end up sacrificing flexibility for the sake of making a good
 impression on users. I would like if lilypond never went down that
 path.

Oh, LilyPond is a dragon anyway.  But there is a difference between a
lazy spiteful steed that will only work given no alternatives, and one
that is one with its rider and eager to soar the skies in a union of
minds.

Yes, there will always be a beware of the dragon warning to heed.  But
in the end, the thing we are aiming for is enjoy the power of the
dragon and become one with it.

 But that's just my opinion, I'm not a developer nor a professional
 (not even amateur) musical typesetter, so I'll just shup up now :=)

Your opinion is, of course, not wrong as such.  But it can benefit from
some seasoning.

-- 
David Kastrup

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


Re: Hook like \AtEndDocument

2013-12-03 Thread Jan-Peter Voigt
Hi Urs,

Am 03.12.2013 11:12, schrieb Urs Liska:
 OK, trying to digest this.
 Do I get this  right when I say:
 
 - write a function annotate to be used in the main input file.
   This function saves some information (say location plus a comment) to
 an internal
   structure that is defined public.
yes

 - use this function in the input files to annotate items in the score
yes

 - write another function process-annotations.
   This function uses the technique described in the snippet to make a new
   score from itself which will then be processed after the current score
 has been finished.
   This new score contains a function that can read the data from the
 previously defined
   data structure from the original annotate function.
this would be an engraver placed in the score context, that does this
processing inside the finalize slot.

If you look in edition.scm lines 480 following in my lalily project,
you find an annotation engraver, that does it this way. There is a music
function \todo short description that inserts the annotation in
the music as a TextScript with an annotation properties, which is
fetched by the engraver.
At the bottom of the file, you can place
\markuplist \annolist
to display the annotations in the pdf.
And there is also a *-todo.log file created.
Just a this-is-how-I-didit ;)

Best, Jan-Peter


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


Re: Is this ugly?

2013-12-03 Thread Martin Tarenskeen



On Tue, 3 Dec 2013, Urs Liska wrote:


Am 03.12.2013 10:30, schrieb Janek Warchoł:

2013/12/3 Karol Majewski karo...@wp.pl:

\version 2.17.96

{
  a'8 ( b'4. ) r2
}

Look at the slur. It goes through stem and flag. Shouldn't it start above 

the stem? Not sure..

Imo this is ugly, but i'm not sure how it should look like...
Janek

I don't _know_ either, but I think to become acceptable it would 
definitely need more horizontal space between.


Don't know if it is a good solution, but would it be possible for LilyPond 
to not really avoid similar collisions, but by creating small gaps in a 
slur or tie where it crosses other objects like stems and beams?


I remember I have seen something like that in (probably) an older 
hand-engraved score. I will try to find the example in my books, or create 
an example with some graphics editing.


--

MT___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Is this ugly?

2013-12-03 Thread Mike Solomon

On Dec 3, 2013, at 12:42 PM, Martin Tarenskeen m.tarensk...@zonnet.nl wrote:

 
 
 On Tue, 3 Dec 2013, Urs Liska wrote:
 
 Am 03.12.2013 10:30, schrieb Janek Warchoł:
 2013/12/3 Karol Majewski karo...@wp.pl:
 \version 2.17.96
 
 {
  a'8 ( b'4. ) r2
 }
 
 Look at the slur. It goes through stem and flag. Shouldn't it start above 
 the stem? Not sure..
 Imo this is ugly, but i'm not sure how it should look like...
 Janek
 
 I don't _know_ either, but I think to become acceptable it would definitely 
 need more horizontal space between.
 
 Don't know if it is a good solution, but would it be possible for LilyPond to 
 not really avoid similar collisions, but by creating small gaps in a slur or 
 tie where it crosses other objects like stems and beams?
 
 I remember I have seen something like that in (probably) an older 
 hand-engraved score. I will try to find the example in my books, or create an 
 example with some graphics editing.

This’ll do the trick:

\relative c'' {
  \override Flag.whiteout = ##t
  \override Staff.StaffSymbol.layer = #5
  a8( b4.) r2 |
}


Cheers,
MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Is this ugly?

2013-12-03 Thread Karol Majewski
Elaine Gould gives the following answer:

When outer notes have opposite directions, move the slur at the stem end 
towards the noteheads so it does not tilt contrary to the direction of the 
pitches.

attachment: SP_A1251.jpg___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


RE: improving LilyPond useability

2013-12-03 Thread Mark Stephen Mrotek
Hello,

Since my practice and performance of Lilypond spans less than a year
(installed 21 May 2013), I might qualify to comment on the attractiveness
and/or accessibility of Lilypond to a newbie.

Preservation of a two-part invention written for an undergraduate course
(1967) in Baroque Music Practice was the impetus to diving into Lilypond
(pardon the pun). The web page offered everything that I needed to start;
basic tutorials, which really go somewhat beyond just basic, and several
text editors. I chose Frescobaldi. A comment was made that the drag and
drop instructions for the test leaves one hanging. Well, that may be true
for someone who does not peruse the tutorials or the manual readily
available on the web site.

Some criticism has been made about the length of the manual. I started with
an IBM PS2 (1982) using a non-graphical interface Microsoft Word. The
manual, if my addled memory is correct was somewhere around 300+ pages.
Other manuals (Aldus/Adobe PageMaker, PowerPoint, Excel, Windows) were at
least the same, or of greater length. I do not read manuals - that would be
like reading all of Proust at one sitting. My learning process is basically:
I want to do this, how do I do this, where is this in the manual (the
search provision is very helpful here), experiment with the command(s) in
the score, copy the successful command onto a cheat sheet with notation.

For those times at which I could not find a solution or I could not make the
selected command behave as I wanted, then someone from the Users' Group
would guide me. This is an aspect that is not noted or is highly underrated
as a plus for Lilypond. Support for other software requires, at best,
hunting through a forum or waiting for an e-mail response (usually days) or,
at worst, some type of paid support. My requests for help to the group got
responses in less than two hours!

Although Lilypond is a complex program, it is not a complicated program. As
with any complex program, acquisition of all of the bells and whistles is
not at ones fingertips and requires some time and effort.

To date I have transcribed some 25+ piano scores for use on my PC Slate. The
PDF's produced by Lilypond are crisper than other published or scanned
scores. The consistent spacing allows my eyes to track in the same manner
from score to score. Lilypond allows me to make my own edition of the
score with personal fingering, dynamics, and reminders. It also allows me to
eliminate editorials with which I do not agree.

Not having any experience with any other engraver (have recently dabbled
with Demeno), I cannot make comparisons. I do know that from the start
Lilypond may have challenged me. It never frustrated me.

Mark Stephen Mrotek

-Original Message-
From: lilypond-user-bounces+carsonmark=ca.rr@gnu.org
[mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] On Behalf Of
David Kastrup
Sent: Monday, December 02, 2013 7:16 AM
To: Phil Burfitt
Cc: lilypond-user@gnu.org
Subject: Re: improving LilyPond useability

Phil Burfitt phil.burf...@talktalk.net writes:

 I believe first impressions are important, and I think that LilyPond 
 lets itself down here. After installing LilyPond, a new user will 
 discover a new icon on their desktop. They'll double click on it, and 
 what do they get?a sort-of read me file (it's LilyPad, but you 
 wouldn't know that unless you spotted the header/title), and a command 
 prompt that doesn't work or do anything (many computer users have 
 never seen or even heard of a command prompt!).

Well, we are selling a Porsche engine.  So that people can start doing
something useful with it right away, it gets delivered built into a dune
buggy.

--
David Kastrup

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


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


Re: Hook like \AtEndDocument

2013-12-03 Thread Urs Liska

Am 03.12.2013 11:41, schrieb Jan-Peter Voigt:

Hi Urs,

Am 03.12.2013 11:12, schrieb Urs Liska:

OK, trying to digest this.
Do I get this  right when I say:

- write a function annotate to be used in the main input file.
   This function saves some information (say location plus a comment) to
an internal
   structure that is defined public.

yes


- use this function in the input files to annotate items in the score

yes


- write another function process-annotations.
   This function uses the technique described in the snippet to make a new
   score from itself which will then be processed after the current score
has been finished.
   This new score contains a function that can read the data from the
previously defined
   data structure from the original annotate function.

this would be an engraver placed in the score context, that does this
processing inside the finalize slot.

If you look in edition.scm lines 480 following in my lalily project,
you find an annotation engraver, that does it this way. There is a music
function \todo short description that inserts the annotation in
the music as a TextScript with an annotation properties, which is
fetched by the engraver.
At the bottom of the file, you can place
\markuplist \annolist
to display the annotations in the pdf.
And there is also a *-todo.log file created.
Just a this-is-how-I-didit ;)


Thank you very much for this.
I've had a little look into it and will have a hard time having a closer 
look ;-)


But I definitely have the impression I will have to go through much of 
this in order not to reinvent the wheel so many times (using wood 
instead of rubber ...)


Urs


Best, Jan-Peter


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



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


Re: Other programming languages LilyPond

2013-12-03 Thread Joseph Rushton Wakeling

On 02/12/13 22:20, David Kastrup wrote:

Scheme _is_ its scripting language.


How much scope is there for creating a stable scripting API which could be 
used via Scheme (default) or any arbitrary language of choice, so long as 
someone writes bindings for that language?


I ask because in our earlier discussion about tweaking, we discussed how large 
numbers of tweaks render a score effectively tied to a given version of 
Lilypond.  But if there can be a promise, This scripting API will be 
future-proof, then maybe that kind of impact can be reduced, and a side benefit 
would be the potential to script with languages other than Scheme.


Obviously any such API would cover only a subset of the possible tweaks to 
Lilypond, but that'd be effectively the point, separating tweaking into safe 
and unsafe things to mess around with.


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


Re: Is this ugly?

2013-12-03 Thread Urs Liska

Am 03.12.2013 11:49, schrieb Karol Majewski:

Elaine Gould gives the following answer:

When outer notes have opposite directions, move the slur at the stem end 
towards the noteheads so it does not tilt contrary to the direction of the 
pitches.



But this example doesn't have the flag, which is the problematic issue here.

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


Re: improving LilyPond useability

2013-12-03 Thread David Kastrup
Mark Stephen Mrotek carsonm...@ca.rr.com writes:

 Since my practice and performance of Lilypond spans less than a year
 (installed 21 May 2013), I might qualify to comment on the attractiveness
 and/or accessibility of Lilypond to a newbie.

 Preservation of a two-part invention written for an undergraduate course
 (1967) in Baroque Music Practice was the impetus to diving into Lilypond
 (pardon the pun). The web page offered everything that I needed to start;
 basic tutorials, which really go somewhat beyond just basic, and several
 text editors. I chose Frescobaldi. A comment was made that the drag and
 drop instructions for the test leaves one hanging. Well, that may be true
 for someone who does not peruse the tutorials or the manual readily
 available on the web site.

 Some criticism has been made about the length of the manual. I started
 with an IBM PS2 (1982) using a non-graphical interface Microsoft
 Word. The manual, if my addled memory is correct was somewhere around
 300+ pages.

And cut.

Wrangling down that attacking Rottweiler was actually not all that
hard.  It boils down to the same grips and holds we used to employ for
killing lions when I was young.

I think LilyPond is reasonably sellable to old hands at computing.  But
they are an endangered species.  LilyPond nowadays has to teach people
first what being an old hand is like.

 My learning process is basically: I want to do this, how do I do this,
 where is this in the manual (the search provision is very helpful
 here), experiment with the command(s) in the score, copy the
 successful command onto a cheat sheet with notation.

And if you do that with good reference material, systematically and
determinedly for a year, you'll be able to read the Iliad in the
original.  It's a fad nerds indulged in before computers were invented.

Where do we get with today's capability of people to focus and work on a
given task?

Well, at least we are dealing with musicians here.

 To date I have transcribed some 25+ piano scores for use on my PC
 Slate. The PDF's produced by Lilypond are crisper than other published
 or scanned scores. The consistent spacing allows my eyes to track in
 the same manner from score to score. Lilypond allows me to make my own
 edition of the score with personal fingering, dynamics, and
 reminders. It also allows me to eliminate editorials with which I do
 not agree.

Man, the cluttered scores...  At baroque time, players were supposed to
do their own embellishments and extemporize from figured bass.  Nowadays
it is too much to ask to figure out your fingerings.

Of course, it's particularly annoying for me as a button accordion
player playing piano music.  But it was already as a violinist playing
violin music.

 Not having any experience with any other engraver (have recently
 dabbled with Demeno), I cannot make comparisons. I do know that from
 the start Lilypond may have challenged me. It never frustrated me.

Your frustration tolerance has seriously been tampered with in your
early years.

Perhaps LilyPond should be obligatory school material.  Better get the
kids into the right frame of mind early.  It will help them with more
than one thing later in life.  Which is basically how Latin is still
getting sold as school material, and it is somewhat less applicable to
modern life livelihoods.

-- 
David Kastrup

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


Re: Other programming languages LilyPond

2013-12-03 Thread David Kastrup
Joseph Rushton Wakeling joseph.wakel...@webdrake.net writes:

 On 02/12/13 22:20, David Kastrup wrote:
 Scheme _is_ its scripting language.

 How much scope is there for creating a stable scripting API which
 could be used via Scheme (default) or any arbitrary language of
 choice, so long as someone writes bindings for that language?

 I ask because in our earlier discussion about tweaking, we discussed
 how large numbers of tweaks render a score effectively tied to a given
 version of Lilypond.  But if there can be a promise, This scripting
 API will be future-proof, then maybe that kind of impact can be
 reduced, and a side benefit would be the potential to script with
 languages other than Scheme.

The scripting API are basically the music expressions.  The same music
expressions have pretty much continued to work unchanged or at least
upwards-compatible for a long time.  Something like issue 2240 changed
how input got translated into music expressions, but it did not change
the manner in which preexisting music expressions get interpreted.  That
has remained quite stable.

 Obviously any such API would cover only a subset of the possible
 tweaks to Lilypond, but that'd be effectively the point, separating
 tweaking into safe and unsafe things to mess around with.

Most tweaks also have retained their meaning (as translated into a music
expression) perfectly well.  But LilyPond's typesetting itself has
changed, and opposed to tweaking things like color or notehead styles,
tweaks that receive coordinates or offsets usually are based on a
particular behavior of some version of LilyPond.

-- 
David Kastrup

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


Re: Schikkers List

2013-12-03 Thread Federico Bruni
2013/12/3 Jan Nieuwenhuizen jann...@gnu.org

 Federico Bruni writes:

  It was hosted on github years ago, but now I see that last update is 3
 years
  ago.

 Yes.


So no download on the website (it's not working, as already reported), no
source code anywhere.
Unfortunately we can test the demo only


  The demo is not working on Chromium 31.0.1650.57

 It was down.  Please try again?
 Jan


I did a quick test. Funny, I felt like working on a reversed Frescobaldi:
input in the GUI, output text. :-)
It looks nice but it doesn't seem a reliable tool as online editor. For
example, I've just lost the short example I typed few minutes ago.
I'd be curious to install it on my computer.

AFAICS, the edits can be made only in the GUI. Text input cannot be
modified.
Also, the input code would be cleaner if it broke the line at the end of
each bar (possibly adding a bar check?).

The tie button works fine, while the slur button doesn't.

Keep it up and keep us informed about the progress!
Thanks
Federico
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Denemo-feedback

2013-12-03 Thread Federico Bruni

 On Tue, 2013-12-03 at 01:20 +0100, Noeck wrote:
  several times now, I looked at Denemo (about twice a year for the last 4
  years). So I can only share a first impression. As background info: I
  probably always will prefer text input and I like Frescobaldi very much.
  But I think that a GUI is definitely needed for the average musician. My
  approach: A GUI program should be self explaining - I did not read the
  manual. Denemo version 0.9.2 (latest ubuntu).


HI Noeck

I'm in the same situation: I'm more than happy with text input and
Frescobaldi, but I get interested in Denemo because I want to spread the
use of LilyPond and I think that we need a GUI for this.

Denemo is improved a lot in the last months.
One interesting feature of Denemo (missing in Frescobaldi, at the moment)
is instant compile.

I'm not using Denemo, sometimes I compile it and do a few tests just to
check the translation.
But I think that it's worth trying it again.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Denemo-feedback

2013-12-03 Thread Urs Liska




Federico Bruni fedel...@gmail.com schrieb:

 On Tue, 2013-12-03 at 01:20 +0100, Noeck wrote:
  several times now, I looked at Denemo (about twice a year for the
last 4
  years). So I can only share a first impression. As background info:
I
  probably always will prefer text input and I like Frescobaldi very
much.
  But I think that a GUI is definitely needed for the average
musician. My
  approach: A GUI program should be self explaining - I did not read
the
  manual. Denemo version 0.9.2 (latest ubuntu).


HI Noeck

I'm in the same situation: I'm more than happy with text input and
Frescobaldi, but I get interested in Denemo because I want to spread
the
use of LilyPond and I think that we need a GUI for this.

Denemo is improved a lot in the last months.
One interesting feature of Denemo (missing in Frescobaldi, at the
moment)
is instant compile.

It's on the wish list for some time.
Another thing which will probably make instant compilation easier to realize is 
moving the music view to svg. On the long run this will lead to be able to 
graphically edit the result from a lilypond run, inserting the respective 
tweaks into the input files. Of course it will be a long way until that's near 
comprehensive, but if we start with tweaking slurs, fixing pitches or drawing 
spanners it will be more than a good start.


I'm not using Denemo, sometimes I compile it and do a few tests just to
check the translation.
But I think that it's worth trying it again.




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


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


Pseudo [Re]-surrecting: is there a \RemoveEmptyLyrics

2013-12-03 Thread Alexander Kobel

Dear all,

I want to typeset a little hymn with two stanzas and a common chorus. 
Easy-peasy if the chorus begins after a line break, tedious tweaking 
otherwise. I am aware of


http://www.lilypond.org/doc/v2.17/Documentation/snippets/vocal-music#vocal-music-vertically-centered-common-lyrics
which uses manual Y-offsets for the chorus lyrics in their first line. 
This time, I'm in a situation where the LyricExtender of the first 
chorus line extends over the line break, and I need to give separate 
extra-Y-offset = #0 for the broken extender. Bah. Yes, I can and will 
figure out how to do it if necessary, but...


... isn't there a clean way to make a lyrics context (centered between 
two others) not to take any space where there are no lyrics? Like going 
hara-kiri and resurrecting when the lyrics start? Or making the 
surrounding lyrics commit suicide? Or fake an empty Y-extent in the 
common lyrics context until the lyrics actually start?


I tried some approaches (see attached file): Stealing the Y-extent 
seems to work, but as soon as I go backtodefaults (line 6), the 
original Y-extent-calculation seems to carry over to the entire line, 
IIUC. Trying to kill the Y-extent of the stanza lyrics after they end 
changes nothing, unfortunately.


Any ideas? I'm not sure at all if this is connected to the original 
question of the thread (removing an empty context), since AFAICS it only 
applies to entire lines of the context. A related discussion is, e.g., here

  http://lists.gnu.org/archive/html/lilypond-user/2013-08/msg00530.html
with a link to
  http://www.hymnary.org/page/fetch/WASH1957/264/low
which shows what I want to achieve; several other threads are around, 
but all of them end up with the recommendation of using the manual 
offset tweaking from the snippet.



TIA,
Alexander
attachment: lyrics.png\version 2.17.96

backtodefaults = {
  %% \override LyricText.extra-spacing-height = #'(0.2 . -0.2)
  %% \override LyricText.vertical-skylines = #grob::always-vertical-skylines-from-stencil
  \override LyricText.Y-extent = #grob::always-Y-extent-from-stencil
  %% \override VerticalAxisGroup.nonstaff-nonstaff-spacing =
  %% #'((basic-distance . 0)
  %%(minimum-distance . 2.8)
  %%(padding . 0.2)
  %%(stretchability . 0))
}

lyrI = \lyricmode { Yes -- ter -- day ly -- rics spa -- cing still was far a -- way. }
lyrII = \lyricmode { Help! __ _ _ I need some -- bo -- dy! __ _ Help! __ _ _ }
lyrRef = \lyricmode { Now \backtodefaults it looks as if that's goin' to stay... Oh I be -- lieve in Li -- ly -- pond! }

mel = \relative c' { c8 c c2. | r4 c8 c c c c c | c8. c16 c2 r4 }
melRef = \relative c' { r4 c8 c c c c c | c4 c8 c4. c4 | c c c c | c c8 c4. r4 }

%% #(ly:set-option 'debug-skylines #t)
#(set-default-paper-size a5)
\score {
  
\new Staff = staff {
  \new Voice = mel \mel
  \new Voice = melRef \melRef
}
\new Lyrics = lyrI \lyricsto mel \lyrI
\new Lyrics = lyrRef \with {
  %% \override LyricText.extra-spacing-height = #'(+inf.0 . -inf.0)
  %% \override LyricText.vertical-skylines = ##f
  \override LyricText.Y-extent = ##f
  %% \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'()
} \lyricsto melRef \lyrRef
\new Lyrics = lyrII \lyricsto mel \lyrII
  
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Schikkers List

2013-12-03 Thread Jan Nieuwenhuizen
Federico Bruni writes:

 So no download on the website (it's not working, as already reported), no
 source code anywhere.
 Unfortunately we can test the demo only

Why is that unfortunate?  The demo is really all there is, currently.
What would you do with the code?

 I did a quick test. Funny, I felt like working on a reversed
 Frescobaldi: input in the GUI, output text. :-)

:-)

 It looks nice but it doesn't seem a reliable tool as online editor. For
 example, I've just lost the short example I typed few minutes ago.

It's really meant as a demo currently, not as a reliable tool.  The only
thing saved a couple of minutes before this message, was

\relative { c' c'' e,,( f f) f g a' b,, f' d' \bar |. }

 I'd be curious to install it on my computer.

 AFAICS, the edits can be made only in the GUI. Text input cannot be
 modified.

That's right, that's not yet possible.  My first priority is to find
a useful application for what is now this demo, code what's missing
and provide it.  This `feature request' is anticipated and it would
be nice to see how many people actually want this feature.  If you
really need it, the answer is: switch to Frescobaldi ;-)

 Also, the input code would be cleaner if it broke the line
 at the end of each bar (possibly adding a bar check?).

Agreed.

 The tie button works fine, while the slur button doesn't.

Both buttons should be disabled when no slur or tie is possible.
The slur button is enabled when you make a horizontal selection.

 Keep it up and keep us informed about the progress!

I will.  Thanks for looking at it.

Greetings, Jan

-- 
Jan Nieuwenhuizen jann...@gnu.org | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl  

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


Re: Is this ugly?

2013-12-03 Thread Nick Baskin
On Dec 3, 2013 5:56 AM, Urs Liska u...@openlilylib.org wrote:

 Am 03.12.2013 11:49, schrieb Karol Majewski:

 Elaine Gould gives the following answer:

 When outer notes have opposite directions, move the slur at the stem end
towards the noteheads so it does not tilt contrary to the direction of the
pitches.


 But this example doesn't have the flag, which is the problematic issue
here.


Alternately, couldn't the stem of the B go up instead of down?
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Scores for the visually impaired

2013-12-03 Thread Frederick Bartlett
Now that I'm *cough, cough* an expert LilyPond user, I want to explore
something really difficult.

My wife, a voice teacher, suffers from macular degeneration. Before her
vision degrades so much that she can no longer read printed scores, I'd
like to cobble together a system that

   - scans piano-vocal sheet music
   - creates a LilyPond file
   - controls a digital piano with LilyPond's midi output
   - displays the score in sync on a tablet at arbitrary magnification
   - controls tempi and dynamics by gestures and taps (and/or voice
   commands)
   - (bonus round) 'listens' to the singer and adjusts tempi and dynamics
   to match

Judging by the success of Frescobaldi, most of this would seem to be
feasible. And I have five years or so to figure all this out ...

Has anyone on this list ever used Audiveris or OpenOMR?

How about creating non-paged graphical output from LilyPond?

Thanks for reading!

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


Re: Is this ugly?

2013-12-03 Thread Ed Gordijn
  But this example doesn't have the flag, which is the problematic issue
here.
 

 Alternately, couldn't the stem of the B go up instead of down

I would prefer slur down to avoid the flag and connect from note head to
the stem.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Schikkers List

2013-12-03 Thread Johan Vromans
Federico Bruni fedel...@gmail.com writes:

 I felt like working on a reversed Frescobaldi:
 input in the GUI, output text. :-)

So what the world needs is a bidirectional Frescobaldi.

-- Johan

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


Re: Denemo-feedback

2013-12-03 Thread Noeck
Hi Richard,

sorry for the old version. I now installed Denemo 1.1.0 from the
website. It can't use lilypond with it for some reason (it crashes when
I want to print) but I can look around and compare.

Many things have improved a lot: The sound plays nicely, the buttons
show no artefacts, the menus are readable.
I like the feature that one can click on the key signature to increase
the sharps or flats.

The look is still similar to Windows 95. On the website I saw something
gnome-like but not in my installed version. Is that available?

For my taste, there are too much buttons with a similar meaning. E.g.
all the slur and bracket buttons could be simplified as Frescobaldi
does: the slur spans the selected range of notes. Also, the buttons to
insert a note and change the current note to a different duration
duplicate things. Wouldn't it make sense to merge them (two different
modes or a shift+click for changing). It would also be convenient to
move the current note up or down with the up/down key (it moves only the
cursor).

I am still confused by the cursors, one | marking the point in time and
a square marking the current note/pitch. It is sometimes green,
sometimes blue.

It is not clear to me how a new measure is started. At the beginning it
worked (like in LP) automatically but later I had measures with more
than 4 beats (coloured in read) and the automatic bar line was missing.

The menus are very full which is probably a result of putting everything
in that is possible (which is good to have). But an intelligent
reduction would be needed (imho). E.g. for slurs you have to search a
while: Notes/Rests  Markings  Slurs  Begin slur

The menues are difficult to browser, because the tooltip/hint is often
very large and covers the menu.

What is the reason for not chosing LP shortcuts for input:
(=start slur, )=end it, 8=eigth note, r=rest etc. It would train people
a bit to this well designed representation.
, works to go down one octave, but ' does not go up.

The dot button and the accidental buttons as well as key signatures and
clefs work nicely.

I am still not convinced but it is definitely in a better state and
there were many improvements.

Cheers,
Joram

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


Re: Schikkers List

2013-12-03 Thread Urs Liska

Am 03.12.2013 17:20, schrieb Johan Vromans:

Federico Bruni fedel...@gmail.com writes:


I felt like working on a reversed Frescobaldi:
input in the GUI, output text. :-)

So what the world needs is a bidirectional Frescobaldi.



See https://github.com/wbsoft/frescobaldi/issues/284
If any part of that rings a bell with anybody concerning his own 
skillset don't hesitate to join the effort ;-)


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


Re: Is this ugly?

2013-12-03 Thread Marcos Press
Several things can be made.

#*# One. Put the slur down.
http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Curves.html#Slurs
Still works in 2.17 as well.

\version 2.17.96

{
 \slurDown
 a'8( b'4.) r2
}
[image: Imágenes integradas 2]


#*# Two. Put a silent note.
I just use a random scale duration.
Scaled correctly should gives the exact time duration :)
http://www.lilypond.org/doc/v2.17/Documentation/notation/writing-rhythms.html#scaling-durations

\version 2.17.96

{
 a'8( s8*4/8 b'4.*4/8) r2
}
[image: Imágenes integradas 1]


Marcos.


2013/12/3 Ed Gordijn ed.klari...@gmail.com


   But this example doesn't have the flag, which is the problematic issue
 here.
  
 
  Alternately, couldn't the stem of the B go up instead of down

 I would prefer slur down to avoid the flag and connect from note head to
 the stem.

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


down-slur.pngslured-silent-note.png___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: promoting LilyPond

2013-12-03 Thread Garrett McGilvray

On Dec 3, 2013, at 12:55 AM, Martin Tarenskeen m.tarensk...@zonnet.nl wrote:
 
 On Mon, 2 Dec 2013, Garrett McGilvray wrote:
 
 The reason that I came back for a second try was not that it was free, since 
 I had already paid for the real thing.  I don't remember what made me 
 think of it, but I remembered the essay on LilyPond's goal of superior 
 engraving, and I decided to give it a second try. I fared better the second 
 time. I have redone some of my past work in LilyPond, and I like the new 
 results better. I doubt now I'll go back to Finale.
 
 I would be interested to see a comparison of some *good* scores engraved 
 using Finale (and/or Sibelius) and the same scores using LilyPond. Maybe you 
 can post some examples?
 
 It's easy to show a really bad Finale result and compare it with how much 
 better LilyPond can do this.
 
 But it is more fair to compare a good Finale/Sibelius score, prepared by a 
 skilled and experienced Finale/Sibelius user, and then try to use LilyPond to 
 do things better.

If a true comparison between Finale and LilyPond is what you want, then I am 
surely not the person to provide it, because as you say, a truly fair 
comparison should be made by comparing results by people with much experience 
in each program. But if that is not what you want, then I can't help but feel 
that posting my own example of a *good* score of mine would be an invitation 
for everyone to critique what I did wrong in either version. The whole point of 
my post was not that LilyPond was better than Finale but rather to agree with 
David's comment that the fact that LilyPond is free should not be its main 
selling point, because that's not what drew me in. Whether or not LilyPond is 
better is irrelevant to my point, but rather that I perceived it to be better, 
and that is what eventually drew me in.

Now, to focus on a different point: the question as to whether a truly fair 
comparison can be made only by professionals. I have no doubt that an 
experienced professional in Finale (and I've ignored Sibelius because I've 
never used it, so I have no opinion) could produce a better score than the best 
that I can do in LilyPond. But I don't think each one's merit could be totally 
measured based on what one is able to achieve with the greatest skill and 
effort given at tweaks. I am fairly confident that if a person tried an 
experiment to make a sample score in Finale that looked like LilyPond's default 
output, he could nearly well achieve an identical look. He would alter stem, 
line, slur thickness. He could manually position each note to line up with 
LilyPond. He could develop a font that copycats LilyPond's default. In the end, 
the two results would be identical, and based on final output alone, the two 
options would therefore be judged comparable. Of course, default LilyPond is 
not th
 e target goal, but my point is that it is not just about what one can do if he 
applies skill and time to tweaking output. I know that beautiful results can be 
had from either program with much tweaking on both sides, but default output 
should be at least part of the comparison.

Then we come to the fact that there are very many people who use either of 
these programs who are not professionals, or even professionals who do not have 
the time to tweak every score to perfection. In my case, I am very much aware 
of many of the tools to tweak just about everything in Finale. However, first, 
I don't want to have to fight with spacing at the minute level, and secondly, 
as I was trained to read the music, not write it, I won't know the finer rules 
of when and where I should override Finale's default. On the one hand, I look 
at Finale's default output, and on the whole I feel like it looks as it should. 
But then I look at LilyPond's output and see, Oh yeah, that does look more 
correct. That's the best someone like me can do without knowing rules of 
engraving. So in my circumstance, a comparison of what a professional can do is 
irrelevant. I need to know rather what *I* can do or what I have time to do in 
one program or another. So my own comparison of my own work in
  one versus my own work in the other is exceedingly relevant and fair in 
helping me decide which is right for me. That is especially true since I am a 
hobbyist doing my own work for my own use. I'm the only one who needs to be 
pleased in that case.

And all of this is just to explain a comment I made about what aspect of 
LilyPond appealed to me that made me give it a second chance. That seemed to be 
the point of a thread about promoting LilyPond.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: improving LilyPond useability

2013-12-03 Thread Noeck


 Some criticism has been made about the length of the manual. I started
 with an IBM PS2 (1982) using a non-graphical interface Microsoft
 Word. The manual, if my addled memory is correct was somewhere around
 300+ pages.
 
 And cut.
 
 Wrangling down that attacking Rottweiler was actually not all that
 hard.  It boils down to the same grips and holds we used to employ for
 killing lions when I was young.

:D

Yes, those are the people using LP and I am proud of you. But there are
many more interested in music engraving with a different history.

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


Re: Schikkers List

2013-12-03 Thread Noeck
Am 03.12.2013 17:46, schrieb Urs Liska:
 Am 03.12.2013 17:20, schrieb Johan Vromans:
 Federico Bruni fedel...@gmail.com writes:

 I felt like working on a reversed Frescobaldi:
 input in the GUI, output text. :-)
 So what the world needs is a bidirectional Frescobaldi.

+1

 See https://github.com/wbsoft/frescobaldi/issues/284


Hi Jan,

how do you generate the visual output? Does this scale to larger scores?
Is there a possibility to compile line by line to get smaller changes
quicker? Or is your rendering independent of the LP typesetting?

Cheers,
Joram

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


ly:context-mod? list to string

2013-12-03 Thread Urs Liska
When I use ly:context-mod? for a parameter in a music function a string 
as the final part will be cut to list items.


if I write
\function \with { comment = This should be verified }

then the ly:context-mod? variable will hold

((assign comment This should be verified))

cdr-ing makes it (comment This should be verified)

So what's the best (or canonic) way to make that (comment This should 
be verified) again?


TIA
Urs

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


Re: Schikkers List

2013-12-03 Thread Noeck
… and another question: Can the Schikkers List code be found somewhere?
As there are quite some ideas coming up on the page linked below, it
would probably be interesting how Schikkers List solved some issues.

Cheers,
Joram


 See https://github.com/wbsoft/frescobaldi/issues/284


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


Re: Denemo-feedback

2013-12-03 Thread Noeck
Hi Richard,

  It can't use lilypond with it for some reason (it crashes 
 I trust you don't mean that Denemo itself crashes? Just that LilyPond

No Denemo does not crash. But the Print View tells me: INVALID! Lilypond
can not typeset this score.

 In the Edit-Preferences-Externals tab you can set the path to
 lilypond. I believe I have seen this failure to find LilyPond too when
 testing the GNU/Linux binary, I don't know what that is due to.

The lilypond path was set correctly in the preferences. In fact, it just
tells me that it fails and it does not show the preview. But I can
export a pdf. So LP is found somehow.

 The look is still similar to Windows 95. On the website I saw something
 gnome-like but not in my installed version. Is that available?
 
 I don't understand this comment - what is the link?

http://www.denemo.org/wp-content/uploads/2013/10/display7.png

My version looks more like this:
http://www.denemo.org/wp-content/uploads/2013/10/display3.png

 For my taste, there are too much buttons
 
 By buttons are you referring to those in palettes? - yes they are
 nearly all displayed at first. But if you close them down or hide
 individual buttons (right click) they will not come back.

That's what I mean. They come back each time I start the program.

 ' should be octave up, do you have a non-qwerty keyboard? 
I have a German keyboard layout which means the ä is my ' ;) that works.

Cheers,
Joram

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


Re: promoting LilyPond

2013-12-03 Thread Carl Peterson
On Tue, Dec 3, 2013 at 12:01 PM, Garrett McGilvray 
garrett.mcgilv...@icloud.com wrote:


 Now, to focus on a different point: the question as to whether a truly
 fair comparison can be made only by professionals. I have no doubt that an
 experienced professional in Finale (and I've ignored Sibelius because I've
 never used it, so I have no opinion) could produce a better score than the
 best that I can do in LilyPond. But I don't think each one's merit could be
 totally measured based on what one is able to achieve with the greatest
 skill and effort given at tweaks. I am fairly confident that if a person
 tried an experiment to make a sample score in Finale that looked like
 LilyPond's default output, he could nearly well achieve an identical look.
 He would alter stem, line, slur thickness. He could manually position each
 note to line up with LilyPond. He could develop a font that copycats
 LilyPond's default. In the end, the two results would be identical, and
 based on final output alone, the two options would therefore be judged
 comparable. Of course, default LilyPond is not the target goal, but my
 point is that it is not just about what one can do if he applies skill and
 time to tweaking output. I know that beautiful results can be had from
 either program with much tweaking on both sides, but default output should
 be at least part of the comparison.

 Then we come to the fact that there are very many people who use either of
 these programs who are not professionals, or even professionals who do not
 have the time to tweak every score to perfection. In my case, I am very
 much aware of many of the tools to tweak just about everything in Finale.
 However, first, I don't want to have to fight with spacing at the minute
 level, and secondly, as I was trained to read the music, not write it, I
 won't know the finer rules of when and where I should override Finale's
 default. On the one hand, I look at Finale's default output, and on the
 whole I feel like it looks as it should. But then I look at LilyPond's
 output and see, Oh yeah, that does look more correct. That's the best
 someone like me can do without knowing rules of engraving. So in my
 circumstance, a comparison of what a professional can do is irrelevant. I
 need to know rather what *I* can do or what I have time to do in one
 program or another. So my own comparison of my own work in one versus my
 own work in the other is exceedingly relevant and fair in helping me decide
 which is right for me. That is especially true since I am a hobbyist doing
 my own work for my own use. I'm the only one who needs to be pleased in
 that case.

 And all of this is just to explain a comment I made about what aspect of
 LilyPond appealed to me that made me give it a second chance. That seemed
 to be the point of a thread about promoting LilyPond.


Regarding what it takes to make a score look right, I have some rather
direct comparison between LP and Finale. When it comes to something as
relatively-simple as an SATB hymn, my friends who use Finale have to do a
number of things beyond note entry:

* They constantly have to go back and fix horizontal note offsets anytime
they make a change to notes so that the treble and bass clef notes line up
vertically.
* Because they work with shaped notes (and a custom shape note font at
that), they have to do all sorts of tricks with stem lengths to avoid gaps
between some of the noteheads and the base of the stem.
* Any number of other manual tweaks for slurs and ties and such things.

The bottom line is that I can transcribe a hymn note for note using direct
text input into an LP template and fix any entry errors in the space of
20-30 minutes, with few, if any, of the problems my Finale counterparts
encounter. The only manual tweak I use in the music is an override for the
part combiner when I want three notes on a stem (such as a tenor and two
bass notes, which happens rarely in the hymns I transcribe, and almost
never in my own compositions). Everything else is handled by layout-block
overrides, which are stored as a template. By comparison, one person (who
does semi-professional Finale work and is quite proficient with Finale,
from what I've seen) spends 2-3 times that time to get similar results.

The only major defect I tend to see in my output, relative to the same hymn
in Finale, is lyric spacing, particularly horizontal spacing. There are two
features which, if they do not exist, would make the LP settings much
better:

1. Horizontal spacing priority for lyrics rather than note durations. In
other words, can we tell the horizontal spacing engine to space lyric
anchor points more or less equally rather than strictly going by note
durations? The big issue is when there are significant differences in note
durations, such as when a half note appears in the midst of eighth notes.
This creates a huge gap in the spacing. This is particularly ugly at the
ends of lines, since it leaves a huge gap at the end of 

Re: ly:context-mod? list to string

2013-12-03 Thread David Kastrup
Urs Liska u...@openlilylib.org writes:

 When I use ly:context-mod? for a parameter in a music function a
 string as the final part will be cut to list items.

 if I write
 \function \with { comment = This should be verified }

 then the ly:context-mod? variable will hold

 ((assign comment This should be verified))

 cdr-ing makes it (comment This should be verified)

 So what's the best (or canonic) way to make that (comment This should
 be verified) again?

**Bing** Now it is so again.

More seriously: that's what it always has been.  Use write instead of
display and you'll probably see what you want to.

If you use format for output, learn about the difference between ~a and
~s formats.

-- 
David Kastrup

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


Re: Scores for the visually impaired

2013-12-03 Thread Colin Campbell

On 12/03/2013 09:09 AM, Frederick Bartlett wrote:
Now that I'm *cough, cough* an expert LilyPond user, I want to explore 
something really difficult.


My wife, a voice teacher, suffers from macular degeneration. Before 
her vision degrades so much that she can no longer read printed 
scores, I'd like to cobble together a system that


  * scans piano-vocal sheet music
  * creates a LilyPond file
  * controls a digital piano with LilyPond's midi output
  * displays the score in sync on a tablet at arbitrary magnification
  * controls tempi and dynamics by gestures and taps (and/or voice
commands)
  * (bonus round) 'listens' to the singer and adjusts tempi and
dynamics to match

Judging by the success of Frescobaldi, most of this would seem to be 
feasible. And I have five years or so to figure all this out ...


Has anyone on this list ever used Audiveris or OpenOMR?

How about creating non-paged graphical output from LilyPond?

Thanks for reading!

Fred




Hello Fred,

I have a friend with macular degeneration, to the degree he literally 
holds his music touching his nose. I've created a template for use with 
LilyPond and Frescobaldi, which gives 2-3 bars per landscape letter 
sized page. I've adjusted things like slur line thickness, made fonts 
bold and so forth. You might open the file in Frescobaldi and Save As a 
template.  Hope it's useful!


Cheers,
Colin

--
I've learned that you shouldn't go through life with a catcher's mitt on both 
hands. You need to be able to throw something back.
-Maya Angelou, poet (1928- )

\version 2.17.29

\include english.ly

\header {
  title =  Psalm 19
  
  composer = \markup { \teeny Benedetto Marcello }
  tagline  = ##f
}
\paper {

  #(set-paper-size letter 'landscape)
  system-system-spacing #'basic-distance = #6
  ragged-last-bottom = ##t
  ragged-bottom = ##f
  ragged-right = ##f

  myStaffSize = #80

  #(define fonts
 (make-pango-font-tree Nimbus Sans Bold
   Nimbus Sans Bold
   Luxi Mono Bold
   (/ myStaffSize 80)))

  print-page-number = ##f
  check-consistency = ##f
}

#(set-global-staff-size 80 )


tempoMark = {
  \once \override Score.RehearsalMark #'self-alignment-X = #LEFT
  \once \override Score.RehearsalMark #'break-align-symbols = #'(time-signature key-signature)
  \once \override Staff.TimeSignature #'break-align-anchor-alignment = #LEFT
  \mark \markup \bold \teeny Allegro moderato
}

global = {
  \tempoMark
  \key f \major
  \time 4/4
  \override DynamicTextSpanner.style = #'none
  \crescTextCresc
  \dimTextDim
  \compressFullBarRests

}

bassVoice = \relative c {
  \global
  \dynamicUp
  \accidentalStyle modern-voice-cautionary
 
  \bar ||
}

verse = \lyricmode {
  

}

\score {
  
\new Voice = one {
  \set midiInstrument = #french horn
  \clef bass \bassVoice }
\new Lyrics \lyricsto one { \verse }
  
  \layout {

\override BarNumber.self-alignment-X = #LEFT
\override Staff.Stem #'thickness = #4.5
\override LyricText.font-name = #'Nimbus Sans Bold
\override LyricText.font-size = #-4
\override LyricHyphen.thickness = #4.0
\override Hairpin.thickness = #4.0
\override Slur.thickness = #4.0
\override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16 )

  }
}



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


Re: promoting LilyPond

2013-12-03 Thread Joseph Rushton Wakeling

On 02/12/13 16:00, David Kastrup wrote:

How about companies which cannot risk getting locked in to software that
may stop being maintained in future?


I'm not sure that's a selling point, either.  As long as there's a paying 
market, commercial software tends to keep getting maintained.  By contrast the 
risk with Lilypond is that it's vulnerable to the continuing contributions of a 
fairly small set of core volunteers.



At any rate, we need to pitch LilyPond to _ourselves_ and listen what
annoys us.  Particularly when explaining LilyPond to others and/or
pitching it to them.


A good rule of thumb is, to ask What is easy to do by hand but hard to do with 
Lilypond?  But you can also add to that the question, What is easy to do with 
Finale/Sibelius but hard to do with Lilypond? and What is hard to do with 
Finale/Sibelius and can we find a way to make it easy?


I don't suggest just casually asking those questions but really documenting 
extensively the evidence and experience of users.  Some of those things will 
come up against David's play to your strengths remarks -- there are going to 
be things which are unavoidably difficult in order to make some other things 
very easy, and those will not be the same between Lilypond and WYSIWYG engraving 
software.


But on the other hand, I am not convinced that the most practical way to improve 
Lilypond's future is not to look inside and focus on making sure the internal 
design of Lilypond's codebase is optimal from a 
future-development-and-maintenance point of view.


Graham pointed out to me not so long ago that a problem with new enthusiastic 
contributors is that they can come, fix some issue and in the process break so 
much stuff that it costs far more time to correct it than to just reject the 
contribution out of hand and have one of the existing developers do the work. 
Trying to think about how the codebase could be refactored so that this isn't 
likely to happen seems to me to be a potentially productive way to expand and 
engage the Lilypond community.


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


Re: Percent repeat

2013-12-03 Thread Ralph Palmer
On Sat, Nov 30, 2013 at 2:26 PM, Janek Warchoł janek.lilyp...@gmail.comwrote:

 Hi,


 2013/11/30 Noeck noeck.marb...@gmx.de:
  Hi,
 
  is this a bug or is there some reason why this should be correct:
 
  If I use a percent repeat in a customly timed measure (5/4 instead of
  4/4), the repeat symbol lacks the dots and is placed to the left of the
  bar. If I write something before the repeat (a time signature or only
  ), then the dots reappear and they are placed properly.

 looks like a bug to me.  Forwarding to bug-lilypond.


Thanks, Noeck and Janek - This has been entered as Issue 3703 :
https://code.google.com/p/lilypond/issues/detail?id=3703colspec=ID%20Type%20Status%20Stars%20Owner%20Patch%20Needs%20Summary

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


Re: promoting LilyPond

2013-12-03 Thread David Kastrup
Joseph Rushton Wakeling joseph.wakel...@webdrake.net writes:

 On 02/12/13 16:00, David Kastrup wrote:
 How about companies which cannot risk getting locked in to software that
 may stop being maintained in future?

 I'm not sure that's a selling point, either.  As long as there's a
 paying market, commercial software tends to keep getting maintained.

You are aware that the Sibelius development team has been laid off due
to financial problems of their parent company in spite of Sibelius
having a paying market and turning a profit?

 By contrast the risk with Lilypond is that it's vulnerable to the
 continuing contributions of a fairly small set of core volunteers.

Well, you can't lay them off, and you can't prohibit them from
continuing to work on their software like the original authors of
Sibelius who have no right to do anything with the sources written by
themselves any more.

And you can't prohibit anybody else from working on LilyPond in order to
meet a company's needs.

 Graham pointed out to me not so long ago that a problem with new
 enthusiastic contributors is that they can come, fix some issue and
 in the process break so much stuff that it costs far more time to
 correct it than to just reject the contribution out of hand and have
 one of the existing developers do the work. Trying to think about how
 the codebase could be refactored so that this isn't likely to happen
 seems to me to be a potentially productive way to expand and engage
 the Lilypond community.

No question about that.  I think a necessary step would be to move to
GUILE2 first because the costs and tradeoffs of refactoring stuff
between C++ and Scheme will be different, so this is more or less a
prerequisite to make decisions and be able to factor in their costs.

-- 
David Kastrup

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


Re: ly:context-mod? list to string

2013-12-03 Thread Urs Liska

Am 03.12.2013 20:39, schrieb David Kastrup:

Urs Liska u...@openlilylib.org writes:


When I use ly:context-mod? for a parameter in a music function a
string as the final part will be cut to list items.

if I write
\function \with { comment = This should be verified }

then the ly:context-mod? variable will hold

((assign comment This should be verified))

cdr-ing makes it (comment This should be verified)

So what's the best (or canonic) way to make that (comment This should
be verified) again?

**Bing** Now it is so again.

More seriously: that's what it always has been.  Use write instead of
display and you'll probably see what you want to.

If you use format for output, learn about the difference between ~a and
~s formats.



Thanks for pointing this out.
with write I indeed see what I want to.

Still driving me crazy all this ...

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


Re: Denemo-feedback

2013-12-03 Thread Richard Shann
On Tue, 2013-12-03 at 17:37 +0100, Noeck wrote:
 Hi Richard,
 
 sorry for the old version. I now installed Denemo 1.1.0 from the
 website. It can't use lilypond with it for some reason (it crashes 

I trust you don't mean that Denemo itself crashes? Just that LilyPond
fails to execute? Without LilyPond running from inside Denemo you cannot
navigate by clicking on the typeset score, drag slur shapes, etc...

 when
 I want to print) but I can look around and compare.

In the Edit-Preferences-Externals tab you can set the path to
lilypond. I believe I have seen this failure to find LilyPond too when
testing the GNU/Linux binary, I don't know what that is due to.

 
 Many things have improved a lot: The sound plays nicely, the buttons
 show no artefacts, the menus are readable.
 I like the feature that one can click on the key signature to increase
 the sharps or flats.
 
 The look is still similar to Windows 95. On the website I saw something
 gnome-like but not in my installed version. Is that available?

I don't understand this comment - what is the link?


 
 For my taste, there are too much buttons

By buttons are you referring to those in palettes? - yes they are
nearly all displayed at first. But if you close them down or hide
individual buttons (right click) they will not come back. I keep just
one line of buttons in the General Palette with those things I like to
click on rather than type a key-press.

  with a similar meaning. E.g.
 all the slur and bracket buttons could be simplified as Frescobaldi
 does: the slur spans the selected range of notes.

The customizability of Denemo means that such a feature is easily added
by the sort of user that customizes. I did even create such
mouse-shortcuts some years ago, but found that for practical purposes
hitting 7 to start a slur and then 8 to extend and 9 to reduce the slur
was just so much quicker. (You set your own custom shortcuts by right
clicking on the menu item).

  Also, the buttons to
 insert a note and change the current note to a different duration
 duplicate things. Wouldn't it make sense to merge them (two different
 modes
ah, yes, Denemo had modes at one time too. Modal programs are pretty
universally decried for tripping you up.
  or a shift+click for changing).
The combinations in use by default are Digit, Shift-Digit and Letter,
Shift-Letter for durations and note names respectively, for
inserting/changing respectively. 
  It would also be convenient to
 move the current note up or down with the up/down key (it moves only the
 cursor).
You could set that up but then you would need a different key press to
move the cursor rather than the note.
I believe there is still a mouse-drag of notes up and down (setting the
caps lock I think), but I wonder how much it is used.
Mouse gestures can be customized by the user, but then they get in the
way of more serious use (no one seriously enters music using a mouse -
it is unbelievably slow).
That was one of the reasons for that Profile dialog that was the first
thing in the old 0.9.6 - if you chose mouse user you would get
something like that. LilyPond User on the other hand would get more
familiar short cuts and, more importantly, would get things like \repeat
volta 2 { . } which to a user unaware of LilyPond is quite baffling
- they just want to put :| in the score.

 
 I am still confused by the cursors, one | marking the point in time and
 a square marking the current note/pitch. It is sometimes green,
 sometimes blue.

yes, the colors reflect the fill of the bar - this is explained in that
first big tooltip on the main display area I think.

 
 It is not clear to me how a new measure is started. At the beginning it
 worked (like in LP) automatically but later I had measures with more
 than 4 beats (coloured in read) and the automatic bar line was missing.

yes, Denemo does not stop you overfilling a bar if you want, but
LilyPond will not typeset them unless you issue the appropriate command.
If you enter notes in the middle of the bar Denemo will not bump other
notes into the next bar - usually that makes no sense, and would be very
annoying if you were adding notes just temporarily prior to deleting
some others - after all, it could hardly go and get them back again.
If such is a normal thing in your use you would want to set a short cut
on the Split the bar at the cursor command. You just select the menu
item and press the key you want as a short cut.

 
 The menus are very full which is probably a result of putting everything
 in that is possible
not everything by several orders of magnitude, but most things that
Denemo has are there, just a few are hidden (e.g. LilyPond style
repeats, because a novice would get in a mess).

  (which is good to have). But an intelligent
 reduction would be needed (imho). E.g. for slurs you have to search a
 while: Notes/Rests  Markings  Slurs  Begin slur

That is because until this release there was no other way of discovering
what the short cut was for 

Re: Denemo-feedback

2013-12-03 Thread Richard Shann
On Tue, 2013-12-03 at 19:57 +0100, Noeck wrote:
 Hi Richard,
 
   It can't use lilypond with it for some reason (it crashes 
  I trust you don't mean that Denemo itself crashes? Just that LilyPond
 
 No Denemo does not crash. But the Print View tells me: INVALID! Lilypond
 can not typeset this score.

In this case open the View-Lilypond window and right click and  choose
Print from visible LilyPond text, the start of the error will be
highlighted in red, and the error message from LilyPond will appear in
the LilyPond errors pane. You can move the cursor about in that pane and
using the arrow keys and it should find the place in the Denemo score
where something nasty has been introduced. If in doubt, please send me
the file to look at.

 
  In the Edit-Preferences-Externals tab you can set the path to
  lilypond. I believe I have seen this failure to find LilyPond too when
  testing the GNU/Linux binary, I don't know what that is due to.
 
 The lilypond path was set correctly in the preferences. In fact, it just
 tells me that it fails and it does not show the preview. But I can
 export a pdf. So LP is found somehow.
 
  The look is still similar to Windows 95. On the website I saw something
  gnome-like but not in my installed version. Is that available?
  
  I don't understand this comment - what is the link?
 
 http://www.denemo.org/wp-content/uploads/2013/10/display7.png
 
 My version looks more like this:
 http://www.denemo.org/wp-content/uploads/2013/10/display3.png

These old screen shots were perhaps made with different window managers.
All that sort of stuff is dependent on the theme I think. I never pay
attention to it myself, it is (AFAIK) not specific to Denemo.


 
  For my taste, there are too much buttons
  
  By buttons are you referring to those in palettes? - yes they are
  nearly all displayed at first. But if you close them down or hide
  individual buttons (right click) they will not come back.
 
 That's what I mean. They come back each time I start the program.

I think you must have used Ctrl-C to quit the program, in which case the
palette changes are not saved.


 
  ' should be octave up, do you have a non-qwerty keyboard? 
 I have a German keyboard layout which means the ä is my ' ;) that works.

Did you have to execute Save Command Set to make the change permanent?
It should ask you as you quit...

This is off-topic for the LilyPond list, so I will continue in private,
but it is still very useful for me to see how the program appears to
newcomers.

Richard



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


Re: ly:context-mod? list to string

2013-12-03 Thread Urs Liska

Am 03.12.2013 23:17, schrieb Urs Liska:

Am 03.12.2013 20:39, schrieb David Kastrup:

Urs Liska u...@openlilylib.org writes:


When I use ly:context-mod? for a parameter in a music function a
string as the final part will be cut to list items.

if I write
\function \with { comment = This should be verified }

then the ly:context-mod? variable will hold

((assign comment This should be verified))

cdr-ing makes it (comment This should be verified)

So what's the best (or canonic) way to make that (comment This should
be verified) again?

**Bing** Now it is so again.

More seriously: that's what it always has been.  Use write instead of
display and you'll probably see what you want to.

If you use format for output, learn about the difference between ~a and
~s formats.



Thanks for pointing this out.
with write I indeed see what I want to.


But when I try to pass that to a ly:message I'll get

Wrong type argument in position 1 (expecting string): (critical-remark)




Still driving me crazy all this ...


+1



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


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


Re: ly:context-mod? list to string

2013-12-03 Thread David Kastrup
Urs Liska u...@openlilylib.org writes:

 Am 03.12.2013 23:17, schrieb Urs Liska:
 Am 03.12.2013 20:39, schrieb David Kastrup:
 Urs Liska u...@openlilylib.org writes:

 When I use ly:context-mod? for a parameter in a music function a
 string as the final part will be cut to list items.

 if I write
 \function \with { comment = This should be verified }

 then the ly:context-mod? variable will hold

 ((assign comment This should be verified))

 cdr-ing makes it (comment This should be verified)

 So what's the best (or canonic) way to make that (comment This should
 be verified) again?
 **Bing** Now it is so again.

 More seriously: that's what it always has been.  Use write instead of
 display and you'll probably see what you want to.

 If you use format for output, learn about the difference between ~a and
 ~s formats.


 Thanks for pointing this out.
 with write I indeed see what I want to.

 But when I try to pass that to a ly:message I'll get

 Wrong type argument in position 1 (expecting string): (critical-remark)

ly:message expects a string.  You are passing it a list.  That its first
element is a string does not change that.

The documentation says:
LY_DEFINE (ly_message, ly:message,
   1, 0, 1, (SCM str, SCM rest),
   A Scheme callable function to issue the message @var{str}.
 The message is formatted with @code{format} and @var{rest}.)

So you need a format string here.

You can write (ly:message ~s\n your-variable) here and get what you
want output in Scheme form.  If you don't want strings to be quoted, use
~a instead.

 Still driving me crazy all this ...

 +1

You know you are agreeing with yourself?  When in doubt, use
git grep
on the LilyPond code base to find usage examples for functions.  I see

dak@lola:/usr/local/tmp/lilypond$ git grep ly:message
Documentation/contributor/programming-work.itexi:@tab @code{(ly:message msg args
input/regression/loglevels.ly:#(ly:message Test message\n)
lily/warn-scheme.cc:LY_DEFINE (ly_message, ly:message,
po/zh_TW.po:#. (ly:message (_ Converting to `~a'...)
scm/backend-library.scm:(ly:message (_ Converting to `~a'...\n) pdf-name)
scm/backend-library.scm:(ly:message (_ Converting to ~a...) PNG)
scm/backend-library.scm:  (ly:message (_ Writing header field `~a' to `~a'...)
scm/documentation-lib.scm:  (ly:message (_ Writing ~S...) x))
scm/framework-eps.scm: (ly:message (_ Writing ~
scm/framework-svg.scm:(ly:message (_ Updating font into: ~a) u
scm/graphviz.scm:(ly:message (format #f (_ Writing graph `~a'...) (port-fi
scm/lily.scm:(else (ly:message 
scm/lily.scm:(ly:message
scm/lily.scm:(ly:message
scm/lily.scm:(ly:message (_ Redirecting output to ~a...) log-name)
scm/lily.scm:(ly:message # -*-compilation-*-))
scm/lily.scm:(ly:message (_ Invoking `~a'...\n) cmd)
scm/music-functions.scm:(apply ly:message msg rest
scm/safe-lily.scm:   ly:message
scm/song.scm:  (ly:message Writing Festival XML file ~a... filename)
scm/song.scm:(apply ly:message message (map pp args
scm/stencil.scm:  (ly:message Writing ~a outname)

anf there are a few examples fitting your use case.

-- 
David Kastrup

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


Re: Schikkers List

2013-12-03 Thread Federico Bruni
2013/12/3 Jan Nieuwenhuizen jann...@gnu.org

 Federico Bruni writes:

  So no download on the website (it's not working, as already reported), no
  source code anywhere.
  Unfortunately we can test the demo only

 Why is that unfortunate?  The demo is really all there is, currently.
 What would you do with the code?


I'm not a coder, so nothing.
I was just thinking that I may test it better if I could run it on my
computer. I see that the demo doesn't work always: for example, now I
refreshed the page and the canvas is empty (no staff).




  It looks nice but it doesn't seem a reliable tool as online editor. For
  example, I've just lost the short example I typed few minutes ago.

 It's really meant as a demo currently, not as a reliable tool.  The only
 thing saved a couple of minutes before this message, was

 \relative { c' c'' e,,( f f) f g a' b,, f' d' \bar |. }

  I'd be curious to install it on my computer.

  AFAICS, the edits can be made only in the GUI. Text input cannot be
  modified.

 That's right, that's not yet possible.  My first priority is to find
 a useful application for what is now this demo, code what's missing
 and provide it.  This `feature request' is anticipated and it would
 be nice to see how many people actually want this feature.  If you
 really need it, the answer is: switch to Frescobaldi ;-)


Sure, but the thing is: why showing the text input if you cannot modify it?
It's a nice idea if the purpose of the application is teaching lilypond
syntax by interacting with a GUI. Actually, it's a great idea: I would add
a link in the website introduction once you feel that it's stable enough.

OTOH if you want to create a GUI application, I'd remove the text input (at
least, until you implement the two-way edit).

I have a feature request that it may make this app special: note entry
using a tablature instead of a staff.
You choose the tuning and then enter numbers on each string, then the
number should be turned into the right pitch.
I guess this is not easy to implement. But it may attract users of
Tuxguitar, Guitarpro and similar.



  The tie button works fine, while the slur button doesn't.

 Both buttons should be disabled when no slur or tie is possible.
 The slur button is enabled when you make a horizontal selection.


How can I make an horizontal selection?
I think that yesterday somehow I managed to select more than a note, using
Alt or Ctrl; but then slur didn't work. Today the demo is not working, so
I'm stuck... Did I say that I'd like to install it on my PC? :-)
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Denemo-feedback

2013-12-03 Thread Johan Vromans
Richard Shann richard.sh...@virgin.net writes:

 Right now I have a new entry option nearly complete - playing on a MIDI
 keyboard and then entering the rhythm.

By hitting a MIDI keyboard key in the desired rhythm?

-- Johan

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