1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531
|
Changes from PMX 2.5, 29 February 2004
Changes from PMX 2.5 to the Latest Beta (2.504), 2 November 2004
2.501 (Note: new scor2prt)
* Bugfix: initialize index in PMX subroutine putorn to
eliminate subscript error detected in some compilers
* Bugfix in scor2prt: Ignore special treatment of special
symbols if they appear between double quotes.
* Tweak: move end of first part of line-break ties slightly
to the right.
2.502 (Note: new pmx.tex)
* The height of a figured bass vertical stack can now be
adjusted upward by an integral number of \internote by
appending "+" and the number. Recall that it can already be
moved downward 4\internote by prepending "_" (underscore).
The two options can be combined to provide full control
over the vertical position.
* Ties can now be represented with braces "{" before a note
and "}" after. Both are equivalent to "t" after the note.
(Thanks to Dirk Laurie).
* In pmx.tex all the commands of the form \font\...=\fontid
sy1000 have been changed to \font\...=cmsy10 (Thanks to
Olivier Vogel).
2.503
* Enable arpeggio left shift with ?-[x]
* Allow musicsize of 24 and 29.
* Bugfix: Fix bug introduced in 2.415 which caused error in
printing replacement number in xtup.
2.504
* Gap between normal grace and main note: X[x] as option to
the G command, where x is the gap size in notehead widths.
* Bugfix: og (segno) now works OK when nv .ne. noinst.
Changes from PMX 2.4 to PMX 2.5, 15 February 2004
Don Simons
dsimons@adelphia.net
2.401
* Suboption for Type K postscript ties, activated by Apl, to (a) change
first part of a linebreak ties to have same shape as normal ties, and
(b) move start of second part of linebreak ties a little to the left.
* Bugfix: Enable arpeggios on chords in xtuplets.
2.402
* Automatic forced beam patterns. If the option ":" (colon) is included in
the starting symbol "[" for a forced beam, then henceforth beams of the
same length will be forced in that line of music, until stopped. Stop
them by either (a) inserting a regular forced beam, or (b) coming to the
end of the input block.
* The number of forced beams allowed is increased from 20 to 40 per line of
per input block. This includes both regular and the new automatic ones.
2.403
* Bugfix: Automatic termination of auto forced beam patterns at end of
input block.
2.404
* Allow slur or tie to end on rest, but not start on a rest. Default
height of ending is default height of start (before any automatic or
user- defined djustments). User may adjust height as normal from
default.
2.406 (Note: new pmx.tex)
* Allow explicit double sharps and flats in chords.
* New option Aph to write \special{header=psslurs.pro} top of each page, so
dviselec will work OK.
* Bugfix in pmx.tex for system spacing equalization by Ae, to correct
behavior when top staff is smaller than others (was giving smaller space
after first system than others).
* Bugfix in line-break tie option Apl, to correct behavior when there is
more than one staff in an instrument.
* Internal change in storage, transparent to user: Use only first 4 bits of
mult for multiplicity+8, so rest can be used for other stuff.
* Bugfix: Move stemlength stuff in nacc(27-30) to mult(27-30) to remove
storage conflict with dot movement stuff.
2.407 (10/20/02) (Note: new scor2prt.for, .exe)
* Allow AN[n]"[user-defined-part-file-name]", where n is instrument number
and quotes are rquired around file name. Place before first bar in pmx
file for score, Syntax-checked but not used in PMX. Interpreted by
scor2prt and allows you to name the part files as you please.
2.408 (2/8/03) (Note: new pmx.tex)
* Bugfix: admit pnotes{x} when x>9.995. This is only needed for notes
groups longer than a breve (double whole note).
* Bugfixes in \liftPAuse and \liftPAusep.
* With postscript slurs, for up-stem single graces slurred to down-stem
main note, shift slur start left by 0.8 so slur doesn't get too short.
2.409 (6/8/03)
* Bugfix: In docrd for MIDI, use original pitch in case main/chord were
switched due to 2nds.
* New syntax: Use ":" (colon) before 2-digit instrument numbers in movement
break command.
* Bugfix: Adjust output formats for \setname at movement break to allow
instrument numbers >9.
* Bugfix in coding to raise barno due to slur over line break (pmxb)
2.410 (6/28/03)
* For non-beamed xtuplets, you can activate Col. S.'s brackets (with the
number inline with the bracket) with "AT". You must have tuplet.tex
installed in your TeX structure. You don't need to change anything else
in the PMX input.
* To tweak the slope of the bracket for a non-beamed xtuplet, use
"s(+|-)(integer)" as a sub-option to "n" in the first note of the
xtuplet, e.g., "c04x3ns+2 d e".
2.411 (8/9/03)
* "Apl" in the preamble now activates special treatment of line-break slurs
and ties (before, "Apl" only affected ties.). Specifically, it enables
tweaking the ending position of the first segment (seg 1), the starting
position of the second (seg 2), and the curvature of either or both. You
must have musixps.tex available to TeX. With "Apl" every slur/tie at a
line break is automagically broken into two separate ones (no additional
PMX slur start or ending commands are required). Vert/horiz tweaks to
the start of the seg 1 and the end of seg 2 are handled as before.
Vert/horiz tweaks for the end of the seg 1 and start of seg 2 are
entered as options in the otherwise normal command that starts the
slur/tie. The option for the end of seg 1 starts with "s" (for sever or
split), then the usual one or two signed numbers, then a second "s" and
one or two more signed numbers for the start of seg 2. The usual
curvature options "h","H","HH","f", if included in the starting command
for a linebreak slur, will apply to seg 1, and if in the closing
command, to seg 2. Of course, if the slur/tie does not come at a
linebreak, the special position tweaks (those after the "s" option) will
all be ignored, and the curvature tweaks on the closing note take
precedence (as before).
2.412 (8/16/03)
* Minor changes in defaults for linebreak slurs and ties introduced in
2.411. Horizontal positions of start of seg 2 have been moved a bit to
the right and made the same for slurs and ties. Vertical positions of
end of seg 1 and start of seg 2 are now the actual height of start of
seg 1, including any tweaks that were applied to start of seg 1.
2.413 (8/25/03)
* Several bug fixes in placement of accidentals in chords.
2.414 (8/30/03)
* Bug fix in placement of accidentals in chords.
* Change in default accidental placement for chords with exactly three
accidentals and no 2nds between accidentals: they are placed in the
order top, bottom, middle.
2.415 (10/18/03)
* Fix operation of "AT" option so normal xtup numbers are OK: use \xnumt
instead of redefining \xnum.
2.416 (1/17/04)
* Include files have been enabled. Include files are separate text files
containing arbitrary (but contextually appropriate) sequences of valid
PMX commands. The commands will be inserted at a particular place in the
virtual PMX file that the code processes. They will always be
syntax-checked. There are two types, "global" and "normal". There can
only be one global include file and it must be named pmx.mod. If
activated, its contents will always be inserted right after the setup
data. To activate it, two conditions must be met: (1) an environment
variable PMXMIDDIR must be defined to contain a valid path, ending with
"/" or "\"; (2) a file named pmx.mod must be present in the directory so
defined. If PMXMODDIR is not set, or if it is defined but there is no
file pmx.mod, then processing will proceed as usual. Normal include
files can have any name and do not require any environment variable to
be set. They are activated by the PMX command AR[filename] , placed in
the .pmx file at the location where the included lines are to go. PMX
will first check for the file as pointed to by [filename], which may
contain a complete or partial pathname preceding the actual file name.
If [filename] is not found, then PMX will look for %PMXMODDIR[filename],
i.e., it will check the directory defined by PMXMODDIR if PMXMODDIR has
been set. However, it is not necessary to define PMXMODDIR to use a
normal include file. There may be any number of normal include files.
The same file may be used multiple times. Include files cannot contain
references to other include files via the "AR" command; if you do that
your computer will explode. The following information regarding all
activated include files will be printed both to the screen and to the
.pml file: notice of opening or closing, echo of the contents, error
messages pertaining to syntax errors in the included PMX commands, and
an error message if PMX cannot find a referenced normal include file. In
the latter two cases PMX will stop.
2.417 (1/26/04)
* Increase maximum number of text dynamics per input block from 12 to 41.
* Increase maximum length of a text dynamic from 24 to 128 characters.
* "Ap+c", "Ap-c" will increase or decrease the default curvature of Type-K
postscript slurs. Such commands can be used at the start of any input
block and the result is cumulative. More than one suboption "+c" or "-c"
may be used in a single command. If the cumulative change goes above
"HH" or below "f" a warning will be issued, the default will be set to
"HH" or "f", and processing will continue. Local curvature options in
individual slur commands will take precedence over the global default
but will not change the default. The local option "n" in a slur command
will cause the slur to have the normal curvature (between "f" and "h").
=========================================================================
Changes from PMX 2.3 to PMX 2.4, 29 June 2002
Don Simons
dsimons@logicon.com
2.301
* Enabled single note for first member of beam multiplicity-down-up "][".
* Allow ".PMX" (upper case) in filename (for Linux/Unix)
2.302
* Toggle vshrink with "Av". vshrink normally kicks in when \interstaff hits
20. This still needs work.
* Add " /" to last line if last char is not "%" or "/"; issue warning but
do not stop.
2.303
* Further work done on vshrink toggle with "Av".
2.304
* Shrink stemlength: use "Sx" as option within a note, where x is amount to
shorten the stem in \internotes. "Sx:" makes it sticky within the
current line of music until turned off in a later note by "S:".
Stickiness cannot extend over input block boundaries. Shrinkage is
limited to the range .5 to 4 \internotes, in .5-\internote increments.
2.305
* Eliminate extra \endvoltabox at end of page.
2.32
* Initialize note level to middle C in case user forgets to set octave.
* Dotted xtup notes: Include "d" in the note symbol, after the "x" and
number if in the first note of the xtuplet. This will add a dot to the
current note and another flag to the following one, and change the
spacing to reflect the new rhythm.
* Automatic notehead shifting in intervals of a 2nd in chords. This will
be disabled for the current chord if any user-defined notehead shifts
are entered.
* Automatic accidental shifting in chords. PMX will adjust accidental
positions according to a prescribed set of rules. This will be disabled
for the current chord if any user-defined accidental shifts are entered,
unless "A" is entered along with the shift, e.g., "zcsA<.5" . In that
case the user-defined shift will be added to the PMX-computed one.
* User-defined accidental ordering in chords. If you enter "Ao" in the main
note symbol of a chord, then the accidentals in that chord will be
posted in the order they come in the source file (starting with the main
note), each one as far to the right as it will go without crashing into
a notehead, stem, or another accidental.
2.321
* Recenter storage of horizontal accidental shifts to permit shifts from
-5.25 to 1
* Fix bug on ihornb in dodyn(), which gave wrong level for dynamics in
lower voice with unbeamed xtups.
2.33
* New feature: caesura and breath (fat comma). Input like ornaments, "oc"
and "ob" respectively. 2 optional modifiers, a signed integer for
vertical shift from default in notehead widths, then a signed number for
vertical shift in \internote's. Default positions are on top line for
caesura; just above for breath, and horizontally 0.5\noteskip BEYOND the
associated note. The latter is different from MusiXTeX's \caesura and
\zbreath which are placed 0.5\noteskip before the insertion point.
2.331
* Fix bug in parsing arbitrary text-string dynamics.
2.332
* Fix bugs in horizontal spacing of accidentals and graces.
2.34
* Fix bugs in non-beamed, dotted xtuplets.
* Add ledger line to raised, centered, full-bar rest. Note! New pmx.tex.
2.341
* Fix bug in data manipulation for breaths and caesuras.
* Add syntax check for non-monotonic forced page breaks.
2.342
* Bugfix to recognize relative octave shift in grace at start of input block.
* Bugfix to handle xtups starting with rest and containing both 1- and
no-flag black notes
* In make2bar, initialize islhgt=0 earlier than before as possible solution
to Suse g77 compile problem that I could not reproduce.
2.35 (NEW pmx.tex)
* Continuation figure may now have fractional length.
* May now mix continuations with other figures. If another figure follow
Cont-fig, separate with colon.
* If user \setsize's some staves to \smallvalue, PMX now detects that and
sets grace note size to \tinynotesize (11-pt font) for those staves
* Cautionary accidentals: follow accidental with 'c'.
* Bugfix (pmxb) to issue \eject after single-system pages.
* Bugfix to set default systems/page to 1 if more than 7 voices.
* Increase dimension of mcpitch to 20 (max number of simultaneous chord
notes in a single line of music for midi processing).
* Change figure font specification when \musicsize=16 to
\def\figfont{\eightrm}% (no effect on normal output)
2.352 (NEW pmx.tex)
* "Ap" activates postscript slurs by inserting "\input musixps" into TeX
file. Please note that you must have downloaded and deployed Stanislav
Kneifl's musixps.tex for this to work. If you have modified the
curvature (using a third number, after positional tweaks) PMX will
approximately translate this into "f","h","H", or "HH". For new scores
you may use these letters directly in PMX as options in the slur
termination command.
* Redefine \titles in pmx.tex, to allow multiline instrument, composer, or
title. Data entry for each item must still be on one line, but "\\" will
cause a line break in the printed score.
* Removed redefinition of \parskip from pmx.tex. Now PMX will insert the
redefinition into [jobname].tex only if "Ae" has been invoked.
* PMX numbers slurs from 0 up instead of 11 down, anticipating postscript
slurs.
* Increase allowable length of jobname to 44 characters.
2.354 (NEW pmx.tex)
* When postscript slurs are activated with "Ap", hairpins (crescendo,
decrescendo) will be done in postscript. Only operational differences
are (a) Start or ending can be tweaked independently vertically and/or
horizontally, allowing slanted hairpins; (b) hairpins may cross a line
or page break, but start and ending must still be defined within the
same input block.
* Check for unclosed hairpins at end of input block.
* When postscript slurs are activated with "Ap", true ties will result from
using "t" instead of "s", "(", or ")" . Ties are flattened compared with
slurs, and have slightly different terminations. This syntax is a minor
incompatibility with the older usage of "t", but that only differed in a
minor detail from "s", and will remain available if "Ap" is not used.
* K-0+n to transpose by half step (rather than just change key).
* Multibar rests "rm[n]" now allowed when nv>1, but required in all parts.
* "Rz" at beginning of an input block will cause the last bar in the prior
block to end with a blank bar line.
2.355 (NEW pmx.tex)
* Midi-only transposition by octave:
IT[+|-][n1][+|-][n2]...[+|-][n(noinst)],
n=# of half-steps, restrict to multiples of 12.
* Make midi recognize postscript ties.
* Correct \ttieforsl in pmx.tex so that it eats 2nd argument properly,
using \zcharnote to get octave right.
* Allow hairpins to cross input block boundaries.
2.357
* Increase dimension for number of literal TeX strings per input block from
52 to 83.
* Allow blank rest in middle of xtuplet.
* Allow up to 40 pages total.
* Bugfix: In unbeamed xtups "n" now properly suppresses bracket.
* Bugfix in parsing of "f,h,H,HH" in sslur.
2.357a
* Fix source code format errors. No functional change.
2.358
* With postscript slurs "Ap", set PMX defaults
\Nosluradjust\Notieadjust\nohalfties.
* Allow curvature corrections "f","h","H","HH" at start of postscript slur.
* Local postscript slur/tie options in slur/tie commands: p[+|-][s|t] for
[nos|s]luradjust,[not|t]ieadjust.
* Global postscript slur/tie options: Ap[+|-][s|t|h] for
[Nos|S]luradjust,[Not|T]ieadjust,[noh|h]alfties.
* Allow index on postscript ties "t[index]" or "s[index]t" NOTE! Cannot use
same index for slur and tie open at same time.
* Bugfix: Corrects error when xtup starts with rest.
* Bugfix: Add spacing for ornament ")" as if it were flag.
* With "Ap", "st" slurs will become postscript ties.
* Non-beamed xtup: option "a" in 1st note or rest of xtup, before "x".
* Allow two text dynamics D"x" on same note.
2.359
* Add error exit subroutine stop1 to make exit status g77-compatible..
* Bugfix: absolute octave on xtup chord note was 2 octave too high.
* Bugfix: Fermata on vertically shifted rest had wrong height.
* Bugfix: Correct multiple grace note spacing for small staves.
2.4
* Feature fix: Only write ps slur auto-adjustment defaults once.
=========================================================================
Changes from PMX 2.2 to PMX 2.3, 19 February 2001
Don Simons
dsimons@logicon.com
1. There is a new version of pmx.tex, which must be placed somewhere where
your TeX processor can find it.
2. Unequal xtuplets. Use "D" with any xtup note to double the time value
of that note. For each "D" used, the number of notes in the xtuplet is
reduced by one. Use "F" instead of "D" if you want to print a dot on the
doubled note (Werner told me Bach did this sometimes).
3. MIDI-only accidental. Activate by putting "i" anywhere in the
symbol for the note containing the accidental. This will cause PMX to
ignore the accidental during typesetting but honor it when making a MIDI
file.
4. Continued rhythmic shortcuts: Up to now, to use "." or "," the two
affected notes could not be separated, so the first of the two could not
have any modifiers such as slurs or accidentals. Now that restriction
is removed. A note-symbol can start with "[blank]." or "[blank]," and
will be treated as if it were the it were the second member of the pair
in the old syntax. The basic note value will be held at that of the prior
note.
5. Dynamics:
Process the file "dyntest.pmx"to see all the available letter-groups and
hairpins. To use, after the affected note, enter "D" followed by one of
the following "pppp","ppp","pp","p","ffff","fff","ff","f","mf","mp","fp",
"sfz",">", or "<" . The last two are diminuendo and crescendo, and they
are toggles...the first one of each starts the symbol and the next one
ends it. You can also enter position shifts, vertical as a signed integer
representing the number of \internotes, then horizontal as a signed number
representing number of notehead widths.
You may enter more than one D... on the same note. If you follow the
restrictions listed IN THIS PARAGRAPH, horizontal and vertical positions
will be automagically tweaked: No more than 3 D...'s, and only in the
order [hairpin end][letter-group][hairpin start] (but any one of the
three may be missing).
You may also try other combinations on a single note such as
[hp start][hp end] or [letter-group][hp start][hp end][letter-group],
but now you must manually enter any positional tweaks, and the horizontal
tweaks are limited to +/-6.3 notehead widths.
Hairpins must be contained completely within the same input block. At the
moment the syntax checking is minimal so you might be allowed to enter
nonsensical combinations. But do please report possible bugs.
Also, note these restrictions on hairpins due to MusiXTeX limitations:
a. Length < 68mm
b. Cannot wrap over a system break
c. Must be horizontal
d. Only certain specific lengths are available so some horizontal
position tweaking may be needed when letter-groups and hairpins are
combined.
Lastly, there is a "Literal dynamics" option. In place of one the 12
letter groups, enter any text surrounded by double quotes. The text will
be literally used as the argument of a \zcharnote command. If not a TeX
macro, it will be printed in italics.
6. Flip direction of a forced beam from whatever the default is: "[f"
7. Line spacing equalization. This is activated with "Ae" right after the
setup data. It attempts to ensure equal spaces between the bottom line of
the bottom staff of one system and the top line of the top staff of the
next, regardless of how far anything extends into the gap. Extra space can
be inserted as required with the in-line TeX command \spread[n] in the line
prior to the added space, where n is the added space in \internotes.
8. Midi balance Ib[n1]:[n2]:...:[nn] . One number for each instrument.
Each number is between 1 and 128 and represents the left-to-right position
of the stereo image of that instrument, with 64 being the center and
default. Must be entered at start and will apply to entire piece.
9. MIDI velocity (volume) Iv[n1]:[n2]:...:[nn] . Same restrictions as
above, but each number is the volume level for the corresponding instrument.
10. Single-slope beam groups [...]-[...]-...-[...] . Slope and height of
beam will be computed as if this were one single beam, but beam will stop
and restart at each "-".
11. There is a bug fix correcting the horizontal position of certain
slur starts and stops on whole notes or longer. If you had manually
corrected this positioning in the past, you may need to re-edit your score
to make it come out right with the new version.
12. The length of allowable text in the Volta command is increased from
10 to 20 characters. The text may contain TeX commands but may not contain
blank,"+","-","b", or "x".
13. If some staves are made small, e.g. by in-line "\setsize2{\smallvalue}",
until now PMX could not know the size of the smaller accidentals when
checking and correcting horizontal spacing for possible crashes. Now
there is a command to tell PMX which lines have been reduced:
AS[-|0][-|0]...[-|0] , i.e. "AS" followed by exactly one "-" or "0" for
each staff. The does NOT change the size of the staff...you still must
do that with inline TeX. (Maybe someday...)
14. Increased from 20 to 30 the maximum number of movement breaks and midi
sections.
15. Fixed out-of-order common declarations per mutex comments
16. Replacement xtup number. Simply enter an unsigned integer after the
"n" option on "x" on the first note of an xtuplet, and the integer will
be printed instead of the natural number.
17. Improved centering of multibar rests and stacked full-bar rests.
18. Numerous other minor bug-fixes. See comments at start of source
code for a more-or-less complete list.
|