< prev index next >
src/java.desktop/share/classes/com/sun/media/sound/SF2Soundbank.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.io.File;
import java.io.FileInputStream;
import java.io.IOException;
*** 79,91 ****
// The Sample Data loaded from the SoundFont
private ModelByteBuffer sampleData = null;
private ModelByteBuffer sampleData24 = null;
private File sampleFile = null;
private boolean largeFormat = false;
! private final List<SF2Instrument> instruments = new ArrayList<SF2Instrument>();
! private final List<SF2Layer> layers = new ArrayList<SF2Layer>();
! private final List<SF2Sample> samples = new ArrayList<SF2Sample>();
public SF2Soundbank() {
}
public SF2Soundbank(URL url) throws IOException {
--- 80,92 ----
// The Sample Data loaded from the SoundFont
private ModelByteBuffer sampleData = null;
private ModelByteBuffer sampleData24 = null;
private File sampleFile = null;
private boolean largeFormat = false;
! private final List<SF2Instrument> instruments = new ArrayList<>();
! private final List<SF2Layer> layers = new ArrayList<>();
! private final List<SF2Sample> samples = new ArrayList<>();
public SF2Soundbank() {
}
public SF2Soundbank(URL url) throws IOException {
*** 222,244 ****
}
}
private void readPdtaChunk(RIFFReader riff) throws IOException {
! List<SF2Instrument> presets = new ArrayList<SF2Instrument>();
! List<Integer> presets_bagNdx = new ArrayList<Integer>();
! List<SF2InstrumentRegion> presets_splits_gen
! = new ArrayList<SF2InstrumentRegion>();
! List<SF2InstrumentRegion> presets_splits_mod
! = new ArrayList<SF2InstrumentRegion>();
!
! List<SF2Layer> instruments = new ArrayList<SF2Layer>();
! List<Integer> instruments_bagNdx = new ArrayList<Integer>();
! List<SF2LayerRegion> instruments_splits_gen
! = new ArrayList<SF2LayerRegion>();
! List<SF2LayerRegion> instruments_splits_mod
! = new ArrayList<SF2LayerRegion>();
while (riff.hasNextChunk()) {
RIFFReader chunk = riff.nextChunk();
String format = chunk.getFormat();
if (format.equals("phdr")) {
--- 223,241 ----
}
}
private void readPdtaChunk(RIFFReader riff) throws IOException {
! List<SF2Instrument> presets = new ArrayList<>();
! List<Integer> presets_bagNdx = new ArrayList<>();
! List<SF2InstrumentRegion> presets_splits_gen = new ArrayList<>();
! List<SF2InstrumentRegion> presets_splits_mod = new ArrayList<>();
!
! List<SF2Layer> instruments = new ArrayList<>();
! List<Integer> instruments_bagNdx = new ArrayList<>();
! List<SF2LayerRegion> instruments_splits_gen = new ArrayList<>();
! List<SF2LayerRegion> instruments_splits_mod = new ArrayList<>();
while (riff.hasNextChunk()) {
RIFFReader chunk = riff.nextChunk();
String format = chunk.getFormat();
if (format.equals("phdr")) {
*** 828,849 ****
--- 825,850 ----
shdr_chunk.writeString("EOS", 20);
shdr_chunk.write(new byte[26]);
}
+ @Override
public String getName() {
return name;
}
+ @Override
public String getVersion() {
return major + "." + minor;
}
+ @Override
public String getVendor() {
return engineers;
}
+ @Override
public String getDescription() {
return comments;
}
public void setName(String s) {
*** 856,865 ****
--- 857,867 ----
public void setDescription(String s) {
comments = s;
}
+ @Override
public SoundbankResource[] getResources() {
SoundbankResource[] resources
= new SoundbankResource[layers.size() + samples.size()];
int j = 0;
for (int i = 0; i < layers.size(); i++)
*** 867,876 ****
--- 869,879 ----
for (int i = 0; i < samples.size(); i++)
resources[j++] = samples.get(i);
return resources;
}
+ @Override
public SF2Instrument[] getInstruments() {
SF2Instrument[] inslist_array
= instruments.toArray(new SF2Instrument[instruments.size()]);
Arrays.sort(inslist_array, new ModelInstrumentComparator());
return inslist_array;
*** 882,891 ****
--- 885,895 ----
public SF2Sample[] getSamples() {
return samples.toArray(new SF2Sample[samples.size()]);
}
+ @Override
public Instrument getInstrument(Patch patch) {
int program = patch.getProgram();
int bank = patch.getBank();
boolean percussion = false;
if (patch instanceof ModelPatch)
*** 970,984 ****
samples.add((SF2Sample)resource);
}
public void removeResource(SoundbankResource resource) {
if (resource instanceof SF2Instrument)
! instruments.remove((SF2Instrument)resource);
if (resource instanceof SF2Layer)
! layers.remove((SF2Layer)resource);
if (resource instanceof SF2Sample)
! samples.remove((SF2Sample)resource);
}
public void addInstrument(SF2Instrument resource) {
instruments.add(resource);
}
--- 974,988 ----
samples.add((SF2Sample)resource);
}
public void removeResource(SoundbankResource resource) {
if (resource instanceof SF2Instrument)
! instruments.remove(resource);
if (resource instanceof SF2Layer)
! layers.remove(resource);
if (resource instanceof SF2Sample)
! samples.remove(resource);
}
public void addInstrument(SF2Instrument resource) {
instruments.add(resource);
}
< prev index next >