Thanks for your hint. The following script does work and adds the
display text:
;;;ToggleMelisma
(let ((tag "ToggleMelisma"))
(ToggleDirective "chord" "postfix" (cons tag "(mel") "\\melisma "
DENEMO_OVERRIDE_AFFIX))
I have borrowed the syntax with (cons ...) from one of Denemos scripts
(I don't remember which).
Andreas
Am 18.01.2017 um 19:34 schrieb Richard Shann:
> On Wed, 2017-01-18 at 19:10 +0100, Andreas Schneider wrote:
>> A question to the implementation: In your version of the melisma
>> script
>> for the Gregorian palette, you use (d-DirectivePut-chord-override tag
>> 16). I have looked up in denemo_types.h that 16 is
>> DENEMO_OVERRIDE_AFFIX. I tried to mimic that with ToggleDirective
>> (looking at your mail from 11th Jan.):
>>
>> ;;;ToggleMelisma
>> (let ((tag "ToggleMelisma"))
>> (ToggleDirective "chord" "postfix" (cons tag "(mel") "\\melisma " #f
>> #f
>> DENEMO_OVERRIDE_AFFIX)
>>
>> However, that does not work. I do not understand the definition in
>> actions/denemo-modules/directives.scm. What do I do wrong?
>
> you are providing the wrong number and types of arguments (perhaps by
> analogy with the ToggleStandaloneDirective procedure?, or whatever it is
> called).
>
> The definition starts
>
> (define (ToggleDirective type field tag content . overrides) ; four strings
> and an arbitrary number of flags (numbers) for override field.
>
>
> so it requires four strings and then zero or more numbers.
> an example is given just before the procedure definition
> (ToggleDirective "staff" "prefix" "Ambitus" "\\with { \\consists
> \"Ambitus_engraver\" }")
>
> so you need (ToggleDirective "chord" "postfix" tag "\\melisma "
> DENEMO_OVERRIDE_AFFIX)
>
> It doesn't seem to have any parameters for setting the graphic or
> display text. So you would need to do that after creating it, which
> means that you will have to test whether it is present(*) (so it becomes
> a little bit of a moot point whether this procedure is worth using).
>
> Richard
> (*) you have to test because it may be toggling off, and in that case
> doing something like
> (d-DirectivePut-chord-display tag "(mel") would create a new (almost
> empty) directive :(
>
>
>
>
>
>
>
_______________________________________________
Denemo-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/denemo-devel