< prev index next >

src/java.desktop/share/classes/com/sun/media/sound/SF2Instrument.java

Print this page

        

*** 20,29 **** --- 20,30 ---- * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ + package com.sun.media.sound; import java.util.ArrayList; import java.util.HashMap; import java.util.List;
*** 43,71 **** int bank = 0; long library = 0; long genre = 0; long morphology = 0; SF2GlobalRegion globalregion = null; ! List<SF2InstrumentRegion> regions ! = new ArrayList<SF2InstrumentRegion>(); public SF2Instrument() { super(null, null, null, null); } public SF2Instrument(SF2Soundbank soundbank) { super(soundbank, null, null, null); } public String getName() { return name; } public void setName(String name) { this.name = name; } public Patch getPatch() { if (bank == 128) return new ModelPatch(0, preset, true); else return new ModelPatch(bank << 7, preset, false); --- 44,73 ---- int bank = 0; long library = 0; long genre = 0; long morphology = 0; SF2GlobalRegion globalregion = null; ! List<SF2InstrumentRegion> regions = new ArrayList<>(); public SF2Instrument() { super(null, null, null, null); } public SF2Instrument(SF2Soundbank soundbank) { super(soundbank, null, null, null); } + @Override public String getName() { return name; } public void setName(String name) { this.name = name; } + @Override public Patch getPatch() { if (bank == 128) return new ModelPatch(0, preset, true); else return new ModelPatch(bank << 7, preset, false);
*** 79,88 **** --- 81,91 ---- bank = patch.getBank() >> 7; preset = patch.getProgram(); } } + @Override public Object getData() { return null; } public long getGenre() {
*** 119,146 **** public void setGlobalZone(SF2GlobalRegion zone) { globalregion = zone; } public String toString() { if (bank == 128) return "Drumkit: " + name + " preset #" + preset; else return "Instrument: " + name + " bank #" + bank + " preset #" + preset; } public ModelPerformer[] getPerformers() { int performercount = 0; for (SF2InstrumentRegion presetzone : regions) performercount += presetzone.getLayer().getRegions().size(); ModelPerformer[] performers = new ModelPerformer[performercount]; int pi = 0; SF2GlobalRegion presetglobal = globalregion; for (SF2InstrumentRegion presetzone : regions) { ! Map<Integer, Short> pgenerators = new HashMap<Integer, Short>(); pgenerators.putAll(presetzone.getGenerators()); if (presetglobal != null) pgenerators.putAll(presetglobal.getGenerators()); SF2Layer layer = presetzone.getLayer(); --- 122,151 ---- public void setGlobalZone(SF2GlobalRegion zone) { globalregion = zone; } + @Override public String toString() { if (bank == 128) return "Drumkit: " + name + " preset #" + preset; else return "Instrument: " + name + " bank #" + bank + " preset #" + preset; } + @Override public ModelPerformer[] getPerformers() { int performercount = 0; for (SF2InstrumentRegion presetzone : regions) performercount += presetzone.getLayer().getRegions().size(); ModelPerformer[] performers = new ModelPerformer[performercount]; int pi = 0; SF2GlobalRegion presetglobal = globalregion; for (SF2InstrumentRegion presetzone : regions) { ! Map<Integer, Short> pgenerators = new HashMap<>(); pgenerators.putAll(presetzone.getGenerators()); if (presetglobal != null) pgenerators.putAll(presetglobal.getGenerators()); SF2Layer layer = presetzone.getLayer();
*** 265,275 **** ModelByteBufferWavetable osc = new ModelByteBufferWavetable( buff, sample.getFormat(), pitchcorrection); if (buff24 != null) osc.set8BitExtensionBuffer(buff24); ! Map<Integer, Short> generators = new HashMap<Integer, Short>(); if (layerglobal != null) generators.putAll(layerglobal.getGenerators()); generators.putAll(layerzone.getGenerators()); for (Map.Entry<Integer, Short> gen : pgenerators.entrySet()) { short val; --- 270,280 ---- ModelByteBufferWavetable osc = new ModelByteBufferWavetable( buff, sample.getFormat(), pitchcorrection); if (buff24 != null) osc.set8BitExtensionBuffer(buff24); ! Map<Integer, Short> generators = new HashMap<>(); if (layerglobal != null) generators.putAll(layerglobal.getGenerators()); generators.putAll(layerzone.getGenerators()); for (Map.Entry<Integer, Short> gen : pgenerators.entrySet()) { short val;
*** 606,615 **** --- 611,621 ---- performer.getConnectionBlocks().add( new ModelConnectionBlock( new ModelSource(ModelSource.SOURCE_NOTEON_VELOCITY, new ModelTransform() { + @Override public double transform(double value) { if (value < 0.5) return 1 - value * 2; else return 0;
< prev index next >