Re: VerticalAxisGroup #'remove-first = ##t does not work with \partial r

2009-10-03 Thread Valentin Villenave
On Sat, Oct 3, 2009 at 11:37 AM, Reinhold Kainhofer
 wrote:
> I would say so. After all, the rest in the pickup measure is something like a
> full-measure rest, although it is not notated as such.

Yes, I find it disturbing that partial measures can't contain a proper
full-measure rest. But I'm not sure that it would be worth
implementing a new special kind of grob that
looks-like-a-normal-rest-but-behaves-like-a-full-measure-rest :-)

Rewriting the keepAlive interfaces list is above my competence, so
I'll just do what I do best: add it to the tracker.

Here's the issue:
http://code.google.com/p/lilypond/issues/detail?id=849

Cheers,
Valentin


___
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond


Re: VerticalAxisGroup #'remove-first = ##t does not work with \partial r

2009-10-03 Thread Xavier Scheuer
Valentin Villenave a écrit :
> Indeed. Non-capitalized rests make a measure to be regarded as
> non-empty, even when it's a partial measure.

Yes, that's what I have understood.
First I was thinking this was a "simple" bug, then after further
investigations I came to this statement.

> I'm not sure, but perhaps the appropriate syntax should be R16 (that
> works, but results in a barcheck error)?

Well, I tried this too.
That works but :
 - it induce barcheck errors,
 - the rest isn't printed (I use the same source for the violin part).

