示例#1
0
        public void UpdateDistortion()
        {
            BassEngine engine = BassEngine.Instance;

            if (DistortionITM.switchx)
            {
                if (DistortionITM.fxState == false)
                {
                    Bass.BASS_FXSetParameters(_fxDistortionHandle, _distortionfx);
                }
                if (DistortionITM.fxState == false)
                {
                    _fxDistortionHandle = Bass.BASS_ChannelSetFX(engine.ActiveStreamHandle,
                                                                 BASSFXType.BASS_FX_DX8_DISTORTION, 0);
                }
                _distortionfx.Preset_Default();

                switch (DistortionITM.SelUTx)
                {
                case "Default Preset":
                    _distortionfx.Preset_Default();
                    break;
                }
            }
            else
            {
                Bass.BASS_ChannelRemoveFX(engine.ActiveStreamHandle, _fxDistortionHandle);
            }
        }
示例#2
0
        public void SetEQ(float[] _gains)
        {
            //if (stream != 0)
            {
                for (int i = 0; i < 18; i++)
                {
                    fxBands[i] = Bass.BASS_ChannelSetFX(stream, BASSFXType.BASS_FX_DX8_PARAMEQ, 0);
                    gains[i]   = _gains[i];
                }

                //BASS_DX8_PARAMEQ p = new BASS_DX8_PARAMEQ();

                Bass.BASS_FXSetParameters(fxBands[0], new BASS_DX8_PARAMEQ(31f, 1f, gains[0]));
                Bass.BASS_FXSetParameters(fxBands[1], new BASS_DX8_PARAMEQ(63f, 2f, gains[1]));
                Bass.BASS_FXSetParameters(fxBands[2], new BASS_DX8_PARAMEQ(87f, 3f, gains[2]));
                Bass.BASS_FXSetParameters(fxBands[3], new BASS_DX8_PARAMEQ(125f, 4f, gains[3]));
                Bass.BASS_FXSetParameters(fxBands[4], new BASS_DX8_PARAMEQ(175f, 5f, gains[4]));
                Bass.BASS_FXSetParameters(fxBands[5], new BASS_DX8_PARAMEQ(250f, 6f, gains[5]));
                Bass.BASS_FXSetParameters(fxBands[6], new BASS_DX8_PARAMEQ(350f, 7f, gains[6]));
                Bass.BASS_FXSetParameters(fxBands[7], new BASS_DX8_PARAMEQ(500f, 8f, gains[7]));
                Bass.BASS_FXSetParameters(fxBands[8], new BASS_DX8_PARAMEQ(700f, 9f, gains[8]));
                Bass.BASS_FXSetParameters(fxBands[9], new BASS_DX8_PARAMEQ(1000f, 10f, gains[9]));
                Bass.BASS_FXSetParameters(fxBands[10], new BASS_DX8_PARAMEQ(1400f, 11f, gains[10]));
                Bass.BASS_FXSetParameters(fxBands[11], new BASS_DX8_PARAMEQ(2000f, 12f, gains[11]));
                Bass.BASS_FXSetParameters(fxBands[12], new BASS_DX8_PARAMEQ(2800f, 13f, gains[12]));
                Bass.BASS_FXSetParameters(fxBands[13], new BASS_DX8_PARAMEQ(4000f, 14f, gains[13]));
                Bass.BASS_FXSetParameters(fxBands[14], new BASS_DX8_PARAMEQ(5600f, 15f, gains[14]));
                Bass.BASS_FXSetParameters(fxBands[15], new BASS_DX8_PARAMEQ(8000f, 16f, gains[15]));
                Bass.BASS_FXSetParameters(fxBands[16], new BASS_DX8_PARAMEQ(11200f, 17f, gains[16]));
                Bass.BASS_FXSetParameters(fxBands[17], new BASS_DX8_PARAMEQ(16000f, 18f, gains[17]));
            }
        }
