package com.PP.StompDetector; import android.app.Activity; import android.util.Log; import com.PP.LunarTabsAndroid.APIs.MetronomeAPI; import com.PP.LunarTabsAndroid.Activities.MainActivity; public class MetronomeStomp implements StompListener { protected MainActivity mainActivity; //state protected boolean tempoSet = false; protected double lastTS = -1; public MetronomeStomp(Activity parent) { mainActivity = (MainActivity) parent; } @Override public void trigger_callback(double timestamp) { if(!tempoSet && lastTS==-1) { //state Log.d("FIRST SET", ""+lastTS); lastTS = timestamp; } else if(!tempoSet && lastTS!=-1) { //find tempo and start metronome double diff_ms = timestamp - lastTS; double bpm = 1.0 / (diff_ms / (1000*60)); MetronomeAPI.getInstance().setBpm((short)bpm); MetronomeAPI.getInstance().start(); //state Log.d("TEMPO SET", ""+bpm); tempoSet = true; } else if(tempoSet && lastTS!=-1) { //stop metronome MetronomeAPI.getInstance().stop(); //state tempoSet = false; lastTS = -1; Log.d("RESET", ""+lastTS); } } }