/// <summary>
        /// Open VST Plugin Configuration window
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ShowConfigWindow()
        {
            DSPPluginInfo pluginInfo = (DSPPluginInfo)listBoxSelectedPlugins.SelectedItem;

            if (pluginInfo == null)
            {
                return;
            }

            if (pluginInfo.DSPPluginType == DSPPluginInfo.PluginType.VST)
            {
                _vstHandle = _vstHandles[pluginInfo.Name];
                BASS_VST_INFO vstInfo = new BASS_VST_INFO();
                if (BassVst.BASS_VST_GetInfo(_vstHandle, vstInfo) && vstInfo.hasEditor)
                {
                    // Set a handle to the callback procedure
                    _vstProc = new VSTPROC(vstEditorCallBack);
                    BassVst.BASS_VST_SetCallback(_vstHandle, _vstProc, IntPtr.Zero);
                    // create a new System.Windows.Forms.Form
                    Form f = new MPConfigForm();
                    f.Width    = vstInfo.editorWidth + 4;
                    f.Height   = vstInfo.editorHeight + 34;
                    f.Closing += new CancelEventHandler(f_Closing);
                    f.Text     = vstInfo.effectName;
                    BassVst.BASS_VST_EmbedEditor(_vstHandle, f.Handle);
                    f.ShowDialog();
                }
                else
                {
                    MessageBox.Show("Plugin has no Configuration");
                }
            }
            else
            {
                _waDspPlugin = _waDspPlugins[pluginInfo.FilePath];
                BassWaDsp.BASS_WADSP_Start(_waDspPlugin, 0, 0);
                BassWaDsp.BASS_WADSP_Config(_waDspPlugin);
            }
        }
