Muse2ps feature requests and bug reports
This page list feature requests and bug reports for muse2ps which is a command-line typesetting program for MuseData.
Bugs
Text starting with a digit
Lyric text cannot start with a digit. It would be useful for displaying analytical data if lyric text can start with a digit. Example data:
Header Record 1: optional copyright notice Header Record 2: optional file identification TIMESTAMP: MAR/19/2011 [md5sum:0d0a:d18c08728833c68ab4d3dc6687fe95bd] 03/19/2011 C. Sapp WK#:1 MV#:1 Header Record 6: source Header Record 7: work title Header Record 8: movement title Header Record 10 Group memberships: score score: part 1 of 1 $ Q:1 C:4 C4 1 1 q a D4 1 1 q 2 E4 1 1 q c3 /END /eof // |
The current output from muse2ps for this data is:
But it would be preferred that the second note (D4) have a "2" shown below it.
Spacing of dummy time signatures
When a time signature is not given at the start of the music, the space between the clef and the first note is good. When a dummy time signature is given (such as T:9/0), there is extra space added between the clef and the first note which appears to be the width of a cut-time metrical sign. It would probably be a good idea to set the width of a dummy time signature to 0. Illustration of the extra space and comparing between the various time signature settings:
MuseData for example: sanctustimesig.md2.
Feature Requests
Echoing initial comment lines with =M
It would be useful to echo comments from the start of the muse2ps input data (which are commonly used to store muse2ps formatting options) into the data comments created with the =M option. In addition, any text after the /END> line (or /FINE line, but before the /eof line should be echoed into the PostScript comments related to the =M option. This feature is needed to preserve muse2ps options with the embedded MuseData, as well as transmit page footer information to programs further down the command pipeline.
Exmaple Data:
@muse2psv1==z21 @Another comment & A multi line comment & Header Record 1: optional copyright notice Header Record 2: optional file identification TIMESTAMP: MAR/06/2011 [md5sum:0d0a:ecbfb55db87913926a9e309fdfcef99d] 03/06/2011 C. Sapp WK#:1 MV#:1 Header Record 6: source Header Record 7: work title Header Record 8: movement title Header Record 10 Group memberships: score score: part 1 of 1 $ K:0 Q:4 T:4/4 C:4 C4 16 1 w mheavy2 /END Here is some text after the end of the data in the partfile which should be preserved. /eof //
Current results of =M:
%=BeginMuseData: 1 %=Header Record 1: optional copyright notice %=Header Record 2: optional file identification %=TIMESTAMP: MAR/06/2011 [md5sum:0d0a:ecbfb55db87913926a9e309fdfcef99d] %=03/06/2011 C. Sapp %=WK#:1 MV#:1 %=Header Record 6: source %=Header Record 7: work title %=Header Record 8: movement title %= %=Header Record 10 %=Group memberships: score %=score: part 1 of 1 %=$ K:0 Q:4 T:4/4 C:4 %=C4 16 1 w %=mheavy2 %=/END %=EndMuseData: 1
Desired output of =M
%=BeginMuseData: 1 %=@muse2psv1==z21 %=@Another comment %=& %=A multi line comment %=& %=Header Record 1: optional copyright notice %=Header Record 2: optional file identification %=TIMESTAMP: MAR/06/2011 [md5sum:0d0a:ecbfb55db87913926a9e309fdfcef99d] %=03/06/2011 C. Sapp %=WK#:1 MV#:1 %=Header Record 6: source %=Header Record 7: work title %=Header Record 8: movement title %= %=Header Record 10 %=Group memberships: score %=score: part 1 of 1 %=$ K:0 Q:4 T:4/4 C:4 %=C4 16 1 w %=mheavy2 %=/END %=Here is some text after the end of the data in the partfile which %=should be preserved. %=EndMuseData: 1
Clef/key/time signature suppression at indented line breaks
It would be useful to create a print suggestion which suppresses printing of cautionary time singature, key signature or clefs at the end of a line, particularly when an indented line break code is used. Alternatively, suppression of cautionary symbols at the end of systems before an indented line break could be a hard-coded default (similar to the repetition of the instrument names at the start of the system at indented line breaks). In the following example, it is desired to suppress printing of the region marked in red.
MuseData for example: indentsuppress.md2.
Initial measure number
For short examples which do not start at measure 1, it would be useful to allow adding a bar number at the start of the music.
Stage 1 preprocessing of data
It would be useful to add components of the stage1 → stage2 process: (1) have an option which turns on automatic determination of stem directions, (2) have an option which turns on automatic determination of beaming. These would preferably be separate options, since it is more likely that input data from other sources would have beaming information, but not stemming information.
Finished features and fixed bugs
Independent barline styles
MuseData for example: polybar.md2.
Invisible time signatures
Allow for "invisible" time signatures.
MuseData for example: notime.md2.
Invisible barlines
Allow for "invisible" barlines (such as ending a short example with an incomplete barline).
Here is an example of an implicit invisible barline which is created by not placing a barline at the end of the music:
MuseData for example: nobaratend.md2
And here is an example of an explicit invisible barline which is created by inserting an invisible barline in the data:
MuseData for example: invisible_barline.md2
Paper size in PostScript DSC comments
Add the following line at the end of the DSC comment header in the PostScript output:
%%DocumentPaperSizes: Letter
For example:
%!PS-Adobe-3.0 %%BoundingBox: (atend) %%HiResBoundingBox: (atend) %%HiResSystemBox: 59.76 95.76 552.00 722.64 %%Creator: muse2ps 1.0 %%CreationDate: Thu Dec 23 10:48:53 2010 %%Orientation: Portrait %%Pages: 1 %%PageOrder: Ascend %%DocumentPaperSizes: Letter %%EndComments
Reference: http://en.wikipedia.org/wiki/Document_Structuring_Conventions