de.gulden.framework.jjack.util
Class JJackRecorder

java.lang.Object
  extended by de.gulden.framework.jjack.util.JJackRecorder
All Implemented Interfaces:
JJackAudioProcessor

public class JJackRecorder
extends java.lang.Object
implements JJackAudioProcessor

A client for recording audio data into a memory buffer. Also provides static functions for converting audio data.

Version:
0.3
Author:
Jens Gulden

Field Summary
private  float[][] data
           
private  int pos
           
private  boolean recording
           
 
Constructor Summary
JJackRecorder(float[][] data)
           
JJackRecorder(int seconds)
           
JJackRecorder(int channels, int seconds)
           
 
Method Summary
static float[][] cut(float[][] data, int startFrame, int endFrame)
           
static float[] downmixMono(float[][] data)
           
static byte[] encodeBytes(short[] pcm, boolean signed, boolean bigEndian)
           
static short[][] floatToPCM(float[][] data)
           
 int getPosition()
           
static short[] interleavePCM(short[][] pcm)
           
 boolean isRecording()
           
 void process(JJackAudioEvent e)
          Process multiple samples from input buffer to output buffer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

data

private float[][] data

pos

private int pos

recording

private boolean recording
Constructor Detail

JJackRecorder

public JJackRecorder(int seconds)

JJackRecorder

public JJackRecorder(int channels,
                     int seconds)

JJackRecorder

public JJackRecorder(float[][] data)
Method Detail

process

public void process(JJackAudioEvent e)
Description copied from interface: JJackAudioProcessor
Process multiple samples from input buffer to output buffer. This is regularly called by the JACK daemon.

Specified by:
process in interface JJackAudioProcessor
Parameters:
e - event object with references to input buffer and output buffer.

getPosition

public int getPosition()

isRecording

public boolean isRecording()

floatToPCM

public static short[][] floatToPCM(float[][] data)

interleavePCM

public static short[] interleavePCM(short[][] pcm)

encodeBytes

public static byte[] encodeBytes(short[] pcm,
                                 boolean signed,
                                 boolean bigEndian)

downmixMono

public static float[] downmixMono(float[][] data)

cut

public static float[][] cut(float[][] data,
                            int startFrame,
                            int endFrame)