File: ChangeLog

package info (click to toggle)
pmx 2.5.4-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 1,052 kB
  • ctags: 1,194
  • sloc: makefile: 148; sh: 109
file content (531 lines) | stat: -rw-r--r-- 24,814 bytes parent folder | download
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.