Android Open Source - Backyard-Brains-Android-App Ring Buffer






From Project

Back to project page Backyard-Brains-Android-App.

License

The source code is released under:

GNU General Public License

If you think the Android project Backyard-Brains-Android-App listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Backyard Brains Android App//from  w ww .  j a v a  2  s. c o m
 * Copyright (C) 2011 Backyard Brains
 * by Nathan Dotz <nate (at) backyardbrains.com>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.backyardbrains.audio;

import java.nio.ByteBuffer;
import java.nio.ShortBuffer;

public class RingBuffer {
  private short[] buffer;
  private int beginning;

  /**
   * @return the beginning
   */
  public int getBeginning() {
    return beginning;
  }

  /**
   * @return the end
   */
  public int getEnd() {
    return end;
  }

  private int end;

  public RingBuffer(int size) {
    buffer = new short[size];
    beginning = end = -1;
  }

  public void add(final ByteBuffer incoming) {
    incoming.clear();
    final ShortBuffer sb = incoming.asShortBuffer();
    System.arraycopy(buffer, sb.capacity(), buffer, 0, buffer.length-sb.capacity());
    sb.get(buffer, buffer.length-sb.capacity(), sb.capacity());
    //System.arraycopy(s, 0, buffer, buffer.length-s.length, s.length);
  }

  /**
   * return an order-adjusted version of the whole buffer
   * 
   * @return
   */
  public short[] getArray() {
    return buffer;
  }

  public void zeroFill() {
  }
}




Java Source Code List

com.backyardbrains.BackyardAndroidActivity.java
com.backyardbrains.BackyardBrainsApplication.java
com.backyardbrains.BackyardBrainsConfigurationActivity.java
com.backyardbrains.FileListActivity.java
com.backyardbrains.TriggerActivity.java
com.backyardbrains.audio.AudioService.java
com.backyardbrains.audio.MicListener.java
com.backyardbrains.audio.ReceivesAudio.java
com.backyardbrains.audio.RecordingSaver.java
com.backyardbrains.audio.RingBuffer.java
com.backyardbrains.audio.TriggerAverager.java
com.backyardbrains.drawing.ContinuousGLSurfaceView.java
com.backyardbrains.drawing.OscilloscopeRenderer.java
com.backyardbrains.drawing.ThresholdGlSurfaceView.java
com.backyardbrains.drawing.ThresholdRenderer.java
com.backyardbrains.view.ScaleListener.java
com.backyardbrains.view.TwoDimensionScaleGestureDetector.java
com.backyardbrains.view.UIFactory.java