public void storePatch (Patch p, int bankNum, int patchNum)
public void storePatch (IPatch p, int bankNum, int patchNum)
  public void storePatch (Patch p, int bankNum, int patchNum)  {    // default to simple case - set specified patch in the User bank    int location = patchNum;    byte opcode = QSConstants.OPCODE_MIDI_USER_EFFECTS_DUMP;    byte oldOpcode = p.sysex[QSConstants.POSITION_OPCODE];    byte oldLocation = p.sysex[QSConstants.POSITION_LOCATION];    // if the patch number is > max location, get from Edit buffers    if (location>QSConstants.MAX_LOCATION_PROG)    {      location -= (QSConstants.MAX_LOCATION_PROG + 1);      opcode = QSConstants.OPCODE_MIDI_EDIT_EFFECTS_DUMP;    }    // set the opcode and target location    p.sysex[QSConstants.POSITION_OPCODE] = opcode;    p.sysex[QSConstants.POSITION_LOCATION] = (byte)location;    ErrorMsg.reportStatus("foo", p.sysex);    //setBankNum (bankNum);    //setPatchNum (patchNum);    // actually send the patch    sendPatchWorker (p);    // restore the old values    p.sysex[QSConstants.POSITION_OPCODE] = oldOpcode;    p.sysex[QSConstants.POSITION_LOCATION] = oldLocation;  }