Re: property setting

2002-06-23 Thread Rune Zedeler

Han-Wen wrote:

> first of all, I don't see the point, in this sense: the number of
> people that will deviate from the default accidentals is so small that
> it doesn't warrant drastic additions to the syntax/semantics. (perhaps
> I said this earlier, and you replied, but I forgot your motivation.)

I didn't concider my suggestion a drastic addition :-)

> It's not possible  taht the context is  not found;  \property Foo.bar=
> #bla really means
> 
>  \context Foo [assign property in current context]

Eh, so what you are telling me is that if I say i.e.

\context Voice = foo {
c d
\property Staff.Bar \override #'baz = #'jazz
e f
}

then "e f" will not occur in voice "foo"???


> Secondly, what do you want
> 
> 
> \score {
><
>   { \clef bass c'4 }
>   {  c'4 }
>   >
>   }
> 
> to do ?  Your suggestion would make bass clefs in both scores. 

Well, yes, you are right. But if one would instantiate the staff:

  \score {
 <
 
\property Staff = sa { \clef bass c'4 }
 
\property Staff = sb {  c'4 }
>

then one would only get bass clef in the top staff.
But okay, I get your point - it will not be a good idea that \property 
Staff.blabla might change some property on i.e. Score level.

Well. Will it be okay that I add the aliasses to the contexts?
No syntax changes, just some \aliasses in engraver-init.ly

> I think that the current behavior is just as bad as your suggestion. I
> would prefer that the kind of advanced behavior you want be done with
> an advanced feature such as evaluating Scheme code. I even recall
> posting a suggestion on how to implement such a feature.

Oh, yes, thanks for reminding me about that.
Your suggestion was a new command, \applycontext, that makes it possible 
to read context properties in the expression that sets them. The 
motivation was the ottava-command that needs to read the current 
central-c-position.
Afaics this has nothing to do with this current issue, however.
- Your scheme function makes it easier to decide the value to assign.
My problem is how to find the right context in which to do the assign.

-Rune


___
Lilypond-devel mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/lilypond-devel



property setting

2002-06-23 Thread Han-Wen

[EMAIL PROTECTED] writes:
> It should be possible without any hacking to set properties in different 
> contexts using the same macro.
> 
> The burning reason for this is the accidental macros - but also other 
> macros might come in handy. I.e. being able to say \clef F in start of 
> the score to get F-clefs in all staves would be quite handy.

first of all, I don't see the point, in this sense: the number of
people that will deviate from the default accidentals is so small that
it doesn't warrant drastic additions to the syntax/semantics. (perhaps
I said this earlier, and you replied, but I forgot your motivation.)

> a) add aliasses to all context. I.e. "Current" to all contexts, 
> "CurrentVoice" to all contexts except thread, "CurrentStaff" to all 
> contexts except voice and thread.
> This way one can say
> \property CurrentStaff.blablabla
> to affect the current staff if it is present, otherwise the inntermost 
> context.
> 
> b) alternatively the \property command could be changed so that if the 
> context was not found, instead of producing an error and do nothing, the 
> operation was done on the innermost context. This way the clef-command 
> would behave as desired without any changes to it.

It's not possible  taht the context is  not found;  \property Foo.bar=
#bla really means

 \context Foo [assign property in current context]


Secondly, what do you want


  \score {
 <
{ \clef bass c'4 }
{  c'4 }
>
}

to do ?  Your suggestion would make bass clefs in both scores. 

I think that the current behavior is just as bad as your suggestion. I
would prefer that the kind of advanced behavior you want be done with
an advanced feature such as evaluating Scheme code. I even recall
posting a suggestion on how to implement such a feature.

--
Han-Wen Nienhuys   |   [EMAIL PROTECTED]   |   http://www.cs.uu.nl/~hanwen 

___
Lilypond-devel mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/lilypond-devel



Re: pedal bugs

2002-06-23 Thread Chris Jackson


Hi, 

This patch will fix the pedal line-lengths bug. Sorry this wasn't sent
sooner..

-- 
chris



Index: ChangeLog
===
RCS file: /home/lilypond/lilypond/ChangeLog,v
retrieving revision 1.235
diff -p -u -r1.235 ChangeLog
--- ChangeLog   23 Jun 2002 11:55:52 -  1.235
+++ ChangeLog   23 Jun 2002 22:20:58 -
@@ -1,3 +1,9 @@
+2002-06-23  Chris Jackson  <[EMAIL PROTECTED]>
+
+   * lily/text-spanner.cc (setup_pedal_bracket):
+   * lily/piano-pedal-engraver.cc (create_bracket_grobs): 
+   Fix the lengths of mixed-style piano pedal brackets.
+
 2002-06-23  Jan Nieuwenhuizen  <[EMAIL PROTECTED]>
 
* Documentation/user/tutorial.itely (First steps): Add missing
Index: lily/piano-pedal-engraver.cc
===
RCS file: /home/lilypond/lilypond/lily/piano-pedal-engraver.cc,v
retrieving revision 1.39
diff -p -u -r1.39 piano-pedal-engraver.cc
--- lily/piano-pedal-engraver.cc19 Jun 2002 19:06:33 -  1.39
+++ lily/piano-pedal-engraver.cc23 Jun 2002 22:20:59 -
@@ -352,10 +352,12 @@ Piano_pedal_engraver::create_bracket_gro
   gh_bool2scm (false));
 
   /*
-   Warning: we can't hang the bracket on an item in Y-direction:
-   it will cause problems when the bracket is broken, because the
-   item can be on another line.
+   Mixed style: Store a pointer to the preceding text for use in
+   calculating the length of the line 
   */
+  if (p->item_p_)
+   p->bracket_p_->set_grob_property ("pedal-text", p->item_p_->self_scm ());
+  
   p->bracket_p_->set_bound (LEFT, unsmob_grob (get_property 
("currentMusicalColumn")));
   Axis_group_interface::add_element (p->line_spanner_, p->bracket_p_);   
 
Index: lily/text-spanner.cc
===
RCS file: /home/lilypond/lilypond/lily/text-spanner.cc,v
retrieving revision 1.56
diff -p -u -r1.56 text-spanner.cc
--- lily/text-spanner.cc17 Jun 2002 16:46:28 -  1.56
+++ lily/text-spanner.cc23 Jun 2002 22:20:59 -
@@ -244,7 +244,7 @@ Text_spanner::setup_pedal_bracket(Spanne
   if ( to_boolean (me->get_grob_property ("text-start")) )
 {
   height[LEFT] = 0;
-  Grob * textbit = me->get_parent(Y_AXIS);
+  Grob * textbit = unsmob_grob (me->get_grob_property("pedal-text"));
   extra_short = padding;
   if (textbit->internal_has_interface(ly_symbol2scm("text-interface"))) 
// for plain text, e.g., Sost. Ped.
@@ -287,7 +287,7 @@ struct Pianopedal
 };
 ADD_INTERFACE (Pianopedal,"piano-pedal-interface",
   "",
-  "pedal-type edge-widen edge-height shorten-pair text-start left-widen 
right-widen");
+  "pedal-type edge-widen edge-height shorten-pair text-start left-widen 
+right-widen pedal-text");
 
 ADD_INTERFACE (Text_spanner,"text-spanner-interface",
   "generic text spanner",
Index: scm/grob-property-description.scm
===
RCS file: /home/lilypond/lilypond/scm/grob-property-description.scm,v
retrieving revision 1.82
diff -p -u -r1.82 grob-property-description.scm
--- scm/grob-property-description.scm   21 Jun 2002 15:10:20 -  1.82
+++ scm/grob-property-description.scm   23 Jun 2002 22:21:00 -
@@ -267,6 +267,7 @@ FIXME: also pair? (cons LEFT RIGHT)
 (grob-property-description 'old-accidentals list? "list of (pitch, accidental) 
pairs.")
 (grob-property-description 'padding number? "add this much extra space between 
objects that are next to each other.")
 (grob-property-description 'pedal-type symbol? "Style of piano pedal: text, bracket 
or mixed.")
+(grob-property-description 'pedal-text ly-grob? "Pointer to the text of a mixed-style 
+piano pedal.")
 (grob-property-description 'penalty number? "Penalty for breaking at
 this column. 1 or more means forbid linebreak, -1 or less
 means force linebreak.  Other values influence linebreaking decisions



___
Lilypond-devel mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/lilypond-devel



Re: lily core dump

2002-06-23 Thread Mats Bengtsson

> 1. must we define the package name variable somewhere?

No, that should work well by default. I don't know
the details on how configure works, so I can't say
what might have broken.

> 2. concerning the lilypond core dump, i observe that
>   ly2dvi -P filename.ly
> runs like a gentleman till the end,
>   and
>   lilypond filename.ly
>  crashes with a core dump.
> 
> sure ly2dvi passes some options to lilypond that lilypond does not take by
> default.

Did you read what the INSTALL.txt file says about
environment variable settings and the files
lilypond-profile/lilypond-login?

   /Mats

___
Lilypond-devel mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/lilypond-devel



re: lily core dump

2002-06-23 Thread Han-Wen

[EMAIL PROTECTED] writes:
> on Sat 22, June 2002 Han-Wen <[EMAIL PROTECTED]> wrote
> 
> > the fonts should be in /usr/local/share/lilypond/VERSION/fonts/afm/fetaxx.afm.
> > Please double check your installation. 
> 
> It is done now.
> related to this topic i found this in config.h:
> datadir=/usr/local/share//1.5.62.uu1 !!!
> of course lilypond was installed in:
> /usr/local/share/1.5.62.uu1,
> and not in /usr/local/share/lilypond/1.5.62.uu1 directory
> as expected.

it's probably related to the typo in PACKAGE_NAME in the file VERSION. Remove
the old stuff, correct that and run again.


-- 

Han-Wen Nienhuys   |   [EMAIL PROTECTED]   |   http://www.cs.uu.nl/~hanwen 

___
Lilypond-devel mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/lilypond-devel