RemoveEmpty``Tab``StaffContext and 'internal properties'

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

RemoveEmpty``Tab``StaffContext and 'internal properties'

Vincenzo Colonnella
Hi everybody!

I'm new to this list.
First of all, I want show all my gratefulness for the existence of such a
beautiful program like Lilypond. I'm becoming an enthusiastic user of it...
also if my usage isn't so extended. I'm studying it from some weeks and
trying to know better how it works.
I'm using lilypond version 2.6.3.1 for Linux.

Unfortunately I don't have any experience in Scheme (studied only a bit of
LISP some years ago).
Perhaps that would be useful to solve a problem which i'm fallen into. I know
other people were, from the list archive. But I never found an answer to
this, working for my case.
Problem concerns applying known command "\RemoveEmptyStaffContext" also to
TabStaves.
The quoted command acts only on normal Staff objects, and not on TabStaff
objects (someone suggested also DrumStaff, I don't know).
Others suggested a solution like this (I tried to adapt to my current version,
any mistake??):

\context {
        \TabStaff
        \remove "Axis_group_engraver"
        \consists "Hara_kiri_engraver"
        \override Beam #'auto-knee-gap = #'()
        \override RemoveEmptyVerticalGroup #'remove-first = ##t
}

[   with version 2.6, I had to correct:
- usage of "consistsend": doesn't work, I used "consists";
- not usable in "paper" section: I used in "layout" section;   ]

That doesn't work for my sheet cause it remove all TabStaff lines!
At most, I can show only the first (empty) without "remove-first".

Wandering around Lilypond documentation, I figured out that a good solution
would be about hacking a bit something in order to correctly set an "internal
property".
'Hara_kiri_engraver' create a layout object called 'RemoveEmptyVerticalGroup',
that supports the interface 'hara-kiri-group-interface', that contains the
internal property 'items-worth-living'.
I think that the list defined in that property doesn't contain
"TabNoteHeads", while perhaps it should.

Finally, my question: there's a way to manipulate also "internal properties"
from a .ly source?
Or, at least, there's another working method to reach what I aim?


Thanx for patience!!
Greetings! And good work!! Go on so great!!

Vincenzo


_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: RemoveEmpty``Tab``StaffContext and 'internal properties'

Han-Wen Nienhuys
Vincenzo Colonnella wrote:
> Wandering around Lilypond documentation, I figured out that a good solution
> would be about hacking a bit something in order to correctly set an "internal
> property".
> 'Hara_kiri_engraver' create a layout object called 'RemoveEmptyVerticalGroup',
> that supports the interface 'hara-kiri-group-interface', that contains the
> internal property 'items-worth-living'.
> I think that the list defined in that property doesn't contain
> "TabNoteHeads", while perhaps it should.


good detective work!

> Finally, my question: there's a way to manipulate also "internal properties"
> from a .ly source?
> Or, at least, there's another working method to reach what I aim?

try

    \set TabStaff.keepAliveInterfaces = #'(note-head-interface
rest-interface)

> Thanx for patience!!
> Greetings! And good work!! Go on so great!!

If you enjoy LilyPond, consider a donation! See
http://lilypond.org/web/sponsor/

--
  Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen


_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user