Modulator
Keywords: micromod.Modulator class

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## micromod
Class Modulator

    java.lang.Object
      micromod.Modulator

public class Modulator
extends java.lang.Object

The Modulator is intended to "modulate" the pitch/volume of a Channel over time. It can be configured to perform arpeggios, vibratos, tremolos, portamentos etc.

Field Summary
`protected int[]` | `arpeggio`
`protected Channel` | `channel`
`protected int` | `currentFXCommand`
`protected int` | `currentFXCounter`
`protected int` | `currentFXPeriod`
`protected int` | `currentFXValue`
`static int` | `FX_ARPEGGIO`
`static int` | `FX_EXTPAN`
`static int` | `FX_FINESLIDEDOWN`
`static int` | `FX_FINESLIDEUP`
`static int` | `FX_FINEVOLDOWN`
`static int` | `FX_FINEVOLUP`
`static int` | `FX_INVERTLOOP`
`static int` | `FX_LOWPASS`
`static int` | `FX_NOTECUT`
`static int` | `FX_NOTEDELAY`
`static int` | `FX_PANNING`
`static int` | `FX_RETRIG`
`static int` | `FX_SETFINETUNE`
`static int` | `FX_SETGLISSANDO`
`static int` | `FX_SETSAMPLEOFFSET`
`static int` | `FX_SETTREMOLOWAVE`
`static int` | `FX_SETVIBRATOWAVE`
`static int` | `FX_SETVOLUME`
`static int` | `FX_SLIDEDOWN`
`static int` | `FX_SLIDEUP`
`static int` | `FX_TONEPORTA`
`static int` | `FX_TONEPORTAVOLSLIDE`
`static int` | `FX_TREMOLO`
`static int` | `FX_VIBRATO`
`static int` | `FX_VIBRATOVOLSLIDE`
`static int` | `FX_VOLSLIDE`
`protected int` | `fxSubValue1`
`protected int` | `fxSubValue2`
`protected static int[]` | `periodTable`
`protected int` | `sampleOffset`
`protected static int[]` | `sinTable`
`protected boolean` | `supportsPanning`
`protected int` | `tonePortaDestination`
`protected int` | `tonePortaSpeed`
`protected int` | `tremDepth`
`protected ProTrackerLFO` | `tremoloLFO`
`protected int` | `tremSpeed`
`protected int` | `vibDepth`
`protected ProTrackerLFO` | `vibratoLFO`
`protected int` | `vibSpeed`

Constructor Summary
`Modulator(Channel chan, boolean supportsPanning)`