Nicolas Sceaux a écrit :
> %%% The following hack make regular rests hara-kiri-able
> %%%
> #(let* ((rest-def (assoc 'Rest all-grob-descriptions))
>  (meta-def (assoc 'meta (cdr rest-def)))
>  (interfaces-def (assoc 'interfaces (cdr meta-def)))
>  (interfaces (filter (lambda (interface)
>(not (eqv? interface
> 'rhythmic-grob-interface)))
>  (cdr interfaces-def
>(set-cdr! interfaces-def interfaces))

This works great, many thanks.
I'll use this for the meantime, waiting for its future implementation
into lilypond (or another solution to be found).

Valentin Villenave a écrit :
> Yes, I know about these workarounds. But ideally, one shouldn't have
> to use any hack at all...

I think so too.
(That's also why I send this as an "issue".)

Thanks everybody for looking into this!
Sincerely,


Xavier


___
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond


Re: VerticalAxisGroup #'remove-first = ##t does not work with \partial r

2009-10-03 Thread Reinhold Kainhofer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Am Samstag, 3. Oktober 2009 10:36:14 schrieb Valentin Villenave:
> On Fri, Oct 2, 2009 at 5:50 PM, Nicolas Sceaux  
wrote:
> > %%% The following hack make regular rests hara-kiri-able
> 
> Yes, but do we want to have hara-kiri-able regular rests? There has to
> be a reason why so far we consider rests as keep-alive interfaces,
> hasn't it?

I suppose because (1) that problem hasn't come up so far and (2) it's much 
easier to add rhythmic-grob-interface (which includes normal rests, but not 
multi-measure rests) to the keepAliveInterfaces than to explicitly list all 
interfaces for rhythmic grobs except the rest-interface...

The only reason I can think of is that with simple rests, one has a way to 
keep a staff alive without any tweaks (although the rests will look strange, 
since they should rather be written as multi-measure rests, so I don't think 
that was the reason).


> So, my question was actually about the *default* behavior in LilyPond:
> currently the default behavior prevents remove-first from working
> whenever there's a partial measure at the beginning. That looks like a
> bug, or doesn't it?

I would say so. After all, the rest in the pickup measure is something like a 
full-measure rest, although it is not notated as such.

Cheers,
Reinhold

- -- 
- --
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFKxxtsTqjEwhXvPN0RAt5CAJ0WbIwCkUIAh6ZYF9wf6+KdhcV2zwCfe4uG
Vzk+UaNE1wL7Hr4xd/ZXfEw=
=ot2o
-END PGP SIGNATURE-


___
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond


Re: VerticalAxisGroup #'remove-first = ##t does not work with \partial r

2009-10-03 Thread Nicolas Sceaux

Le 3 oct. 09 à 10:36, Valentin Villenave a écrit :

On Fri, Oct 2, 2009 at 5:50 PM, Nicolas Sceaux  
 wrote:

%%% The following hack make regular rests hara-kiri-able


Yes, but do we want to have hara-kiri-able regular rests? There has to
be a reason why so far we consider rests as keep-alive interfaces,
hasn't it?


I don't see any good reason, at least in the domain I am familiar with.


So, my question was actually about the *default* behavior in LilyPond:
currently the default behavior prevents remove-first from working
whenever there's a partial measure at the beginning. That looks like a
bug, or doesn't it?


It's not just about remove-first, but any place in the score.
Consider a voice looking like:

r4 | R2.*7 | r2 \bar ":|:"
 \bar ":|:"
r4 | R2.*7 | r2 \bar "|."

In the first line, despite the remove-first, the voice will be
displayed.
In the last line, it will displayed too, although there are only
rests.

So this is more about the removability of rests in general.

nicolas

___
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond


Re: VerticalAxisGroup #'remove-first = ##t does not work with \partial r

2009-10-03 Thread Valentin Villenave
On Fri, Oct 2, 2009 at 5:50 PM, Nicolas Sceaux  wrote:
> %%% The following hack make regular rests hara-kiri-able

Yes, but do we want to have hara-kiri-able regular rests? There has to
be a reason why so far we consider rests as keep-alive interfaces,
hasn't it?

On Fri, Oct 2, 2009 at 5:55 PM, Mats Bengtsson  wrote:
> hide = \unset Score.keepAliveInterfaces

Yes, I know about these workarounds. But ideally, one shouldn't have
to use any hack at all...

So, my question was actually about the *default* behavior in LilyPond:
currently the default behavior prevents remove-first from working
whenever there's a partial measure at the beginning. That looks like a
bug, or doesn't it?

Thanks for your input :-)

Cheers,
Valentin


___
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond


Re: VerticalAxisGroup #'remove-first = ##t does not work with \partial r

2009-10-02 Thread Mats Bengtsson

An alternative, found in the mailing archives is to do

\version "2.13.4"

show = \set Score.keepAliveInterfaces = #'(
   rhythmic-grob-interface
   lyric-interface
   percent-repeat-item-interface
   percent-repeat-interface
   stanza-number-interface
 )

hide = \unset Score.keepAliveInterfaces

\score {
 <<
   \new Staff {
 \partial 16 \hide r16 \show |
 R1*4 | \break
 R1*4 | \break
 c''1 | r2 r2
 \bar "|."
   }
   \new Staff {
 \partial 16 c'16 |
 \repeat unfold 4 { c'1 } | \break
 \repeat unfold 4 { c'1 } | \break
 c'1 | r2 r2
 \bar "|."
   }
 >>

 \layout {
   \context {
 \RemoveEmptyStaffContext
 \override VerticalAxisGroup #'remove-first = ##t
   }
 }

}

  /Mats



___
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond


Re: VerticalAxisGroup #'remove-first = ##t does not work with \partial r

2009-10-02 Thread Nicolas Sceaux


Le 2 oct. 09 à 14:02, Valentin Villenave a écrit :

On Wed, Sep 30, 2009 at 9:41 PM, Xavier Scheuer  
 wrote:
%% Docs: A staff is considered empty when it contains only multi- 
measure

%% rests, skips, spacer rests, or a combination of these elements."
%%
%% But because a \partial rest is not one of these elements it  
prevents
%% \override VerticalAxisGroup #'remove-first = ##t to work if the  
first

%% empty staff begin, for example, with \partial 16 r16



   \new Staff {
 \partial 16 r16 |  % doesn't work
% works if we use \partial 16 s16


Indeed. Non-capitalized rests make a measure to be regarded as
non-empty, even when it's a partial measure.


%%%
%%% The following hack make regular rests hara-kiri-able
%%%
#(let* ((rest-def (assoc 'Rest all-grob-descriptions))
 (meta-def (assoc 'meta (cdr rest-def)))
 (interfaces-def (assoc 'interfaces (cdr meta-def)))
 (interfaces (filter (lambda (interface)
   (not (eqv? interface 'rhythmic-grob- 
interface)))

 (cdr interfaces-def
   (set-cdr! interfaces-def interfaces))




___
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond


Re: VerticalAxisGroup #'remove-first = ##t does not work with \partial r

2009-10-02 Thread Valentin Villenave
On Wed, Sep 30, 2009 at 9:41 PM, Xavier Scheuer  wrote:
> %% Docs: A staff is considered empty when it contains only multi-measure
> %% rests, skips, spacer rests, or a combination of these elements."
> %%
> %% But because a \partial rest is not one of these elements it prevents
> %% \override VerticalAxisGroup #'remove-first = ##t to work if the first
> %% empty staff begin, for example, with \partial 16 r16

>    \new Staff {
>      \partial 16 r16 |  % doesn't work
>                         % works if we use \partial 16 s16

Indeed. Non-capitalized rests make a measure to be regarded as
non-empty, even when it's a partial measure.

I'm not sure, but perhaps the appropriate syntax should be R16 (that
works, but results in a barcheck error)?

Mats (or somebody as wise as Mats -- if any), what would be The
LilyPond Way(tm) of dealing with such a case?

Cheers,
Valentin


___
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond


VerticalAxisGroup #'remove-first = ##t does not work with \partial r

2009-09-30 Thread Xavier Scheuer
> I'm not top posting.

%% Docs: A staff is considered empty when it contains only multi-measure
%% rests, skips, spacer rests, or a combination of these elements."
%%
%% But because a \partial rest is not one of these elements it prevents
%% \override VerticalAxisGroup #'remove-first = ##t to work if the first
%% empty staff begin, for example, with \partial 16 r16
%% Is it possible to take care of partials when determining empty lines?


\version "2.13.4"
\paper{ ragged-right=##t }

\score {
  <<
\new Staff {
  \partial 16 r16 |  % doesn't work
 % works if we use \partial 16 s16
  R1*4 | \break
  R1*4 | \break
  c''1
  \bar "|."
}
\new Staff {
  \partial 16 c'16 |
  \repeat unfold 4 { c'1 } | \break
  \repeat unfold 4 { c'1 } | \break
  c'1
  \bar "|."
}
  >>

  \layout {
\context {
  \RemoveEmptyStaffContext
  \override VerticalAxisGroup #'remove-first = ##t
}
  }

}


___
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond