denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] Articulations


From: Richard Shann
Subject: Re: [Denemo-devel] Articulations
Date: Fri, 09 Dec 2011 18:13:08 +0000

On Fri, 2011-12-09 at 09:09 -0600, Jeremiah Benham wrote:
> Where should FETA_MARCATO be defined? How do I get the utf8 value? I 
> looked at the fonts in fontforge trying to find this utf8 value but 
> failed to find it.
I had a real battle to do this too. I did find at least the unicode and
then IIRC I used a converter that is on the web, 
http://rishida.net/tools/conversion/
I would guess. But better I think will be cut and paste the character
from the character map tool - I have GNOME Character Map 2.30.3 on my
Accessories menu  (again you need to know where to look, the block is
called Private Area or something like that, a block starting E... IIRC)
Where should they be? Well, I just dumped the ones I did (REST0, 1,
2 ...) in denemo.scm, but this is an obvious candidate for a file in
denemo-modules.

>  I also noticed that the articulation fonts are not 
> all in a row. Is that necessary? 
No. The REST0, 1, 2 are a special case as we want to be able to program
the index, they should be synonyms for the actual LilyPond glyph names
though. But other glyphs have no particular order, so we should stick
with the ordering that LilyPond uses.
> Should I reorder the fonts 
No.
> or just set 
> FETA_MARCATO
we will need a good name for these. Perhaps the best thing will be to
take the LilyPond glyph name directly.
http://lilypond.org/doc/v2.12/Documentation/user/lilypond/The-Feta-font#The-Feta-font
lists the names, and perhaps give them all a prefix, G- say for glyph.
So
(define G-scripts.ustaccatissimo "")
where I have cut and pasted Unicode E16D from the character map tool
(that tool does give the utf8 I see 0xEE 0x85 0xAD so we could do
(define G-scripts.ustaccatissimo "\xEE\x85\xAD")
but this is less readable I guess.
I think these values will stay the same as they (and we...) switch to
the emmentaler font (indeed I thought I saw mention of a parmesan
font?).



>  to point to where they are currently? We will want an image 
> to show in the draw area correct?
These glyphs *are* the image to show in the draw area. You write
(d-DirectivePut-note-graphic tag "
\xEE\x85\xAD
Feta26
24")

and it uses that glyph from that font at 24 point. There are quite a few
examples of this. We don't need them for any other purpose - issue the
LilyPond syntax /staccatissimo or whatever it is, and LilyPond prints
the right glyph.


>  I think we used to select something in 
> the print view screen and save it as a bitmap to load back into to 
> denemo.
I dropped this with the evince widget, as that just got .png images and
we want the actual LilyPond glyph as it scales.

>  Its been a while since I have done that. Its a good idea that I 
> relearn :). It will be a good test to see if it is working with the
> gtk3 
> build.
as I say, it isn't working in any build now. 
> 
> >
> > But once done, it should be possible to add further articulations
> just
> > by naming the glyph and the lilypond syntax etc. No re-compiling
> Denemo
> > with new C code written for the particular articulation.
> > Note:
> >       Where I put d-DirectivePut-note-xxx it would be
> > d-DirectivePut-chord-xxx for most articulations, which apply to all
> the
> > notes not individual notes in a chord.
> >       I am not sure whether positioning relative to stem up/down has
> been
> > implemented yet. (would be DENEMO_OVERRIDE_SOMETHING_OR_OTHER...),
> or it
> > may be the default.
> 
> I may have to do the stem/up down thing last because I am not yet
> sure 
> how to do that part yet.
Yes, I suggest leaving this until later except for one point that I
noticed while writing this email. The case of staccatissimo is special
as the glyph changes from up to down depending on whether it is stem up
or down. LilyPond's convention is to use u or d in the name.
We should perhaps adopt a naming convention that makes it easy to switch
during the drawnotes code - easiest is to examine the first character,
so we could use G- for invariant glyphs U- for glyphs for upstem notes
and D- for glyphs for downstem notes.
That is we would have

(define U-scripts.staccatissimo "")
(define D-scripts.staccatissimo "")
(define G-scripts.staccato "")
where I have moved the u and d out of the middle of the names and put
them at the front so as to make life easy and quick to switch between
them for the display.

Do a little pilot case - if possible using Nils' work as a starting
point, if he has time to send it to you.

I will sort out the actual drawing in the display - start with one of
these stem up/down sensitive ones as that is the hard case.

Richard






reply via email to

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