denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] ReadingNoteNames Varaitions


From: Richard Shann
Subject: Re: [Denemo-devel] ReadingNoteNames Varaitions
Date: Sun, 28 Jun 2009 09:17:45 +0100

On Sat, 2009-06-27 at 23:38 -0500, Jeremiah Benham wrote:
> 
> > > (d-FindDirective-standalone tag)
> > I found a sneaky way to do this, via a script, so it now available.
> It
> > creates a standalone directive but keeps the cursor on the
> directive, so
> > that you can go on to set the fields without having to move the
> cursor
> > left back on to it.
> 
> Let me know when you implement this. I have tried
> (d-PutDirective-standalone "mytag")
It is d-DirectivePut-standalone, all the Directive commands start
d-Directive then the action then the type of directive in lower case
after a hyphen. 

So my suggested syntax above should perhaps be d-DirectiveFind...,
however I modelled d-NextStandaloneDirective on d-NextChord etc. - some
more thought needed here. We could just add the other syntax into
denemo.scm.

> but the error at the terminal says: 
> 
> Just got an error; tag is
>         unbound-variable
> 
> 
> Would you recommend that in games like ReadingNoteNames each note have
> a standalone directive and then use (d-FindDirective-standalone tag)
>  to find each note?
No, much better attach a directive to the chord and search for that.
I have done (master in git) the 

(d-DirectiveGetTag-field)

(d-Directive-field?)
(d-Directive-field? tag)

for all the fields (standalone, chord, etc etc). The first returns the
tag of the directive found (or #f if none), the d-Directive-field tests
for the presence of the sort of directive, restricted to tag if given.
These are all in actions/denemo.scm so you can see what they do.
So you can write a loop to find a particular chord directive placing the
cursor on it.

This is much better than having standalones which can get moved away
from the note they refer to. However if you put a big tick for correct
into the score that could be a standalone (it could be put on a staff
below), Also the score could be put in using two standalones, one tagged
"tens" the other "units", where you just change the digits by finding
the "units" and getting and then incrementing and putting the value,
carrying over into the "tens" if need be. Then the score displays in big
numbers, as I did for the conductor (IIRC) but that was before the
ability to find and edit specific directives, so I was moving the cursor
by dead reckoning.

Hope this is clear enough - I have to rush. 

The C implementations are in lilydirectives.c and the definitions of the
scheme interface to them in view.c, if you need to check on the
syntax/return values etc.

Richard






reply via email to

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