com.frinika.sequencer.gui.mixer
Class SynthWrapper
java.lang.Object
com.frinika.sequencer.gui.mixer.SynthWrapper
- All Implemented Interfaces:
- MidiRenderFactory, MidiDeviceIconProvider, javax.sound.midi.MidiDevice, javax.sound.midi.Synthesizer
public class SynthWrapper
- extends java.lang.Object
- implements javax.sound.midi.Synthesizer, MidiRenderFactory, MidiDeviceIconProvider
Synthesizer wrapper for external midi out devices. Used to intercept midi messages
and update the mixer gui (mixer sliders etc.)
- Author:
- Peter Johan Salomonsen
Nested classes/interfaces inherited from interface javax.sound.midi.MidiDevice |
javax.sound.midi.MidiDevice.Info |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
soundBankFile
public java.lang.String soundBankFile
SynthWrapper
public SynthWrapper(ProjectContainer project,
javax.sound.midi.MidiDevice midiDevice)
- Parameters:
project
- - Only neccesary if the device is a synthesizer implementing the mixer interface (NOT USED? --PJL)midiDevice
-
- Throws:
javax.sound.midi.MidiUnavailableException
getAudioProcess
public uk.org.toot.audio.core.AudioProcess getAudioProcess()
- You can use this grab the output from the synth.
- Returns:
- the audio process of this synth voice.
getReceiver
public javax.sound.midi.Receiver getReceiver()
throws javax.sound.midi.MidiUnavailableException
- Specified by:
getReceiver
in interface javax.sound.midi.MidiDevice
- Throws:
javax.sound.midi.MidiUnavailableException
getReceivers
public java.util.List<javax.sound.midi.Receiver> getReceivers()
- Specified by:
getReceivers
in interface javax.sound.midi.MidiDevice
getTransmitter
public javax.sound.midi.Transmitter getTransmitter()
throws javax.sound.midi.MidiUnavailableException
- Specified by:
getTransmitter
in interface javax.sound.midi.MidiDevice
- Throws:
javax.sound.midi.MidiUnavailableException
getTransmitters
public java.util.List<javax.sound.midi.Transmitter> getTransmitters()
- Specified by:
getTransmitters
in interface javax.sound.midi.MidiDevice
getDeviceInfo
public javax.sound.midi.MidiDevice.Info getDeviceInfo()
- Specified by:
getDeviceInfo
in interface javax.sound.midi.MidiDevice
open
public void open()
throws javax.sound.midi.MidiUnavailableException
- Specified by:
open
in interface javax.sound.midi.MidiDevice
- Throws:
javax.sound.midi.MidiUnavailableException
close
public void close()
- Specified by:
close
in interface javax.sound.midi.MidiDevice
isOpen
public boolean isOpen()
- Specified by:
isOpen
in interface javax.sound.midi.MidiDevice
getMicrosecondPosition
public long getMicrosecondPosition()
- Specified by:
getMicrosecondPosition
in interface javax.sound.midi.MidiDevice
getMaxReceivers
public int getMaxReceivers()
- Specified by:
getMaxReceivers
in interface javax.sound.midi.MidiDevice
getMaxTransmitters
public int getMaxTransmitters()
- Specified by:
getMaxTransmitters
in interface javax.sound.midi.MidiDevice
getMaxPolyphony
public int getMaxPolyphony()
- Specified by:
getMaxPolyphony
in interface javax.sound.midi.Synthesizer
getLatency
public long getLatency()
- Specified by:
getLatency
in interface javax.sound.midi.Synthesizer
getChannels
public javax.sound.midi.MidiChannel[] getChannels()
- Specified by:
getChannels
in interface javax.sound.midi.Synthesizer
getVoiceStatus
public javax.sound.midi.VoiceStatus[] getVoiceStatus()
- Specified by:
getVoiceStatus
in interface javax.sound.midi.Synthesizer
isSoundbankSupported
public boolean isSoundbankSupported(javax.sound.midi.Soundbank soundbank)
- Specified by:
isSoundbankSupported
in interface javax.sound.midi.Synthesizer
loadInstrument
public boolean loadInstrument(javax.sound.midi.Instrument instrument)
- Specified by:
loadInstrument
in interface javax.sound.midi.Synthesizer
unloadInstrument
public void unloadInstrument(javax.sound.midi.Instrument instrument)
- Specified by:
unloadInstrument
in interface javax.sound.midi.Synthesizer
remapInstrument
public boolean remapInstrument(javax.sound.midi.Instrument from,
javax.sound.midi.Instrument to)
- Specified by:
remapInstrument
in interface javax.sound.midi.Synthesizer
getDefaultSoundbank
public javax.sound.midi.Soundbank getDefaultSoundbank()
- Specified by:
getDefaultSoundbank
in interface javax.sound.midi.Synthesizer
getAvailableInstruments
public javax.sound.midi.Instrument[] getAvailableInstruments()
- Specified by:
getAvailableInstruments
in interface javax.sound.midi.Synthesizer
getLoadedInstruments
public javax.sound.midi.Instrument[] getLoadedInstruments()
- Specified by:
getLoadedInstruments
in interface javax.sound.midi.Synthesizer
loadAllInstruments
public boolean loadAllInstruments(javax.sound.midi.Soundbank soundbank)
- Specified by:
loadAllInstruments
in interface javax.sound.midi.Synthesizer
unloadAllInstruments
public void unloadAllInstruments(javax.sound.midi.Soundbank soundbank)
- Specified by:
unloadAllInstruments
in interface javax.sound.midi.Synthesizer
loadInstruments
public boolean loadInstruments(javax.sound.midi.Soundbank soundbank,
javax.sound.midi.Patch[] patchList)
- Specified by:
loadInstruments
in interface javax.sound.midi.Synthesizer
unloadInstruments
public void unloadInstruments(javax.sound.midi.Soundbank soundbank,
javax.sound.midi.Patch[] patchList)
- Specified by:
unloadInstruments
in interface javax.sound.midi.Synthesizer
toString
public java.lang.String toString()
- Override toString to provide easy construction of GUI selectors.
- Overrides:
toString
in class java.lang.Object
getRealDevice
public javax.sound.midi.MidiDevice getRealDevice()
- Returns the midiDevice that this synthwrapper is wrapping
- Returns:
setSaveReferencedData
public void setSaveReferencedData(boolean saveReferencedData)
isRenderable
public boolean isRenderable()
setRenderAudioProcess
public void setRenderAudioProcess(uk.org.toot.audio.core.AudioProcess audioprocess)
setSupressAudio
public void setSupressAudio(boolean supress_audio)
getRender
public MidiRender getRender(float samplerate,
int channels)
- Specified by:
getRender
in interface MidiRenderFactory
getIcon
public javax.swing.Icon getIcon()
- Specified by:
getIcon
in interface MidiDeviceIconProvider
getSoundbank
public javax.sound.midi.Soundbank getSoundbank(java.io.File file)
throws javax.sound.midi.InvalidMidiDataException,
java.io.IOException
- Throws:
javax.sound.midi.InvalidMidiDataException
java.io.IOException