示例#3
0
        private void checkBoxFlanger_CheckedChanged(object sender, System.EventArgs e)
        {
            if (_StreamFX == 0)
            {
                return;
            }

            if (this.checkBoxFlanger.Checked)
            {
                // and add a DSP here as well...
                _flangerFX = Bass.BASS_ChannelSetFX(_StreamFX, BASSFXType.BASS_FX_BFX_FLANGER, -4);
                BASS_BFX_FLANGER flanger = new BASS_BFX_FLANGER();
                flanger.Preset_Default();
                Bass.BASS_FXSetParameters(_flangerFX, flanger);

                // just to demo how to get
                BASS_BFX_FLANGER f = new BASS_BFX_FLANGER();
                Bass.BASS_FXGetParameters(_flangerFX, f);
            }
            else
            {
                // remove the DSP
                Bass.BASS_ChannelRemoveFX(_StreamFX, _flangerFX);
                _flangerFX = 0;
            }
        }
示例#4
0
文件: BASSControl.cs 项目: walney/KMC
        public static void BASSPlayBackEngine(Int64 length, Int64 pos)
        {
            if (MainWindow.Seeking)
            {
                BassMidi.BASS_MIDI_StreamEvent(MainWindow.KMCGlobals._recHandle, 0, BASSMIDIEvent.MIDI_EVENT_NOTESOFF, 0);
                BassVst.BASS_VST_ProcessEvent(MainWindow.VSTs._VSTiHandle, 0, BASSMIDIEvent.MIDI_EVENT_NOTESOFF, 0);

                Bass.BASS_ChannelSetPosition(MainWindow.KMCGlobals._recHandle, MainWindow.CurrentSeek, BASSMode.BASS_POS_MIDI_TICK);
                MainWindow.Seeking = false;
                return;
            }

            Int32 tempo = BassMidi.BASS_MIDI_StreamGetEvent(MainWindow.KMCGlobals._recHandle, 0, BASSMIDIEvent.MIDI_EVENT_TEMPO);

            MainWindow.KMCGlobals.OriginalTempo = 60000000 / tempo;

            Bass.BASS_ChannelFlags(MainWindow.KMCGlobals._recHandle, Properties.Settings.Default.DisableEffects ? BASSFlag.BASS_MIDI_NOFX : 0, BASSFlag.BASS_MIDI_NOFX);
            Bass.BASS_ChannelFlags(MainWindow.KMCGlobals._recHandle, Properties.Settings.Default.NoteOff1 ? BASSFlag.BASS_MIDI_NOTEOFF1 : 0, BASSFlag.BASS_MIDI_NOTEOFF1);

            for (Int32 i = 0; i <= 15; i++)
            {
                BassMidi.BASS_MIDI_StreamEvent(MainWindow.KMCGlobals._recHandle, i, BASSMIDIEvent.MIDI_EVENT_MIXLEVEL, MainWindow.KMCStatus.ChannelsVolume[i]);
            }

            MainWindow.KMCGlobals._VolFXParam.fCurrent = 1.0f;
            MainWindow.KMCGlobals._VolFXParam.fTarget  = Properties.Settings.Default.Volume;
            MainWindow.KMCGlobals._VolFXParam.fTime    = 0.0f;
            MainWindow.KMCGlobals._VolFXParam.lCurve   = 0;
            Bass.BASS_FXSetParameters(MainWindow.KMCGlobals._VolFX, MainWindow.KMCGlobals._VolFXParam);

            Bass.BASS_ChannelSetAttribute(MainWindow.KMCGlobals._recHandle, BASSAttribute.BASS_ATTRIB_MIDI_VOICES, Properties.Settings.Default.Voices);
        }
