Secondary modulation

Each of PotterDraw's properties can be modulated by an oscillator. Each of these oscillators has its own properties, such as waveform, frequency, amplitude and so on, and these properties can also be modulated. In other words, you can modulate a modulation. This means there are two levels of modulation in PotterDraw: primary modulation, in which an oscillator directly modulates one of the pot's properties, and secondary modulation, in which an oscillator modulates a property of a primary modulation.

Secondary modulation is an advanced feature that lets you create more complex effects. Its most common applications are amplitude modulation (AM) and frequency modulation (FM). For example you might want to apply a waveform to a property, but only on part of the pot. This is amplitude modulation, and it can be visualized as applying an amplitude envelope to a waveform. For another example, you might want the waveform's frequency to vary over the range of the pot. This is frequency modulation.

Other more esoteric types of modulation are supported, such as pulse width modulation (PWM), phase modulation, etc. Mutiple-choice (drop list) properties such as waveform or motif can also be modulated, but note that because they're integers they will modulate in discrete steps rather than continuously. Multiple types of secondary modulation can be applied to the same primary modulation, for example you could modulate a primary modulation's amplitude AND its frequency.

Secondary modulations are accessed via the modulation type drop list. This setting affects what's shown in both the modulation and oscilloscope bars. When modulation type is set to "Property", you're accessing the target property's primary modulation, but if it's set to any other value, you're accessing a secondary modulation. Note that for a secondary modulation to have any effect, the primary modulation it applies to must be enabled, i.e. its waveform must be set to something other than "None".

Example

Suppose you're modulating the Scallop Depth property with a sine wave, so that the scallops undulate as they progress vertically up the pot. Now suppose you also want to vary the intensity of that undulation, so that it's strong at the bottom of the pot, and gradually weakens to nonexistent at the top of the pot. In other words, you want to apply an amplitude envelope to the undulation. More specifically, you want to modulate the amplitude of the Scallop Depth modulation with a descending ramp wave. You could do this as follows:

  1. In a new document, set the number of scallops to 5, and the scallop depth to 10. Also disable Texture so you can see the pot's shape more clearly.
  2. In the modulation bar, make sure the selected target is "Scallop Depth". Now set the waveform to "Sine", and the operation to "Multiply". You should see undulations in your scallops.
  3. Change the modulation type from "Property" to "Amplitude". You're now editing a secondary modulation (amplitude modulation), and the Amplitude row is highlighted in red to remind you of this. Notice that the modulation properties and oscilloscope no longer reflect the edits you made in step 2, because you're no longer accessing the primary modulation.
  4. Change the waveform to "Ramp Down", the operation to "Multiply", and the range to "Unipolar". The oscilloscope should show a ramp wave descending from one to zero. A blue triangle appears to the left of the Amplitude row to indicate that amplitude is modulated.
  5. Change the modulation type back to "Property". The edits you made in step 2 reappear, and the oscilloscope and the view should now show an amplitude-modulated scallop depth modulation.