public void ReloadMusic() { if (Bass.BASS_ChannelIsActive(StreamHandle) != BASSActive.BASS_ACTIVE_STOPPED) { ResetPlayer(); } if (FileName != null && System.IO.File.Exists(FileName)) { StreamHandle = Bass.BASS_StreamCreateFile(FileName, 0, 0, BASSFlag.BASS_SAMPLE_FLOAT); Bass.BASS_ChannelPlay(StreamHandle, false); BASS_CHANNELINFO bassInfo = new BASS_CHANNELINFO(); Bass.BASS_ChannelGetInfo(StreamHandle, bassInfo); CurrentBPM.Reset(bassInfo.freq); bpmTimer.Start(); } }
private void UpdateTempoUI() { this.source.pitch = Mathf.Lerp(0f, 1f, speedSlider.value); int bpm = -1; int.TryParse(bpmField.text, out bpm); if (bpm != -1) { CurrentBPM = Mathf.Clamp(bpm, 1, 200); bpmField.text = CurrentBPM.ToString(); } int beatsPerMeasure = -1; int.TryParse(beatsPerMeasureField.text, out beatsPerMeasure); if (beatsPerMeasure != -1) { CurrentBPB = Mathf.Clamp(beatsPerMeasure, 1, 8); beatsPerMeasureField.text = CurrentBPB.ToString(); } }
private void Bpm_tick(object sender, ElapsedEventArgs e) { BPM_Avaliable = CurrentBPM.ProcessAudio(StreamHandle, false); }