示例#5
0
        public void UpdateFlanger()
        {
            BassEngine engine = BassEngine.Instance;

            if (FlangerITM.switchx)
            {
                if (FlangerITM.fxState == false)
                {
                    Bass.BASS_FXSetParameters(_fxFlangerHandle, _flangerfx);
                }
                if (FlangerITM.fxState == false)
                {
                    _fxFlangerHandle = Bass.BASS_ChannelSetFX(engine.ActiveStreamHandle, BASSFXType.BASS_FX_DX8_FLANGER,
                                                              0);
                }
                switch (FlangerITM.SelUTx)
                {
                case "Default Preset":
                    _flangerfx.Preset_Default();
                    break;

                case "Preset: A":
                    _flangerfx.Preset_A();
                    break;

                case "Preset: B":
                    _flangerfx.Preset_B();
                    break;
                }
            }
            else
            {
                Bass.BASS_ChannelRemoveFX(engine.ActiveStreamHandle, _fxFlangerHandle);
            }
        }
示例#6
0
        public void SetEqualizerPosition(int freq, float position)
        {
            var par = new BASS_DX8_PARAMEQ(freq, 5, position);

            Bass.BASS_FXSetParameters(GetFXHandle(freq), par);
            _lastEqualizerValues[freq] = position;
        }
示例#7
0
        public void UpdateI3Dl2Reverb()
        {
            BassEngine engine = BassEngine.Instance;

            if (I3DL2ReverbITM.switchx)
            {
                if (I3DL2ReverbITM.fxState == false)
                {
                    Bass.BASS_FXSetParameters(_fxI3Dl2ReverbHandle, _i3Dl2Reverbfx);
                }
                if (I3DL2ReverbITM.fxState == false)
                {
                    _fxI3Dl2ReverbHandle = Bass.BASS_ChannelSetFX(engine.ActiveStreamHandle,
                                                                  BASSFXType.BASS_FX_DX8_I3DL2REVERB, 0);
                }
                switch (I3DL2ReverbITM.SelUTx)
                {
                case "Default Preset":
                    _i3Dl2Reverbfx.Preset_Default();
                    break;
                }
            }
            else
            {
                Bass.BASS_ChannelRemoveFX(engine.ActiveStreamHandle, _fxI3Dl2ReverbHandle);
            }
        }
示例#8
0
        public void UpdateGargle()
        {
            BassEngine engine = BassEngine.Instance;

            if (GargleITM.switchx)
            {
                if (GargleITM.fxState == false)
                {
                    Bass.BASS_FXSetParameters(_fxGargleHandle, _garglefx);
                }
                if (GargleITM.fxState == false)
                {
                    _fxGargleHandle = Bass.BASS_ChannelSetFX(engine.ActiveStreamHandle, BASSFXType.BASS_FX_DX8_GARGLE, 0);
                }

                switch (GargleITM.SelUTx)
                {
                case "Default Preset":
                    _garglefx.Preset_Default();
                    break;
                }
            }
            else
            {
                Bass.BASS_ChannelRemoveFX(engine.ActiveStreamHandle, _fxGargleHandle);
            }
        }
示例#9
0
        /// <summary>
        /// Sets the equalizer value according to frequency.
        /// </summary>
        /// <param name="frequency"></param>
        /// <param name="value"></param>
        public void SetEqualizerFrequency(Int32 frequency, Double value)
        {
            EqualizerValue   equalizerValue = new EqualizerValue(frequency, value);
            BASS_DX8_PARAMEQ parameqDX8     = new BASS_DX8_PARAMEQ();

            if (values.ContainsKey(frequency))
            {
                Handle eqValueHandle = values[frequency]?.Handle;

                if (eqValueHandle != null)
                {
                    Bass.BASS_ChannelRemoveFX(handle, eqValueHandle);
                }
            }

            Int32 fxHandle = Bass.BASS_ChannelSetFX(handle, BASSFXType.BASS_FX_DX8_PARAMEQ, frequency);

            equalizerValue.Handle = new Handle(fxHandle);

            parameqDX8.fCenter    = frequency;
            parameqDX8.fGain      = (Single)value;
            parameqDX8.fBandwidth = 8f;

            Bass.BASS_FXSetParameters(equalizerValue.Handle, parameqDX8);

            values[frequency] = equalizerValue;
        }
示例#10
0
        public void UpdateChorus()
        {
            BassEngine engine = BassEngine.Instance;

            if (chorusITM.switchx)
            {
                if (chorusITM.fxState == false)
                {
                    Bass.BASS_FXSetParameters(_fxChorusHandle, _chorusfx);
                }
                if (chorusITM.fxState == false)
                {
                    _fxChorusHandle = Bass.BASS_ChannelSetFX(engine.ActiveStreamHandle, BASSFXType.BASS_FX_DX8_CHORUS, 0);
                }

                switch (chorusITM.SelUTx)
                {
                case "Default Preset":
                    _chorusfx.Preset_Default();
                    break;

                case "Preset: A":
                    _chorusfx.Preset_A();
                    break;

                case "Preset: B":
                    _chorusfx.Preset_B();
                    break;
                }
            }
            else
            {
                Bass.BASS_ChannelRemoveFX(engine.ActiveStreamHandle, _fxChorusHandle);
            }
        }
示例#11
0
        public void UpdateEQBass(int band, float gain)
        {
            try
            {
                BASS_BFX_PEAKEQ eq = new BASS_BFX_PEAKEQ();


                ArrBandValue[band].Gain = gain;

                if (m_bandValue.Handle == -1)
                {
                    //  AppSettings.Set("AudioEQBand" + band, gain.ToString());
                    return;
                }

                //m_bandValue.Gain = gain;

                // get values of the selected band
                eq.lBand = band;
                Bass.BASS_FXGetParameters(m_bandValue.Handle, eq);
                eq.fGain = gain / 10;
                Bass.BASS_FXSetParameters(m_bandValue.Handle, eq);
                Console.WriteLine(m_bandValue.Handle + " : " + eq.fCenter + " : " + eq.fGain + " : " + ArrBandValue[band].Gain);
                //AppSettings.Set("AudioEQBand" + band, gain.ToString("0.0"));
            }
            catch (Exception ex)
            {
                Logger.LogFile(ex.Message, "", "UpdateEQBass", ex.LineNumber(), "Equalizer Class");
            }
        }
示例#12
0
 /// <summary>
 /// Equalizer parameter
 /// </summary>
 /// <param name="fxchan">_fx Array channel</param>
 /// <param name="center"> Center band</param>
 /// <param name="gain"> Gain for the band</param>
 /// <returns></returns>
 public bool SetEqParams(int fxchan, double center, double gain)
 {
     _parEq.fBandwidth = 18.0f;
     _parEq.fCenter    = (float)center;
     _parEq.fGain      = (float)gain;
     return(Bass.BASS_FXSetParameters(_fx[fxchan], _parEq));
 }
示例#13
0
 public bool SetParametersEQ(int fx, int center, float gain)
 {
     pARAMEQ.fBandwidth = 18.0f;
     pARAMEQ.fCenter    = (float)center;
     pARAMEQ.fGain      = (float)gain;
     return(Bass.BASS_FXSetParameters(fx, pARAMEQ));
 }
        /// <summary>
        /// Sets the replay gain for a channel.
        /// </summary>
        /// <param name="audioStream">The audio stream.</param>
        private static void SetReplayGain(AudioStream audioStream)
        {
            if (audioStream == null || !audioStream.IsAudioLoaded())
            {
                throw new Exception("Audio file null or not audio not loaded");
            }

            if (!audioStream.IsGainChannelInitialized() && audioStream.Gain == 0)
            {
                return;
            }

            var volume = DecibelToPercent(audioStream.Gain);

            // DebugHelper.WriteLine("SetReplayGain for " + audioStream + " to " + volume);

            if (!audioStream.IsGainChannelInitialized())
            {
                audioStream.GainChannel = Bass.BASS_ChannelSetFX(audioStream.ChannelId, BASSFXType.BASS_FX_BFX_VOLUME, int.MaxValue);
            }

            var volumeParameters = new BASS_BFX_VOLUME(volume, BASSFXChan.BASS_BFX_CHANALL);

            Bass.BASS_FXSetParameters(audioStream.GainChannel, volumeParameters);
        }