Method Summary
`protected void` | `adjustFineTune()`
`protected void` | `getFXSubValues()`
`protected void` | `initialiseArpeggio()`
`void` | `initialiseFX(int fxPeriod, Instrument fxInstrument, int fxCommand, int fxValue)` Initialise both this object and the channel associated with it with the data from a row in a ProTracker-style sequence.
`protected void` | `initialiseTremolo(boolean newNote)`
`protected void` | `initialiseVibrato(boolean newNote)`
`void` | `reset()` Reset the modulator to "power on" defaults.
`protected void` | `setTremoloWave(int waveform)`
`protected void` | `setVibratoWave(int waveform)`
`protected void` | `updateArpeggio()`
`void` | `updateFX()` Update the pitch/volume for a CIA tick of the tracker.
`protected void` | `updateNoteCut()`
`protected void` | `updateNoteDelay()`
`protected void` | `updateTonePorta()`
`protected void` | `updateTremolo(boolean trig)`
`protected void` | `updateVibrato(boolean trig)`
`protected void` | `updateVolSlide()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### FX_ARPEGGIO

    public static final int FX_ARPEGGIO

See Also:
  Constant Field Values

### FX_SLIDEUP

    public static final int FX_SLIDEUP

See Also:
  Constant Field Values

### FX_SLIDEDOWN

    public static final int FX_SLIDEDOWN

See Also:
  Constant Field Values

### FX_TONEPORTA

    public static final int FX_TONEPORTA

See Also:
  Constant Field Values

### FX_VIBRATO

    public static final int FX_VIBRATO

See Also:
  Constant Field Values

### FX_TONEPORTAVOLSLIDE

    public static final int FX_TONEPORTAVOLSLIDE

See Also:
  Constant Field Values

### FX_VIBRATOVOLSLIDE

    public static final int FX_VIBRATOVOLSLIDE

See Also:
  Constant Field Values

### FX_TREMOLO

    public static final int FX_TREMOLO

See Also:
  Constant Field Values

### FX_PANNING

    public static final int FX_PANNING

See Also:
  Constant Field Values

### FX_SETSAMPLEOFFSET

    public static final int FX_SETSAMPLEOFFSET

See Also:
  Constant Field Values

### FX_VOLSLIDE

    public static final int FX_VOLSLIDE

See Also:
  Constant Field Values

### FX_SETVOLUME

    public static final int FX_SETVOLUME

See Also:
  Constant Field Values

### FX_LOWPASS

    public static final int FX_LOWPASS

See Also:
  Constant Field Values

### FX_FINESLIDEUP

    public static final int FX_FINESLIDEUP

See Also:
  Constant Field Values

### FX_FINESLIDEDOWN

    public static final int FX_FINESLIDEDOWN

See Also:
  Constant Field Values

### FX_SETGLISSANDO

    public static final int FX_SETGLISSANDO

See Also:
  Constant Field Values

### FX_SETVIBRATOWAVE

    public static final int FX_SETVIBRATOWAVE

See Also:
  Constant Field Values

### FX_SETFINETUNE

    public static final int FX_SETFINETUNE

See Also:
  Constant Field Values

### FX_SETTREMOLOWAVE

    public static final int FX_SETTREMOLOWAVE

See Also:
  Constant Field Values

### FX_EXTPAN

    public static final int FX_EXTPAN

See Also:
  Constant Field Values

### FX_RETRIG

    public static final int FX_RETRIG

See Also:
  Constant Field Values

### FX_FINEVOLUP

    public static final int FX_FINEVOLUP

See Also:
  Constant Field Values

### FX_FINEVOLDOWN

    public static final int FX_FINEVOLDOWN

See Also:
  Constant Field Values

### FX_NOTECUT

    public static final int FX_NOTECUT

See Also:
  Constant Field Values

### FX_NOTEDELAY

    public static final int FX_NOTEDELAY

See Also:
  Constant Field Values

### FX_INVERTLOOP

    public static final int FX_INVERTLOOP

See Also:
  Constant Field Values

### channel

    protected Channel channel

### supportsPanning

    protected boolean supportsPanning

### vibratoLFO

    protected ProTrackerLFO vibratoLFO

### tremoloLFO

    protected ProTrackerLFO tremoloLFO

### currentFXCommand

    protected int currentFXCommand

### currentFXValue

    protected int currentFXValue

### fxSubValue1

    protected int fxSubValue1

### fxSubValue2

    protected int fxSubValue2

### currentFXPeriod

    protected int currentFXPeriod

### currentFXCounter

    protected int currentFXCounter

### tonePortaDestination

    protected int tonePortaDestination

### tonePortaSpeed

    protected int tonePortaSpeed

### sampleOffset

    protected int sampleOffset

### vibSpeed

    protected int vibSpeed

### vibDepth

    protected int vibDepth

### tremSpeed

    protected int tremSpeed

### tremDepth

    protected int tremDepth

### arpeggio

    protected int[] arpeggio

### sinTable

    protected static int[] sinTable

### periodTable

    protected static int[] periodTable

Constructor Detail

### Modulator

    public Modulator(Channel chan,
                     boolean supportsPanning)

Parameters:
  `chan` - the channel to be associated with this Modulator
  `supportsPanning` - If false, will ignore extended panning commands. Old Protracker modules do not have panning, but may still issue the panning commands.

Method Detail

### reset

    public void reset()

  Reset the modulator to "power on" defaults.

### initialiseFX

    public void initialiseFX(int fxPeriod,
                             Instrument fxInstrument,
                             int fxCommand,
                             int fxValue)

  Initialise both this object and the channel associated with it with the data from a row in a ProTracker-style sequence.

### updateFX

    public void updateFX()

  Update the pitch/volume for a CIA tick of the tracker.

### getFXSubValues

    protected void getFXSubValues()

### initialiseArpeggio

    protected void initialiseArpeggio()

### updateArpeggio

    protected void updateArpeggio()

### updateTonePorta

    protected void updateTonePorta()

### updateVolSlide

    protected void updateVolSlide()

### initialiseVibrato

    protected void initialiseVibrato(boolean newNote)

### updateVibrato

    protected void updateVibrato(boolean trig)

### setVibratoWave

    protected void setVibratoWave(int waveform)

### initialiseTremolo

    protected void initialiseTremolo(boolean newNote)

### updateTremolo

    protected void updateTremolo(boolean trig)

### setTremoloWave

    protected void setTremoloWave(int waveform)

### updateNoteCut

    protected void updateNoteCut()

### updateNoteDelay

    protected void updateNoteDelay()

### adjustFineTune

    protected void adjustFineTune()

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD