Re: \context for named Staff
Trevor Daniels schrieb: Marc Hohl wrote Saturday, August 22, 2009 7:30 PM Jay Anderson schrieb: [...] So what do you think? Should the "SmallStaff" just be left as a snippet? If it is a snippet ideally I'd want to do something like: \include "small_staff.lyi" \score { \new SmallStaff {...} } How would one make small_staff.lyi so this worked? This way it would be bundled with the other global variables. The only way I found was to do this: small_staff.lyi = \context { \Score \accepts "SmallStaff" } \context { \Staff \type "Engraver_group" \name "SmallStaff" \alias "Staff" fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) } As the discussion here seems to be stuck, I want to push it a bit :) I'm not keen on including this in the sources as it is not a complete solution. For example, it does not permit scaled lyrics to be attached to a voice in the staff, as might be required in an ossia or piano reduction. For that you would need a scaled StaffGroup and a scaled PianoStaff. And what about scaled chords, etc? The present documented method using \with is cumbersome but general. Ok, I didn't think about lyrics etc. So I agree with you, an incomplete solution should not be included in the sources. Marc ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \context for named Staff
Marc Hohl wrote Saturday, August 22, 2009 7:30 PM Jay Anderson schrieb: [...] So what do you think? Should the "SmallStaff" just be left as a snippet? If it is a snippet ideally I'd want to do something like: \include "small_staff.lyi" \score { \new SmallStaff {...} } How would one make small_staff.lyi so this worked? This way it would be bundled with the other global variables. The only way I found was to do this: small_staff.lyi = \context { \Score \accepts "SmallStaff" } \context { \Staff \type "Engraver_group" \name "SmallStaff" \alias "Staff" fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) } As the discussion here seems to be stuck, I want to push it a bit :) I'm not keen on including this in the sources as it is not a complete solution. For example, it does not permit scaled lyrics to be attached to a voice in the staff, as might be required in an ossia or piano reduction. For that you would need a scaled StaffGroup and a scaled PianoStaff. And what about scaled chords, etc? The present documented method using \with is cumbersome but general. 1) What about the name? SmallStaff? CueStaff? QuoteStaff? Definitely not CueStaff or QuoteStaff, as it would not be used for cue or quoted notes. ScaledStaff? 2) There seems to be only one reference for font size and staff size, \override StaffSymbol #'staff-space = #2/3 fontSize = #(magnification->font-size 2/3) as Mark Polesky pointed out. Is this widely acceped? If it is to be useful there should be a way of specifying the scale of the reduction (or expansion). 3) Should this definition go to ly/engraver-init.ly, or should a seperate file be provided? It should go in the LSR 4) Where should this feature be documented? Is input.itely the right place? No. If a scaled staff definition is to be included in the sources (and I oppose this) there are many places in the documentation that would need to be changed. There's no point in making this change unless all the documentation is changed to use it. So at least the following need attention: NR 1.6.1 for the basic definition NR 1.6.2 Ossia staves NR 5.1.1 Contexts explained LM 4.3.2 Size of objects (extensively) LM 4.3.3 Length and thickness of objects plus a number of snippets used in the docs which scale staves. Trevor ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \context for named Staff
Jay Anderson schrieb: [...] So what do you think? Should the "SmallStaff" just be left as a snippet? If it is a snippet ideally I'd want to do something like: \include "small_staff.lyi" \score { \new SmallStaff {...} } How would one make small_staff.lyi so this worked? This way it would be bundled with the other global variables. The only way I found was to do this: small_staff.lyi = \context { \Score \accepts "SmallStaff" } \context { \Staff \type "Engraver_group" \name "SmallStaff" \alias "Staff" fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) } As the discussion here seems to be stuck, I want to push it a bit :) 1) What about the name? SmallStaff? CueStaff? QuoteStaff? 2) There seems to be only one reference for font size and staff size, \override StaffSymbol #'staff-space = #2/3 fontSize = #(magnification->font-size 2/3) as Mark Polesky pointed out. Is this widely acceped? 3) Should this definition go to ly/engraver-init.ly, or should a seperate file be provided? 4) Where should this feature be documented? Is input.itely the right place? Marc ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \context for named Staff
(sorry for the duplicate message, the first one bounced) My 2 cents... 1) The 1891 Breitkopf & Härtel edition of Brahms' Piano Trio Op.8 (1889 version) has the smaller staves exactly 2/3 the height of the larger staves. Click "Complete score": http://imslp.org/wiki/Piano_Trio_No.1,_Op.8_%28Brahms,_Johannes%29#2nd_version_.281889.29 I think that's a good reference to follow. 2) Instead of this: fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) I would prefer this: \override StaffSymbol #'staff-space = #2/3 fontSize = #(magnification->font-size 2/3) (this equates to a font-size of -3.50977500432694) - Mark ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \context for named Staff
Kieren MacMillan Sunday, August 09, 2009 4:47 AM From my point of view the main use for smallStaff (or whatever it gets called) is for ossia staves. Except IIRC ossia staves and solo/cue staves are usually of different sizes, yes? In scores for a capella vocal music a piano accompaniment is commonly shown in a smaller PianoStaff containing the same notes as the SATB and usually annotated "for rehearsal only". Not sure about the size relative to ossia or a capella though. Trevor ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \context for named Staff
Hi Nick, From my point of view the main use for smallStaff (or whatever it gets called) is for ossia staves. Except IIRC ossia staves and solo/cue staves are usually of different sizes, yes? Cheers, Kieren. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \context for named Staff
On Sat, Aug 08, 2009 at 05:18:12PM -0700, Jay Anderson wrote: > If it is a snippet ideally I'd want to do something like: > > \include "small_staff.lyi" BTW, the latest discussion was to use .ily > How would one make small_staff.lyi so this worked? This way it would > be bundled with the other global variables. The only way I found was > to do this: > > small_staff.lyi > = > \context { > \Score > \accepts "SmallStaff" > } > \context { > \Staff > \type "Engraver_group" > \name "SmallStaff" > \alias "Staff" > > fontSize = #-3 > \override StaffSymbol #'staff-space = #(magstep -3) > } Looks fine to me. You could even name the file "small-engavers.ily" and let other people submit additions for their favorite engravers (in case anybody wanted a small tabulature staff or whatever). Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \context for named Staff
On Sat, Aug 8, 2009 at 12:57 PM, Dan Eble wrote: > Doesn't this mix up meaning and appearance? What will you do when people > come asking for LargeStaff, TinyStaff, LittleGreenStaff (for Martian music), > and so forth? On Sat, Aug 8, 2009 at 1:45 PM, Alexander Kobel wrote: > Oh, and by the way... No experience for this on my side, but are there > scores with small rhythmic or drum staffs? Then we should probably also have > a SmallRhythmicStaff, SmallDrumStaff, SmallVaticanaStaff and so on, right? Hmm... I agree that it wouldn't make sense to define versions for every different size (or color :) ) and to define resized versions of every staff type out there. A global variable would probably work for the size problem, but it's still somewhat ugly to have a version for every staff type. The the generic "SmallStaff" is probably the most common case though. So what do you think? Should the "SmallStaff" just be left as a snippet? If it is a snippet ideally I'd want to do something like: \include "small_staff.lyi" \score { \new SmallStaff {...} } How would one make small_staff.lyi so this worked? This way it would be bundled with the other global variables. The only way I found was to do this: small_staff.lyi = \context { \Score \accepts "SmallStaff" } \context { \Staff \type "Engraver_group" \name "SmallStaff" \alias "Staff" fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) } = other.ly = \score { \new SmallStaff {...} \layout { \include "small_staff.lyi" } } = -Jay ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \context for named Staff
Hi Jay (et al.): Attached is a patch which adds "SmallStaff" to engraver-init.ly. Everywhere that \accepts "Staff" was used I just added \accepts "SmallStaff". Let me know if this looks good. Just a small point: has anyone confirmed that -3 is a "standard" magstep? 1. When looking at hand-engraved models, what measurements (proportions) are common? [I would do the research myself, but I'm touring right now, and so am not near my score library.] 2. Do any of Ross etc. offer specifics? Obviously, one can adjust SmallStaff to suit individual taste, but it would be nice to start with a good default. Cheers, Kieren. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \context for named Staff
Doesn't this mix up meaning and appearance? What will you do when people come asking for LargeStaff, TinyStaff, LittleGreenStaff (for Martian music), and so forth? I'm not saying it isn't useful, but maybe it should be named according to the purpose it serves rather than how it looks. QuoteStaff? ReferenceStaff? AuxiliaryStaff? Regards, -- Dan On 8 Aug 2009, at 15:44, Jay Anderson wrote: Jay, Mark, anyone: are you interested in submitting a full patch, with appropriate documentation, NEWS item etc? If so, we can officially submit it for inclusion. Attached is a patch which adds "SmallStaff" to engraver-init.ly. Everywhere that \accepts "Staff" was used I just added \accepts "SmallStaff". Let me know if this looks good. I've never tried to change the documentation so I'm not quite sure where to start with that. Should there just be an entry in the 'news' section? Should there be other content? Once I've tested my changes to the docs I'll add that to the patch. -Jay ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \context for named Staff
> Jay, Mark, anyone: are you interested in submitting a full patch, with > appropriate documentation, NEWS item etc? If so, we can officially > submit it for inclusion. Attached is a patch which adds "SmallStaff" to engraver-init.ly. Everywhere that \accepts "Staff" was used I just added \accepts "SmallStaff". Let me know if this looks good. I've never tried to change the documentation so I'm not quite sure where to start with that. Should there just be an entry in the 'news' section? Should there be other content? Once I've tested my changes to the docs I'll add that to the patch. -Jay diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index ed7698e..cd17b2c 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -87,6 +87,19 @@ \context { \Staff \type "Engraver_group" + \name "SmallStaff" + \alias "Staff" + + fontSize = #-3 + \override StaffSymbol #'staff-space = #(magstep -3) + + \description "Creates a smaller staff for use with piano accompaniaments +and other purposes." +} + +\context { + \Staff + \type "Engraver_group" \name "DrumStaff" \alias "Staff" @@ -120,6 +133,7 @@ shortVocalName = #'() \accepts "Staff" + \accepts "SmallStaff" \accepts "DrumStaff" \accepts "RhythmicStaff" \accepts "GrandStaff" @@ -294,6 +308,7 @@ contained staves are connected vertically." \defaultchild "Staff" \accepts "Staff" + \accepts "SmallStaff" \accepts "FiguredBass" \accepts "Dynamics" } @@ -332,6 +347,7 @@ instrument names at the start of each system." \defaultchild "Staff" \accepts "Staff" + \accepts "SmallStaff" \accepts "RhythmicStaff" \accepts "DrumStaff" \accepts "GrandStaff" @@ -505,6 +521,7 @@ automatically when an output definition (a @code{\score} or \accepts "FretBoards" \accepts "Staff" + \accepts "SmallStaff" \accepts "RhythmicStaff" \accepts "TabStaff" \accepts "VaticanaStaff" ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
\context for named Staff
I've always wondered about this. Is there a way? http://lists.gnu.org/archive/html/lilypond-user/2009-08/msg00173.html - Mark ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel