public Instrument getInstrument(Patch patch) { int program = patch.getProgram(); int bank = patch.getBank(); boolean percussion = false; if (patch instanceof ModelPatch) percussion = ((ModelPatch)patch).isPercussion(); for (Instrument instrument : instruments) { Patch patch2 = instrument.getPatch(); int program2 = patch2.getProgram(); int bank2 = patch2.getBank(); if (program == program2 && bank == bank2) { boolean percussion2 = false; if (patch2 instanceof ModelPatch) percussion2 = ((ModelPatch) patch2).isPercussion(); if (percussion == percussion2) return instrument; } } return null; }
public Instrument getInstrument(Patch patch) { int program = patch.getProgram(); int bank = patch.getBank(); boolean percussion = false; if (patch instanceof ModelPatch) percussion = ((ModelPatch)patch).isPercussion(); for (Instrument instrument : instruments) { Patch patch2 = instrument.getPatch(); int program2 = patch2.getProgram(); int bank2 = patch2.getBank(); if (program == program2 && bank == bank2) { boolean percussion2 = false; if (patch2 instanceof ModelPatch) percussion2 = ((ModelPatch)patch2).isPercussion(); if (percussion == percussion2) return instrument; } } return null; }
public void setPatch(Patch patch) { if (patch instanceof ModelPatch && ((ModelPatch)patch).isPercussion()) { percussion = true; bank = patch.getBank(); preset = patch.getProgram(); } else { percussion = false; bank = patch.getBank(); preset = patch.getProgram(); } }
public void setPatch(Patch patch) { if (patch instanceof ModelPatch && ((ModelPatch) patch).isPercussion()) { bank = 128; preset = patch.getProgram(); } else { bank = patch.getBank() >> 7; preset = patch.getProgram(); } }
private ModelPatch toModelPatch(Patch patch) { if( patch instanceof ModelPatch ) { return (ModelPatch) patch; } return new ModelPatch(patch.getBank() == PERCUSSION_BANK ? 0 : patch.getBank(), patch.getProgram(), patch.getBank() == PERCUSSION_BANK); }
private boolean isSamePatch(Patch p1, Patch p2) { ModelPatch mp1 = this.toModelPatch(p1); ModelPatch mp2 = this.toModelPatch(p2); return (mp1.getBank() == mp2.getBank() && mp1.getProgram() == mp2.getProgram() && mp1.isPercussion() == mp2.isPercussion()); }
public ModelPatch getPatch() { return new ModelPatch(bank, preset, percussion); }
public Patch getPatch() { if (bank == 128) return new ModelPatch(0, preset, true); else return new ModelPatch(bank << 7, preset, false); }