gnu.javax.sound.midi.alsa

Class AlsaMidiSequencerDevice

Implemented Interfaces:
MidiDevice, Sequencer

public class AlsaMidiSequencerDevice
extends Object
implements Sequencer

The ALSA MIDI sequencer device. This is a singleton device.

Field Summary

static AlsaMidiSequencerDevice
instance

Method Summary

int[]
addControllerEventListener(ControllerEventListener listener, int[] controllers)
boolean
addMetaEventListener(MetaEventListener listener)
void
close()
Info
getDeviceInfo()
static AlsaMidiSequencerDevice
getInstance()
Return the sequencer singleton.
SyncMode
getMasterSyncMode()
SyncMode[]
getMasterSyncModes()
int
getMaxReceivers()
int
getMaxTransmitters()
long
getMicrosecondLength()
long
getMicrosecondPosition()
Receiver
getReceiver()
Sequence
getSequence()
SyncMode
getSlaveSyncMode()
SyncMode[]
getSlaveSyncModes()
float
getTempoFactor()
float
getTempoInBPM()
float
getTempoInMPQ()
long
getTickLength()
long
getTickPosition()
boolean
getTrackMute(int track)
boolean
getTrackSolo(int track)
Transmitter
getTransmitter()
boolean
isOpen()
boolean
isRecording()
boolean
isRunning()
void
open()
void
recordDisable(Track track)
void
recordEnable(Track track, int channel)
int[]
removeControllerEventListener(ControllerEventListener listener, int[] controllers)
void
removeMetaEventListener(MetaEventListener listener)
void
setMasterSyncMode(SyncMode sync)
void
setMicrosecondPosition(long microsecond)
void
setSequence(InputStream istream)
void
setSequence(Sequence seq)
void
setSlaveSyncMode(SyncMode sync)
void
setTempoFactor(float factor)
void
setTempoInBPM(float bpm)
void
setTempoInMPQ(float mpq)
void
setTickPosition(long tick)
void
setTrackMute(int track, boolean mute)
void
setTrackSolo(int track, boolean solo)
void
start()
void
startRecording()
void
stop()
void
stopRecording()

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

instance

public static final AlsaMidiSequencerDevice instance

Method Details

addControllerEventListener

public int[] addControllerEventListener(ControllerEventListener listener,
                                        int[] controllers)

addMetaEventListener

public boolean addMetaEventListener(MetaEventListener listener)
Specified by:
addMetaEventListener in interface Sequencer

close

public void close()
Specified by:
close in interface MidiDevice

getDeviceInfo

public Info getDeviceInfo()
Specified by:
getDeviceInfo in interface MidiDevice

getInstance

public static AlsaMidiSequencerDevice getInstance()
Return the sequencer singleton.
Returns:
the sequencer singleton

getMasterSyncMode

public SyncMode getMasterSyncMode()
Specified by:
getMasterSyncMode in interface Sequencer

getMasterSyncModes

public SyncMode[] getMasterSyncModes()
Specified by:
getMasterSyncModes in interface Sequencer

getMaxReceivers

public int getMaxReceivers()
Specified by:
getMaxReceivers in interface MidiDevice

getMaxTransmitters

public int getMaxTransmitters()
Specified by:
getMaxTransmitters in interface MidiDevice

getMicrosecondLength

public long getMicrosecondLength()
Specified by:
getMicrosecondLength in interface Sequencer

getMicrosecondPosition

public long getMicrosecondPosition()
Specified by:
getMicrosecondPosition in interface Sequencer
getMicrosecondPosition in interface MidiDevice

getReceiver

public Receiver getReceiver()
            throws MidiUnavailableException
Specified by:
getReceiver in interface MidiDevice

getSequence

public Sequence getSequence()
Specified by:
getSequence in interface Sequencer

getSlaveSyncMode

public SyncMode getSlaveSyncMode()
Specified by:
getSlaveSyncMode in interface Sequencer

getSlaveSyncModes

public SyncMode[] getSlaveSyncModes()
Specified by:
getSlaveSyncModes in interface Sequencer

getTempoFactor

public float getTempoFactor()
Specified by:
getTempoFactor in interface Sequencer

getTempoInBPM

public float getTempoInBPM()
Specified by:
getTempoInBPM in interface Sequencer

getTempoInMPQ

public float getTempoInMPQ()
Specified by:
getTempoInMPQ in interface Sequencer

getTickLength

public long getTickLength()
Specified by:
getTickLength in interface Sequencer

getTickPosition

public long getTickPosition()
Specified by:
getTickPosition in interface Sequencer

getTrackMute

public boolean getTrackMute(int track)
Specified by:
getTrackMute in interface Sequencer

getTrackSolo

public boolean getTrackSolo(int track)
Specified by:
getTrackSolo in interface Sequencer

getTransmitter

public Transmitter getTransmitter()
            throws MidiUnavailableException
Specified by:
getTransmitter in interface MidiDevice

isOpen

public boolean isOpen()
Specified by:
isOpen in interface MidiDevice

isRecording

public boolean isRecording()
Specified by:
isRecording in interface Sequencer

isRunning

public boolean isRunning()
Specified by:
isRunning in interface Sequencer

open

public void open()
            throws MidiUnavailableException
Specified by:
open in interface MidiDevice

recordDisable

public void recordDisable(Track track)
Specified by:
recordDisable in interface Sequencer

recordEnable

public void recordEnable(Track track,
                         int channel)
Specified by:
recordEnable in interface Sequencer

removeControllerEventListener

public int[] removeControllerEventListener(ControllerEventListener listener,
                                           int[] controllers)

removeMetaEventListener

public void removeMetaEventListener(MetaEventListener listener)
Specified by:
removeMetaEventListener in interface Sequencer

setMasterSyncMode

public void setMasterSyncMode(SyncMode sync)

setMicrosecondPosition

public void setMicrosecondPosition(long microsecond)
Specified by:
setMicrosecondPosition in interface Sequencer

setSequence

public void setSequence(InputStream istream)
            throws IOException,
                   InvalidMidiDataException
Specified by:
setSequence in interface Sequencer

setSequence

public void setSequence(Sequence seq)
            throws InvalidMidiDataException
Specified by:
setSequence in interface Sequencer

setSlaveSyncMode

public void setSlaveSyncMode(SyncMode sync)

setTempoFactor

public void setTempoFactor(float factor)
Specified by:
setTempoFactor in interface Sequencer

setTempoInBPM

public void setTempoInBPM(float bpm)
Specified by:
setTempoInBPM in interface Sequencer

setTempoInMPQ

public void setTempoInMPQ(float mpq)
Specified by:
setTempoInMPQ in interface Sequencer

setTickPosition

public void setTickPosition(long tick)
Specified by:
setTickPosition in interface Sequencer

setTrackMute

public void setTrackMute(int track,
                         boolean mute)
Specified by:
setTrackMute in interface Sequencer

setTrackSolo

public void setTrackSolo(int track,
                         boolean solo)
Specified by:
setTrackSolo in interface Sequencer

start

public void start()
Specified by:
start in interface Sequencer

startRecording

public void startRecording()
Specified by:
startRecording in interface Sequencer

stop

public void stop()
Specified by:
stop in interface Sequencer

stopRecording

public void stopRecording()
Specified by:
stopRecording in interface Sequencer

AlsaMidiSequencerDevice.java -- The ALSA MIDI sequencer device Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.