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

Contents of /jsampler/trunk/src/org/jsampler/task/EnableAudioDevice.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 911 - (show annotations) (download)
Mon Aug 7 18:25:58 2006 UTC (17 years, 7 months ago) by iliev
File size: 2037 byte(s)
updating to JSampler 0.3a

1 /*
2 * JSampler - a java front-end for LinuxSampler
3 *
4 * Copyright (C) 2005 Grigor Kirilov Iliev
5 *
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.task;
24
25 import java.util.logging.Level;
26
27 import org.jsampler.CC;
28 import org.jsampler.HF;
29
30 import static org.jsampler.JSI18n.i18n;
31
32
33 /**
34 * This task enables/disables a specific audio output device.
35 * @author Grigor Iliev
36 */
37 public class EnableAudioDevice extends EnhancedTask {
38 private int dev;
39 private boolean enable;
40
41 /**
42 * Creates new instance of <code>EnableAudioDevice</code>.
43 * @param dev The id of the device to be enabled/disabled.
44 * @param enable Specify <code>true</code> to enable the audio device;
45 * code>false</code> to disable it.
46 */
47 public
48 EnableAudioDevice(int dev, boolean enable) {
49 setTitle("EnableAudioDevice_task");
50 setDescription(i18n.getMessage("EnableAudioDevice.description", dev));
51
52 this.dev = dev;
53 this.enable = enable;
54 }
55
56 /** The entry point of the task. */
57 public void
58 run() {
59 try {
60 CC.getClient().enableAudioOutputDevice(dev, enable);
61
62 // TODO: This should be done through LinuxSampler notification system.
63 CC.getSamplerModel().getAudioDeviceModel(dev).setActive(enable);
64 } catch(Exception x) {
65 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));
66 CC.getLogger().log(Level.FINE, getErrorMessage(), x);
67 }
68 }
69 }

  ViewVC Help
Powered by ViewVC