RenderPattern.java :  » Music » orDrumbox-0.9.0 » com » ordrumbox » core » orsnd » Java Open Source

Java Open Source » Music » orDrumbox 0.9.0 
orDrumbox 0.9.0 » com » ordrumbox » core » orsnd » RenderPattern.java
package com.ordrumbox.core.orsnd;

import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;

import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;

import com.ordrumbox.core.description.OrPattern;
import com.ordrumbox.core.sample.ExportSample;
import com.ordrumbox.core.sample.interfaces.INormSample;

public class RenderPattern extends FileRendering {

  private OrPattern  orPattern;

  public RenderPattern(String filename, OrPattern orPattern, int tempo) {
    setFilename(filename);
    this.orPattern = orPattern;         // used for filename
    setTempo(tempo);                // used for filename
  }

  // ---------------------------------------------------------------------
  public void exportPatternToAudioFile() {
//    writeBuffer(LivePattern.getInstance().getPatternAsWavFormat(orPattern));
  }

  // ---------------------------------------------------------------------------
  private void writeBuffer(byte[] buffer) {
    AudioInputStream audioInputStream = new AudioInputStream(new ByteArrayInputStream(buffer), new AudioFormat(
        (float) ExportSample.getSampleRate(), INormSample.SAMPLE_SIZE_IN_BITS, INormSample.NB_CHANNELS, true, false),
        (long) (buffer.length / INormSample.BYTES_PER_SAMPLE));
    File outputFile = new File(getFilename());
    try {
       AudioSystem.write(audioInputStream, AudioFileFormat.Type.WAVE, outputFile);
    } catch (IOException e) {
      e.printStackTrace();
    }
    // OrLog.print(Level.INFO, "\n save file" + getFilename() + "  Written bytes: " + nWrittenBytes);
  }




  public void exportBufferToFile(BufferedOutputStream bufferedOutputStream) {
//    byte[] buffer = LivePattern.getInstance().getPatternAsWavFormat(getPattern());
//    try {
//      bufferedOutputStream.write(buffer);
//    } catch (IOException e) {
//      e.printStackTrace();
//    }

  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.