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

Diff of /jsampler/trunk/src/org/jsampler/DefaultSamplerModel.java

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

revision 2287 by iliev, Sun Jul 3 22:01:16 2011 UTC revision 2288 by iliev, Wed Nov 23 21:19:44 2011 UTC
# Line 26  import java.util.Vector; Line 26  import java.util.Vector;
26    
27  import java.util.logging.Level;  import java.util.logging.Level;
28    
29  import javax.swing.SwingUtilities;  import net.sf.juife.PDUtils;
   
 import javax.swing.event.EventListenerList;  
   
30  import net.sf.juife.Task;  import net.sf.juife.Task;
31  import net.sf.juife.event.TaskEvent;  import net.sf.juife.event.TaskEvent;
32  import net.sf.juife.event.TaskListener;  import net.sf.juife.event.TaskListener;
# Line 81  public class DefaultSamplerModel impleme Line 78  public class DefaultSamplerModel impleme
78          private final Vector<ListListener<MidiInstrumentMap>> mapsListeners =          private final Vector<ListListener<MidiInstrumentMap>> mapsListeners =
79                  new Vector<ListListener<MidiInstrumentMap>>();                  new Vector<ListListener<MidiInstrumentMap>>();
80                    
81          private final EventListenerList listenerList = new EventListenerList();          private final Vector<ListListener<AudioDeviceModel>> auDevListListeners =
82                            new Vector<ListListener<AudioDeviceModel>>();
83            
84            private final Vector<MidiDeviceListListener> midiDevListListeners =
85                            new Vector<MidiDeviceListListener>();
86            
87            private final Vector<SamplerChannelListListener> smplChnListListeners =
88                            new Vector<SamplerChannelListListener>();
89                    
90          private boolean channelListIsAdjusting = false;          private boolean channelListIsAdjusting = false;
91                    
# Line 117  public class DefaultSamplerModel impleme Line 121  public class DefaultSamplerModel impleme
121          @Override          @Override
122          public void          public void
123          addAudioDeviceListListener(ListListener<AudioDeviceModel> listener) {          addAudioDeviceListListener(ListListener<AudioDeviceModel> listener) {
124                  listenerList.add(ListListener.class, listener);                  auDevListListeners.add(listener);
125          }          }
126                    
127          /**          /**
# Line 127  public class DefaultSamplerModel impleme Line 131  public class DefaultSamplerModel impleme
131          @Override          @Override
132          public void          public void
133          removeAudioDeviceListListener(ListListener<AudioDeviceModel> listener) {          removeAudioDeviceListListener(ListListener<AudioDeviceModel> listener) {
134                  listenerList.remove(ListListener.class, listener);                  auDevListListeners.remove(listener);
135          }          }
136                    
137          /**          /**
# Line 137  public class DefaultSamplerModel impleme Line 141  public class DefaultSamplerModel impleme
141          @Override          @Override
142          public void          public void
143          addMidiDeviceListListener(MidiDeviceListListener listener) {          addMidiDeviceListListener(MidiDeviceListListener listener) {
144                  listenerList.add(MidiDeviceListListener.class, listener);                  midiDevListListeners.add(listener);
145          }          }
146                    
147          /**          /**
# Line 147  public class DefaultSamplerModel impleme Line 151  public class DefaultSamplerModel impleme
151          @Override          @Override
152          public void          public void
153          removeMidiDeviceListListener(MidiDeviceListListener listener) {          removeMidiDeviceListListener(MidiDeviceListListener listener) {
154                  listenerList.remove(MidiDeviceListListener.class, listener);                  midiDevListListeners.remove(listener);
155          }          }
156                    
157          /**          /**
# Line 177  public class DefaultSamplerModel impleme Line 181  public class DefaultSamplerModel impleme
181          @Override          @Override
182          public void          public void
183          addSamplerChannelListListener(SamplerChannelListListener listener) {          addSamplerChannelListListener(SamplerChannelListListener listener) {
184                  listenerList.add(SamplerChannelListListener.class, listener);                  smplChnListListeners.add(listener);
185          }          }
186                    
187          /**          /**
# Line 187  public class DefaultSamplerModel impleme Line 191  public class DefaultSamplerModel impleme
191          @Override          @Override
192          public void          public void
193          removeSamplerChannelListListener(SamplerChannelListListener listener) {          removeSamplerChannelListListener(SamplerChannelListListener listener) {
194                  listenerList.remove(SamplerChannelListListener.class, listener);                  smplChnListListeners.remove(listener);
195          }          }
196                    
197          /**          /**
# Line 263  public class DefaultSamplerModel impleme Line 267  public class DefaultSamplerModel impleme
267           * in the audio device list or <code>-1</code>           * in the audio device list or <code>-1</code>
268           * if there is no audio device with ID <code>deviceId</code>.           * if there is no audio device with ID <code>deviceId</code>.
269           */           */
270          public int getAudioDeviceIndex(int deviceId) {          @Override
271            public int
272            getAudioDeviceIndex(int deviceId) {
273                  for(int i = 0; i < audioDeviceModels.size(); i++) {                  for(int i = 0; i < audioDeviceModels.size(); i++) {
274                          if(audioDeviceModels.get(i).getDeviceId() == deviceId) return i;                          if(audioDeviceModels.get(i).getDeviceId() == deviceId) return i;
275                  }                  }
# Line 690  public class DefaultSamplerModel impleme Line 696  public class DefaultSamplerModel impleme
696          setEngines(SamplerEngine[] engines) { this.engines = engines; }          setEngines(SamplerEngine[] engines) { this.engines = engines; }
697                    
698          /** Gets the list of internal effects */          /** Gets the list of internal effects */
699            @Override
700          public EffectList          public EffectList
701          getEffects() { return effects; }          getEffects() { return effects; }
702                                    
# Line 1126  public class DefaultSamplerModel impleme Line 1133  public class DefaultSamplerModel impleme
1133          fireSamplerChannelAdded(SamplerChannelModel channelModel) {          fireSamplerChannelAdded(SamplerChannelModel channelModel) {
1134                  final SamplerChannelListEvent e = new SamplerChannelListEvent(this, channelModel);                  final SamplerChannelListEvent e = new SamplerChannelListEvent(this, channelModel);
1135                                                    
1136                  SwingUtilities.invokeLater(new Runnable() {                  PDUtils.runOnUiThread(new Runnable() {
1137                          public void                          public void
1138                          run() { fireSamplerChannelAdded(e); }                          run() { fireSamplerChannelAdded(e); }
1139                  });                  });
# Line 1137  public class DefaultSamplerModel impleme Line 1144  public class DefaultSamplerModel impleme
1144          private void          private void
1145          fireSamplerChannelAdded(SamplerChannelListEvent e) {          fireSamplerChannelAdded(SamplerChannelListEvent e) {
1146                  setModified(true);                  setModified(true);
1147                  Object[] listeners = listenerList.getListenerList();                  for(int i = smplChnListListeners.size() - 1; i >= 0; i--) {
1148                                            smplChnListListeners.get(i).channelAdded(e);
                 for(int i = listeners.length - 2; i >= 0; i -= 2) {  
                         if(listeners[i] == SamplerChannelListListener.class) {  
                                 ((SamplerChannelListListener)listeners[i + 1]).channelAdded(e);  
                         }  
1149                  }                  }
1150          }          }
1151                    
# Line 1155  public class DefaultSamplerModel impleme Line 1158  public class DefaultSamplerModel impleme
1158          fireSamplerChannelRemoved(SamplerChannelModel channelModel) {          fireSamplerChannelRemoved(SamplerChannelModel channelModel) {
1159                  final SamplerChannelListEvent e = new SamplerChannelListEvent(this, channelModel);                  final SamplerChannelListEvent e = new SamplerChannelListEvent(this, channelModel);
1160                                                    
1161                  SwingUtilities.invokeLater(new Runnable() {                  PDUtils.runOnUiThread(new Runnable() {
1162                          public void                          public void
1163                          run() { fireSamplerChannelRemoved(e); }                          run() { fireSamplerChannelRemoved(e); }
1164                  });                  });
# Line 1167  public class DefaultSamplerModel impleme Line 1170  public class DefaultSamplerModel impleme
1170          private void          private void
1171          fireSamplerChannelRemoved(SamplerChannelListEvent e) {          fireSamplerChannelRemoved(SamplerChannelListEvent e) {
1172                  setModified(true);                  setModified(true);
1173                  Object[] listeners = listenerList.getListenerList();                  for(int i = smplChnListListeners.size() - 1; i >= 0; i--) {
1174                                            smplChnListListeners.get(i).channelRemoved(e);
                 for(int i = listeners.length - 2; i >= 0; i -= 2) {  
                         if(listeners[i] == SamplerChannelListListener.class) {  
                                 ((SamplerChannelListListener)listeners[i + 1]).channelRemoved(e);  
                         }  
1175                  }                  }
1176          }          }
1177                    
# Line 1185  public class DefaultSamplerModel impleme Line 1184  public class DefaultSamplerModel impleme
1184          fireMidiDeviceAdded(MidiDeviceModel model) {          fireMidiDeviceAdded(MidiDeviceModel model) {
1185                  final MidiDeviceListEvent e = new MidiDeviceListEvent(this, model);                  final MidiDeviceListEvent e = new MidiDeviceListEvent(this, model);
1186                                                    
1187                  SwingUtilities.invokeLater(new Runnable() {                  PDUtils.runOnUiThread(new Runnable() {
1188                          public void                          public void
1189                          run() { fireMidiDeviceAdded(e); }                          run() { fireMidiDeviceAdded(e); }
1190                  });                  });
# Line 1196  public class DefaultSamplerModel impleme Line 1195  public class DefaultSamplerModel impleme
1195          private void          private void
1196          fireMidiDeviceAdded(MidiDeviceListEvent e) {          fireMidiDeviceAdded(MidiDeviceListEvent e) {
1197                  setModified(true);                  setModified(true);
1198                  Object[] listeners = listenerList.getListenerList();                  for(int i = midiDevListListeners.size() - 1; i >= 0; i--) {
1199                                            midiDevListListeners.get(i).deviceAdded(e);
                 for(int i = listeners.length - 2; i >= 0; i -= 2) {  
                         if(listeners[i] == MidiDeviceListListener.class) {  
                                 ((MidiDeviceListListener)listeners[i + 1]).deviceAdded(e);  
                         }  
1200                  }                  }
1201          }          }
1202                    
# Line 1214  public class DefaultSamplerModel impleme Line 1209  public class DefaultSamplerModel impleme
1209          fireMidiDeviceRemoved(MidiDeviceModel model) {          fireMidiDeviceRemoved(MidiDeviceModel model) {
1210                  final MidiDeviceListEvent e = new MidiDeviceListEvent(this, model);                  final MidiDeviceListEvent e = new MidiDeviceListEvent(this, model);
1211                                                    
1212                  SwingUtilities.invokeLater(new Runnable() {                  PDUtils.runOnUiThread(new Runnable() {
1213                          public void                          public void
1214                          run() { fireMidiDeviceRemoved(e); }                          run() { fireMidiDeviceRemoved(e); }
1215                  });                  });
# Line 1226  public class DefaultSamplerModel impleme Line 1221  public class DefaultSamplerModel impleme
1221          private void          private void
1222          fireMidiDeviceRemoved(MidiDeviceListEvent e) {          fireMidiDeviceRemoved(MidiDeviceListEvent e) {
1223                  setModified(true);                  setModified(true);
1224                  Object[] listeners = listenerList.getListenerList();                  for(int i = midiDevListListeners.size() - 1; i >= 0; i--) {
1225                                            midiDevListListeners.get(i).deviceRemoved(e);
                 for(int i = listeners.length - 2; i >= 0; i -= 2) {  
                         if(listeners[i] == MidiDeviceListListener.class) {  
                                 ((MidiDeviceListListener)listeners[i + 1]).deviceRemoved(e);  
                         }  
1226                  }                  }
1227          }          }
1228                    
# Line 1244  public class DefaultSamplerModel impleme Line 1235  public class DefaultSamplerModel impleme
1235          fireAudioDeviceAdded(AudioDeviceModel model) {          fireAudioDeviceAdded(AudioDeviceModel model) {
1236                  final ListEvent<AudioDeviceModel> e = new ListEvent<AudioDeviceModel>(this, model);                  final ListEvent<AudioDeviceModel> e = new ListEvent<AudioDeviceModel>(this, model);
1237                                                    
1238                  SwingUtilities.invokeLater(new Runnable() {                  PDUtils.runOnUiThread(new Runnable() {
1239                          public void                          public void
1240                          run() { fireAudioDeviceAdded(e); }                          run() { fireAudioDeviceAdded(e); }
1241                  });                  });
# Line 1256  public class DefaultSamplerModel impleme Line 1247  public class DefaultSamplerModel impleme
1247          private void          private void
1248          fireAudioDeviceAdded(ListEvent<AudioDeviceModel> e) {          fireAudioDeviceAdded(ListEvent<AudioDeviceModel> e) {
1249                  setModified(true);                  setModified(true);
1250                  Object[] listeners = listenerList.getListenerList();                  for(int i = auDevListListeners.size() - 1; i >= 0; i--) {
1251                                            auDevListListeners.get(i).entryAdded(e);
                 for(int i = listeners.length - 2; i >= 0; i -= 2) {  
                         if(listeners[i] == ListListener.class) {  
                                 ((ListListener<AudioDeviceModel>)listeners[i + 1]).entryAdded(e);  
                         }  
1252                  }                  }
1253          }          }
1254                    
# Line 1274  public class DefaultSamplerModel impleme Line 1261  public class DefaultSamplerModel impleme
1261          fireAudioDeviceRemoved(AudioDeviceModel model) {          fireAudioDeviceRemoved(AudioDeviceModel model) {
1262                  final ListEvent<AudioDeviceModel> e = new ListEvent<AudioDeviceModel>(this, model);                  final ListEvent<AudioDeviceModel> e = new ListEvent<AudioDeviceModel>(this, model);
1263                                                    
1264                  SwingUtilities.invokeLater(new Runnable() {                  PDUtils.runOnUiThread(new Runnable() {
1265                          public void                          public void
1266                          run() { fireAudioDeviceRemoved(e); }                          run() { fireAudioDeviceRemoved(e); }
1267                  });                  });
# Line 1287  public class DefaultSamplerModel impleme Line 1274  public class DefaultSamplerModel impleme
1274          private void          private void
1275          fireAudioDeviceRemoved(ListEvent<AudioDeviceModel> e) {          fireAudioDeviceRemoved(ListEvent<AudioDeviceModel> e) {
1276                  setModified(true);                  setModified(true);
1277                  Object[] listeners = listenerList.getListenerList();                  for(int i = auDevListListeners.size() - 1; i >= 0; i--) {
1278                                            auDevListListeners.get(i).entryRemoved(e);
                 for(int i = listeners.length - 2; i >= 0; i -= 2) {  
                         if(listeners[i] == ListListener.class) {  
                                 ((ListListener<AudioDeviceModel>)listeners[i + 1]).entryRemoved(e);  
                         }  
1279                  }                  }
1280          }          }
1281                    
# Line 1304  public class DefaultSamplerModel impleme Line 1287  public class DefaultSamplerModel impleme
1287          fireMidiInstrumentMapAdded(MidiInstrumentMap map) {          fireMidiInstrumentMapAdded(MidiInstrumentMap map) {
1288                  final ListEvent<MidiInstrumentMap> e = new ListEvent<MidiInstrumentMap>(this, map);                  final ListEvent<MidiInstrumentMap> e = new ListEvent<MidiInstrumentMap>(this, map);
1289                                    
1290                  SwingUtilities.invokeLater(new Runnable() {                  PDUtils.runOnUiThread(new Runnable() {
1291                          public void                          public void
1292                          run() { fireMidiInstrumentMapAdded(e); }                          run() { fireMidiInstrumentMapAdded(e); }
1293                  });                  });
# Line 1325  public class DefaultSamplerModel impleme Line 1308  public class DefaultSamplerModel impleme
1308          fireMidiInstrumentMapRemoved(MidiInstrumentMap map) {          fireMidiInstrumentMapRemoved(MidiInstrumentMap map) {
1309                  final ListEvent<MidiInstrumentMap> e = new ListEvent<MidiInstrumentMap>(this, map);                  final ListEvent<MidiInstrumentMap> e = new ListEvent<MidiInstrumentMap>(this, map);
1310                                    
1311                  SwingUtilities.invokeLater(new Runnable() {                  PDUtils.runOnUiThread(new Runnable() {
1312                          public void                          public void
1313                          run() { fireMidiInstrumentMapRemoved(e); }                          run() { fireMidiInstrumentMapRemoved(e); }
1314                  });                  });
# Line 1345  public class DefaultSamplerModel impleme Line 1328  public class DefaultSamplerModel impleme
1328          fireVolumeChanged() {          fireVolumeChanged() {
1329                  final SamplerEvent e = new SamplerEvent(this);                  final SamplerEvent e = new SamplerEvent(this);
1330                                                    
1331                  SwingUtilities.invokeLater(new Runnable() {                  PDUtils.runOnUiThread(new Runnable() {
1332                          public void                          public void
1333                          run() { fireVolumeChanged(e); }                          run() { fireVolumeChanged(e); }
1334                  });                  });
# Line 1368  public class DefaultSamplerModel impleme Line 1351  public class DefaultSamplerModel impleme
1351          fireTotalStreamCountChanged() {          fireTotalStreamCountChanged() {
1352                  final SamplerEvent e = new SamplerEvent(this);                  final SamplerEvent e = new SamplerEvent(this);
1353                                                    
1354                  SwingUtilities.invokeLater(new Runnable() {                  PDUtils.runOnUiThread(new Runnable() {
1355                          public void                          public void
1356                          run() { fireTotalStreamCountChanged(e); }                          run() { fireTotalStreamCountChanged(e); }
1357                  });                  });
# Line 1390  public class DefaultSamplerModel impleme Line 1373  public class DefaultSamplerModel impleme
1373          fireTotalVoiceCountChanged() {          fireTotalVoiceCountChanged() {
1374                  final SamplerEvent e = new SamplerEvent(this);                  final SamplerEvent e = new SamplerEvent(this);
1375                                                    
1376                  SwingUtilities.invokeLater(new Runnable() {                  PDUtils.runOnUiThread(new Runnable() {
1377                          public void                          public void
1378                          run() { fireTotalVoiceCountChanged(e); }                          run() { fireTotalVoiceCountChanged(e); }
1379                  });                  });
# Line 1421  public class DefaultSamplerModel impleme Line 1404  public class DefaultSamplerModel impleme
1404          private class Handler implements ListListener<MidiInstrumentMap> {          private class Handler implements ListListener<MidiInstrumentMap> {
1405                  /** Invoked when a new map is added to a list. */                  /** Invoked when a new map is added to a list. */
1406                  @Override                  @Override
1407                  public void          public void
1408                  entryAdded(ListEvent<MidiInstrumentMap> e) { updateDefaultMap(); }                  entryAdded(ListEvent<MidiInstrumentMap> e) { updateDefaultMap(); }
1409                                    
1410                  /** Invoked when a map is removed from a list. */                  /** Invoked when a map is removed from a list. */
1411                  @Override                  @Override
1412                  public void          public void
1413                  entryRemoved(ListEvent<MidiInstrumentMap> e) { updateDefaultMap(); }                  entryRemoved(ListEvent<MidiInstrumentMap> e) { updateDefaultMap(); }
1414                                    
1415                  private void                  private void

Legend:
Removed from v.2287  
changed lines
  Added in v.2288

  ViewVC Help
Powered by ViewVC