/[svn]/jsampler/trunk/src/org/jsampler/MidiDeviceModel.java
ViewVC logotype

Annotation of /jsampler/trunk/src/org/jsampler/MidiDeviceModel.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1143 - (hide annotations) (download)
Mon Apr 2 21:18:31 2007 UTC (17 years, 1 month ago) by iliev
File size: 3156 byte(s)
* upgrading to version 0.4a

1 iliev 787 /*
2     * JSampler - a java front-end for LinuxSampler
3     *
4 iliev 1143 * Copyright (C) 2005-2006 Grigor Iliev <grigor@grigoriliev.com>
5 iliev 787 *
6     * This file is part of JSampler.
7     *
8     * JSampler is free software; you can redistribute it and/or modify
9     * it under the terms of the GNU General Public License version 2
10     * as published by the Free Software Foundation.
11     *
12     * JSampler is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with JSampler; if not, write to the Free Software
19     * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20     * MA 02111-1307 USA
21     */
22    
23     package org.jsampler;
24    
25     import org.linuxsampler.lscp.MidiInputDevice;
26     import org.linuxsampler.lscp.Parameter;
27    
28     import org.jsampler.event.MidiDeviceListener;
29    
30    
31     /**
32 iliev 911 * A data model for a MIDI input device.
33 iliev 787 * @author Grigor Iliev
34     */
35     public interface MidiDeviceModel {
36     /**
37     * Registers the specified listener to be notified when
38     * the settings of the MIDI device are changed.
39     * @param l The <code>MidiDeviceListListener</code> to register.
40     */
41     public void addMidiDeviceListener(MidiDeviceListener l);
42    
43     /**
44     * Removes the specified listener.
45     * @param l The <code>MidiDeviceListener</code> to remove.
46     */
47     public void removeMidiDeviceListener(MidiDeviceListener l);
48    
49     /**
50     * Gets the numerical ID of this MIDI device.
51     * @return The numerical ID of this MIDI device or
52     * -1 if the device number is not set.
53     */
54 iliev 1143 public int getDeviceId();
55 iliev 787
56     /**
57     * Gets the current settings of the MIDI device represented by this model.
58     * @return <code>MidiInputDevice</code> instance providing
59     * the current settings of the MIDI device represented by this model.
60     */
61     public MidiInputDevice getDeviceInfo();
62    
63     /**
64     * Updates the settings of the MIDI device represented by this model.
65     * @param device The new MIDI device settings.
66     */
67     public void setDeviceInfo(MidiInputDevice device);
68    
69     /**
70     * Determines whether the MIDI device is active.
71     * @return <code>true</code> if the device is enabled and <code>false</code> otherwise.
72     */
73     public boolean isActive();
74    
75     /**
76     * Sets whether the MIDI device is enabled or disabled.
77     * @param active If <code>true</code> the MIDI device is enabled,
78     * else the device is disabled.
79     */
80     public void setActive(boolean active);
81 iliev 1143
82     /**
83     * Schedules a new task for enabling/disabling the MIDI device.
84     * @param active If <code>true</code> the MIDI device is enabled,
85     * else the device is disabled.
86     */
87     public void setBackendActive(boolean active);
88    
89     /**
90     * Schedules a new task for changing the port number of the MIDI device.
91     * @param ports The new number of ports.
92     */
93     public void setBackendPortCount(int ports);
94    
95     /**
96     * Schedules a new task for altering a specific
97     * setting of the specified MIDI input port.
98     * @param port The port number.
99     * @param prm The parameter to be set.
100     */
101     public void setBackendPortParameter(int port, Parameter prm);
102 iliev 787 }

  ViewVC Help
Powered by ViewVC