/* * jlscp - a java LinuxSampler control protocol API * * Copyright (C) 2005 Grigor Kirilov Iliev * * This file is part of jlscp. * * jlscp is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 * as published by the Free Software Foundation. * * jlscp 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 jlscp; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA */ package org.linuxsampler.lscp; /** * Provides information about the current settings of a specific MIDI input device. * @author Grigor Iliev */ public class MidiInputDevice extends AbstractDevice { private MidiPort[] midiPorts = new MidiPort[0]; /** Creates a new instance of MidiInputDevice */ public MidiInputDevice() { } /** * Gets the current non-null list of MIDI ports this device offers. * @return A MidiPort array providing all MIDI ports this device offers. */ public MidiPort[] getMidiPorts() { return midiPorts; } /** * Sets the current list of MIDI ports. * @param ports The new list of MIDI ports. * @throws IllegalArgumentException If ports is null. */ public void setMidiPorts(MidiPort[] ports) { if(ports == null) throw new IllegalArgumentException("ports must be non null"); midiPorts = ports; } /** * Gets the MIDI port at the specified index. * @param index The index of the MIDI port to be retrieved. */ public MidiPort getMidiPort(int index) { return midiPorts[index]; } /** * Gets the current number of MIDI ports this device offers. * @return The current number of MIDI ports this device offers. */ public int getMidiPortCount() { return midiPorts.length; } }