Class JSynMixer

java.lang.Object
com.softsynth.jmsl.jsyn2.JSynMixer
All Implemented Interfaces:
Mixer, PanAmpListener

public class JSynMixer
extends java.lang.Object
implements Mixer
JSynMixer, accommodates Pure JSyn JSynInstruments with any number of parts in their getOutput(). Includes LineOut
Author:
Nick Didkovsky, email: nick@didkovsky.com, (c) 2012 Nick Didkovsky, all rights reserved.
  • Constructor Summary

    Constructors
    Constructor Description
    JSynMixer()  
    JSynMixer​(com.jsyn.unitgen.UnitSink unitSink)  
  • Method Summary

    Modifier and Type Method Description
    int addInstrument​(Instrument ins)
    When Instruments are added to this Mixer, they are implicitely associated with an autoincrementing fader index.
    int addInstrument​(Instrument ins, double pan, double amp)
    Add a JSynInstrument to JSynMixer.
    double getAmp​(int faderIndex)  
    int[] getFaderIndexes​(Instrument ins)
    faders index(es) associated with an instrument, or NULL if not found
    boolean getFaderMute​(int faderIndex)  
    boolean getFaderSolo​(int faderIndex)  
    java.awt.Component getGUIComponent()  
    Instrument getInstrument​(int faderIndex)
    Get instrument associated with fader index (some instruments may have more than one fader, so you cannot assume fader n goes with ins n)
    int getNumFaders()  
    double getPan​(int faderIndex)  
    boolean hasExtension​(java.lang.String fname, java.lang.String ext)
    True if filename ends in 3 letter extension ext.
    static void main​(java.lang.String[] args)  
    void muteChange​(int faderIndex, boolean flag)  
    void panAmpChange​(int faderIndex, double pan, double amp)
    gain is 0..1, pan is 0..1
    void removeInstrument​(Instrument ins)
    Remove all faders associated with this instrument
    void repatch​(Instrument ins)
    Sometimes the internals of an instrument change which require that it be repatched
    void setFaderMute​(int faderIndex, boolean flag)  
    void setFaderSolo​(int faderIndex, boolean flag)  
    void soloChange​(int faderIndex, boolean flag)  
    void start()
    start()'s LineOut
    void stop()
    stop()'s LineOut

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • JSynMixer

      public JSynMixer()
    • JSynMixer

      public JSynMixer​(com.jsyn.unitgen.UnitSink unitSink)
  • Method Details

    • getNumFaders

      public int getNumFaders()
      Specified by:
      getNumFaders in interface Mixer
    • addInstrument

      public int addInstrument​(Instrument ins)
      Description copied from interface: Mixer
      When Instruments are added to this Mixer, they are implicitely associated with an autoincrementing fader index.
      Specified by:
      addInstrument in interface Mixer
      Returns:
      number of new faders added to mixer by adding this instrument
    • addInstrument

      public int addInstrument​(Instrument ins, double pan, double amp)
      Add a JSynInstrument to JSynMixer. Handles multipart SynthOutput, adds a PanAmpPanel and FaderUnit for each. So adding a mono instrument and a stereo instrument would result in three faders
      Specified by:
      addInstrument in interface Mixer
      Returns:
      numParts of instrument's outputs, ie number of faders added to this mixer
    • removeInstrument

      public void removeInstrument​(Instrument ins)
      Description copied from interface: Mixer
      Remove all faders associated with this instrument
      Specified by:
      removeInstrument in interface Mixer
    • getInstrument

      public Instrument getInstrument​(int faderIndex)
      Description copied from interface: Mixer
      Get instrument associated with fader index (some instruments may have more than one fader, so you cannot assume fader n goes with ins n)
      Specified by:
      getInstrument in interface Mixer
      Returns:
      Instrument associated with a fader.
    • getFaderIndexes

      public int[] getFaderIndexes​(Instrument ins)
      Description copied from interface: Mixer
      faders index(es) associated with an instrument, or NULL if not found
      Specified by:
      getFaderIndexes in interface Mixer
    • start

      public void start()
      start()'s LineOut
      Specified by:
      start in interface Mixer
    • stop

      public void stop()
      stop()'s LineOut
      Specified by:
      stop in interface Mixer
    • panAmpChange

      public void panAmpChange​(int faderIndex, double pan, double amp)
      gain is 0..1, pan is 0..1
      Specified by:
      panAmpChange in interface PanAmpListener
    • getPan

      public double getPan​(int faderIndex)
      Specified by:
      getPan in interface Mixer
    • getAmp

      public double getAmp​(int faderIndex)
      Specified by:
      getAmp in interface Mixer
    • getGUIComponent

      public java.awt.Component getGUIComponent()
      Specified by:
      getGUIComponent in interface Mixer
    • hasExtension

      public boolean hasExtension​(java.lang.String fname, java.lang.String ext)
      True if filename ends in 3 letter extension ext. Case insensitive
    • setFaderMute

      public void setFaderMute​(int faderIndex, boolean flag)
      Specified by:
      setFaderMute in interface Mixer
    • getFaderMute

      public boolean getFaderMute​(int faderIndex)
      Specified by:
      getFaderMute in interface Mixer
    • getFaderSolo

      public boolean getFaderSolo​(int faderIndex)
      Specified by:
      getFaderSolo in interface Mixer
    • repatch

      public void repatch​(Instrument ins)
      Description copied from interface: Mixer
      Sometimes the internals of an instrument change which require that it be repatched
      Specified by:
      repatch in interface Mixer
    • setFaderSolo

      public void setFaderSolo​(int faderIndex, boolean flag)
      Specified by:
      setFaderSolo in interface Mixer
    • muteChange

      public void muteChange​(int faderIndex, boolean flag)
      Specified by:
      muteChange in interface PanAmpListener
    • soloChange

      public void soloChange​(int faderIndex, boolean flag)
      Specified by:
      soloChange in interface PanAmpListener
    • main

      public static void main​(java.lang.String[] args)