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

Diff of /jsampler/trunk/src/org/jsampler/task/Channel.java

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

revision 1866 by iliev, Thu Sep 11 18:48:36 2008 UTC revision 1867 by iliev, Mon Mar 16 22:12:32 2009 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-2008 Grigor Iliev <grigor@grigoriliev.com>   *   Copyright (C) 2005-2009 Grigor Iliev <grigor@grigoriliev.com>
5   *   *
6   *   This file is part of JSampler.   *   This file is part of JSampler.
7   *   *
# Line 22  Line 22 
22    
23  package org.jsampler.task;  package org.jsampler.task;
24    
 import java.util.logging.Level;  
   
25  import net.sf.juife.Task;  import net.sf.juife.Task;
26    
27  import org.jsampler.CC;  import org.jsampler.CC;
 import org.jsampler.HF;  
28  import org.jsampler.JSPrefs;  import org.jsampler.JSPrefs;
29  import org.jsampler.SamplerChannelModel;  import org.jsampler.SamplerChannelModel;
30  import org.jsampler.SamplerModel;  import org.jsampler.SamplerModel;
# Line 61  public class Channel { Line 58  public class Channel {
58                  }                  }
59                    
60                  /** The entry point of the task. */                  /** The entry point of the task. */
61                    @Override
62                  public void                  public void
63                  run() {                  exec() throws Exception {
64                          try {                          setResult(CC.getClient().addSamplerChannel());
65                                  setResult(CC.getClient().addSamplerChannel());                          int chnId = getResult();
66                                  int chnId = getResult();                          
67                                                            JSPrefs p = CC.getViewConfig().preferences();
68                                  JSPrefs p = CC.getViewConfig().preferences();                          if(!p.getBoolProperty(USE_CHANNEL_DEFAULTS)) return;
69                                  if(!p.getBoolProperty(USE_CHANNEL_DEFAULTS)) return;                          
70                                                            String s = p.getStringProperty(DEFAULT_ENGINE);
71                                  String s = p.getStringProperty(DEFAULT_ENGINE);                          if(s != null && s.length() > 0) {
72                                  if(s != null && s.length() > 0) {                                  CC.getClient().loadSamplerEngine(s, chnId);
                                         CC.getClient().loadSamplerEngine(s, chnId);  
                                 }  
                                   
                                 s = p.getStringProperty(DEFAULT_MIDI_INPUT);  
                                 if(s != null && s.equals("firstDevice")) {  
                                         assignFirstMidiDevice();  
                                 } else if(s != null && s.equals("firstDeviceNextChannel")) {  
                                         assignFirstMidiDeviceNextChannel();  
                                 }  
                                   
                                 s = p.getStringProperty(DEFAULT_AUDIO_OUTPUT);  
                                 if(s != null && s.equals("firstDevice")) {  
                                         assignFirstAudioDevice();  
                                 }  
                                   
                                 s = p.getStringProperty(DEFAULT_MIDI_INSTRUMENT_MAP);  
                                 if(s != null && s.equals("midiInstrumentMap.none")) {  
                                         CC.getClient().setChannelMidiInstrumentMap(chnId, -1);  
                                 } else if(s != null && s.equals("midiInstrumentMap.default")) {  
                                         CC.getClient().setChannelMidiInstrumentMap(chnId, -2);  
                                 }  
                                   
                                 float volume = p.getIntProperty(DEFAULT_CHANNEL_VOLUME);  
                                 volume /= 100;  
                                 CC.getClient().setChannelVolume(chnId, volume);  
                         } catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
73                          }                          }
74                            
75                            s = p.getStringProperty(DEFAULT_MIDI_INPUT);
76                            if(s != null && s.equals("firstDevice")) {
77                                    assignFirstMidiDevice();
78                            } else if(s != null && s.equals("firstDeviceNextChannel")) {
79                                    assignFirstMidiDeviceNextChannel();
80                            }
81                            
82                            s = p.getStringProperty(DEFAULT_AUDIO_OUTPUT);
83                            if(s != null && s.equals("firstDevice")) {
84                                    assignFirstAudioDevice();
85                            }
86                            
87                            s = p.getStringProperty(DEFAULT_MIDI_INSTRUMENT_MAP);
88                            if(s != null && s.equals("midiInstrumentMap.none")) {
89                                    CC.getClient().setChannelMidiInstrumentMap(chnId, -1);
90                            } else if(s != null && s.equals("midiInstrumentMap.default")) {
91                                    CC.getClient().setChannelMidiInstrumentMap(chnId, -2);
92                            }
93                            
94                            float volume = p.getIntProperty(DEFAULT_CHANNEL_VOLUME);
95                            volume /= 100;
96                            CC.getClient().setChannelVolume(chnId, volume);
97                  }                  }
98                                    
99                  private void                  private void
# Line 186  public class Channel { Line 179  public class Channel {
179                  }                  }
180                    
181                  /** The entry point of the task. */                  /** The entry point of the task. */
182                    @Override
183                  public void                  public void
184                  run() {                  exec() throws Exception { CC.getClient().removeSamplerChannel(channel); }
                         try { CC.getClient().removeSamplerChannel(channel); }  
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
                 }  