Exemple #2
0
        /// <summary>
        /// 设置VST信道,启动VST插件
        /// </summary>
        /// <param name="stream">音频流句柄</param>
        public void StartVST(int stream)
        {
            this.stream = stream;
            //先释放原来的VST
            BassVst.BASS_VST_ChannelFree(vstHandle);
            BassVst.BASS_VST_ChannelFree(vstDummy);


            vstHandle = BassVst.BASS_VST_ChannelSetDSP(stream, fileName, BASSVSTDsp.BASS_VST_DEFAULT, 1);
            vstDummy  = BassVst.BASS_VST_ChannelSetDSP(0, fileName, BASSVSTDsp.BASS_VST_DEFAULT, 1);

            //设置回调函数
            myVstProc = new VSTPROC(VSTEditorCallback);
            BassVst.BASS_VST_SetCallback(vstDummy, myVstProc, IntPtr.Zero);

            BassVst.BASS_VST_GetInfo(vstDummy, vstInfo);
            Text     = vstInfo.effectName;
            isActive = true;


            BassVst.BASS_VST_EmbedEditor(vstDummy, this.Handle);
            Width  = vstInfo.editorWidth + 10;
            Height = vstInfo.editorHeight + 35;
        }
    /// <summary>
    /// Open VST Plugin Configuration window
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void ShowConfigWindow()
    {
      DSPPluginInfo pluginInfo = (DSPPluginInfo)listBoxSelectedPlugins.SelectedItem;

      if (pluginInfo == null)
      {
        return;
      }

      if (pluginInfo.DSPPluginType == DSPPluginInfo.PluginType.VST)
      {
        _vstHandle = _vstHandles[pluginInfo.Name];
        BASS_VST_INFO vstInfo = new BASS_VST_INFO();
        if (BassVst.BASS_VST_GetInfo(_vstHandle, vstInfo) && vstInfo.hasEditor)
        {
          // Set a handle to the callback procedure
          _vstProc = new VSTPROC(vstEditorCallBack);
          BassVst.BASS_VST_SetCallback(_vstHandle, _vstProc, IntPtr.Zero);
          // create a new System.Windows.Forms.Form
          Form f = new MPConfigForm();
          f.Width = vstInfo.editorWidth + 4;
          f.Height = vstInfo.editorHeight + 34;
          f.Closing += new CancelEventHandler(f_Closing);
          f.Text = vstInfo.effectName;
          BassVst.BASS_VST_EmbedEditor(_vstHandle, f.Handle);
          f.ShowDialog();
        }
        else
        {
          MessageBox.Show("Plugin has no Configuration");
        }
      }
      else
      {
        _waDspPlugin = _waDspPlugins[pluginInfo.FilePath];
        BassWaDsp.BASS_WADSP_Start(_waDspPlugin, 0, 0);
        BassWaDsp.BASS_WADSP_Config(_waDspPlugin);
      }
    }
        public static void SetEffects(int stream)
        {
            string plugin_path = "";

            if (EffectsInteface.Is64Bit())
            {
                plugin_path = m_vst_plugin_PathX64;
            }
            else
            {
                plugin_path = m_vst_plugin_Path;
            }

            //EQ 1 Band -----------------
            _vstEffectEQ1band = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"TDR Nova_1_0.dll", BASSVSTDsp.BASS_VST_DEFAULT, 5);

            int eq1_1 = BassVst.BASS_VST_GetParamCount(_vstEffectEQ1band);

            for (int i = 0; i < eq1_1; i++)
            {
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, i, AppSettings.Get <float>("CH2EQ1band" + i));
            }

            /*  for (int i = 0; i < eq1_1; i++)
             * {
             *    // get the info about the parameter
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 0, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 1, 1);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 4, 0.260f);
             *    //  BassVst.BASS_VST_SetParam(_vstEffectEQ1band[0], 5, 1);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 12, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 13, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 24, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 25, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 36, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 37, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 48, 1);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 49, 1);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 50, 0.260f);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 51, 0.6666667f);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 69, 0.0f);
             * }*/
            //EQ1Band();

            //Compressor
            _vstEffectCompressor = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"MCompressor_1.dll", BASSVSTDsp.BASS_VST_DEFAULT, 6);

            int comp1_1 = BassVst.BASS_VST_GetParamCount(_vstEffectCompressor);

            for (int i = 0; i < comp1_1; i++)
            {
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, i, AppSettings.Get <float>("CH2Comp" + i));
            }

            /* for (int i = 0; i < comp1_1; i++)
             * {
             *   // get the info about the parameter
             *
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 0, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 1, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 2, 0.3162278f);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 3, 0.3162278f);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 4, 0.1f);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 5, 0.3444445f);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 6, 0.2357953f);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 7, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 8, 0.25f);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 9, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 10, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 11, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 12, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 13, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 14, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 15, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 16, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 17, 0);
             * }*/
            //Compressor();

            //EQ4Band -----
            _vstEffectEQ4Band = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"TDR Nova_1_1.dll", BASSVSTDsp.BASS_VST_DEFAULT, 7);
            int eq7_1 = BassVst.BASS_VST_GetParamCount(_vstEffectEQ4Band);

            for (int i = 0; i < eq7_1; i++)
            {
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, i, AppSettings.Get <float>("CH2EQ4band" + i));
            }


            /* for (int i = 0; i < eq7_1; i++)
             * {
             *   // get the info about the parameter
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 0, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 1, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 3, 0.563f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 4, 0.278f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 5, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 12, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 13, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 15, 0.563f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 16, 0.361f); //Band 2 F
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 24, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 25, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 27, 0.563f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 28, 0.63883f); //Band 3 F
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 36, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 37, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 39, 0.563f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 40, 0.7712674f); //Band 4 F
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 41, 1); //Band 4 T
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 69, 0.0f);
             * }*/

            _vstEffectDeEsser = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"MCompressor_1_D-Es.dll", BASSVSTDsp.BASS_VST_DEFAULT, 8);

            int deEs = BassVst.BASS_VST_GetParamCount(_vstEffectDeEsser);

            for (int i = 0; i < deEs; i++)
            {
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, i, AppSettings.Get <float>("CH2DeEsser" + i));
            }

            /* for (int i = 0; i < deEs; i++)
             * {
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 0, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 1, 0.2288729f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 2, 0.3162278f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 3, 0.4728708f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 4, 0.1f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 5, 0.1713131f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 6, 0.3978892f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 7, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 8, 0.25f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 9, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 10, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 11, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 12, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 13, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 14, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 15, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 16, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 17, 0);
             * } */

            _vstBasicStrip = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"BasicStrip1.dll", BASSVSTDsp.BASS_VST_DEFAULT, 9);

            int strip = BassVst.BASS_VST_GetParamCount(_vstBasicStrip);

            for (int i = 0; i < strip; i++)
            {
                BassVst.BASS_VST_SetParam(_vstBasicStrip, 0, 1.0f);
                BassVst.BASS_VST_SetParam(_vstBasicStrip, 1, 0.5f);
            }

            m_VstProc = new VSTPROC(VstProc_CallBack);
            BassVst.BASS_VST_SetCallback(_vstBasicStrip, m_VstProc, IntPtr.Zero);
        }
