lilypond-user
[Top][All Lists]

## Re: quick note insert in Emacs

 From: David Raleigh Arnold Subject: Re: quick note insert in Emacs Date: Tue, 11 Mar 2003 15:55:54 -0500

```On Sunday 09 March 2003 01:15 pm, address@hidden wrote:
> (sorry if that thread is estimated a bit off-topic for the list)

No way.  This is a user list, and the topic is a tool to use lilypond
and nothing else.  That is absolutely on topic completely.
>
> Sun, 9 Mar 2003 09:11:05 -0500, tu as dit :
>  > I have some suggestions.  One is to use c7 for c16, c5 for c32, c0
>  > for c64 and c9 for c128.  The mnemonic is to add the first and
>  > last digits.
>
> this can already be done by redefining key bindings in the user's
> .emacs file for instance. (by default, here is how it works now:
> c1->c1 c2->c2 c3->c4 c4->c8 c5->c16 c6->c32 c7->c64 c8->c128)

Consider my way instead.  I use it already for sly, but that is not the
point.  Lilypond could use it too, if the powers desired it, without
changing their syntax one iota, but that is not the point either.  The
point is that it changes *as little as possible* to get the time values
as a single keystroke, and of course with sly, or with lilypond if the
developers choose to add it, one can
write either c128 or c9 and the product will be c128.
>
>  > That way you can eliminate many instances of pressing the spacebar
>  > if you have a separate (minor mode?) for adding fingering.
>  > IOW:
>  >
>  > c'777c,5d would produce c'16 c'16 c'16 c32 d32 with 10 keystrokes
>  > rather than the 16 to get c'16 c c c,32 d    , which is usually
>  > harder to read. The single keypress 8 could repeat  <<c8 e g>> or
>  > <<c e g>>8
>
> supposing that pitch keys are a b c d e f g,

Check this out.  Suppose the pitch keys are:

abcdefg = sxcderf
waz = e flat, a flat, b flat
tgv = f sharp, g sharp, c sharp

This gives a symmetry unavailable on the piano keyboard,
and with some sort of enharmonic switches, it has all 12 notes and a
spare.(a flat, g sharp)

With alternative bindings for each key, d could produce cisis
and w could produce dis in a key that had a cis for
example.

Lilypond should have a solfa language mode.  re = d,
ri = d sharp, ra = d flat, using ti instead of si, and
so instead of sol, etc.  It's all standard stuff.  I thought it had
been done already until I read the fine manual again.  Not enough
singers using lilypond I guess.  :-)

> and duration keys the
> ones you exposed, the 8-key-long sequence "c7ccc,5d" (the default
> octave at the beginning being c'-->b') produces the output (with
> absolute octaves) "c'16 c' c' c32 d", which is equivalent to what you
> want.

I was advocating a verbose style because it's usually easier to jump
into the middle of it to fix something, and using your utility, that's
where the user would be.

> (I may add something to force durations to be written for all
> notes if the user likes.) It's quite quick.

What about alterations?  I do have an idea to reduce most
notes to a single keystroke, but there is no practical way of taking
care of all alterations that way.  Only the time value can do the
repeat without hitting the spacebar, and then you have to do the dots
first too.  I forgot the dots.

Let me put it another way.  There are 8 time values which might
be modified by dots before, and 88 notes which each have four enharmonic
variations.  What do you want for a repeat key again?
>
> I chosed the following (arbitrary) behaviour: pitch keys actually
> insert a new note, duration/octave/dot/alteration keys modify the
> previously inserted note. It's due to my personnal wicknesses : I
> found pitches easier to be found by my fingers (it's like on a
> piano), than durations, which often require an extra thinking for me.
> As I make more mistakes with durations, I want them to be corrected
> faster. That is the case, with the way I chosed. (I don't know if I
> explain myself clearly.) I may add other behaviours, with
> <duration-key> inserting a new note with the given duration, and
> C-<duration-key> modifying the previous note duration, for instance.

What do you need except for the dots, which can simply precede the
number?  You already have your finger on the number to repeat and
get the space.

Also, notice that my system does not use the 3, which could be a
shorthand form for tuplets (triplets by default).  It's on my list for
the next thing I typset with lots of tuplets.  Again, it could be part
of lilypond syntax maybe.
>
>  > Suggestion two is to use relative pitch to enter the music but
>  > have the result not be relative, because relative pitch is quicker
>  > to enter but far nastier to work with after it is entered.
>  > Apologies if you did that already, but using either instead of
>  > both is more confusing, I think.  That is because relative pitch
>  > is best thought of as an editing tool rather than a preprocessor.
>
> Actually, the typing is always done with relative octaves (that's why
> relative octaves are interesting), absolute/relative here applies to
> the output.

> In both mode, when you type a `g' after a `c', it is the
> `g' the octave below, that is "c g" with relative octave output, or
> "c'' g'" (for instance) with absolute octave output. the two options
> are possible in order to give the user the choice... I agree that
> absolute octave output is certainly less confusing for the reader.

Fantastic.  Sorry I ever doubted you.  :-)
>
>  > While you're at it, :-)
>  >
>  > there is a need for a transposing tool.  Someone else asked for
>  > that recently, and hints were given how it might be done.
>  > Sometimes you may want to produce a phrase in a different key even
>  > in a different voice on the same staff, and \transpose is no help
>  > with that sort of thing. It's just for transposing instruments,
>  > and no help for tasks more related to composition.
>
> This is a bit more difficult, as it requires reading, rather than
> just writing. But I was also thinking about doing something like that
> (for emacs, though).

but it really needs editing tools.  I wouldn't mind if I could use your
tool for sly files also.  They are simply lilypond note blocks, with
the parts separated by a bar and a space, to be read top down.  Your
program would work without modification, except to treat
a .sly extension the same as an .ly (or lytex?) extension.

Check out sly, on my website.  I haven't changed 64th notes to
0 yet, but I will.  I also intend to get rid of @tacet and @attacca,
which was a dumb idea, and replace it with @start and @stop, so that
@start s2. % whatever
at the end of any measure-line would put
s2. % whatever
at the beginning of every measure-line in the voice inclusively until
the line containing @stop.  It will be before the substitutions, so
it could just as easily copy a rhythm pattern to every line to plug
notes into.  What I mean is

a s t al*ba*ter ci*ies | le g*am

is written as

alabaster cities | gleam

gub gub gub @start al*ba*ter %
grass is green
skies are @stop blue

would put

al*ba*ter % gub gub gub
al*ba*ter % grass is green
al*ba*ter %  skies are blue

--
Lies are the first casualty of peace.
Vive la France!
dra@ or http://www.openguitar.com

```