185          }          }
186    
187          /**          /**
# Line 215  public class Channel { Line 203  public class Channel {
203                  }                  }
204                    
205                  /** The entry point of the task. */                  /** The entry point of the task. */
206                    @Override
207                  public void                  public void
208                  run() {                  exec() throws Exception { CC.getClient().resetChannel(channel); }
                         try { CC.getClient().resetChannel(channel); }  
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
                 }  
209          }          }
210    
211          /**          /**
# Line 253  public class Channel { Line 236  public class Channel {
236                  }                  }
237                    
238                  /** The entry point of the task. */                  /** The entry point of the task. */
239                    @Override
240                  public void                  public void
241                  run() {                  exec() throws Exception {
242                          try { CC.getClient().setChannelAudioOutputChannel(chn, audioOut, audioIn); }                          CC.getClient().setChannelAudioOutputChannel(chn, audioOut, audioIn);
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
243                  }                  }
244          }          }
245    
# Line 286  public class Channel { Line 266  public class Channel {
266                  }                  }
267                    
268                  /** The entry point of the task. */                  /** The entry point of the task. */
269                    @Override
270                  public void                  public void
271                  run() {                  exec() throws Exception {
272                          try { CC.getClient().setChannelAudioOutputDevice(channel, deviceID); }                          CC.getClient().setChannelAudioOutputDevice(channel, deviceID);
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
273                  }                  }
274          }          }
275                    
# Line 320  public class Channel { Line 297  public class Channel {
297                  }                  }
298                    
299                  /** The entry point of the task. */                  /** The entry point of the task. */
300                    @Override
301                  public void                  public void
302                  run() {                  exec() throws Exception {
303                          try { CC.getClient().setChannelMidiInputChannel(channel, midiChannel); }                          CC.getClient().setChannelMidiInputChannel(channel, midiChannel);
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
304                  }                  }
305          }          }
306    
# Line 353  public class Channel { Line 327  public class Channel {
327                  }                  }
328                    
329                  /** The entry point of the task. */                  /** The entry point of the task. */
330                    @Override
331                  public void                  public void
332                  run() {                  exec() throws Exception {
333                          try { CC.getClient().setChannelMidiInputDevice(channel, deviceID); }                          CC.getClient().setChannelMidiInputDevice(channel, deviceID);
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
334                  }                  }
335          }          }
336    
# Line 386  public class Channel { Line 357  public class Channel {
357                  }                  }
358                    
359                  /** The entry point of the task. */                  /** The entry point of the task. */
360                    @Override
361                  public void                  public void
362                  run() {                  exec() throws Exception {
363                          try { CC.getClient().setChannelMidiInputPort(channel, port); }                          CC.getClient().setChannelMidiInputPort(channel, port);
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
364                  }                  }
365          }          }
366                    
367          /**          /**
368           * This task loads a sampler engine in a specific sampler channel.           * This task loads a sampler engine in a specific sampler channel.
          * @author Grigor Iliev  
369           */           */
370          public static class LoadEngine extends EnhancedTask {          public static class LoadEngine extends EnhancedTask {
371                  private String engine;                  private String engine;
# Line 422  public class Channel { Line 389  public class Channel {
389                  }                  }
390                                    
391                  /** The entry point of the task. */                  /** The entry point of the task. */
392                    @Override
393                  public void                  public void
394                  run() {                  exec() throws Exception { CC.getClient().loadSamplerEngine(engine, channel); }
                         try { CC.getClient().loadSamplerEngine(engine, channel); }  
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
                 }  
