Muse2ps feature requests and bug reports

From CCARH Wiki
Jump to navigation Jump to search

Feature Requests and Bugs

This page list feature requests and bug reports for muse2ps which is a command-line typesetting program for MuseData.

Bugs

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.

Muse2ps feature indentsuppress.png

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

Muse2ps feature polybar.png

MuseData for example: polybar.md2.

Invisible time signatures

Allow for "invisible" time signatures.

Muse2ps feature invisible time signature.png

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:

Muse2ps feature invisible barline.png

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:

File:Muse2ps feature invisible barline2.png

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