com.frinika.midi
Class DrumMapper

java.lang.Object
  extended by com.frinika.midi.DrumMapper
All Implemented Interfaces:
MidiDeviceIconProvider, javax.sound.midi.MidiDevice

public class DrumMapper
extends java.lang.Object
implements javax.sound.midi.MidiDevice, MidiDeviceIconProvider

DrumMapper is a midi device that redirects midi events to other devices doing some mapping enroute.


Nested Class Summary
static class DrumMapper.DrumMapperInfo
           
 class DrumMapper.NoteMap
           
 
Nested classes/interfaces inherited from interface javax.sound.midi.MidiDevice
javax.sound.midi.MidiDevice.Info
 
Method Summary
 void close()
           
 javax.sound.midi.Instrument[] getAvailableInstruments()
           
 javax.sound.midi.MidiChannel[] getChannels()
           
 javax.sound.midi.MidiDevice getDefaultMidiDevice()
           
 javax.sound.midi.Soundbank getDefaultSoundbank()
           
 javax.sound.midi.MidiDevice.Info getDeviceInfo()
           
 javax.swing.JPanel getGUIPanel(ProjectFrame frame, MidiLane lane)
           
 javax.swing.Icon getIcon()
           
 javax.sound.midi.Instrument[] getLoadedInstruments()
           
 int getMaxPolyphony()
           
 int getMaxReceivers()
           
 int getMaxTransmitters()
           
 long getMicrosecondPosition()
           
 DrumMapper.NoteMap getNoteMap(int i)
           
 javax.sound.midi.Receiver getReceiver()
           
 java.util.List getReceivers()
           
 javax.sound.midi.Transmitter getTransmitter()
           
 java.util.List getTransmitters()
           
 javax.sound.midi.VoiceStatus[] getVoiceStatus()
           
 void instrumentNameChange(Synth synth, java.lang.String instrumentName)
           
 boolean isOpen()
           
 boolean isSoundbankSupported(javax.sound.midi.Soundbank soundbank)
           
 void load(java.io.File file)
           
 boolean loadAllInstruments(javax.sound.midi.Soundbank soundbank)
           
 boolean loadInstrument(javax.sound.midi.Instrument instrument)
           
 boolean loadInstruments(javax.sound.midi.Soundbank soundbank, javax.sound.midi.Patch[] patchList)
           
 void open()
           
 boolean remapInstrument(javax.sound.midi.Instrument from, javax.sound.midi.Instrument to)
           
 void save(java.io.File file)
           
 void setDefaultMidiDevice(javax.sound.midi.MidiDevice midiDevice)
           
 void setMapping(int in, int out)
           
 void setNoteMap(int[] noteMap2)
           
 java.lang.String toString()
          over to provide easier GUI manufactoring
 void unloadAllInstruments(javax.sound.midi.Soundbank soundbank)
           
 void unloadInstrument(javax.sound.midi.Instrument instrument)
           
 void unloadInstruments(javax.sound.midi.Soundbank soundbank, javax.sound.midi.Patch[] patchList)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getIcon

public javax.swing.Icon getIcon()
Specified by:
getIcon in interface MidiDeviceIconProvider

save

public void save(java.io.File file)

load

public void load(java.io.File file)

getMaxPolyphony

public int getMaxPolyphony()

getChannels

public javax.sound.midi.MidiChannel[] getChannels()

getVoiceStatus

public javax.sound.midi.VoiceStatus[] getVoiceStatus()

isSoundbankSupported

public boolean isSoundbankSupported(javax.sound.midi.Soundbank soundbank)

loadInstrument

public boolean loadInstrument(javax.sound.midi.Instrument instrument)

unloadInstrument

public void unloadInstrument(javax.sound.midi.Instrument instrument)

remapInstrument

public boolean remapInstrument(javax.sound.midi.Instrument from,
                               javax.sound.midi.Instrument to)

getDefaultSoundbank

public javax.sound.midi.Soundbank getDefaultSoundbank()

getAvailableInstruments

public javax.sound.midi.Instrument[] getAvailableInstruments()

getLoadedInstruments

public javax.sound.midi.Instrument[] getLoadedInstruments()

loadAllInstruments

public boolean loadAllInstruments(javax.sound.midi.Soundbank soundbank)

unloadAllInstruments

public void unloadAllInstruments(javax.sound.midi.Soundbank soundbank)

loadInstruments

public boolean loadInstruments(javax.sound.midi.Soundbank soundbank,
                               javax.sound.midi.Patch[] patchList)

unloadInstruments

public void unloadInstruments(javax.sound.midi.Soundbank soundbank,
                              javax.sound.midi.Patch[] patchList)

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

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 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 getTransmitters()
Specified by:
getTransmitters in interface javax.sound.midi.MidiDevice

toString

public java.lang.String toString()
over to provide easier GUI manufactoring

Overrides:
toString in class java.lang.Object

instrumentNameChange

public void instrumentNameChange(Synth synth,
                                 java.lang.String instrumentName)

getDefaultMidiDevice

public javax.sound.midi.MidiDevice getDefaultMidiDevice()

setDefaultMidiDevice

public void setDefaultMidiDevice(javax.sound.midi.MidiDevice midiDevice)

getGUIPanel

public javax.swing.JPanel getGUIPanel(ProjectFrame frame,
                                      MidiLane lane)

getNoteMap

public DrumMapper.NoteMap getNoteMap(int i)

setMapping

public void setMapping(int in,
                       int out)

setNoteMap

public void setNoteMap(int[] noteMap2)