Other changes in 4.22.4 as compared to the canonical version
(actually some may be already in the canonical, just not documented):

  * interp has a new optional argument, which, if non-zero, sets the
    initial output value to the first k-rate input instead of zero.
    The following graphs show the output of interp with a constant
    input value, in the original, and the new mode:

       |    ________          |____________
       |   /                  |
       |  /                   |
       | /                    |
       |/                     |
      -+------------         -+------------
       |                      |

  * named subinstruments are removed, and replaced by user opcodes
    and named instruments (see opcodnew.txt and namedins.txt)
  * modifying the note length (p3 = ..., ihold, turnoff, xtratim,
    etc.) from subinstruments also affects the caller instrument,
    just like in user defined opcodes, and unlike in original
    subinstr implementation
  * there is a new subinstrument opcode: subinstrinit (very similar
    to subinstr, but runs only at i-time, and has no outputs)
  * prealloc can preallocate both named instruments and user defined
    opcodes (with instruments being searched at first). There is a
    new optional argument that, if non-zero, forces searching for a
    user defined opcode. Note that in the case of redefined opcodes,
    prealloc will always affect the last definition.

