Re: Contexts (Was Re: Set vs. Override - I'm confused)

2006-05-04 Thread Erik Sandberg
On Thursday 04 May 2006 06:21, Arjan Bos wrote:
> Erik,
>
> That's a great document! I've read about half of it now and it does a
> very good job to explain to me how LilyPond works. And seeing the
> date on the title page, I think I have to congratulate you on your
> Masters Degree! Well Done!

Thanks!

> Off topic, but are your music streams implemented in the current 2.9
> branch? 

Working on it.

> From a structural point of view, it looks like a cleaner way 
> of doing things. You might even add the syllables of lyrics to the
> music stream and do away with the current implementation. 

The implementation of lyricsto is one of the things that msuic streams happen 
to clean up; however, large parts of the current implementation are kept 
unchanged.

-- 
Erik


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


Re: Contexts (Was Re: Set vs. Override - I'm confused)

2006-05-03 Thread Arjan Bos

Erik,

That's a great document! I've read about half of it now and it does a  
very good job to explain to me how LilyPond works. And seeing the  
date on the title page, I think I have to congratulate you on your  
Masters Degree! Well Done!


Off topic, but are your music streams implemented in the current 2.9  
branch? From a structural point of view, it looks like a cleaner way  
of doing things. You might even add the syllables of lyrics to the  
music stream and do away with the current implementation. (Obviously,  
I've never looked hard at the lily source code, but as a data  
modeller, I like to see nice structured designs)



Congrats,
Arjan

On 27 apr 2006, at 13:58, Erik Sandberg wrote:


Citerar Tomas Valusek <[EMAIL PROTECTED]>:


Hello,

When I first read the manual I didn't see any clear explanation  
of the

difference,
the docs could be more clear on that point. But when I realized  
that one

was for grobs
and the other for context, it became much clearer, for me it helps
separating and understanding
grobs and contexts.



Context - another topic of my interest. It seems to me I haven't
understood them fully yet. I generally know what they are for, but  
the

role of them is not fully clear to me.


You can read my master thesis if you like, it tries to explain the  
context
concept (the appendix "music streams for the impatient" might be a  
good choice

if you're in a hurry)

http://home.student.uu.se/ersa9195/report.pdf

BTW: Graham, feel free to incorporate anything you like from the  
report into the

manual.

Erik



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


---
The shortest unit of time in the universe is the New York Second,  
defined as the period of time between the traffic lights turning  
green and the cab behind you honking.


-- (Terry Pratchett, Lords and Ladies)



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


Re: Set vs. Override - I'm confused

2006-04-28 Thread Mats Bengtsson

Quoting Michael Brennan <[EMAIL PROTECTED]>:




My simple understanding of it is that:
\set sets a property for the whole context, and the objects contained 
in that context while

\override is for a particular graphical object.

Just a little explanation like that, that separates them would be 
good to have in the docs,

or better yet, Eric's more thorough explanation below.


I'm afraid a simplified explanation like that might give the impression that
the same properties can be set both for the context and for a 
particular graphical object, which of course is completely wrong.

Also, \override by default sets a property for a particular type
of object within the current context, so the concept of contexts
is important also for \override.



What is a \tweak? I can't recall reading about it in the manual. You 
say that you can modify
the fontsize of a single notehead with \tweak. Would that give any 
difference than using a

\once \override NoteHead #'font-size = size


See the NEWS in the documentation for version 2.8. The information from 
the NEWS file is in the process of being incorporated into the manual.


  /Mats



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


Re: Set vs. Override - I'm confused

2006-04-28 Thread Michael Brennan

Erik Sandberg wrote:


Great!  You now officially know more about this area than me, because I 
don't have a clue when to use \override or \set.  Please take a few 
minutes to send me some clarifications or additions for the manual:

http://lilypond.org/web/devel/participating/documentation-adding


My simple understanding of it is that:
\set sets a property for the whole context, and the objects contained in 
that context while

\override is for a particular graphical object.

Just a little explanation like that, that separates them would be good 
to have in the docs,

or better yet, Eric's more thorough explanation below.


Hm. Here's my understanding of it:

You can say it's all about the granularity of the setting. \override
manipulates
settings which are specific to one graphical object/grob (e.g. a NoteHead).
\set
changes settings on a higher level, and can modify more than one type of grob.
For example, fontSize is a context property (modified with \set) because it
changes the behaviour of several different types of grobs (e.g., noteheads and
rests). You can also change the fontsize of all noteheads only, by overriding a
grob property of NoteHead grobs only. Or you can modify the fontsize of a
single
notehead using \tweak.
  
You can notice that \set and \override use different syntaxes:

\set ctx.prop = val
\override ctx Grob.prop = val
Rule of thumb is: If you can figure out a type of Grob that the tweak is
specific to, then it's probably an \override.

This rule requires a rough knowledge of which grob types that exist. The only
way I know to get this knowledge is by reading the internals reference.

Erik

  


What is a \tweak? I can't recall reading about it in the manual. You say 
that you can modify
the fontsize of a single notehead with \tweak. Would that give any 
difference than using a

\once \override NoteHead #'font-size = size




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


Re: Set vs. Override - I'm confused

2006-04-28 Thread Mats Bengtsson
"grob" is just a silly abbreviation for graphical object. On one hand, 
David is absolutely right that far too much of the implementation 
structure is visible in the user interface. On the other hand, unless 
the current approach to

do settings in LilyPond is revised completely, each user who
wants to do some changes to the default layout has to learn that 
properties are organized around the concept of graphical

objects.

  /Mats

Quoting David Feuer <[EMAIL PROTECTED]>:


On 4/27/06, Rick Hansen (aka RickH) <[EMAIL PROTECTED]> wrote:


Whats a grob?


I agree.  The user absolutely should not have to know that there is
any such thing.

David


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







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


Re: Set vs. Override - I'm confused

2006-04-27 Thread Joe Neeman

> Hm. Here's my understanding of it:
>
> You can say it's all about the granularity of the setting. \override
> manipulates
> settings which are specific to one graphical object/grob (e.g. a NoteHead).
> \set
> changes settings on a higher level, and can modify more than one type of
> grob.

There is at least one other distinction -- since context properties take 
effect during the interpretation step, they can affect which grobs are 
created. \set tupletSpannerDuration, for example couldn't be a grob property 
because it doesn't change the grobs. Instead it tells the engraver how many 
grobs to create and where.

Joe


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


Re: Set vs. Override - I'm confused

2006-04-27 Thread David Feuer
On 4/27/06, Rick Hansen (aka RickH) <[EMAIL PROTECTED]> wrote:
>
> Whats a grob?

I agree.  The user absolutely should not have to know that there is
any such thing.

David


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


Re: Set vs. Override - I'm confused

2006-04-27 Thread Rick Hansen (aka RickH)

Whats a grob?


--
View this message in context: 
http://www.nabble.com/Set-vs.-Override---I%27m-confused-t1433228.html#a4124826
Sent from the Gnu - Lilypond - User forum at Nabble.com.



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


Re: Set vs. Override - I'm confused

2006-04-27 Thread Erik Sandberg
Citerar Graham Percival <[EMAIL PROTECTED]>:

> 
> On 26-Apr-06, at 10:36 PM, Michael Brennan wrote:
> 
> > David Feuer wrote:
> >> On 4/19/06, Erik Sandberg <[EMAIL PROTECTED]> wrote:
> >>> In 2.8 there's an essential difference between grob and context 
> >>> properties,
> >>> which is visible for end-users: the \tweak command only makes sense 
> >>> on layout
> >>> object properties, not on context properties. This difference might 
> >>> make it
> >>> easier for new users to understand grob properties.
> >>
> > Actually it helps me, as a new user.
> > When I first read the manual I didn't see any clear explanation of the 
> > difference,
> > the docs could be more clear on that point. But when I realized that 
> > one was for grobs
> > and the other for context, it became much clearer, for me it helps 
> > separating and understanding
> > grobs and contexts.
> 
> Great!  You now officially know more about this area than me, because I 
> don't have a clue when to use \override or \set.  Please take a few 
> minutes to send me some clarifications or additions for the manual:
> http://lilypond.org/web/devel/participating/documentation-adding

Hm. Here's my understanding of it:

You can say it's all about the granularity of the setting. \override
manipulates
settings which are specific to one graphical object/grob (e.g. a NoteHead).
\set
changes settings on a higher level, and can modify more than one type of grob.
For example, fontSize is a context property (modified with \set) because it
changes the behaviour of several different types of grobs (e.g., noteheads and
rests). You can also change the fontsize of all noteheads only, by overriding a
grob property of NoteHead grobs only. Or you can modify the fontsize of a
single
notehead using \tweak.

You can notice that \set and \override use different syntaxes:
\set ctx.prop = val
\override ctx Grob.prop = val
Rule of thumb is: If you can figure out a type of Grob that the tweak is
specific to, then it's probably an \override.

This rule requires a rough knowledge of which grob types that exist. The only
way I know to get this knowledge is by reading the internals reference.

Erik



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


Re: Contexts (Was Re: Set vs. Override - I'm confused)

2006-04-27 Thread Erik Sandberg
Citerar Tomas Valusek <[EMAIL PROTECTED]>:

> Hello,
> 
> > When I first read the manual I didn't see any clear explanation of the 
> > difference,
> > the docs could be more clear on that point. But when I realized that one 
> > was for grobs
> > and the other for context, it became much clearer, for me it helps 
> > separating and understanding
> > grobs and contexts.
> 
> 
> Context - another topic of my interest. It seems to me I haven't 
> understood them fully yet. I generally know what they are for, but the 
> role of them is not fully clear to me.

You can read my master thesis if you like, it tries to explain the context
concept (the appendix "music streams for the impatient" might be a good choice
if you're in a hurry)

http://home.student.uu.se/ersa9195/report.pdf

BTW: Graham, feel free to incorporate anything you like from the report into the
manual.

Erik



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


Re: Contexts (Was Re: Set vs. Override - I'm confused)

2006-04-27 Thread Graham Percival


On 27-Apr-06, at 2:20 AM, Mats Bengtsson wrote:

For some time, I have been thinking about adding an introductory text 
to

the Changing Defaults chapter, which introduces all the main methods
to set context and grob properties with one example for each and links
to the more detailed sections.


Wait until I've finished the doc reorg (probably next week).

- Graham



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


Re: Contexts (Was Re: Set vs. Override - I'm confused)

2006-04-27 Thread Mats Bengtsson

For some time, I have been thinking about adding an introductory text to
the Changing Defaults chapter, which introduces all the main methods
to set context and grob properties with one example for each and links
to the more detailed sections. This would be something along the lines of
http://lists.gnu.org/archive/html/lilypond-user/2003-10/msg00195.html
(which of course is outdated now).
My idea was that this should be placed as an introductory section of
the Changing Defaults chapter and I think that there is place for some
similar introductions also in other parts of the reference manual.
For example, we could have a short introduction summarizing
text scripts, text marks and markup. Now there is one section on
each and it's really hard to get the whole picture.

Of course, an alternative is to add these introductory texts in the 
tutorial,

but then many people who think that they have passed the tutorial stage
will never find it. The target group here is not the beginner but the 
somewhat

experienced user (as most of us are).

  /Mats

Ralph Little wrote:


Hi,
I too find the context/grob property distinction not clear and I did not
find the online doc any help in getting through this barrier of
understanding. It is the one most powerful aspect of Lilypond, but the
one aspect which is treated the most meanly in the introductory docs.
Even user doing basic stuff need to get into settings and stuff when
changing default behaviour so I think it should be touched on earlier in
the documentation.

If the tutorial could be "beefed up" somewhat in this area, I think
there would be far fewer questions regarding how to find tweaks and
settings through the advanced doc, given that users would be armed with
this important information beforehand.

Wish I had the time to do it myself but sadly I do not :(
Good luck to whoever gets the job ;)

Regards,
Ralph

TRIBAL TECHNOLOGY IS A MEMBER OF THE TRIBAL GROUP plc www.tribalgroup.co.uk
This email and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. 
Access, copying, dissemination or re-use of information in it by anyone else is 
unauthorised. If you have received this message in error, please contact the 
sender as soon as possible.




This message has been scanned for viruses by Viatel MailControl


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



--
=
Mats Bengtsson
Signal Processing
Signals, Sensors and Systems
Royal Institute of Technology
SE-100 44  STOCKHOLM
Sweden
Phone: (+46) 8 790 8463 
   Fax:   (+46) 8 790 7260
Email: [EMAIL PROTECTED]
WWW: http://www.s3.kth.se/~mabe
=



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


Re: Contexts (Was Re: Set vs. Override - I'm confused)

2006-04-27 Thread Ralph Little
Hi,
I too find the context/grob property distinction not clear and I did not
find the online doc any help in getting through this barrier of
understanding. It is the one most powerful aspect of Lilypond, but the
one aspect which is treated the most meanly in the introductory docs.
Even user doing basic stuff need to get into settings and stuff when
changing default behaviour so I think it should be touched on earlier in
the documentation.

If the tutorial could be "beefed up" somewhat in this area, I think
there would be far fewer questions regarding how to find tweaks and
settings through the advanced doc, given that users would be armed with
this important information beforehand.

Wish I had the time to do it myself but sadly I do not :(
Good luck to whoever gets the job ;)

Regards,
Ralph

TRIBAL TECHNOLOGY IS A MEMBER OF THE TRIBAL GROUP plc www.tribalgroup.co.uk
This email and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. 
Access, copying, dissemination or re-use of information in it by anyone else is 
unauthorised. If you have received this message in error, please contact the 
sender as soon as possible.




This message has been scanned for viruses by Viatel MailControl


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


Re: Set vs. Override - I'm confused

2006-04-26 Thread Graham Percival


On 26-Apr-06, at 10:36 PM, Michael Brennan wrote:


David Feuer wrote:

On 4/19/06, Erik Sandberg <[EMAIL PROTECTED]> wrote:
In 2.8 there's an essential difference between grob and context 
properties,
which is visible for end-users: the \tweak command only makes sense 
on layout
object properties, not on context properties. This difference might 
make it

easier for new users to understand grob properties.



Actually it helps me, as a new user.
When I first read the manual I didn't see any clear explanation of the 
difference,
the docs could be more clear on that point. But when I realized that 
one was for grobs
and the other for context, it became much clearer, for me it helps 
separating and understanding

grobs and contexts.


Great!  You now officially know more about this area than me, because I 
don't have a clue when to use \override or \set.  Please take a few 
minutes to send me some clarifications or additions for the manual:

http://lilypond.org/web/devel/participating/documentation-adding

Cheers,
- Graham Percival, LilyPond Documentation Editor



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


Contexts (Was Re: Set vs. Override - I'm confused)

2006-04-26 Thread Tomas Valusek

Hello,

When I first read the manual I didn't see any clear explanation of the 
difference,
the docs could be more clear on that point. But when I realized that one 
was for grobs
and the other for context, it became much clearer, for me it helps 
separating and understanding

grobs and contexts.



Context - another topic of my interest. It seems to me I haven't 
understood them fully yet. I generally know what they are for, but the 
role of them is not fully clear to me.


Tomas Valusek


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


Re: Set vs. Override - I'm confused

2006-04-26 Thread Werner LEMBERG

> [...] when I realized that one was for grobs and the other for
> context, it became much clearer, for me it helps separating and
> understanding grobs and contexts.

A big help would be a simple means to distinguish grobs and context
properties.  For example, context property names could always start
with `c-', whereas grob properties don't have this prefix.


Werner


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


Re: Set vs. Override - I'm confused

2006-04-26 Thread Michael Brennan

David Feuer wrote:

On 4/19/06, Erik Sandberg <[EMAIL PROTECTED]> wrote:

  

In 2.8 there's an essential difference between grob and context properties,
which is visible for end-users: the \tweak command only makes sense on layout
object properties, not on context properties. This difference might make it
easier for new users to understand grob properties.



Might, but doesn't.

David


  

Actually it helps me, as a new user.
When I first read the manual I didn't see any clear explanation of the 
difference,
the docs could be more clear on that point. But when I realized that one 
was for grobs
and the other for context, it became much clearer, for me it helps 
separating and understanding

grobs and contexts.

/Michael


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


Re: Set vs. Override - I'm confused

2006-04-26 Thread Geoff Horton
> > In 2.8 there's an essential difference between grob and context properties,
> > which is visible for end-users: the \tweak command only makes sense on 
> > layout
> > object properties, not on context properties. This difference might make it
> > easier for new users to understand grob properties.
>
> Might, but doesn't.

I have to agree. It seems an arbitrary distinction.

Geoff


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


Re: Set vs. Override - I'm confused

2006-04-26 Thread Werner LEMBERG

> > In 2.8 there's an essential difference between grob and context
> > properties, which is visible for end-users: the \tweak command
> > only makes sense on layout object properties, not on context
> > properties. This difference might make it easier for new users to
> > understand grob properties.
> 
> Might, but doesn't.

Hehe, I second this.


Werner


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


Re: Set vs. Override - I'm confused

2006-04-26 Thread David Feuer
On 4/19/06, Erik Sandberg <[EMAIL PROTECTED]> wrote:

> In 2.8 there's an essential difference between grob and context properties,
> which is visible for end-users: the \tweak command only makes sense on layout
> object properties, not on context properties. This difference might make it
> easier for new users to understand grob properties.

Might, but doesn't.

David


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


Re: Set vs. Override - I'm confused

2006-04-26 Thread Erik Sandberg
On Tuesday 11 April 2006 23:56, Werner LEMBERG wrote:
> > \set: set the value of a context property
> > \override: set the value of a layout object property
>
> I've always wondered why it isn't possible to unify them...

In 2.8 there's an essential difference between grob and context properties, 
which is visible for end-users: the \tweak command only makes sense on layout 
object properties, not on context properties. This difference might make it 
easier for new users to understand grob properties.

-- 
Erik



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


Re: Set vs. Override - I'm confused

2006-04-12 Thread Jan Nieuwenhuizen
Werner LEMBERG writes:

>> \set: set the value of a context property
>> \override: set the value of a layout object property
>
> I've always wondered why it isn't possible to unify them...

Or until that time have explicit naming.

Jan.

-- 
Jan Nieuwenhuizen <[EMAIL PROTECTED]> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien   | http://www.lilypond.org


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


Re: Set vs. Override - I'm confused

2006-04-11 Thread Werner LEMBERG
> \set: set the value of a context property
> \override: set the value of a layout object property

I've always wondered why it isn't possible to unify them...


Werner


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


Re: Set vs. Override - I'm confused

2006-04-11 Thread Mats Bengtsson

Quoting Geoff Horton <[EMAIL PROTECTED]>:


The followup question is obvious, but I leave it to you to think about it
and see if you get any further.


I've been wondering for some time if the distinction is a helpful one,
but I suspect changing it now would involve too much internal
tinkering, not to mention breaking of old scores.

Geoff



Actually, it used to be the same command for setting both
types of properties, which did cause quite some confusion.
However, the distinction between the two kinds of properties
is often fairly arbitrary and many properties that earlier
were context properties have now been converted to object
properties (and probably the other way around as well).

  /Mats



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


Re: Set vs. Override - I'm confused

2006-04-11 Thread Geoff Horton
> The followup question is obvious, but I leave it to you to think about it
> and see if you get any further.

I've been wondering for some time if the distinction is a helpful one,
but I suspect changing it now would involve too much internal
tinkering, not to mention breaking of old scores.

Geoff


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


Re: Set vs. Override - I'm confused

2006-04-11 Thread Mats Bengtsson

\set: set the value of a context property
\override: set the value of a layout object property

The followup question is obvious, but I leave it to you to think about it
and see if you get any further.

  /Mats

Tomas Valusek wrote:


Hello,

I've read thoroughly LilyPond's Users Manual and I don't understand 
what's the difference between \set and \override commands. Can someone 
explain me this? Thank you.


Tomas Valusek


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




--
=
Mats Bengtsson
Signal Processing
Signals, Sensors and Systems
Royal Institute of Technology
SE-100 44  STOCKHOLM
Sweden
Phone: (+46) 8 790 8463 
   Fax:   (+46) 8 790 7260
Email: [EMAIL PROTECTED]
WWW: http://www.s3.kth.se/~mabe
=



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


Set vs. Override - I'm confused

2006-04-11 Thread Tomas Valusek

Hello,

I've read thoroughly LilyPond's Users Manual and I don't understand 
what's the difference between \set and \override commands. Can someone 
explain me this? Thank you.


Tomas Valusek


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