public static float GetAttribute(TempoStream audioStream, TempoAudioAttributes attribute) { float value = 0; Bass.BASS_ChannelGetAttribute(audioStream.audioHandle, (BASSAttribute)attribute, ref value); return(value); }
public void SetBassAudioStream(AudioInstrument audio, TempoStream stream) { int arrayPos = (int)audio; if (bassAudioStreams[arrayPos] != null) { bassAudioStreams[arrayPos].Dispose(); } bassAudioStreams[arrayPos] = stream; }
public static TempoStream LoadTempoStream(string filepath) { int audioStreamHandle = Bass.BASS_StreamCreateFile(filepath, 0, 0, BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_ASYNCFILE | BASSFlag.BASS_STREAM_PRESCAN); audioStreamHandle = Un4seen.Bass.AddOn.Fx.BassFx.BASS_FX_TempoCreate(audioStreamHandle, BASSFlag.BASS_FX_FREESOURCE); var newStream = new TempoStream(audioStreamHandle); liveAudioStreams.Add(newStream); return(newStream); }
void SetStreamProperties(TempoStream stream, float speed, float vol) { if (AudioManager.StreamIsValid(stream)) { // Reset stream.frequency = 0; stream.tempoPitch = 0; stream.tempo = 0; stream.volume = vol * GameSettings.vol_master; stream.pan = GameSettings.audio_pan; if (speed < 1) { float originalFreq = stream.frequency; float freq = originalFreq * speed; if (freq < 100) { freq = 100; } else if (freq > 100000) { freq = 100000; } stream.frequency = freq; #if false // Pitch shifting equation Bass.BASS_ChannelSetAttribute(handle, BASSAttribute.BASS_ATTRIB_TEMPO_PITCH, Mathf.Log(1.0f / speed, Mathf.Pow(2, 1.0f / 12.0f))); #endif } else { stream.tempo = speed * 100 - 100; } } }
void SetStreamProperties(TempoStream stream, float speed, float vol) { if (AudioManager.StreamIsValid(stream)) { // Reset stream.frequency = 0; stream.tempoPitch = 0; stream.tempo = 0; stream.volume = vol * Globals.gameSettings.vol_master; stream.pan = Globals.gameSettings.audio_pan; if (speed < 1 && !Globals.gameSettings.slowdownPitchCorrectionEnabled) { float originalFreq = stream.frequency; float freq = originalFreq * speed; if (freq < 100) { freq = 100; } else if (freq > 100000) { freq = 100000; } stream.frequency = freq; // // Pitch shifting equation // stream.tempoPitch = Mathf.Log(1.0f / speed, Mathf.Pow(2, 1.0f / 12.0f)); } else { stream.tempo = speed * 100 - 100; } } }
public bool GetAudioIsLoaded(AudioInstrument audio) { TempoStream stream = GetAudioStream(audio); return(AudioManager.StreamIsValid(stream)); }
public static void SetAttribute(TempoStream audioStream, TempoAudioAttributes attribute, float value) { Bass.BASS_ChannelSetAttribute(audioStream.audioHandle, (BASSAttribute)attribute, value); }