Skip to content

Commit 3c0af35

Browse files
committed
Update docs and file tidies for 5.32
1 parent 147980d commit 3c0af35

File tree

8 files changed

+51
-45
lines changed

8 files changed

+51
-45
lines changed

doc/ChangeLog

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ Change Log for Philip's Music Writer (Linux/Unix version)
22
---------------------------------------------------------
33

44

5-
Version 5.32 xx-xxx-2025
6-
------------------------
5+
Version 5.32 25-June-2025
6+
-------------------------
77

88
1. Removed a no longer used flag that a font has the fi ligature; for some time
99
PMW has assumed that all standardly encoded fonts have this ligature.
@@ -46,18 +46,18 @@ message was garbled.
4646
13. If a change of key or time signature on an [omitempty] stave caused a
4747
warning signature to be output, there were no stave lines for it.
4848

49-
14. When breakbarlinesx was set, the double bar before a cautionary key
49+
14. When breakbarlinesx was set, the double bar before a cautionary key
5050
signature was incorrectly being broken.
5151

52-
15. Add MIDI support for three "scrub" lines on minims and crotchets, for
52+
15. Add MIDI support for three "scrub" lines on minims and crotchets, for
5353
example g\///\, and added support for "scrub" lines on semibreves.
5454

5555
16. Add MIDI support for simple cases of [tremolo].
5656

57-
17. Fix misleading error message for malformed -dbd debugging option, and give
57+
17. Fix misleading error message for malformed -dbd debugging option, and give
5858
an error if there are extraneous characters in the argument.
5959

60-
18. Give an error if [tremolo] is not preceded or followed by a note within the
60+
18. Give an error if [tremolo] is not preceded or followed by a note within the
6161
bar.
6262

6363

doc/spec.pdf

681 Bytes
Binary file not shown.

doc/spec.xfpt

Lines changed: 36 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -155,13 +155,13 @@
155155
<title>Philip's Music Writer (PMW)</title>
156156
<subtitle>A Music Typesetting Program</subtitle>
157157
<titleabbrev>PMW</titleabbrev>
158-
<date>18 June 2025</date>
158+
<date>25 June 2025</date>
159159
<author><firstname>Philip</firstname><surname>Hazel</surname></author>
160160
<authorinitials>PH</authorinitials>
161161
<address>Cambridge, England</address>
162162
<revhistory><revision>
163163
<revnumber>5.32</revnumber>
164-
<date>18 June 2025</date>
164+
<date>25 June 2025</date>
165165
<authorinitials>PH</authorinitials>
166166
</revision></revhistory>
167167
<copyright><year>2025</year><holder>Philip Hazel</holder></copyright>
@@ -668,7 +668,7 @@ first movement in the file.
668668
If this option is used, it must be the very first option that follows the
669669
&(pmw)& command name. It causes PMW not to read the user's &_.pmwrc_& file (&R;
670670
&<<SECTsetdefop>>&). Note that PMW can be built without support for &_.pmwrc_&
671-
files; if this is the case this option is ignored.
671+
files; when this is the case this option is ignored.
672672

673673
.vitem &%-norepeats%&
674674

@@ -928,9 +928,9 @@ errors can generate a large number of them. &%-em%& is an abbreviation for
928928

929929
.vitem "&%-MacOSapp%& <&'directory'&>"
930930

931-
This option is used when PMW is called from within a MacOS app. It specifies
932-
the directory in which all `resources' (such as font information) is to be
933-
found.
931+
This option is provided for use when PMW is called from within a MacOS
932+
`wrapper' app. It specifies the directory in which all `resources' (such as
933+
font information) are to be found. This is currently an experimental feature.
934934

935935
.vitem "&%-MF%& <&'directory list'&>"
936936

@@ -977,7 +977,7 @@ data, the data item must also be given in the &_.pmwrc_& file, otherwise
977977
an error occurs. For example, if you always want to create MIDI output and
978978
write it to a fixed file name, the file might contain:
979979
.code
980-
-midi /usr/tmp/pmw.midi
980+
-midi /usr/tmp/pmw.mid
981981
.endd
982982
Note that PMW does not allow options to be repeated, so if an option is present
983983
in the &_.pmwrc_& file, it cannot also be given on the command line. There is
@@ -3528,17 +3528,23 @@ Details of this are given in chapter &<<CHAPrunningpmw>>&.
35283528