395          }          }
396                    
397          /**          /**
398           * This task loads and assigns an instrument to a sampler channel.           * This task loads and assigns an instrument to a sampler channel.
          * @author Grigor Iliev  
399           */           */
400          public static class LoadInstrument extends EnhancedTask {          public static class LoadInstrument extends EnhancedTask {
401                  private String filename;                  private String filename;
# Line 460  public class Channel { Line 421  public class Channel {
421                  }                  }
422                                    
423                  /** The entry point of the task. */                  /** The entry point of the task. */
424                    @Override
425                  public void                  public void
426                  run() {                  exec() throws Exception {
427                          try { CC.getClient().loadInstrument(filename, instrIndex, channel, true); }                          CC.getClient().loadInstrument(filename, instrIndex, channel, true);
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
428                  }                  }
429          }          }
430                    
# Line 495  public class Channel { Line 453  public class Channel {
453                  }                  }
454                    
455                  /** The entry point of the task. */                  /** The entry point of the task. */
456                    @Override
457                  public void                  public void
458                  run() {                  exec() throws Exception {
459                          try { CC.getClient().setChannelMidiInstrumentMap(channel, mapId); }                          CC.getClient().setChannelMidiInstrumentMap(channel, mapId);
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
460                  }                  }
461          }          }
462                    
# Line 528  public class Channel { Line 483  public class Channel {
483                  }                  }
484                    
485                  /** The entry point of the task. */                  /** The entry point of the task. */
486                    @Override
487                  public void                  public void
488                  run() {                  exec() throws Exception { CC.getClient().setChannelMute(channel, mute); }
                         try { CC.getClient().setChannelMute(channel, mute); }  
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
                 }  
489          }          }
490                    
491          /**          /**
# Line 561  public class Channel { Line 511  public class Channel {
511                  }                  }
512                    
513                  /** The entry point of the task. */                  /** The entry point of the task. */
514                    @Override
515                  public void                  public void
516                  run() {                  exec() throws Exception { CC.getClient().setChannelSolo(channel, solo); }
                         try { CC.getClient().setChannelSolo(channel, solo); }  
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
                 }  
517          }          }
518    
519          /**          /**
# Line 593  public class Channel { Line 538  public class Channel {
538                  }                  }
539                    
540                  /** The entry point of the task. */                  /** The entry point of the task. */
541                    @Override
542                  public void                  public void
543                  run() {                  exec() throws Exception {
544                          /*                          /*
545                           * Because of the rapid flow of volume change tasks in some cases                           * Because of the rapid flow of volume change tasks in some cases
546                           * we need to do some optimization to decrease the traffic.                           * we need to do some optimization to decrease the traffic.
# Line 613  public class Channel { Line 559  public class Channel {
559                                  }                                  }
560                          }                          }
561                                    
562                          try { CC.getClient().setChannelVolume(channel, volume); }                          CC.getClient().setChannelVolume(channel, volume);
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
563                  }                  }
564                    
565                  /**                  /**
# Line 647  public class Channel { Line 589  public class Channel {
589                  }                  }
590                                    
591                  /** The entry point of the task. */                  /** The entry point of the task. */
592                    @Override
593                  public void                  public void
594                  run() {                  exec() throws Exception {
595                          try {                          /*
596                                  SamplerModel sm = CC.getSamplerModel();                           * We don't want to bother the user if error occurs when updating
597                                  sm.updateChannel(CC.getClient().getSamplerChannelInfo(channel));                           * a channel because in most cases this happens due to a race
598                          } catch(Exception x) {                           * condition between delete/update events. So we just log this
599                                  /*                           * error instead to indicate the failure of this task.
600                                   * We don't want to bother the user if error occurs when updating                           */
601                                   * a channel because in most cases this happens due to a race                          setSilent(true);
602                                   * condition between delete/update events. So we just log this                          SamplerModel sm = CC.getSamplerModel();
603                                   * error instead to indicate the failure of this task.                          sm.updateChannel(CC.getClient().getSamplerChannelInfo(channel));
                                  */  
                                 String msg = getDescription() + ": " + HF.getErrorMessage(x);  
                                 CC.getLogger().log(Level.INFO, msg, x);  
                         }  
604                  }                  }
605                                    
606                  /**                  /**
# Line 709  public class Channel { Line 648  public class Channel {
648                  }                  }
649                    
650                  /** The entry point of the task. */                  /** The entry point of the task. */
651                    @Override
652                  public void                  public void
653                  run() {                  exec() throws Exception {
654                          try { setResult(CC.getClient().createFxSend(channel, midiCtrl, name)); }                          setResult(CC.getClient().createFxSend(channel, midiCtrl, name));
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                                 x.printStackTrace();  
                         }  
655                  }                  }
656          }          }
657    
# Line 742  public class Channel { Line 677  public class Channel {
677                  }                  }
678                    
679                  /** The entry point of the task. */                  /** The entry point of the task. */
680                    @Override
681                  public void                  public void
682                  run() {                  exec() throws Exception { CC.getClient().destroyFxSend(channel, fxSend); }
                         try { CC.getClient().destroyFxSend(channel, fxSend); }  
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
                 }  