Exemple #5
0
 public static extern bool BASS_VST_SetCallback(int vstHandle, VSTPROC proc, IntPtr user);
        public static void SetEffects(int stream)
        {
            string plugin_path = "";

            if (EffectsInteface.Is64Bit())
            {
                plugin_path = m_vst_plugin_PathX64;
            }
            else
            {
                plugin_path = m_vst_plugin_Path;
            }

            //EQ 1 Band -----------------
            _vstEffectEQ1band = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"TDR Nova_2_0.dll", BASSVSTDsp.BASS_VST_DEFAULT, 10);

            int eq1_1 = BassVst.BASS_VST_GetParamCount(_vstEffectEQ1band);

            for (int i = 0; i < eq1_1; i++)
            {
                // get the info about the parameter
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 0, 0);
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 1, 1);
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 4, 0.260f);
                //  BassVst.BASS_VST_SetParam(_vstEffectEQ1band[0], 5, 1);
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 12, 0);
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 13, 0);
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 24, 0);
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 25, 0);
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 36, 0);
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 37, 0);
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 48, 1);
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 49, 1);
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 50, 0.260f);
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 51, 0.6666667f);
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 69, 0.0f);
            }
            //EQ1Band();

            //Compressor
            _vstEffectCompressor = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"MCompressor_2.dll", BASSVSTDsp.BASS_VST_DEFAULT, 11);

            int comp1_1 = BassVst.BASS_VST_GetParamCount(_vstEffectCompressor);

            for (int i = 0; i < comp1_1; i++)
            {
                // get the info about the parameter

                /* BassVst.BASS_VST_SetParam(_vstEffectCompressor, 0, 0.520f);
                 * BassVst.BASS_VST_SetParam(_vstEffectCompressor, 1, 0.406f);
                 * BassVst.BASS_VST_SetParam(_vstEffectCompressor, 2, 0.0f);
                 * BassVst.BASS_VST_SetParam(_vstEffectCompressor, 3, 0.017f);
                 * BassVst.BASS_VST_SetParam(_vstEffectCompressor, 4, 0.0745f);
                 * BassVst.BASS_VST_SetParam(_vstEffectCompressor, 5, 0);*/
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 0, 0.5f);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 1, 0.5f);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 2, 0.3162278f);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 3, 0.3162278f);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 4, 0.1f);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 5, 0.3444445f);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 6, 0.2357953f);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 7, 1);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 8, 0.25f);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 9, 1);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 10, 1);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 11, 0);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 12, 0.5f);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 13, 0.5f);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 14, 0.5f);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 15, 0.5f);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 16, 0);
                BassVst.BASS_VST_SetParam(_vstEffectCompressor, 17, 0);
            }
            //Compressor();

            //EQ4Band -----
            _vstEffectEQ4Band = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"TDR Nova_2_1.dll", BASSVSTDsp.BASS_VST_DEFAULT, 12);
            int eq7_1 = BassVst.BASS_VST_GetParamCount(_vstEffectEQ4Band);

            for (int i = 0; i < eq7_1; i++)
            {
                // get the info about the parameter
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 0, 1);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 1, 1);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 3, 0.563f);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 4, 0.278f);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 5, 0);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 12, 0);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 13, 0);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 15, 0.563f);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 16, 0.361f); //Band 2 F
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 24, 0);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 25, 0);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 27, 0.563f);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 28, 0.63883f); //Band 3 F
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 36, 1);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 37, 1);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 39, 0.563f);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 40, 0.7712674f); //Band 4 F
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 41, 1);          //Band 4 T
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 48, 1);          //HP Selec
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 49, 1);          //HP Activ
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 50, 0.4586f);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 51, 0.25f);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 52, 1);          //LP Selec
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 53, 1);          //LP Activ
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 54, 0.7812674f); //LP Frequ
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 55, 0.6666667f);
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 69, 0.0f);
            }

            _vstEffectDeEsser = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"MCompressor_2_D-Es.dll", BASSVSTDsp.BASS_VST_DEFAULT, 13);

            int deEs = BassVst.BASS_VST_GetParamCount(_vstEffectDeEsser);

            for (int i = 0; i < deEs; i++)
            {
                /* BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 0, 0.4724762f);
                 * BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 1, 0.3333333f);
                 * BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 2, 0.3923903f);*/
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 0, 0.5f);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 1, 0.2288729f);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 2, 0.3162278f);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 3, 0.4728708f);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 4, 0.1f);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 5, 0.1713131f);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 6, 0.3978892f);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 7, 1);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 8, 0.25f);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 9, 1);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 10, 0);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 11, 0);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 12, 0.5f);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 13, 0.5f);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 14, 0.5f);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 15, 0.5f);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 16, 0);
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 17, 0);
            }

            _vstBasicStrip = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"BasicStrip2.dll", BASSVSTDsp.BASS_VST_DEFAULT, 14);

            int strip = BassVst.BASS_VST_GetParamCount(_vstBasicStrip);

            for (int i = 0; i < strip; i++)
            {
                BassVst.BASS_VST_SetParam(_vstBasicStrip, 0, 1.0f);
                BassVst.BASS_VST_SetParam(_vstBasicStrip, 1, 0.5f);
            }

            m_stripParamDefaultValue = BassVst.BASS_VST_GetParam(_vstBasicStrip, 0);
            IsDefaultValue           = true;
            // Channel1Fx.GetStripParamValue = _paramValue;

            m_VstProc = new VSTPROC(VstProc_CallBack);
            BassVst.BASS_VST_SetCallback(_vstBasicStrip, m_VstProc, IntPtr.Zero);
        }