35293529
.section "MIDI output" SECTmidi
35303530
.index "MIDI" "output"
3531-
When MIDI output is requested by the &%-midi%& command line option, a number of
3532-
directives whose names all start with `midi' are available for controlling the
3533-
allocation of MIDI voices and channels to staves. The &%midichannel%& (&R;
3534-
&<<SUBSECTmidichannel>>&) header directive is used to specify the allocation
3535-
of a MIDI voice and/or particular PMW staves to a MIDI channel, and the
3536-
&%[midichannel]%& (&R; &<<SUBSECTmidichannelST>>&), &%[midivoice]%& (&R;
3537-
&<<SUBSECTmidivoice>>&), and &%[midipitch]%& (&R; &<<SUBSECTmidipitch>>&)
3538-
directives are used to change the setup in the middle of a piece. For
3539-
percussion staves, where the playing pitch selects different instruments, the
3540-
&%[printpitch]%& (&R; &<<SUBSECTprintpitch>>&) directive can be used to force
3541-
the visible notes to a single pitch.
3531+
MIDI output is intended for `proof-hearing' a piece, to check that the input is
3532+
correct. It does not try to reproduce all the nuances of a performance. In
3533+
particular, accents and ornaments on notes have no effect, with two exceptions:
3534+
individual notes or chords marked with tremolo lines (for example, &`g\//\`&)
3535+
are played as a suitable number of shorter notes/chords, and similarly there is
3536+
an attempt to honour &%[tremolo]%& between two notes or chords.
3537+
3538+
A number of directives whose names all start with `midi' are available for
3539+
controlling the allocation of MIDI voices and channels to staves. The
3540+
&%midichannel%& (&R; &<<SUBSECTmidichannel>>&) header directive is used to
3541+
specify the allocation of a MIDI voice and/or particular PMW staves to a MIDI
3542+
channel, and the &%[midichannel]%& (&R; &<<SUBSECTmidichannelST>>&),
3543+
&%[midivoice]%& (&R; &<<SUBSECTmidivoice>>&), and &%[midipitch]%& (&R;
3544+
&<<SUBSECTmidipitch>>&) directives are used to change the setup in the middle
3545+
of a piece. For percussion staves, where the playing pitch selects different
3546+
instruments, the &%[printpitch]%& (&R; &<<SUBSECTprintpitch>>&) directive can
3547+
be used to force the visible notes to a single pitch.
35423548

35433549
If the input file contains no MIDI-specific directives, all notes are played
35443550
through MIDI channel 1. The voice allocation on the channel is not changed, so
@@ -7966,8 +7972,8 @@ strange results if some of the more complicated features of PMW are used.
79667972
Nevertheless, &%righttoleft%& makes it possible to typeset music in a manner
79677973
that is sometimes used in countries whose language is written from right to
79687974
left. Although the music runs from right to left, the shapes of the notes,
7969-
accidentals, clefs, and other markings are not altered, except for the
7970-
horizontal wedge accent &`\>\`&, which is flipped to point the other way.
7975+
accidentals, clefs, and other markings are not altered, except for the
7976+
horizontal wedge accent &`\>\`&, which is flipped to point the other way.
79717977

79727978
Right-to-left output is implemented by transforming the coordinate system so
79737979
that the x-axis runs to the left and the origin is at the righthand side of the
@@ -13970,11 +13976,11 @@ the little `8' is enclosed in parentheses.
1397013976
.index "tremolo" "between notes"
1397113977
.index "notes" "tremolo between"
1397213978
Tremolo marks that appear as beams between notes that are not normally beamed,
13973-
or as disconnected beams between notes are notated by &%[tremolo]%& between the
13974-
two notes. There are two optional qualifiers: &`/x`& followed by a number
13975-
specifies the number of beams to draw, and &`/j`& followed by a number
13976-
specifies the number of beams that are to be joined to the note stems. The
13977-
default is to draw two beams, neither of which is joined to the stems.
13979+
or as disconnected beams between notes, are notated by &%[tremolo]%& between
13980+
the two notes (or chords). There are two optional qualifiers: &`/x`& followed
13981+
by a number specifies the number of beams to draw, and &`/j`& followed by a
13982+
number specifies the number of beams that are to be joined to the note stems.
13983+
The default is to draw two beams, neither of which is joined to the stems.
1397813984
.code
1397913985
g [tremolo] b
1398013986
.endd
@@ -13997,12 +14003,12 @@ d\M\ [tremolo] g\M\
1399714003

1399814004
.music "music62" 30 6,-16
1399914005

14000-
The &%[tremolo]%& directive must appear between two notes in a bar. It is
14001-
ignored if it appears at the beginning or end of a bar, or if it is preceded or
14006+
The &%[tremolo]%& directive must appear between two notes in a bar. An error
14007+
occurs if it appears at the beginning or end of a bar, or if it is preceded or
1400214008
followed by a rest. It assumes that the notes are of the same kind, and have
1400314009
their stems in the same direction. Notes with flags should not be used, though
1400414010
tremolos can be added underneath the normal beams of a beamed group if
14005-
necessary.
14011+
necessary. From release 5.32 &%[tremolo]%& has an effect on MIDI output.
1400614012

1400714013

1400814014

@@ -14232,11 +14238,11 @@ A completely empty stave now starts with a clef unless there was a previous
1423214238
.next
1423314239
A masquerade setting for a chord must appear on the chord's first note.
1423414240
.next
14235-
The test output files in the &_testing/outfiles_& directory are no longer
14241+
The test output files in the &_testdist/outfiles_& directory are no longer
1423614242
complete PostScript files that include the music font. However, they can be
1423714243
viewed by a command such as:
1423814244
.code
14239-
cat PSheader testing/outfiles/Test01.ps | gv -
14245+
cat PSheader testdist/outfiles/Test01.ps | gv -
1424014246
.endd
1424114247
though this method does not show a list of page numbers.
1424214248
.next

src/error.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ aborts the run after outputting additional information. */
291291
" setting (either a directive or a command line option)" },
292292
{ ec_major, "movement %d does not exist: no MIDI data written" },
293293
/* 190-194 */
294-
{ ec_major, "misplaced [tremolo]: %s" }
294+
{ ec_major, "misplaced [tremolo]: %s" }
295295
};
296296

