1 package com.faust; 2 3 import com.faust.MultiParams.OnMultiParamsChangeListener; 4 5 import android.app.Activity; 6 import android.content.SharedPreferences; 7 import android.os.Bundle; 8 9 public class MultiActivity extends Activity { 10 int nParams; 11 float[] values; 12 ParametersInfo parametersInfo; 13 14 @Override onCreate(Bundle savedInstanceState)15 public void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.multi); 18 19 int numberOfParameters = FaustActivity.dspFaust.getParamsCount(); 20 parametersInfo = new ParametersInfo(); 21 parametersInfo.init(numberOfParameters); 22 SharedPreferences settings = getSharedPreferences("savedParameters", 0); 23 parametersInfo.loadParameters(settings); 24 25 final MultiParams mp = (MultiParams) this.findViewById(R.id.MultiParams); 26 int nMultiParams = parametersInfo.nMultiParams; 27 nParams = parametersInfo.nParams; 28 String[] labels = new String[nMultiParams]; 29 final String[] addresses = new String[nMultiParams]; 30 float[] min = new float[nMultiParams]; 31 float[] max = new float[nMultiParams]; 32 values = new float[nMultiParams]; 33 34 for(int i=0; i<nParams; i++){ 35 int currentIndex = parametersInfo.order[i]; 36 if(currentIndex != -1){ 37 addresses[currentIndex] = FaustActivity.dspFaust.getParamAddress(i); 38 labels[currentIndex] = parametersInfo.label[i]; 39 min[currentIndex] = parametersInfo.min[i]; 40 max[currentIndex] = parametersInfo.max[i]; 41 values[currentIndex] = FaustActivity.dspFaust.getParamValue(addresses[currentIndex]); 42 } 43 } 44 mp.setParams(labels, min, max, values); 45 46 mp.setOnMultiParamsChangeListener(new OnMultiParamsChangeListener(){ 47 @Override 48 public void onParamChange(int paramID, float value) { 49 FaustActivity.dspFaust.setParamValue(addresses[paramID], value); 50 } 51 }); 52 } 53 54 @Override onDestroy()55 public void onDestroy(){ 56 super.onDestroy(); 57 } 58 } 59