descs[i].getDecoder().encode(p.getDefault(),p, patch.sysex[i]);
try { descs[i].getDecoder().encode(p.getDefault(),p, patch.sysex[i]); } catch (ArrayIndexOutOfBoundsException ex) { System.err.println("Arf!"); }
    public XMLPatch newPatch() {        XMLPatch patch = newEmptyPatch();        for (int i = 0; i < descs.length; i++) {            patch.sysex[i] = new byte[descs[i].getSize() - 1];            patch.sysex[i][patch.sysex[i].length - 1] = (byte) 0xF7;            XMLParameter[] params = descs[i].getParams();            for (int j = 0; j < params.length; j++) {                XMLParameter p = params[j];                if (p.getDefault() != 0) {                    descs[i].getDecoder().encode(p.getDefault(),p, patch.sysex[i]);                }            }        }        patch.setName("New Patch");        return patch;    }