Exemple #7
0
        public static void SetEffects(int stream)
        {
            string plugin_path = "";

            if (EffectsInteface.Is64Bit())
            {
                plugin_path = m_vst_plugin_PathX64;
            }
            else
            {
                plugin_path = m_vst_plugin_Path;
            }

            m_VstProc = new VSTPROC(VstProc_CallBack);

            //EQ 1 Band -----------------
            _vstEffectEQ1band = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"TDR Nova_0_0.dll", BASSVSTDsp.BASS_VST_DEFAULT, 0);

            eq1 = BassVst.BASS_VST_GetParamCount(_vstEffectEQ1band);

            for (int i = 0; i < eq1; i++)
            {
                BassVst.BASS_VST_SetParam(_vstEffectEQ1band, i, AppSettings.Get <float>("CH1EQ1band" + i));
            }

            BassVst.BASS_VST_SetCallback(_vstEffectEQ1band, m_VstProc, IntPtr.Zero);

            /*  for (int i = 0; i < eq1; i++)
             * {
             *    // get the info about the parameter
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 0, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 1, 1);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 4, 0.260f);
             *    //  BassVst.BASS_VST_SetParam(_vstEffectEQ1band[0], 5, 1);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 12, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 13, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 24, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 25, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 36, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 37, 0);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 48, 1);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 49, 1);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 50, 0.260f);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 51, 0.6666667f);
             *    BassVst.BASS_VST_SetParam(_vstEffectEQ1band, 69, 0.0f);
             * }*/
            //EQ1Band();

            try
            {
                //Compressor
                _vstEffectCompressor = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"MCompressor_0.dll", BASSVSTDsp.BASS_VST_DEFAULT, 1);

                comp1 = BassVst.BASS_VST_GetParamCount(_vstEffectCompressor);
                for (int i = 0; i < comp1; i++)
                {
                    BassVst.BASS_VST_SetParam(_vstEffectCompressor, i, AppSettings.Get <float>("CH1Comp" + i));
                }

                BassVst.BASS_VST_SetCallback(_vstEffectCompressor, m_VstProc, IntPtr.Zero);

                /* for (int i = 0; i < comp1; i++)
                 * {
                 *   // get the info about the parameter
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 0, 0.5f);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 1, 0.5f);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 2, 0.3162278f);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 3, 0.3162278f);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 4, 0.1f);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 5, 0.3444445f);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 6, 0.2357953f);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 7, 1);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 8, 0.25f);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 9, 1);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 10, 1);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 11, 0);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 12, 0.5f);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 13, 0.5f);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 14, 0.5f);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 15, 0.5f);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 16, 0);
                 *   BassVst.BASS_VST_SetParam(_vstEffectCompressor, 17, 0);
                 * }*/
                //Compressor();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            //EQ4Band -----
            _vstEffectEQ4Band = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"TDR Nova_0_1.dll", BASSVSTDsp.BASS_VST_DEFAULT, 2);
            eq7 = BassVst.BASS_VST_GetParamCount(_vstEffectEQ4Band);

            for (int i = 0; i < eq7; i++)
            {
                BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, i, AppSettings.Get <float>("CH1EQ4band" + i));
            }

            BassVst.BASS_VST_SetCallback(_vstEffectEQ4Band, m_VstProc, IntPtr.Zero);

            /* for (int i = 0; i < eq7; i++)
             * {
             *   // get the info about the parameter
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 0, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 1, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 3, 0.563f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 4, 0.278f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 5, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 12, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 13, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 15, 0.563f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 16, 0.361f); //Band 2 F
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 24, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 25, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 27, 0.563f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 28, 0.63883f); //Band 3 F
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 36, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 37, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 39, 0.563f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 40, 0.7712674f); //Band 4 F
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 41, 1); //Band 4 T
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4Band, 69, 0.0f);
             * }*/
            _vstEffectEQ4BandPhone = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"TDR Nova_0_2.dll", BASSVSTDsp.BASS_VST_DEFAULT, 2);
            eq7Phone = BassVst.BASS_VST_GetParamCount(_vstEffectEQ4BandPhone);

            for (int i = 0; i < eq7Phone; i++)
            {
                BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, i, AppSettings.Get <float>("CH1EQ4bandPhone" + i));
            }

            BassVst.BASS_VST_SetCallback(_vstEffectEQ4BandPhone, m_VstProc, IntPtr.Zero);

            /* for (int i = 0; i < eq7Phone; i++)
             * {
             *   // get the info about the parameter
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 0, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 1, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 3, 0.563f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 4, 0.278f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 5, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 12, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 13, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 15, 0.563f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 16, 0.361f); //Band 2 F
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 24, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 25, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 27, 0.563f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 28, 0.63883f); //Band 3 F
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 36, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 37, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 39, 0.563f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 40, 0.7712674f); //Band 4 F
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 41, 1); //Band 4 T
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 48, 1); //HP Selec
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 49, 1); //HP Activ
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 50, 0.4586f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 51, 0.25f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 52, 1); //LP Selec
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 53, 1); //LP Activ
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 54, 0.7812674f); //LP Frequ
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 55, 0.6666667f);
             *   BassVst.BASS_VST_SetParam(_vstEffectEQ4BandPhone, 69, 0.0f);
             * }*/


            _vstEffectDeEsser = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"MCompressor_0_D-Es.dll", BASSVSTDsp.BASS_VST_DEFAULT, 3);

            deEs = BassVst.BASS_VST_GetParamCount(_vstEffectDeEsser);

            for (int i = 0; i < deEs; i++)
            {
                BassVst.BASS_VST_SetParam(_vstEffectDeEsser, i, AppSettings.Get <float>("CH1DeEsser" + i));
            }

            BassVst.BASS_VST_SetCallback(_vstEffectDeEsser, m_VstProc, IntPtr.Zero);

            /* for (int i = 0; i < deEs; i++)
             * {
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 0, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 1, 0.2288729f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 2, 0.3162278f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 3, 0.4728708f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 4, 0.1f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 5, 0.1713131f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 6, 0.3978892f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 7, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 8, 0.25f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 9, 1);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 10, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 11, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 12, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 13, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 14, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 15, 0.5f);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 16, 0);
             *   BassVst.BASS_VST_SetParam(_vstEffectDeEsser, 17, 0);
             * }*/

            _vstEffectReverb = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"OrilRiver.dll", BASSVSTDsp.BASS_VST_DEFAULT, 15);

            int rev = BassVst.BASS_VST_GetParamCount(_vstEffectReverb);

            for (int i = 0; i < rev; i++)
            {
                //  BassVst.BASS_VST_SetParam(_vstEffectReverb, 0, 0.2540541f);
                //  BassVst.BASS_VST_SetParam(_vstEffectReverb, 17, 0.8810811f);
                //  BassVst.BASS_VST_SetParam(_vstEffectReverb, 18, 0.4432433f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 0, 0.8128305f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 1, 0.03f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 2, 1);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 3, 0);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 4, 0.5f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 5, 0.3574602f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 6, 0.83f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 7, 0.2f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 8, 0.38f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 9, 0.4676717f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 10, 0.5414235f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 11, 0.4f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 12, 0.7827124f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 13, 0.585f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 14, 0.863937f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 15, 0);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 16, 0.9354057f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 17, 0.835603f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 18, 0.4120975f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 19, 0);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 20, 0);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 21, 0);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 22, 0);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 23, 0.1765174f);
                BassVst.BASS_VST_SetParam(_vstEffectReverb, 24, 1);
            }

            _vstBasicStrip = BassVst.BASS_VST_ChannelSetDSP(stream, m_vst_plugin_Path + @"BasicStrip0.dll", BASSVSTDsp.BASS_VST_DEFAULT, 4);

            int strip = BassVst.BASS_VST_GetParamCount(_vstBasicStrip);

            for (int i = 0; i < strip; i++)
            {
                BassVst.BASS_VST_SetParam(_vstBasicStrip, 0, 1.0f);
                BassVst.BASS_VST_SetParam(_vstBasicStrip, 1, 0.5f);
            }

            BassVst.BASS_VST_SetCallback(_vstBasicStrip, m_VstProc, IntPtr.Zero);
        }