protected override bool ReadRealWorldParameters()
        {
            if (PluginName == "SSLChannel")
            {
                // split the parameters text into sections
                string[] splittedPhrase = RealWorldParameters.Split(' ', '\n');

                CompThreshold  = float.Parse(splittedPhrase[0], CultureInfo.InvariantCulture); // compression threshold in dB
                CompRatio      = float.Parse(splittedPhrase[1], CultureInfo.InvariantCulture); // compression ratio
                CompFastAttack = (splittedPhrase[2] == "1");                                   // compression fast attack
                CompRelease    = float.Parse(splittedPhrase[3], CultureInfo.InvariantCulture); // compression release in ms

                string Delimiter1 = splittedPhrase[4];

                ExpThreshold  = float.Parse(splittedPhrase[5], CultureInfo.InvariantCulture); // expander threshold in dB
                ExpRange      = float.Parse(splittedPhrase[6], CultureInfo.InvariantCulture); // expander range in dB
                ExpGate       = (splittedPhrase[7] == "1");                                   // expander gate
                ExpFastAttack = (splittedPhrase[8] == "1");                                   // expander fast attack
                ExpRelease    = float.Parse(splittedPhrase[9], CultureInfo.InvariantCulture); // expander release in ms

                string Delimiter2 = splittedPhrase[10];

                DynToByPass     = (splittedPhrase[11] == "1");                              // Dyn To By Pass
                DynToChannelOut = (splittedPhrase[12] == "1");                              // Dyn To Channel Out

                LFTypeBell = (splittedPhrase[13] == "1");                                   // Bell
                LFGain     = float.Parse(splittedPhrase[14], CultureInfo.InvariantCulture); // dB
                LFFrq      = float.Parse(splittedPhrase[15], CultureInfo.InvariantCulture); // Hz

                LMFGain = float.Parse(splittedPhrase[16], CultureInfo.InvariantCulture);    // dB
                LMFFrq  = float.Parse(splittedPhrase[17], CultureInfo.InvariantCulture);    // KHz
                LMFQ    = float.Parse(splittedPhrase[18], CultureInfo.InvariantCulture);

                HMFGain = float.Parse(splittedPhrase[19], CultureInfo.InvariantCulture);                // dB
                HMFFrq  = float.Parse(splittedPhrase[20], CultureInfo.InvariantCulture);                // KHz
                HMFQ    = float.Parse(splittedPhrase[21], CultureInfo.InvariantCulture);

                HFTypeBell = (splittedPhrase[22] == "1");                                   // Bell
                HFGain     = float.Parse(splittedPhrase[23], CultureInfo.InvariantCulture); // dB
                HFFrq      = float.Parse(splittedPhrase[24], CultureInfo.InvariantCulture); // KHz

                EQToBypass = (splittedPhrase[25] == "1");
                EQToDynSC  = (splittedPhrase[26] == "1");

                HPFrq = float.Parse(splittedPhrase[27], CultureInfo.InvariantCulture);                 // Hz
                LPFrq = float.Parse(splittedPhrase[28], CultureInfo.InvariantCulture);                 // KHz

                FilterSplit = (splittedPhrase[29] == "1");

                Gain = float.Parse(splittedPhrase[30], CultureInfo.InvariantCulture);                 // dB

                Analog = (splittedPhrase[31] == "1");

                string Delimiter3 = splittedPhrase[32];
                string Delimiter4 = splittedPhrase[33];

                VUShowOutput = (splittedPhrase[34] == "1");

                string Delimiter5 = splittedPhrase[35];
                string Delimiter6 = splittedPhrase[36];

                float Unknown1 = float.Parse(splittedPhrase[37], CultureInfo.InvariantCulture);
                float Unknown2 = float.Parse(splittedPhrase[38], CultureInfo.InvariantCulture);

                PhaseReverse = (splittedPhrase[39] == "1");
                InputTrim    = float.Parse(splittedPhrase[40], CultureInfo.InvariantCulture);              // dB

                return(true);
            }
            else
            {
                return(false);
            }
        }
        protected override bool ReadRealWorldParameters()
        {
            if (PluginName == "SSLComp")
            {
                // <Parameters Type="RealWorld">8 1 * 3 4 3 * 1 1 1
                // 0 0 0.95000000000000006661 1 0.95000000000000006661 </Parameters>

                // split the parameters text into sections
                string[] splittedPhrase = RealWorldParameters.Split(' ', '\n');

                //Threshold (-15 - +15)
                Threshold = float.Parse(splittedPhrase[0], CultureInfo.InvariantCulture);                 // compression threshold in dB

                //Ratio (2:1=0, 4:1=1, 10:1=2)
                Ratio = (RatioType)Enum.Parse(typeof(RatioType), splittedPhrase[1]);

                // Fade [Off=0 or *, Out=1, In=2]
                if (splittedPhrase[2] != "*")
                {
                    Fade = (FadeType)Enum.Parse(typeof(FadeType), splittedPhrase[2]);
                }
                else
                {
                    Fade = FadeType.Off;
                }

                // Attack [0 - 5, .1 ms, .3 ms, 1 ms, 3 ms, 10 ms, 30 ms)
                int attack = int.Parse(splittedPhrase[3]);
                switch (attack)
                {
                case 0:
                    Attack = 0.1f;
                    break;

                case 1:
                    Attack = 0.3f;
                    break;

                case 2:
                    Attack = 1.0f;
                    break;

                case 3:
                    Attack = 3.0f;
                    break;

                case 4:
                    Attack = 10.0f;
                    break;

                case 5:
                    Attack = 30.0f;
                    break;
                }

                // Release: 0 - 4, .1 s, .3 s, .6 s, 1.2 s, Auto (-1)
                int release = int.Parse(splittedPhrase[4]);
                switch (release)
                {
                case 0:
                    Release = 0.1f;
                    break;

                case 1:
                    Release = 0.3f;
                    break;

                case 2:
                    Release = 0.6f;
                    break;

                case 3:
                    Release = 1.2f;
                    break;

                case 4:
                    Release = -1.0f;
                    break;
                }

                //Make-Up Gain (-5 - +15) dB
                MakeupGain = float.Parse(splittedPhrase[5], CultureInfo.InvariantCulture);

                //*
                string Delimiter1 = splittedPhrase[6];

                //Rate-S (1 - +60) seconds
                // Autofade duration. Variable from 1 to 60 seconds
                RateS = float.Parse(splittedPhrase[7], CultureInfo.InvariantCulture);

                //In
                In = (splittedPhrase[8] == "1");

                //Analog
                Analog = (splittedPhrase[9] == "1");

                return(true);
            }
            else
            {
                return(false);
            }
        }