836: output-suffix as a (Score) context property

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

836: output-suffix as a (Score) context property

Graham Percival
http://code.google.com/p/lilypond/issues/detail?id=836

What's the latest on this issue?  The last news I see is from 16 Nov
2009, saying """I wasn't able to implement output-prefix and filename
as "contexts" to \book easily, so we now have
\bookOutputSuffix "newsuffix" and \bookOutputName "filename" which are
scoped within each \book block.

There is also a regression test to cover output files having extended
Latin accented
characters (like č,š,ů,ř,ő,ž,ij,ě)."""

There's also a "patch" label.

- is the issue finished now?
- is there any patch pending?

Cheers,
- Graham

---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 836: output-suffix as a (Score) context property

Ian Hulin
On 14/03/10 17:19, Graham Percival wrote:
> http://code.google.com/p/lilypond/issues/detail?id=836
>
> What's the latest on this issue?  The last news I see is from 16 Nov
> 2009, saying """I wasn't able to implement output-prefix and filename
> as "contexts" to \book easily, so we now have
> \bookOutputSuffix "newsuffix" and \bookOutputName "filename" which are
> scoped within each \book block.
>    
I went the music-function route because there was a feeling that
contexts were properties which were reserved for the phase of music
translation and producing grobs.  When I started working on this I
reckoned contexts were Lilypond-speak for sets of attributes within the
compiler, so it seemed reasonable to attach some new attributes to the
the compilation unit (i.e an implicit or explicit \book block) to
achieve this.  However, although the \book block is treated as OO object
in the C++ code, I got very confused trying to work out what was at
top-level, what was the object hierarchy and what was the context
hierarchy.

So I worked out a way of doing it with music functions and parser
variables instead, which met the demand from users for begin able to
rename to backend output files simply from within code.

If people really want this functionality via a context-like interface
I'll have another crack at it, but I don't really feel I understand the
way Lily fits together well enough yet.

> There is also a regression test to cover output files having extended
> Latin accented
> characters (like č,š,ů,ř,ő,ž,ij,ě)."""
>
> There's also a "patch" label.
>
> - is the issue finished now?
> - is there any patch pending?
>    
I got lost in how the regression test files get generated. I thought it
would be enough to have a file called something like
"output-filename-Zčeskýchluhůahájů.ly" - here's the file contents
\version "2.13.5"

\header {
   texidoc = "Using extended Latin characters like š and č
   in output file-names should not cause any problems with
   backend processors."

   dedication = "Lilypond Regression Test"
   title = "Má Vlast"
   subtitle = "Symphonic Tone Poem Cycle"
   instrument = "Orchestra"
   composer = "Bedřich Šmetana"
   opus = "Opus 64"
}
% Set up variables
globalIV = {\key f \major \time 4/4}
violinmIV = \relative c'' { \globalIV  d1 | }

%Now produce back-end files with names using extended accents

\book {
   \header {
    subsubtitle = "IV. Z českých luhů a hájů"
   }
   \score {
     \new Staff  \violinmIV
     \layout { }
     \midi { }
   }
}

But I couldn't work out how to stitch this in to the reg test suite
using this name, since the make check seemed to insist on generating its
own names on the fly, which made it dfficult writing a test testing to
see whether files with a specific name were generated.

The CG Chap 8 has no content on regression tests so I'm stuck.

Cheers,

Ian

---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 836: output-suffix as a (Score) context property

Graham Percival
Thanks, updated issue 836.

Cheers,
- Graham


On Mon, Mar 15, 2010 at 12:35 AM, Ian Hulin <[hidden email]> wrote:

> On 14/03/10 17:19, Graham Percival wrote:
>>
>> http://code.google.com/p/lilypond/issues/detail?id=836
>>
>> What's the latest on this issue?  The last news I see is from 16 Nov
>> 2009, saying """I wasn't able to implement output-prefix and filename
>> as "contexts" to \book easily, so we now have
>> \bookOutputSuffix "newsuffix" and \bookOutputName "filename" which are
>> scoped within each \book block.
>>
>
> I went the music-function route because there was a feeling that contexts
> were properties which were reserved for the phase of music translation and
> producing grobs.  When I started working on this I reckoned contexts were
> Lilypond-speak for sets of attributes within the compiler, so it seemed
> reasonable to attach some new attributes to the the compilation unit (i.e an
> implicit or explicit \book block) to achieve this.  However, although the
> \book block is treated as OO object in the C++ code, I got very confused
> trying to work out what was at top-level, what was the object hierarchy and
> what was the context hierarchy.
>
> So I worked out a way of doing it with music functions and parser variables
> instead, which met the demand from users for begin able to rename to backend
> output files simply from within code.
>
> If people really want this functionality via a context-like interface I'll
> have another crack at it, but I don't really feel I understand the way Lily
> fits together well enough yet.
>
>> There is also a regression test to cover output files having extended
>> Latin accented
>> characters (like č,š,ů,ř,ő,ž,ij,ě)."""
>>
>> There's also a "patch" label.
>>
>> - is the issue finished now?
>> - is there any patch pending?
>>
>
> I got lost in how the regression test files get generated. I thought it
> would be enough to have a file called something like
> "output-filename-Zčeskýchluhůahájů.ly" - here's the file contents
> \version "2.13.5"
>
> \header {
>  texidoc = "Using extended Latin characters like š and č
>  in output file-names should not cause any problems with
>  backend processors."
>
>  dedication = "Lilypond Regression Test"
>  title = "Má Vlast"
>  subtitle = "Symphonic Tone Poem Cycle"
>  instrument = "Orchestra"
>  composer = "Bedřich Šmetana"
>  opus = "Opus 64"
> }
> % Set up variables
> globalIV = {\key f \major \time 4/4}
> violinmIV = \relative c'' { \globalIV  d1 | }
>
> %Now produce back-end files with names using extended accents
>
> \book {
>  \header {
>   subsubtitle = "IV. Z českých luhů a hájů"
>  }
>  \score {
>    \new Staff  \violinmIV
>    \layout { }
>    \midi { }
>  }
> }
>
> But I couldn't work out how to stitch this in to the reg test suite using
> this name, since the make check seemed to insist on generating its own names
> on the fly, which made it dfficult writing a test testing to see whether
> files with a specific name were generated.
>
> The CG Chap 8 has no content on regression tests so I'm stuck.
>
> Cheers,
>
> Ian
>

---
----
Join the Frogs!

Loading...