/[svn]/jsampler/trunk/src/org/jsampler/view/std/JSNewAudioDeviceDlg.java
ViewVC logotype

Diff of /jsampler/trunk/src/org/jsampler/view/std/JSNewAudioDeviceDlg.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1326 by iliev, Fri Aug 31 14:25:45 2007 UTC revision 1327 by iliev, Fri Sep 7 12:09:59 2007 UTC
# Line 1  Line 1 
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   *   *
# Line 51  import net.sf.juife.event.TaskListener; Line 51  import net.sf.juife.event.TaskListener;
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.*;
# Line 81  public class JSNewAudioDeviceDlg extends Line 85  public class JSNewAudioDeviceDlg extends
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();
# Line 98  public class JSNewAudioDeviceDlg extends Line 103  public class JSNewAudioDeviceDlg extends
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) {
# Line 106  public class JSNewAudioDeviceDlg extends Line 118  public class JSNewAudioDeviceDlg extends
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                                    
# Line 171  public class JSNewAudioDeviceDlg extends Line 184  public class JSNewAudioDeviceDlg extends
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();

Legend:
Removed from v.1326  
changed lines
  Added in v.1327

  ViewVC Help
Powered by ViewVC