示例#15
0
        private void PrepareChannelsToSplit(int index, IList <int> ArrangedChannels, int channels, float vol, string file, MoggSplitFormat format, string quality, bool slave = true)
        {
            var channel_map = new int[channels == 2 ? 3 : 2];

            channel_map[0] = ArrangedChannels[index];
            channel_map[1] = channels == 2 ? ArrangedChannels[index + 1] : -1;
            if (channels == 2)
            {
                channel_map[2] = -1;
            }
            var flags      = slave ? BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_SPLIT_SLAVE : BASSFlag.BASS_STREAM_DECODE;
            var out_stream = BassMix.BASS_Split_StreamCreate(SourceStream, flags, channel_map);
            var volumeFX   = Bass.BASS_ChannelSetFX(out_stream, BASSFXType.BASS_FX_BFX_VOLUME, 0);
            var volume     = new BASS_BFX_VOLUME {
                lChannel = 0, fVolume = vol
            };

            Bass.BASS_FXSetParameters(volumeFX, volume);
            Splits.Add(out_stream);
            if (format == MoggSplitFormat.OGG)
            {
                var cmd = "bin\\oggenc2.exe -q" + quality + " - -o\"" + file + "\"";
                BassEnc.BASS_Encode_Start(out_stream, cmd, BASSEncode.BASS_ENCODE_FP_24BIT | BASSEncode.BASS_ENCODE_AUTOFREE, null, IntPtr.Zero);
            }
            else
            {
                BassEnc.BASS_Encode_Start(out_stream, file, BASSEncode.BASS_ENCODE_PCM | BASSEncode.BASS_ENCODE_AUTOFREE, null, IntPtr.Zero);
            }
        }
示例#16
0
        public void UpdateApf()
        {
            BassEngine engine = BassEngine.Instance;

            if (APFITM.switchx)
            {
                if (APFITM.fxState == false)
                {
                    Bass.BASS_FXSetParameters(_fxApfHandle, _apFfx);
                }
                if (APFITM.fxState == false)
                {
                    _fxApfHandle = Bass.BASS_ChannelSetFX(engine.ActiveStreamHandle, BASSFXType.BASS_FX_BFX_APF, 0);
                }
                _apFfx.Preset_RobotVoice();

                switch (APFITM.SelUTx)
                {
                case "Default Preset":
                    _apFfx.Preset_RobotVoice();
                    break;
                }
            }
            else
            {
                Bass.BASS_ChannelRemoveFX(engine.ActiveStreamHandle, _fxApfHandle);
            }
        }
示例#17
0
        public void UpdateEcho()
        {
            BassEngine engine = BassEngine.Instance;

            if (EchoITM.switchx)
            {
                if (EchoITM.fxState == false)
                {
                    Bass.BASS_FXSetParameters(_fxEchoHandle, _echofx);
                }
                if (EchoITM.fxState == false)
                {
                    _fxEchoHandle = Bass.BASS_ChannelSetFX(engine.ActiveStreamHandle, BASSFXType.BASS_FX_DX8_ECHO, 0);
                }
                switch (EchoITM.SelUTx)
                {
                case "Default Preset":
                    _echofx.Preset_Default();
                    break;

                case "Preset: Short":
                    _echofx.Preset_Long();
                    break;

                case "Preset: Long":
                    _echofx.Preset_Small();
                    break;
                }
            }
            else
            {
                Bass.BASS_ChannelRemoveFX(engine.ActiveStreamHandle, _fxEchoHandle);
            }
        }
