Package nodebox.client

Source Code of nodebox.client.MinimApplet

package nodebox.client;

import ddf.minim.*;
import ddf.minim.analysis.BeatDetect;
import processing.core.PApplet;

public class MinimApplet extends PApplet {
    private Minim minim;
    private AudioPlayer player = null;
    private String fileName;
    private BeatDetect beat;
    private boolean loop;

    public MinimApplet(String fileName, boolean loop) {
        this.fileName = fileName;
        this.loop = loop;
    }

    public void setup() {
        minim = new Minim(this);
        player = minim.loadFile(fileName, 1024);
        beat = new BeatDetect(player.bufferSize(), player.sampleRate());
        if (loop)
            player.loop();
    }

    public AudioPlayer getPlayer() {
        if (player == null) return null;
        return player;
    }

    public boolean isPaused() {
        if (player == null) return false;
        return !player.isPlaying();
    }

    public void pause() {
        if (player == null) return;
        player.pause();
    }

    public void play() {
        if (player == null) return;
        player.play();
    }

    public void mute() {
        if (player == null) return;
        player.mute();
    }

    public void unmute() {
        if (player == null) return;
        player.unmute();
    }

    public boolean isMuted() {
        if (player == null) return false;
        return player.isMuted();
    }

    public BeatDetect getBeatDetect() {
        return beat;
    }

    public void draw() {
        beat.detect(player.mix);
    }

    @Override
    public void stop() {
        if (player != null)
            player.close();
        player = null;
        if (minim != null)
            minim.stop();
    }
}
TOP

Related Classes of nodebox.client.MinimApplet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.