Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package lab2;
- import c4e.media.ToneEmitter;
- import c4e.phidget.Event;
- import c4e.phidget.HardwareInterface;
- public class NotePlayer extends HardwareInterface
- {
- private ToneEmitter emitter;
- private long delay;
- private double ThumbMin;
- private double ThumbMax;
- private double IndexMin;
- private double IndexMax;
- private double z;
- private double c;
- public NotePlayer(boolean debug)
- {
- super(debug);
- this.emitter = new ToneEmitter();
- this.delay = 1000;
- this.setTimer(delay);
- this.ThumbMin = 360;
- this.ThumbMax = 560;
- this.IndexMin = ToneEmitter.NOTE_C;
- this.IndexMax = 2*ToneEmitter.NOTE_C;
- }
- @Override
- public void timerCallback()
- {
- System.out.println("Playing C");
- this.emitter.setVolume(1.0);
- this.emitter.play(ToneEmitter.NOTE_C);
- }
- @Override
- public void analogInputChanged(Event ae)
- {
- System.out.println("analogInputChange event " + ae);
- ae.getId();
- if (ae.getId() == 1) {
- this.z = ae.getValue() - ThumbMin;
- if (ae.getValue() <= ThumbMin) {
- this.emitter.setVolume(0.0);
- }
- else if (ae.getValue() >= ThumbMax){
- this.emitter.setVolume(1.0);
- }
- else{
- this.emitter.setVolume(z/200) ;
- }
- }
- else if (ae.getId() == 2) {
- this.c = (261*(ae.getValue() - IndexMin)/(260))+262;
- if (ae.getValue() <= 380) {
- this.emitter.setFrequency(ToneEmitter.NOTE_C);
- }
- else if ( ae.getValue() >= 640){
- this.emitter.setFrequency(2*ToneEmitter.NOTE_C);
- }
- else {
- this.emitter.setFrequency(c);
- }
- /*else if (ae.getValue() >294 &( ae.getValue() <= 330)){
- this.emitter.setFrequency(ToneEmitter.NOTE_D);;
- }
- else if (ae.getValue() >330 &( ae.getValue() <= 349)){
- this.emitter.setFrequency(ToneEmitter.NOTE_E);
- }
- else if (ae.getValue() >349 &( ae.getValue() <= 392)){
- this.emitter.setFrequency(ToneEmitter.NOTE_F);
- }
- else if (ae.getValue() >392 &( ae.getValue() <= 440)){
- this.emitter.setFrequency(ToneEmitter.NOTE_G);
- }
- else if (ae.getValue() >440 &( ae.getValue() <= 494)){
- this.emitter.setFrequency(ToneEmitter.NOTE_A);
- }
- else if (ae.getValue() >494 &( ae.getValue() <= 523)){
- this.emitter.setFrequency(ToneEmitter.NOTE_B);
- }*/
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement