/[svn]/jlscp/trunk/src/org/linuxsampler/lscp/Client.java
ViewVC logotype

Diff of /jlscp/trunk/src/org/linuxsampler/lscp/Client.java

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

revision 1326 by iliev, Fri Sep 7 11:03:52 2007 UTC revision 1421 by iliev, Sun Oct 14 18:08:45 2007 UTC
# Line 34  import java.util.Vector; Line 34  import java.util.Vector;
34  import java.util.logging.Level;  import java.util.logging.Level;
35  import java.util.logging.Logger;  import java.util.logging.Logger;
36    
 import static org.linuxsampler.lscp.Parser.*;  
37  import org.linuxsampler.lscp.event.*;  import org.linuxsampler.lscp.event.*;
38    
39    import static org.linuxsampler.lscp.Parser.*;
40    
41    
42  /**  /**
43   * This class is the abstraction representing a client endpoint for communication with LinuxSampler   * This class is the abstraction representing a client endpoint for communication with LinuxSampler
# Line 542  public class Client { Line 543  public class Client {
543                          if(s.startsWith("NAME ")) {                          if(s.startsWith("NAME ")) {
544                                  String[] list;                                  String[] list;
545                                  try {                                  try {
546                                          list = parseQuotedStringList(s.substring("NAME ".length()), ' ');                                          s = s.substring("NAME ".length());
547                                            list = parseEscapedStringList(s, ' ');
548                                          if(list.length != 2) throw new LscpException();                                          if(list.length != 2) throw new LscpException();
549                                            list[1] = toNonEscapedString(list[1]);
550                                          e = new InstrumentsDbEvent(this, list[0], list[1]);                                          e = new InstrumentsDbEvent(this, list[0], list[1]);
551                                          for(InstrumentsDbListener l : llID) {                                          for(InstrumentsDbListener l : llID) {
552                                                  l.directoryNameChanged(e);                                                  l.directoryNameChanged(e);
# Line 569  public class Client { Line 572  public class Client {
572                          if(s.startsWith("NAME ")) {                          if(s.startsWith("NAME ")) {
573                                  String[] list;                                  String[] list;
574                                  try {                                  try {
575                                          list = parseQuotedStringList(s.substring("NAME ".length()), ' ');                                          s = s.substring("NAME ".length());
576                                            list = parseEscapedStringList(s, ' ');
577                                          if(list.length != 2) throw new LscpException();                                          if(list.length != 2) throw new LscpException();
578                                            list[1] = toNonEscapedString(list[1]);
579                                          e = new InstrumentsDbEvent(this, list[0], list[1]);                                          e = new InstrumentsDbEvent(this, list[0], list[1]);
580                                          for(InstrumentsDbListener l : llID) {                                          for(InstrumentsDbListener l : llID) {
581                                                  l.instrumentNameChanged(e);                                                  l.instrumentNameChanged(e);
# Line 2455  public class Client { Line 2460  public class Client {
2460          public synchronized int          public synchronized int
2461          addMidiInstrumentMap(String name) throws IOException, LSException, LscpException {          addMidiInstrumentMap(String name) throws IOException, LSException, LscpException {
2462                  verifyConnection();                  verifyConnection();
2463                  out.writeLine("ADD MIDI_INSTRUMENT_MAP '" + name + "'");                  out.writeLine("ADD MIDI_INSTRUMENT_MAP '" + toEscapedString(name) + "'");
2464                  if(getPrintOnlyMode()) return -1;                  if(getPrintOnlyMode()) return -1;
2465                                    
2466                  ResultSet rs = getEmptyResultSet();                  ResultSet rs = getEmptyResultSet();
# Line 2558  public class Client { Line 2563  public class Client {
2563                                    
2564                  for(String s : lnS) {                  for(String s : lnS) {
2565                          if(s.startsWith("NAME: ")) {                          if(s.startsWith("NAME: ")) {
2566                                  name = s.substring("NAME: ".length());                                  name = toNonEscapedString(s.substring("NAME: ".length()));
2567                          } else if(s.startsWith("DEFAULT: ")) {                          } else if(s.startsWith("DEFAULT: ")) {
2568                                  b = Boolean.parseBoolean(s.substring("DEFAULT: ".length()));                                  b = Boolean.parseBoolean(s.substring("DEFAULT: ".length()));
2569                          } else {                          } else {
# Line 2606  public class Client { Line 2611  public class Client {
2611                                  throws IOException, LscpException, LSException {                                  throws IOException, LscpException, LSException {
2612                                    
2613                  verifyConnection();                  verifyConnection();
2614                    name = toEscapedString(name);
2615                  out.writeLine("SET MIDI_INSTRUMENT_MAP NAME " +  + mapId + " '" + name + "'");                  out.writeLine("SET MIDI_INSTRUMENT_MAP NAME " +  + mapId + " '" + name + "'");
2616                  if(getPrintOnlyMode()) return;                  if(getPrintOnlyMode()) return;
2617                                    
# Line 2661  public class Client { Line 2667  public class Client {
2667                  if(!info.getLoadMode().name().equals("DEFAULT")) {                  if(!info.getLoadMode().name().equals("DEFAULT")) {
2668                          cmd.append(' ').append(info.getLoadMode().name());                          cmd.append(' ').append(info.getLoadMode().name());
2669                  }                  }
2670                  if(info.getName() != null) cmd.append(" '").append(info.getName()).append("'");                  
2671                    if(info.getName() != null) {
2672                            String s = toEscapedString(info.getName());
2673                            cmd.append(" '").append(s).append("'");
2674                    }
2675                                    
2676                  out.writeLine(cmd.toString());                  out.writeLine(cmd.toString());
2677                  if(getPrintOnlyMode()) return;                  if(getPrintOnlyMode()) return;
# Line 2857  public class Client { Line 2867  public class Client {
2867          loadInstrument(String filename, int instrIdx, int samplerChn, boolean nonModal)          loadInstrument(String filename, int instrIdx, int samplerChn, boolean nonModal)
2868                                                  throws IOException, LscpException, LSException {                                                  throws IOException, LscpException, LSException {
2869                                    
                 filename = getEscapedString(filename);  
2870                  String cmd = nonModal ? "LOAD INSTRUMENT NON_MODAL " : "LOAD INSTRUMENT ";                  String cmd = nonModal ? "LOAD INSTRUMENT NON_MODAL " : "LOAD INSTRUMENT ";
2871                  String args = '\'' + filename + "' " + instrIdx + ' ' + samplerChn;                  String args = '\'' + filename + "' " + instrIdx + ' ' + samplerChn;
2872                                    
# Line 3040  public class Client { Line 3049  public class Client {
3049                  out.writeLine("LIST AVAILABLE_ENGINES");                  out.writeLine("LIST AVAILABLE_ENGINES");
3050                  if(getPrintOnlyMode()) return null;                  if(getPrintOnlyMode()) return null;
3051                                    
3052                  return parseQuotedStringList(getSingleLineResultSet().getResult());                  return parseStringList(getSingleLineResultSet().getResult());
3053          }          }
3054                    
3055          /**          /**
# Line 3511  public class Client { Line 3520  public class Client {
3520                                    
3521                  verifyConnection();                  verifyConnection();
3522                  String s = String.valueOf(channel) + " " + String.valueOf(midiCtrl);                  String s = String.valueOf(channel) + " " + String.valueOf(midiCtrl);
3523                  if(name != null) s += " '" + name + "'";                  if(name != null) s += " '" + toEscapedString(name) + "'";
3524                  out.writeLine("CREATE FX_SEND " + s);                  out.writeLine("CREATE FX_SEND " + s);
3525                  if(getPrintOnlyMode()) return -1;                  if(getPrintOnlyMode()) return -1;
3526                                    
# Line 3642  public class Client { Line 3651  public class Client {
3651                                  throws IOException, LscpException, LSException {                                  throws IOException, LscpException, LSException {
3652                                    
3653                  verifyConnection();                  verifyConnection();
3654                  String args = " " + channel + " " + fxSend + " '" + name + "'";                  String args = " " + channel + " " + fxSend + " '" + toEscapedString(name) + "'";
3655                  out.writeLine("SET FX_SEND NAME" + args);                  out.writeLine("SET FX_SEND NAME" + args);
3656                  if(getPrintOnlyMode()) return;                  if(getPrintOnlyMode()) return;
3657                                    
# Line 3730  public class Client { Line 3739  public class Client {
3739                  ResultSet rs = getEmptyResultSet();                  ResultSet rs = getEmptyResultSet();
3740          }          }
3741                    
3742            /**
3743             * Starts an instrument editor for editing the loaded instrument
3744             * on the specified sampler channel.
3745             * @param samplerChn The sampler channel number.
3746             * @throws IOException If some I/O error occurs.
3747             * @throws LscpException If LSCP protocol corruption occurs.
3748             * @throws LSException If <code>samplerChn</code> is not a valid channel number or if
3749             * there is no instrument loaded on the specified sampler channel.
3750             * @see #getSamplerChannels
3751             */
3752            public synchronized void
3753            editChannelInstrument(int samplerChn) throws IOException, LscpException, LSException {
3754                    verifyConnection();
3755                    out.writeLine("EDIT CHANNEL INSTRUMENT " + samplerChn);
3756                    if(getPrintOnlyMode()) return;
3757                    
3758                    ResultSet rs = getEmptyResultSet();
3759            }
3760            
3761                    
3762                    
3763          /**          /**
3764           * Adds the specified directory to the instruments database.           * Adds the specified directory to the instruments database.
3765           * @param dir The absolute path name of the directory to add.           * @param dir The absolute (escaped) path name of the directory to add.
3766           * @throws IOException If some I/O error occurs.           * @throws IOException If some I/O error occurs.
3767           * @throws LSException If the creation of the directory failed.           * @throws LSException If the creation of the directory failed.
3768           * @throws LscpException If LSCP protocol corruption occurs.           * @throws LscpException If LSCP protocol corruption occurs.
# Line 3750  public class Client { Line 3778  public class Client {
3778                    
3779          /**          /**
3780           * Removes the specified directory from the instruments database.           * Removes the specified directory from the instruments database.
3781           * @param dir The absolute path name of the directory to remove.           * @param dir The absolute (escaped) path name of the directory to remove.
3782           * @throws IOException If some I/O error occurs.           * @throws IOException If some I/O error occurs.
3783           * @throws LscpException If LSCP protocol corruption occurs.           * @throws LscpException If LSCP protocol corruption occurs.
3784           * @throws LSException If the specified directory is not           * @throws LSException If the specified directory is not
# Line 3785  public class Client { Line 3813  public class Client {
3813                    
3814          /**          /**
3815           * Removes the specified directories from the instruments database.           * Removes the specified directories from the instruments database.
3816           * @param dirs The absolute path names of the directories to remove.           * @param dirs The absolute (escaped) path names of the directories to remove.
3817           * @param force If <code>true</code> forces the removal of non-empty           * @param force If <code>true</code> forces the removal of non-empty
3818           * directories.           * directories.
3819           * @throws IOException If some I/O error occurs.           * @throws IOException If some I/O error occurs.
# Line 3860  public class Client { Line 3888  public class Client {
3888                  out.writeLine("LIST DB_INSTRUMENT_DIRECTORIES '" + dir + "'");                  out.writeLine("LIST DB_INSTRUMENT_DIRECTORIES '" + dir + "'");
3889                  if(getPrintOnlyMode()) return null;                  if(getPrintOnlyMode()) return null;
3890                                    
3891                  return parseQuotedStringList(getSingleLineResultSet().getResult());                  String[] names = parseEscapedStringList(getSingleLineResultSet().getResult());
3892                    for(int i = 0; i < names.length; i++) {
3893                            names[i] = toNonEscapedString(names[i]);
3894                    }
3895                    return names;
3896          }          }
3897                    
3898          /**          /**
# Line 3882  public class Client { Line 3914  public class Client {
3914                  DbDirectoryInfo info = new DbDirectoryInfo(rs.getMultiLineResult());                  DbDirectoryInfo info = new DbDirectoryInfo(rs.getMultiLineResult());
3915                  if(dir.equals("/")) {                  if(dir.equals("/")) {
3916                          info.setName("/");                          info.setName("/");
3917                  } else if(dir.length() > 1 && dir.charAt(dir.length() - 1) == '/') {                  } else {
3918                          dir = dir.substring(0, dir.length() - 1);                          dir = removeEndingFileSeparator(dir);
                 }  
                 int i = dir.lastIndexOf('/');  
                 if(i != -1 && i < dir.length() - 1) {  
                         info.setName(dir.substring(i + 1));  
                         if(i == 0) info.setParentDirectoryPath("/");  
                         else info.setParentDirectoryPath(dir.substring(0, i));  
3919                  }                  }
3920                    String s = getFileName(dir);
3921                    if(s != null) info.setName(toNonEscapedFileName(s));
3922                    s = getParentDirectory(dir);
3923                    if(s != null) info.setParentDirectoryPath(s);
3924                                    
3925                  return info;                  return info;
3926          }          }
# Line 3907  public class Client { Line 3937  public class Client {
3937          public synchronized DbDirectoryInfo[]          public synchronized DbDirectoryInfo[]
3938          getDbDirectories(String dir) throws IOException, LscpException, LSException {          getDbDirectories(String dir) throws IOException, LscpException, LSException {
3939                  String[] dirS = getDbDirectoryNames(dir);                  String[] dirS = getDbDirectoryNames(dir);
3940                  if(dir.charAt(dir.length() - 1) != '/') dir += "/";                  if(!hasEndingFileSeparator(dir)) dir += "/";
3941                  DbDirectoryInfo[] infoS = new DbDirectoryInfo[dirS.length];                  DbDirectoryInfo[] infoS = new DbDirectoryInfo[dirS.length];
3942                  for(int i = 0; i < dirS.length; i++) infoS[i] = getDbDirectoryInfo(dir + dirS[i]);                  for(int i = 0; i < dirS.length; i++) {
3943                            infoS[i] = getDbDirectoryInfo(dir + toEscapedFileName(dirS[i]));
3944                    }
3945                  return infoS;                  return infoS;
3946          }          }
3947                    
# Line 3974  public class Client { Line 4006  public class Client {
4006          public synchronized void          public synchronized void
4007          renameDbDirectory(String dir, String name) throws IOException, LSException, LscpException {          renameDbDirectory(String dir, String name) throws IOException, LSException, LscpException {
4008                  verifyConnection();                  verifyConnection();
4009                    name = toEscapedString(name);
4010                  out.writeLine("SET DB_INSTRUMENT_DIRECTORY NAME '" + dir + "' '" + name + "'");                  out.writeLine("SET DB_INSTRUMENT_DIRECTORY NAME '" + dir + "' '" + name + "'");
4011                  if(getPrintOnlyMode()) return;                  if(getPrintOnlyMode()) return;
4012                                    
# Line 4066  public class Client { Line 4099  public class Client {
4099                                    
4100                  verifyConnection();                  verifyConnection();
4101                  String s = "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '";                  String s = "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '";
4102                  out.writeLine(s + dir + "' '" + desc + "'");                  out.writeLine(s + dir + "' '" + toEscapedString(desc) + "'");
4103                  if(getPrintOnlyMode()) return;                  if(getPrintOnlyMode()) return;
4104                                    
4105                  ResultSet rs = getEmptyResultSet();                  ResultSet rs = getEmptyResultSet();
# Line 4245  public class Client { Line 4278  public class Client {
4278                                  break;                                  break;
4279                  }                  }
4280                                    
4281                  sb.append(" '").append(dbDir).append("' '").append(fsDir).append("'");                  sb.append(" '").append(dbDir).append("' '");
4282                    sb.append(fsDir).append("'");
4283                  out.writeLine(sb.toString());                  out.writeLine(sb.toString());
4284                  if(getPrintOnlyMode()) return -1;                  if(getPrintOnlyMode()) return -1;
4285                                    
# Line 4341  public class Client { Line 4375  public class Client {
4375                  out.writeLine("LIST DB_INSTRUMENTS '" + dir + "'");                  out.writeLine("LIST DB_INSTRUMENTS '" + dir + "'");
4376                  if(getPrintOnlyMode()) return null;                  if(getPrintOnlyMode()) return null;
4377                                    
4378                  return parseQuotedStringList(getSingleLineResultSet().getResult());                  String[] names = parseEscapedStringList(getSingleLineResultSet().getResult());
4379                    for(int i = 0; i < names.length; i++) {
4380                            names[i] = toNonEscapedString(names[i]);
4381                    }
4382                    return names;
4383          }          }
4384                    
4385          /**          /**
# Line 4361  public class Client { Line 4399  public class Client {
4399                                    
4400                  ResultSet rs = getMultiLineResultSet();                  ResultSet rs = getMultiLineResultSet();
4401                  DbInstrumentInfo info = new DbInstrumentInfo(rs.getMultiLineResult());                  DbInstrumentInfo info = new DbInstrumentInfo(rs.getMultiLineResult());
4402                  int i = instr.lastIndexOf('/');                  String s = getParentDirectory(instr);
4403                  if(i != -1 && i < instr.length() - 1) {                  if(s != null) info.setDirectoryPath(s);
4404                          info.setName(instr.substring(i + 1));                  s = getFileName(instr);
4405                          if(i == 0) info.setDirectoryPath("/");                  if(s != null) info.setName(toNonEscapedFileName(s));
                         else info.setDirectoryPath(instr.substring(0, i));  
                 }  
4406                                    
4407                  return info;                  return info;
4408          }          }
# Line 4383  public class Client { Line 4419  public class Client {
4419          public synchronized DbInstrumentInfo[]          public synchronized DbInstrumentInfo[]
4420          getDbInstruments(String dir) throws IOException, LscpException, LSException {          getDbInstruments(String dir) throws IOException, LscpException, LSException {
4421                  String[] instrS = getDbInstrumentNames(dir);                  String[] instrS = getDbInstrumentNames(dir);
4422                  if(dir.charAt(dir.length() - 1) != '/') dir += "/";                  if(!hasEndingFileSeparator(dir)) dir += "/";
4423                                    
4424                  DbInstrumentInfo[] infoS = new DbInstrumentInfo[instrS.length];                  DbInstrumentInfo[] infoS = new DbInstrumentInfo[instrS.length];
4425                  for(int i = 0; i < instrS.length; i++) {                  for(int i = 0; i < instrS.length; i++) {
4426                          infoS[i] = getDbInstrumentInfo(dir + instrS[i]);                          infoS[i] = getDbInstrumentInfo(dir + toEscapedFileName(instrS[i]));
4427                  }                  }
4428                  return infoS;                  return infoS;
4429          }          }
# Line 4455  public class Client { Line 4491  public class Client {
4491                                  throws IOException, LSException, LscpException {                                  throws IOException, LSException, LscpException {
4492                                    
4493                  verifyConnection();                  verifyConnection();
4494                    name = toEscapedString(name);
4495                  out.writeLine("SET DB_INSTRUMENT NAME '" + instr + "' '" + name + "'");                  out.writeLine("SET DB_INSTRUMENT NAME '" + instr + "' '" + name + "'");
4496                  if(getPrintOnlyMode()) return;                  if(getPrintOnlyMode()) return;
4497                                    
# Line 4546  public class Client { Line 4583  public class Client {
4583                                  throws IOException, LSException, LscpException {                                  throws IOException, LSException, LscpException {
4584                                    
4585                  verifyConnection();                  verifyConnection();
4586                    desc = toEscapedString(desc);
4587                  out.writeLine("SET DB_INSTRUMENT DESCRIPTION '" + instr + "' '" + desc + "'");                  out.writeLine("SET DB_INSTRUMENT DESCRIPTION '" + instr + "' '" + desc + "'");
4588                  if(getPrintOnlyMode()) return;                  if(getPrintOnlyMode()) return;
4589                                    
# Line 4593  public class Client { Line 4631  public class Client {
4631                  sb.append(" '").append(dir).append("'");                  sb.append(" '").append(dir).append("'");
4632                                    
4633                  if(query.name != null && query.name.length() > 0) {                  if(query.name != null && query.name.length() > 0) {
4634                          sb.append(" NAME='").append(query.name).append("'");                          sb.append(" NAME='").append(toEscapedString(query.name)).append("'");
4635                  }                  }
4636                                    
4637                  String s = query.getCreatedAfter();                  String s = query.getCreatedAfter();
# Line 4617  public class Client { Line 4655  public class Client {
4655                  }                  }
4656                                    
4657                  if(query.description != null && query.description.length() > 0) {                  if(query.description != null && query.description.length() > 0) {
4658                          sb.append(" DESCRIPTION='").append(query.description).append("'");                          sb.append(" DESCRIPTION='");
4659                            sb.append(toEscapedString(query.description)).append("'");
4660                  }                  }
4661                                    
4662                  out.writeLine(sb.toString());                  out.writeLine(sb.toString());
4663                  if(getPrintOnlyMode()) return null;                  if(getPrintOnlyMode()) return null;
4664                                    
4665                  String[] dirS = parseQuotedStringList(getSingleLineResultSet().getResult());                  String[] dirS = parseEscapedStringList(getSingleLineResultSet().getResult());
4666                                    
4667                  DbDirectoryInfo[] infoS = new DbDirectoryInfo[dirS.length];                  DbDirectoryInfo[] infoS = new DbDirectoryInfo[dirS.length];
4668                  for(int i = 0; i < dirS.length; i++) {                  for(int i = 0; i < dirS.length; i++) {
# Line 4673  public class Client { Line 4712  public class Client {
4712                  sb.append(" '").append(dir).append("'");                  sb.append(" '").append(dir).append("'");
4713                                    
4714                  if(query.name != null && query.name.length() > 0) {                  if(query.name != null && query.name.length() > 0) {
4715                          sb.append(" NAME='").append(query.name).append("'");                          sb.append(" NAME='").append(toEscapedString(query.name)).append("'");
4716                  }                  }
4717                                    
4718                  if(query.formatFamilies.size() > 0) {                  if(query.formatFamilies.size() > 0) {
# Line 4713  public class Client { Line 4752  public class Client {
4752                  }                  }
4753                                    
4754                  if(query.description != null && query.description.length() > 0) {                  if(query.description != null && query.description.length() > 0) {
4755                          sb.append(" DESCRIPTION='").append(query.description).append("'");                          sb.append(" DESCRIPTION='");
4756                            sb.append(toEscapedString(query.description)).append("'");
4757                  }                  }
4758                                    
4759                  if(query.instrumentType != DbSearchQuery.InstrumentType.BOTH) {                  if(query.instrumentType != DbSearchQuery.InstrumentType.BOTH) {
# Line 4726  public class Client { Line 4766  public class Client {
4766                  }                  }
4767                                    
4768                  if(query.product != null && query.product.length() > 0) {                  if(query.product != null && query.product.length() > 0) {
4769                          sb.append(" PRODUCT='").append(query.product).append("'");                          sb.append(" PRODUCT='").append(toEscapedString(query.product)).append("'");
4770                  }                  }
4771                                    
4772                  if(query.artists != null && query.artists.length() > 0) {                  if(query.artists != null && query.artists.length() > 0) {
4773                          sb.append(" ARTISTS='").append(query.artists).append("'");                          sb.append(" ARTISTS='").append(toEscapedString(query.artists)).append("'");
4774                  }                  }
4775                                    
4776                  if(query.keywords != null && query.keywords.length() > 0) {                  if(query.keywords != null && query.keywords.length() > 0) {
4777                          sb.append(" KEYWORDS='").append(query.keywords).append("'");                          sb.append(" KEYWORDS='");
4778                            sb.append(toEscapedString(query.keywords)).append("'");
4779                  }                  }
4780                                    
4781                  out.writeLine(sb.toString());                  out.writeLine(sb.toString());
4782                  if(getPrintOnlyMode()) return null;                  if(getPrintOnlyMode()) return null;
4783                                    
4784                  String[] instrS = parseQuotedStringList(getSingleLineResultSet().getResult());                  String[] instrS = parseEscapedStringList(getSingleLineResultSet().getResult());
4785                                    
4786                  DbInstrumentInfo[] infoS = new DbInstrumentInfo[instrS.length];                  DbInstrumentInfo[] infoS = new DbInstrumentInfo[instrS.length];
4787                  for(int i = 0; i < instrS.length; i++) {                  for(int i = 0; i < instrS.length; i++) {
# Line 4771  public class Client { Line 4812  public class Client {
4812          }          }
4813                    
4814          /**          /**
4815             * Removes all instruments and directories and re-creates
4816             * the instruments database structure.
4817             * @throws IOException If some I/O error occurs.
4818             * @throws LscpException If LSCP protocol corruption occurs.
4819             * @throws LSException If the formatting of the instruments database failed.
4820             */
4821            public synchronized void
4822            formatInstrumentsDb() throws IOException, LscpException, LSException {
4823                    verifyConnection();
4824                    out.writeLine("FORMAT INSTRUMENTS_DB");
4825                    if(getPrintOnlyMode()) return;
4826                    
4827                    ResultSet rs = getEmptyResultSet();
4828            }
4829            
4830            /**
4831           * Resets the specified sampler channel.           * Resets the specified sampler channel.
4832           *           *
4833           * @param samplerChn The sampler channel number.           * @param samplerChn The sampler channel number.

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

  ViewVC Help
Powered by ViewVC