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