1 |
/* |
/* |
2 |
* JSampler - a java front-end for LinuxSampler |
* JSampler - a java front-end for LinuxSampler |
3 |
* |
* |
4 |
* Copyright (C) 2005-2006 Grigor Iliev <grigor@grigoriliev.com> |
* Copyright (C) 2005-2007 Grigor Iliev <grigor@grigoriliev.com> |
5 |
* |
* |
6 |
* This file is part of JSampler. |
* This file is part of JSampler. |
7 |
* |
* |
51 |
import org.jsampler.CC; |
import org.jsampler.CC; |
52 |
import org.jsampler.JSPrefs; |
import org.jsampler.JSPrefs; |
53 |
|
|
54 |
|
import org.jsampler.event.ParameterEvent; |
55 |
|
import org.jsampler.event.ParameterListener; |
56 |
|
|
57 |
import org.jsampler.task.Audio; |
import org.jsampler.task.Audio; |
58 |
import org.jsampler.view.ParameterTable; |
import org.jsampler.view.ParameterTable; |
59 |
|
|
60 |
import org.linuxsampler.lscp.AudioOutputDriver; |
import org.linuxsampler.lscp.AudioOutputDriver; |
61 |
|
import org.linuxsampler.lscp.Parameter; |
62 |
|
|
63 |
import static org.jsampler.view.std.StdI18n.i18n; |
import static org.jsampler.view.std.StdI18n.i18n; |
64 |
import static org.jsampler.view.std.StdPrefs.*; |
import static org.jsampler.view.std.StdPrefs.*; |
85 |
} |
} |
86 |
|
|
87 |
/** Creates a new instance of NewMidiDeviceDlg */ |
/** Creates a new instance of NewMidiDeviceDlg */ |
88 |
public JSNewAudioDeviceDlg(Dialog owner) { |
public |
89 |
|
JSNewAudioDeviceDlg(Dialog owner) { |
90 |
super(owner, i18n.getLabel("JSNewAudioDeviceDlg.title")); |
super(owner, i18n.getLabel("JSNewAudioDeviceDlg.title")); |
91 |
|
|
92 |
initNewAudioDeviceDlg(); |
initNewAudioDeviceDlg(); |
103 |
|
|
104 |
parameterTable.getModel().setEditFixedParameters(true); |
parameterTable.getModel().setEditFixedParameters(true); |
105 |
|
|
106 |
|
parameterTable.getModel().addParameterListener(new ParameterListener() { |
107 |
|
public void |
108 |
|
parameterChanged(ParameterEvent e) { |
109 |
|
updateParameters(); |
110 |
|
} |
111 |
|
}); |
112 |
|
|
113 |
cbDrivers.addActionListener(new ActionListener() { |
cbDrivers.addActionListener(new ActionListener() { |
114 |
public void |
public void |
115 |
actionPerformed(ActionEvent e) { |
actionPerformed(ActionEvent e) { |
118 |
if(d == null) return; |
if(d == null) return; |
119 |
cbDrivers.setToolTipText(d.getDescription()); |
cbDrivers.setToolTipText(d.getDescription()); |
120 |
parameterTable.getModel().setParameters(d.getParameters()); |
parameterTable.getModel().setParameters(d.getParameters()); |
121 |
|
updateParameters(); |
122 |
} |
} |
123 |
}); |
}); |
124 |
|
|
184 |
}); |
}); |
185 |
} |
} |
186 |
|
|
187 |
|
private void |
188 |
|
updateParameters() { |
189 |
|
AudioOutputDriver d = (AudioOutputDriver)cbDrivers.getSelectedItem(); |
190 |
|
if(d == null) return; |
191 |
|
|
192 |
|
final Parameter[] parameters = parameterTable.getModel().getParameters(); |
193 |
|
|
194 |
|
final Audio.GetDriverParametersInfo task = |
195 |
|
new Audio.GetDriverParametersInfo(d.getName(), parameters); |
196 |
|
|
197 |
|
task.addTaskListener(new TaskListener() { |
198 |
|
public void |
199 |
|
taskPerformed(TaskEvent e) { |
200 |
|
if(task.doneWithErrors()) return; |
201 |
|
for(Parameter p : parameters) { |
202 |
|
for(Parameter p2 : task.getResult()) { |
203 |
|
if(p2.getName().equals(p.getName())) { |
204 |
|
p2.setValue(p.getValue()); |
205 |
|
if(p2.getValue() == null) { |
206 |
|
p2.setValue(p2.getDefault()); |
207 |
|
} |
208 |
|
break; |
209 |
|
} |
210 |
|
|
211 |
|
} |
212 |
|
} |
213 |
|
|
214 |
|
parameterTable.getModel().setParameters(task.getResult()); |
215 |
|
} |
216 |
|
}); |
217 |
|
|
218 |
|
CC.getTaskQueue().add(task); |
219 |
|
} |
220 |
|
|
221 |
protected void |
protected void |
222 |
onOk() { |
onOk() { |
223 |
Object obj = cbDrivers.getSelectedItem(); |
Object obj = cbDrivers.getSelectedItem(); |