Esempio n. 1
0
        public VoiceValue(UpdateHandler updateHandler, int voiceNum, ISoundMaker maker)
        {
            this.voiceNum      = voiceNum;
            this.maker         = maker;
            this.updateHandler = updateHandler;
            voice = maker.GetVoice(voiceNum);
            maker.SetWave(voiceNum, "square");
            this.updateHandler.AddObserver(this);

            InitalizeSuffixes();
        }
Esempio n. 2
0
        public VoiceValue(UpdateHandler updateHandler, int voiceNum, ISoundMaker maker)
        {
            this.voiceNum = voiceNum;
            this.maker = maker;
            this.updateHandler = updateHandler;
            voice = maker.GetVoice(voiceNum);
            maker.SetWave(voiceNum, "square");
            this.updateHandler.AddObserver(this);

            InitalizeSuffixes();
        }
Esempio n. 3
0
 public void InitalizeSuffixes()
 {
     AddSuffix("ATTACK", new SetSuffix <ScalarValue>(() => voice.Attack, value => voice.Attack         = value));
     AddSuffix("DECAY", new SetSuffix <ScalarValue>(() => voice.Decay, value => voice.Decay            = value));
     AddSuffix("SUSTAIN", new ClampSetSuffix <ScalarValue>(() => voice.Sustain, value => voice.Sustain = value, 0, 1));
     AddSuffix("RELEASE", new SetSuffix <ScalarValue>(() => voice.Release, value => voice.Release      = value));
     AddSuffix("VOLUME", new SetSuffix <ScalarValue>(() => voice.Volume, value => voice.Volume         = value));
     AddSuffix("WAVE", new SetSuffix <StringValue>(() => maker.GetWaveName(voiceNum), value => maker.SetWave(voiceNum, value.ToString())));
     AddSuffix("PLAY", new OneArgsSuffix <Structure>(Play));
     AddSuffix("STOP", new NoArgsVoidSuffix(Stop));
     AddSuffix("LOOP", new SetSuffix <BooleanValue>(() => loop, value => loop = value));
     AddSuffix("ISPLAYING", new SetSuffix <BooleanValue>(() => IsPlaying, value => IsPlaying = value));
     AddSuffix("TEMPO", new SetSuffix <ScalarValue>(() => tempo, value => tempo = (float)value.GetDoubleValue()));
 }