297297
#define ERROR_MAXERROR (int)(sizeof(error_data)/sizeof(error_struct))

src/out.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1078,7 +1078,7 @@ for (int count = 0; !done; count++)
10781078
}
10791079
}
10801080
}
1081-
1081+
10821082
if (extend) ybarend += out_sysblock->stavespacing[stave];
10831083
ofi_barline(out_lastbarlinex, ystave, ybarend, bar_double,
10841084
curmovt->stavesizes[stave]);

src/pmw.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ enum error_number {
389389
ERR160,ERR161,ERR162,ERR163,ERR164,ERR165,ERR166,ERR167,ERR168,ERR169,
390390
ERR170,ERR171,ERR172,ERR173,ERR174,ERR175,ERR176,ERR177,ERR178,ERR179,
391391
ERR180,ERR181,ERR182,ERR183,ERR184,ERR185,ERR186,ERR187,ERR188,ERR189,
392-
ERR190
392+
ERR190
393393
};
394394

395395
/* Types of input file */

src/setnote.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -835,7 +835,7 @@ for conventional repeat signs. */
835835
if (notetype >= 0)
836836
{
837837
uschar *s;
838-
if ((n_flags & nf_restrep) == 0)
838+
if ((n_flags & nf_restrep) == 0)
839839
s = main_righttoleft? rtl_reststrings[notetype] : reststrings[notetype];
840840
else if (notetype == crotchet) s = US"\217";
841841
else
@@ -1294,15 +1294,15 @@ if ((n_acflags & af_accoutside) != 0)
12941294
s = accentabovestrings[i];
12951295
}
12961296

1297-
/* The > accent gets a bit of x adjustment, and in right-to-left mode its
1297+
/* The > accent gets a bit of x adjustment, and in right-to-left mode its
12981298
character needs to be flipped. */
1299-
1299+
13001300
if (accentnumber == accent_gt)
13011301
{
13021302
xadjust = out_stavemagn;
13031303
if (main_righttoleft) s = US"\312";
1304-
}
1305-
else xadjust = 0;
1304+
}
1305+
else xadjust = 0;
13061306

13071307
/* Now output the accent */
13081308

src/string.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -987,7 +987,7 @@ if (font_call_b2pf) /* At least one font is set up for B2PF */
987987
break;
988988
}
989989
}
990-
}
990+
}
991991

992992
if (call_b2pf) /* The string contains a font that is set up for B2PF */
993993
{

0 commit comments

Comments
 (0)