Next-P and Previous-P Symbols

At the close of any of the operations Carry, Tempo, and Sort, three additional score features are interpreted during file writeout: next-p, previous-p, and ramping.

i statement pfields containing the symbols npx or ppx (where x is some integer) will be replaced by the appropriate pfield value found on the next i statement (or previous i statement) that has the same p1. For example, the symbol np7 will be replaced by the value found in p7 of the next note that is to be played by this instrument. np and pp symbols are recursive and can reference other np and pp symbols which can reference others, etc. References must eventually terminate in a real number or a ramp symbol. Closed loop references should be avoided. np and pp symbols are illegal in p1, p2 and p3 (although they may reference these). np and pp symbols may be Carried. np and pp references cannot cross a Section boundary. Any forward or backward reference to a non-existent note-statement will be given the value zero.

E.g.: the statements

i1   0    1    10   np4  pp5 
i1   1    1    20
i1   1    1    30

will result in

i1   0    1    10   20   0 
i1   1    1    20   30   20 
i1   2    1    30   0    30

np and pp symbols can provide an instrument with contextual knowledge of the score, enabling it to glissando or crescendo, for instance, toward the pitch or dynamic of some future event (which may or may not be immediately adjacent). Note that while the Carry feature will propagate np and pp through unsorted statements, the operation that interprets these symbols is acting on a fully sorted version of the score. The tempo operation is applied after the pp and/or np processing.