683          }          }
684                    
685          /**          /**
# Line 776  public class Channel { Line 706  public class Channel {
706                  }                  }
707                    
708                  /** The entry point of the task. */                  /** The entry point of the task. */
709                    @Override
710                  public void                  public void
711                  run() {                  exec() throws Exception { setResult(CC.getClient().getFxSends(channel)); }
                         try {  
                                 setResult(CC.getClient().getFxSends(channel));  
                         } catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
                 }  
712                                    
713                  /**                  /**
714                   * Gets the channel ID.                   * Gets the channel ID.
# Line 822  public class Channel { Line 746  public class Channel {
746                  }                  }
747                    
748                  /** The entry point of the task. */                  /** The entry point of the task. */
749                    @Override
750                  public void                  public void
751                  run() {                  exec() throws Exception {
752                          try {                          SamplerChannelModel scm;
753                                  SamplerChannelModel scm;                          scm = CC.getSamplerModel().getChannelById(channel);
754                                  scm = CC.getSamplerModel().getChannelById(channel);                          Integer[] fxSendIDs = CC.getClient().getFxSendIDs(channel);
755                                  Integer[] fxSendIDs = CC.getClient().getFxSendIDs(channel);                  
756                                                    boolean found = false;
757                                  boolean found = false;                          
758                                                            for(FxSend fxs : scm.getFxSends()) {
759                                  for(FxSend fxs : scm.getFxSends()) {                                  for(int i = 0; i < fxSendIDs.length; i++) {
760                                          for(int i = 0; i < fxSendIDs.length; i++) {                                          if(fxSendIDs[i] == fxs.getFxSendId()) {
761                                                  if(fxSendIDs[i] == fxs.getFxSendId()) {                                                  fxSendIDs[i] = -1;
762                                                          fxSendIDs[i] = -1;                                                  found = true;
                                                         found = true;  
                                                 }  
763                                          }                                          }
                                   
                                         if(!found) scm.removeFxSendById(fxs.getFxSendId());  
                                         found = false;  
764                                  }                                  }
765                                                    
766                                  FxSend fxs;                                  if(!found) scm.removeFxSendById(fxs.getFxSendId());
767                                                                    found = false;
768                                  for(int id : fxSendIDs) {                          }
769                                          if(id >= 0) {                  
770                                                  fxs = CC.getClient().getFxSendInfo(channel, id);                          FxSend fxs;
771                                                  scm.addFxSend(fxs);                          
772                                          }                          for(int id : fxSendIDs) {
773                                    if(id >= 0) {
774                                            fxs = CC.getClient().getFxSendInfo(channel, id);
775                                            scm.addFxSend(fxs);
776                                  }                                  }
                         } catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
777                          }                          }
778                  }                  }
779          }          }
# Line 883  public class Channel { Line 803  public class Channel {
803                  }                  }
804                                    
805                  /** The entry point of the task. */                  /** The entry point of the task. */
806                    @Override
807                  public void                  public void
808                  run() {                  exec() throws Exception {
809                          try {                          /*
810                                  SamplerChannelModel scm;                           * We don't want to bother the user if error occurs when updating
811                                  scm = CC.getSamplerModel().getChannelById(channel);                           * an effect send because in most cases this happens due to a race
812                                  scm.updateFxSend(CC.getClient().getFxSendInfo(channel, fxSend));                           * condition between delete/update events. So we just log this
813                          } catch(Exception x) {                           * error instead to indicate the failure of this task.
814                                  /*                           */
815                                   * We don't want to bother the user if error occurs when updating                          setSilent(true);
816                                   * an effect send because in most cases this happens due to a race                          SamplerChannelModel scm;
817                                   * condition between delete/update events. So we just log this                          scm = CC.getSamplerModel().getChannelById(channel);
818                                   * error instead to indicate the failure of this task.                          scm.updateFxSend(CC.getClient().getFxSendInfo(channel, fxSend));
                                  */  
                                 String msg = getDescription() + ": " + HF.getErrorMessage(x);  
                                 CC.getLogger().log(Level.INFO, msg, x);  
                         }  
819                  }                  }
820          }          }
821    
# Line 929  public class Channel { Line 846  public class Channel {
846                  }                  }
847                    
848                  /** The entry point of the task. */                  /** The entry point of the task. */
849                    @Override
850                  public void                  public void
851                  run() {                  exec() throws Exception { CC.getClient().setFxSendName(channel, fxSend, name); }
                         try { CC.getClient().setFxSendName(channel, fxSend, name); }  
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
                 }  
