i1 = 2 0 -4 { p2 1, .5, 2, 3 ;start times p3 1 ;duration codes }
This i-block will start at beat 0 and make 4 events; however, p2 lists the start time intervals, not the literal start times. The following start times would be created from the above example:
0 (default start time) 1 (after an interval of 1 beat) 1.5 (after an interval of .5 beat) 3.5 (after an interval of 2 beats) (the 5th event would now start at 6.5)
would create three events starting at beat 0, 1, and 1.5. The default P3 values would be initialized as 1, .5, and 2. The P3 field, however, is used to specify the treatment of the temporal interval (default duration). Two basic operations can be implemented with P3: a scaling of the default temporal duration, and an override of the temporal duration with a literal value. The following codes are possible:p2 1, .5, 2
P3 Code | Function |
0-199.999 | When P3 is in this range, the duration of the event is multiplied by the given scaling factor (e.g., 1 leaves all durations as continuing until the start of the next event -- i.e., 100% scaling, .5 will make all duration last 50% of the time between both events.) To make events legato, consider setting P3 to 1.05... |
200-299.999 | Adds a constant amount, x - 200, to the temporal interval (default duration). For example, if x is 200.1, the duration will be the temporal interval between two events plus .1. |
300-399.999 | Subtracts a constant amount, x - 300, from the temporal interval (default duration). For example, if x is 300.1, the duration will be the temporal interval between two events minus .1. If the value negates the length of the temporal interval, the event turns into a rest (in this case a warning message is printed). |
400-999.999 | Force x - 400 to be the literal value of the duration in beats (at current tempo). |
1000+ | Force x - 1000 to be the literal value of the duration in seconds. |