JMSL Tutorial: JScore
Transforming notes algorithmically
Recall that JScore's programmability breaks down into two areas:
- Adding algorithmically generated notes to a score
- Transforming selected notes in a score
This tutorial introduces how to algorithmically transform existing notes.
Transforms are applied to notes in
JScore's copy buffers. The result of the transform is pasted into the score.
The Copy operation clones selected Notes into the Copy Buffer, so any transforms that
happen to the Notes in the copy buffer do not affect the originally selected Notes.
JScore supports two kinds of transforms:
- Unary Copy Buffer Transform - operates on notes contained in the Copy Buffer.
Example: result = retrograde of copy buffer.
- Binary Copy Buffer Transform - operates on two sets of notes contained in Aux Buffers 1 and 2.
Example: result = interleaved notes from aux1 and aux2
Unary Copy Buffer Transform example: Retrograde Transform
The Retrograde transform is a Unary Copy Buffer Transform which reverses the order of the notes in the copy buffer.
- In the ScoreFrame that this applet opens, select and copy the top four ascending notes by dragging a rectangle
around them and choosing Copy from the Edit menu.
- Now you have four notes in the Copy Buffer.
- From the Transforms Menu, choose Unary Copy Buffer Transform,
choose Order, then Retrograde.
- The Notes in the copy buffer have now been reversed.
- Click in the empty staff,
choose Paste, and you should see the reversed melody.
View the complete source here.
(C) 2000 Nick Didkovsky and Phil Burk, All Rights Reserved
JMSL is based upon HMSL (C) Phil Burk, Larry Polansky and David Rosenboom.