852          }          }
853                    
854          /**          /**
# Line 970  public class Channel { Line 882  public class Channel {
882                  }                  }
883                    
884                  /** The entry point of the task. */                  /** The entry point of the task. */
885                    @Override
886                  public void                  public void
887                  run() {                  exec() throws Exception {
888                          try {                          CC.getClient().setFxSendAudioOutputChannel (
889                                  CC.getClient().setFxSendAudioOutputChannel (                                  channel, fxSend, audioSrc, audioDst
890                                          channel, fxSend, audioSrc, audioDst                          );
                                 );  
                         }  
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
891                  }                  }
892          }          }
893                    
# Line 1011  public class Channel { Line 918  public class Channel {
918                  }                  }
919                    
920                  /** The entry point of the task. */                  /** The entry point of the task. */
921                    @Override
922                  public void                  public void
923                  run() {                  exec() throws Exception {
924                          try { CC.getClient().setFxSendLevel(channel, fxSend, volume); }                          CC.getClient().setFxSendLevel(channel, fxSend, volume);
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
925                  }                  }
926          }          }
927    
# Line 1049  public class Channel { Line 953  public class Channel {
953                  }                  }
954                    
955                  /** The entry point of the task. */                  /** The entry point of the task. */
956                    @Override
957                  public void                  public void
958                  run() {                  exec() throws Exception {
959                          try { CC.getClient().setFxSendMidiController(channel, fxSend, midiCtrl); }                          CC.getClient().setFxSendMidiController(channel, fxSend, midiCtrl);
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
960                  }                  }
961          }          }
962    
# Line 1080  public class Channel { Line 981  public class Channel {
981                  }                  }
982                    
983                  /** The entry point of the task. */                  /** The entry point of the task. */
984                    @Override
985                  public void                  public void
986                  run() {                  exec() throws Exception { CC.getClient().editChannelInstrument(chn); }
                         try { CC.getClient().editChannelInstrument(chn); }  
                         catch(Exception x) {  
                                 setErrorMessage(getDescription() + ": " + HF.getErrorMessage(x));  
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
                 }  
987          }          }
988    
989          /**          /**
# Line 1114  public class Channel { Line 1010  public class Channel {
1010                          setTitle("Channel.SendMidiMsg_task");                          setTitle("Channel.SendMidiMsg_task");
1011                          String s = i18n.getMessage("Channel.SendMidiMsg.desc", channel);                          String s = i18n.getMessage("Channel.SendMidiMsg.desc", channel);
1012                          setDescription(s);                          setDescription(s);
                           
                           
1013                  }                  }
1014                    
1015                  /** The entry point of the task. */                  /** The entry point of the task. */
1016                    @Override
1017                  public void                  public void
1018                  run() {                  exec() throws Exception {
1019                          try { CC.getClient().sendChannelMidiData(chn, type, arg1, arg2); }                          setSilent(true);
1020                          catch(Exception x) {                          CC.getClient().sendChannelMidiData(chn, type, arg1, arg2);
                                 CC.getLogger().log(Level.FINE, getErrorMessage(), x);  
                         }  
1021                  }                  }
1022          }          }
   
1023  }  }

Legend:
Removed from v.1866  
changed lines
  Added in v.1867

  ViewVC Help
Powered by ViewVC