\hideNotes in TabStaff

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

\hideNotes in TabStaff

Trevor D-2
Moved to tab list from -user ..

Marc Hohl wrote Thursday, January 28, 2010 8:27 AM


> Trevor Daniels schrieb:
>>
>> \hideNotes and \unHideNotes are designed to work only with
>> ordinary staves and voices.  In TabStaff they will hide
>> stems, beams, dots, etc (if these are being displayed)
>> but not the fret labels from TabNoteHead.  Maybe they should,
>> or are there situations where you would want to hide notes
>> in the normal staff but not in TabStaff or vice versa?
>
> I have not used \hideNotes very often, but as we want to use the
> input
> both for normal staves and tablature staves without tweaking too
> much,
> I think it would make sense to include the functionality into
> \hideNotes,
> but it seems that this would not be straightforward, as, for
> example,
> \revert Stem #'transparent would make the tablature stems visible,
> too.

It would, which you would not want to do normally but
which would be correct if you were displaying stems in
tab before calling \hideNotes.  This is not so much a
problem with \hideNotes as with the way \tabFullNotation
is implemented.  You would have exactly the same problem
with \hideTabNotes (or whatever it might be called).

This is a limitation of using predefined commands - when
several changes interact there is no means of testing
anything.  The fix would be to use context properties
rather than \hideNotes and \tabFullNotation.  These
could then be tested in the engravers, and the engravers
could work out what values the properties should have.

Trevor




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: \hideNotes in TabStaff

Marc Hohl
Trevor Daniels schrieb:

> Moved to tab list from -user ..
>
> Marc Hohl wrote Thursday, January 28, 2010 8:27 AM
>
>
>> Trevor Daniels schrieb:
>>>
>>> \hideNotes and \unHideNotes are designed to work only with
>>> ordinary staves and voices.  In TabStaff they will hide
>>> stems, beams, dots, etc (if these are being displayed)
>>> but not the fret labels from TabNoteHead.  Maybe they should,
>>> or are there situations where you would want to hide notes
>>> in the normal staff but not in TabStaff or vice versa?
>>
>> I have not used \hideNotes very often, but as we want to use the input
>> both for normal staves and tablature staves without tweaking too much,
>> I think it would make sense to include the functionality into
>> \hideNotes,
>> but it seems that this would not be straightforward, as, for example,
>> \revert Stem #'transparent would make the tablature stems visible, too.
>
> It would, which you would not want to do normally but
> which would be correct if you were displaying stems in
> tab before calling \hideNotes.  This is not so much a
> problem with \hideNotes as with the way \tabFullNotation
> is implemented.  You would have exactly the same problem
> with \hideTabNotes (or whatever it might be called).
You are right, this is a serious limitation of the current implementation.
>
> This is a limitation of using predefined commands - when
> several changes interact there is no means of testing
> anything.  The fix would be to use context properties
> rather than \hideNotes and \tabFullNotation.  These
> could then be tested in the engravers, and the engravers
> could work out what values the properties should have.
So ideally, we would have a context property switching from
\tabFullNotation to \tabNumbersOnly behavior?
Could you specify in more detail how this could be done, so
1) this could be added to the tracker (I think #810 is the proper place
for it)
2) someone could start implementing it (perhaps this way I can learn
some more about
how engravers work)

Thanks,

Marc


>
> Trevor
>
>
>
>
>



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: \hideNotes in TabStaff

Trevor D-2

Marc Hohl wrote Friday, January 29, 2010 10:53 AM


> Trevor Daniels schrieb:
>> Moved to tab list from -user ..
>>
>> Marc Hohl wrote Thursday, January 28, 2010 8:27 AM
>>
>>> Trevor Daniels schrieb:
>>>>
>>>> \hideNotes and \unHideNotes are designed to work only with
>>>> ordinary staves and voices.  In TabStaff they will hide
>>>> stems, beams, dots, etc (if these are being displayed)
>>>> but not the fret labels from TabNoteHead.  Maybe they should,
>>>> or are there situations where you would want to hide notes
>>>> in the normal staff but not in TabStaff or vice versa?
>>>
>>> I have not used \hideNotes very often, but as we want to use the
>>> input
>>> both for normal staves and tablature staves without tweaking too
>>> much,
>>> I think it would make sense to include the functionality into
>>> \hideNotes,
>>> but it seems that this would not be straightforward, as, for
>>> example,
>>> \revert Stem #'transparent would make the tablature stems
>>> visible, too.
>>
>> It would, which you would not want to do normally but
>> which would be correct if you were displaying stems in
>> tab before calling \hideNotes.  This is not so much a
>> problem with \hideNotes as with the way \tabFullNotation
>> is implemented.  You would have exactly the same problem
>> with \hideTabNotes (or whatever it might be called).
>
> You are right, this is a serious limitation of the current
> implementation.
>>
>> This is a limitation of using predefined commands - when
>> several changes interact there is no means of testing
>> anything.  The fix would be to use context properties
>> rather than \hideNotes and \tabFullNotation.  These
>> could then be tested in the engravers, and the engravers
>> could work out what values the properties should have.
>
> So ideally, we would have a context property switching from
> \tabFullNotation to \tabNumbersOnly behavior?
> Could you specify in more detail how this could be done, so
> 1) this could be added to the tracker (I think #810 is the proper
> place for it)
> 2) someone could start implementing it (perhaps this way I can
> learn some more about
> how engravers work)

OK, here's a start, but I'd like Carl or someone more
knowledgeable to confirm or amend this suggestion.  It
would be quite a messy change, as mods to lots of
engravers would be required.

Define a new context property, say tabFullNotation,
which is a Boolean set to #t if full tab notation is
required and #f if not.  This would be set #f in the
TabVoice context definition and set #t by the
\tabFullNotation predefined command.

Define a new context property, say hideNotes, which is
a Boolean set to #f normally and to #t if notes are to
be hidden.

These two properties would be read by all the engravers
creating note heads, stems, dots etc and used to determine
what value the 'transparent property should have.
For example, if hideNotes was #f the dots engraver
would set the 'transparent property depending on the
value of tabFullNotation.

That said, I can see lots of other complications which
would need to be carefully thought through.  This should
not be undertaken lightly!

Trevor





Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: \hideNotes in TabStaff

Marc Hohl
Trevor Daniels schrieb:

>
> [...]
> OK, here's a start, but I'd like Carl or someone more
> knowledgeable to confirm or amend this suggestion.  It
> would be quite a messy change, as mods to lots of
> engravers would be required.
>
> Define a new context property, say tabFullNotation,
> which is a Boolean set to #t if full tab notation is
> required and #f if not.  This would be set #f in the
> TabVoice context definition and set #t by the
> \tabFullNotation predefined command.
>
> Define a new context property, say hideNotes, which is
> a Boolean set to #f normally and to #t if notes are to
> be hidden.
>
> These two properties would be read by all the engravers
> creating note heads, stems, dots etc and used to determine
> what value the 'transparent property should have.
> For example, if hideNotes was #f the dots engraver
> would set the 'transparent property depending on the
> value of tabFullNotation.
>
> That said, I can see lots of other complications which
> would need to be carefully thought through.  This should
> not be undertaken lightly!
Trevor, thanks for your explanations. It seems to me that this would be
a more consistent approach to the whole tablature situation, because then,
everything can be \overridden and \reverted, but this is not a trivial
task, so let's see what the professionals say...

Marc
>
>



Loading...