示例#18
0
        public void UpdatePhaser()
        {
            BassEngine engine = BassEngine.Instance;

            if (PhaserITM.switchx)
            {
                if (PhaserITM.fxState == false)
                {
                    Bass.BASS_FXSetParameters(_fxPhaserHandle, _phaserfx);
                }
                if (PhaserITM.fxState == false)
                {
                    _fxPhaserHandle = Bass.BASS_ChannelSetFX(engine.ActiveStreamHandle, BASSFXType.BASS_FX_BFX_PHASER, 0);
                }
                _phaserfx.Preset_PhaseShift();
                switch (PhaserITM.SelUTx)
                {
                case "Default Preset":
                    break;
                }
            }
            else
            {
                Bass.BASS_ChannelRemoveFX(engine.ActiveStreamHandle, _fxPhaserHandle);
            }
        }
示例#19
0
        public void UpdateAutoWah()
        {
            BassEngine engine = BassEngine.Instance;

            if (AutoWahITM.switchx)
            {
                if (AutoWahITM.fxState == false)
                {
                    Bass.BASS_FXSetParameters(_fxAutoWahHandle, _autoWahfx);
                }
                if (AutoWahITM.fxState == false)
                {
                    _fxAutoWahHandle = Bass.BASS_ChannelSetFX(engine.ActiveStreamHandle, BASSFXType.BASS_FX_BFX_AUTOWAH,
                                                              0);
                }
                _autoWahfx.Preset_SlowAutoWah();
                switch (AutoWahITM.SelUTx)
                {
                case "Default Preset":
                    _autoWahfx.Preset_HiFastAutoWah();
                    break;
                }
            }
            else
            {
                Bass.BASS_ChannelRemoveFX(engine.ActiveStreamHandle, _fxAutoWahHandle);
            }
        }
示例#20
0
文件: BASSControl.cs 项目: walney/KMC
 public static void BASSVolumeSlideInit()
 {
     MainWindow.KMCGlobals._VolFX = Bass.BASS_ChannelSetFX((MainWindow.VSTs.VSTInfo[0].isInstrument ? MainWindow.VSTs._VSTiHandle : MainWindow.KMCGlobals._recHandle), BASSFXType.BASS_FX_VOLUME, 1);
     MainWindow.KMCGlobals._VolFXParam.fCurrent = 1.0f;
     MainWindow.KMCGlobals._VolFXParam.fTarget  = Properties.Settings.Default.Volume;
     MainWindow.KMCGlobals._VolFXParam.fTime    = 0.0f;
     MainWindow.KMCGlobals._VolFXParam.lCurve   = 0;
     Bass.BASS_FXSetParameters(MainWindow.KMCGlobals._VolFX, MainWindow.KMCGlobals._VolFXParam);
 }
示例#21
0
        private void UpdateEQ(int band, float gain)
        {
            BASS_DX8_PARAMEQ eq = new BASS_DX8_PARAMEQ();

            if (Bass.BASS_FXGetParameters(_fxEQ[band], eq))
            {
                eq.fGain = gain;
                Bass.BASS_FXSetParameters(_fxEQ[band], eq);
            }
        }
示例#22
0
 protected virtual void UpdateDSP()
 {
     if (this.FChannel != null)
     {
         if (this.FChannel.BassHandle.HasValue && this.FDSPHandle != 0)
         {
             Bass.BASS_FXSetParameters(this.FDSPHandle, this.FDsp);
         }
     }
 }
        public static void UpdateEq(int band, double gain)
        {
            Eq[band] = gain;
            var eq = new BASS_DX8_PARAMEQ();

            if (Bass.BASS_FXGetParameters(FxEq[band], eq))
            {
                eq.fGain = (float)gain;
                Bass.BASS_FXSetParameters(FxEq[band], eq);
            }
        }
示例#24
0
        //public void SetReverb(int progress)
        //{
        //    BASS_DX8_REVERB p = new BASS_DX8_REVERB();
        //    Bass.BASS_FXGetParameters(fxReverb, p);
        //    p.fReverbMix = (float)(progress > 15 ? Math.Log((double)progress / 20.0) * 20.0 : -96.0);
        //    Bass.BASS_FXSetParameters(fxReverb, p);
        //}

        public void UpdateEQ(int band, float gain)
        {
            BASS_DX8_PARAMEQ p = new BASS_DX8_PARAMEQ();

            if (Bass.BASS_FXGetParameters(fxBands[band], p))
            {
                gains[band] = gain;
                p.fGain     = gain;
                Bass.BASS_FXSetParameters(fxBands[band], p);
            }
        }
