[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Code review/discussion time again.
From: |
Han-Wen Nienhuys |
Subject: |
Re: Code review/discussion time again. |
Date: |
Mon, 23 Nov 2009 11:43:17 -0200 |
On Mon, Nov 23, 2009 at 4:02 AM, David Kastrup <address@hidden> wrote:
>>> I have no idea what I am doing here. In particular not with the
>>> \override, and the set-object-property!. Can somebody explain to me
>>> just what data structures I happen to manipulate, and how a user is
>>> actually _supposed_ to be mangling them?
>>
>> Perhaps you could explain us how accordion notation works; that will
>> make it easier to give advice on how to best achieve your targets.
>
> In the context of _this_ patch, we are just placing register symbols.
Right, but I have the feeling this patch is the wrong way to go, but I
need more information.
> The set of symbols that is being used is normally valid per staff. It
> is just in rare cases that you would want to change this set in
> mid-staff, with the exception of switching between "Free Bass" and
> "Standard Bass" symbols which can be interchanged on one hand.
>
>> As far as I can see, there are 2 settings:
>>
>> - the type of accordion (eg defaultStdBassV), which typically span
>> multiple notes, or even the entire piece?
>
> There are separate symbol sets for left and right hand, and that of the
> left hand may be interchanged in mid-stream.
>
>> - the register of a note. Is that specific for one note or for
>> multiple notes?
>
> Multiple notes.
If both are stateful properties (ie. span multiple notes) of the
music, like key signatures, they should be context properties, to be
modified using
\set accordionType = "StdVII"
\set accordionRegister = "22x7whatever"
When are there symbols to be printed? In case of a change of either
property, manual forcing, or both?
In any event, the correct approach would be write an engraver, which
unfortunately cannot currently be done in Scheme (it would be a nice
project to write bindings to enable though). The engraver creates a
new grob (AccordionRegister ?) carrying a markup. The markup should
be created by calling out to a Scheme function which would look at the
accordionType and accordionRegister.
--
Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen
- Re: Code review/discussion time again., (continued)
- Re: Code review/discussion time again., David Kastrup, 2009/11/22
- Re: Code review/discussion time again., Carl Sorensen, 2009/11/22
- Re: Code review/discussion time again., Han-Wen Nienhuys, 2009/11/22
- Re: Code review/discussion time again., David Kastrup, 2009/11/23
- Re: Code review/discussion time again., Reinhold Kainhofer, 2009/11/23
- Re: Code review/discussion time again., Reinhold Kainhofer, 2009/11/23
- Re: Code review/discussion time again., David Kastrup, 2009/11/23
- Re: Code review/discussion time again., Han-Wen Nienhuys, 2009/11/22
Re: Code review/discussion time again., Han-Wen Nienhuys, 2009/11/22