示例#1
0
  private void writeSdtaChunk(RIFFWriter writer) throws IOException {

    byte[] pad = new byte[32];

    RIFFWriter smpl_chunk = writer.writeChunk("smpl");
    for (SF2Sample sample : samples) {
      ModelByteBuffer data = sample.getDataBuffer();
      data.writeTo(smpl_chunk);
      /*
      smpl_chunk.write(data.array(),
      data.arrayOffset(),
      data.capacity());
       */
      smpl_chunk.write(pad);
      smpl_chunk.write(pad);
    }
    if (major < 2) return;
    if (major == 2 && minor < 4) return;

    for (SF2Sample sample : samples) {
      ModelByteBuffer data24 = sample.getData24Buffer();
      if (data24 == null) return;
    }

    RIFFWriter sm24_chunk = writer.writeChunk("sm24");
    for (SF2Sample sample : samples) {
      ModelByteBuffer data = sample.getData24Buffer();
      data.writeTo(sm24_chunk);
      /*
      sm24_chunk.write(data.array(),
      data.arrayOffset(),
      data.capacity());*/
      smpl_chunk.write(pad);
    }
  }