示例#25
0
        public void UpdateCompressor()
        {
            BassEngine engine = BassEngine.Instance;

            if (CompressorITM.switchx)
            {
                if (CompressorITM.fxState == false)
                {
                    Bass.BASS_FXSetParameters(_fxCompressorHandle, _compressorfx);
                }
                if (CompressorITM.fxState == false)
                {
                    _fxCompressorHandle = Bass.BASS_ChannelSetFX(engine.ActiveStreamHandle,
                                                                 BASSFXType.BASS_FX_DX8_COMPRESSOR, 0);
                }


                switch (FlangerITM.SelUTx)
                {
                case "Default Preset":
                    _compressorfx.Preset_Default();
                    break;

                case "Preset: Soft":
                    _compressorfx.Preset_Soft();
                    break;

                case "Preset: Soft 2":
                    _compressorfx.Preset_Soft2();
                    break;

                case "Preset: Medium":
                    _compressorfx.Preset_Medium();
                    break;

                case "Preset: Hard":
                    _compressorfx.Preset_Hard();
                    break;

                case "Preset: Hard 2":
                    _compressorfx.Preset_Hard2();
                    break;

                case "Preset: Hard Commercial":
                    _compressorfx.Preset_HardCommercial();
                    break;
                }
            }
            else
            {
                Bass.BASS_ChannelRemoveFX(engine.ActiveStreamHandle, _fxCompressorHandle);
            }
        }
示例#26
0
        private void SetBassEq(decimal gain)
        {
            // 3-band EQ
            var eq = new BASS_DX8_PARAMEQ
            {
                fBandwidth = 18f,
                fCenter    = 100f,
                fGain      = (float)gain
            };

            Bass.BASS_FXSetParameters(_eqChannel, eq);
        }
示例#27
0
        private void trackBarCompressor_ValueChanged(object sender, EventArgs e)
        {
            labelCompThreshold.Text = String.Format("Threshold: {0:#0.0} dB", trackBarCompressor.Value / 10d);

            if (_stream == 0)
            {
                return;
            }

            _comp.fThreshold = (float)Un4seen.Bass.Utils.DBToLevel(trackBarCompressor.Value / 10d, 1.0);
            Bass.BASS_FXSetParameters(_stream, _comp);
        }
示例#28
0
 private void UpdateEQ(int band, float gain)
 {
     try
     {
         BASS_DX8_PARAMEQ eq = new BASS_DX8_PARAMEQ();
         if (Bass.BASS_FXGetParameters(Player.PlayController.bassEng._fxEQ[band], eq))
         {
             eq.fGain = gain;
             Bass.BASS_FXSetParameters(Player.PlayController.bassEng._fxEQ[band], eq);
         }
     }
     catch { }
 }
示例#29
0
        public void SetEQ(int index, float gain)
        {
            BASS_DX8_PARAMEQ eq = new BASS_DX8_PARAMEQ();

            if (fxEQ.Length > 0)
            {
                if (Bass.BASS_FXGetParameters(fxEQ[index], eq))
                {
                    eq.fGain = gain;
                    Bass.BASS_FXSetParameters(fxEQ[index], eq);
                }
            }
        }
示例#30
0
        private void distAmount_Scroll(object sender, EventArgs e)
        {
            if (fxStream != 0)
            {
                // Изменение драйва и вета дисторшена
                BASS_BFX_DISTORTION dist = new BASS_BFX_DISTORTION();
                Bass.BASS_FXGetParameters(distortion, dist);

                dist.fDrive  = distAmount.Value;
                dist.fWetMix = distAmount.Value / 3.0f;
                Bass.BASS_FXSetParameters(distortion, dist);
            }
        }