denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] Fwd: microtonal accidentals


From: Richard Shann
Subject: Re: [Denemo-devel] Fwd: microtonal accidentals
Date: Mon, 09 Apr 2018 14:29:48 +0100

[...]
> > 
> > >   I played around with the with the accidental and made a button.
> > 
> > Is that to say you made a palette button that would run the script
> > I
> > sent when clicked?
> 
> Yes 

A series of palette buttons to support microtone accidentals is one way
to go - there is a Gregorian Chant palette that works that way, though
in that case the scripts are more complicated because several notes are
involved for each button to create the Gregorian groupings.


> > 
> > > tried several things to cause it not to work.
> > >
> > > The note past to Lilypond may have 4 parts/variables: note name,
> > > accidental, octave, duration.   There is no space between the
> > > variables so this string is not nested Scheme code? 
> > 
> > It is LilyPond's syntax for a note, everything except the note name
> > is
> > optional, the defaults being the natural accidental, the octave
> > below
> > middle C (unless in relative mode when the default is relative to
> > the
> > last note) and the duration of the last note. LilyPond reads this
> > and
> > decides what should be typeset. By including "makam.ly" LilyPond
> > expects "k" as a possible accidental and will typeset the glyph it
> > has
> > for that.
> 
> What I am getting at the string that is past to Lilypond is not
> Scheme code because it does not have spacing between the variables?

No, Denemo does not pass Scheme code to LilyPond, because LilyPond
requires a file containing LilyPond's syntax.



> > >   Python handles this?
> > 
> > Python is not used in LilyPond itself, only some converter programs
> > like midi2ly and so on. The parsing of LilyPond syntax is handled
> > in
> > C++ and Scheme. But, again, this is not the mailing list for
> > LilyPond
> > questions - anything you read here may be just a fuzzy
> > understanding of
> > LilyPond, there are a dozen or so experts on the workings of
> > LilyPond
> > on their list, only too happy to see more music typeset by
> > LilyPond.
> 
> Basically I have been asking about how Denemo talks to Lilypond. 

Denemo writes out a file and then starts the LilyPond program passing
it the filename, LilyPond then generates a PDF file which Denemo then
displays.

>  The font question was baste on the  assumption the that Denemo  only
> has a sub set of subset font.   So I was trying to find out what
> could be added to Denemo

The only thing you have to add to Denemo is the LilyPond syntax that
you want Denemo to pass to LilyPond. But in addition it is nice to tell
Denemo what to display to you when you have attached a "k" to a note,
so as to make it easy to decipher the Denemo Display and be sure you
attached the right thing.
So that comes back once more to the question - can LilyPond create the
typeset you want? If it can and you know what syntax LilyPond wants
then I can help you make Denemo pass that syntax to LilyPond.

>  and though you would know were the accidentals were in Lilypond
> because you had to get your matching code some were (the names of the
> accidentals that you use like "k").
drawing the glyph in the Denemo Display is optional - you could just
put the letter "k" next to the note, and you would know that you had
attached a "k" as the accidental. It would not be so nice to look at
but the typesetting would still be fine.
> 
> BTW I have been looking at the cade that you sent for makam.ly.    
> Was it written by Lilypond (.ly)?

Do you mean this:

> > The example (see below) was:
>
> > (let ((tag "makam"))
> >         (d-DirectivePut-note-postfix tag "k")
> >         (d-DirectivePut-note-override tag DENEMO_OVERRIDE_AFFIX)
> >         (d-DirectivePut-note-graphic tag
> > "accidentals.sharp.slashslashslash.stem")
> >         (d-DirectivePut-note-gx tag -10)
> >         (d-SetSaved #f))

That is a Scheme program. It is calling a sequence of procedures that
Denemo provides - the ones named x-XXXXX. If you put that script into a
palette button and click on the  button it will be executed and the
result is that a Denemo Directive will be attached to the note at the
cursor. If you move the cursor to a new note and click again an
identical Denemo Directive will be attached to that note. The Denemo
Display and the LilyPond typesetting will change to match.

>    What program language is it?

or do you mean the code that is in the file "makam.ly"? That is
LilyPond syntax

>    Is it just calls to libraries?   No clue!!   It change as you poke
> around, very strange.

poke???

Richard





reply via email to

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