public void InitializeDevice() { DevInfo.DeviceID = "Low Profile - RXG100"; #if DEBUG DevInfo.DeviceID = DevInfo.DeviceID + " - Dev"; #endif DevInfo.Developer = "Valdemar Erlingsson"; DevInfo.EditorHeight = 0; DevInfo.EditorWidth = 0; DevInfo.HasEditor = true; DevInfo.Name = "RXG100 Amp Simulator"; DevInfo.ProgramCount = 1; DevInfo.Type = DeviceType.Effect; DevInfo.Version = 1001; DevInfo.VstId = DeviceUtilities.GenerateIntegerId(DevInfo.DeviceID); PortInfo[0].Direction = PortDirection.Input; PortInfo[0].Name = "Stereo Input"; PortInfo[0].NumberOfChannels = 2; PortInfo[1].Direction = PortDirection.Output; PortInfo[1].Name = "Stereo Output"; PortInfo[1].NumberOfChannels = 2; for(int i = 0; i < ParameterInfo.Length; i++) { var p = new Parameter(); p.Display = "0.0"; p.Index = (uint)i; p.Name = ParameterNames[i]; p.Steps = 0; p.Value = 0.0; ParameterInfo[i] = p; } LowpassInput = new Lowpass1((float)Samplerate); // Channel A TF1A = new TF1(Samplerate); Stage1A = new LUT(); //Stage1A.ReadFile(@"c:\Randall_stage2_2_tf.txt"); Stage1A.ReadRecord(Tables.Stage2_2TF); Stage1A.Table = Utils.MovingAve(Stage1A.Table, (int)(Stage1A.Table.Length / 100.0)); Stage1A.Table = Tables.Upsample(Stage1A.Table, 100000); TF2A = new TF2(Samplerate); Stage2A = new LUT(); //Stage2A.ReadFile(@"c:\Randall_stage2_2_tf.txt"); Stage2A.ReadRecord(Tables.Stage2_2TF); Stage2A.Table = Utils.MovingAve(Stage2A.Table, (int)(Stage2A.Table.Length / 100.0)); Stage2A.Table = Tables.Upsample(Stage2A.Table, 100000); PostVolumeHpA = new Highpass1((float)Samplerate); TFPresA = new TFPres(Samplerate); TonestackA = new Tonestack((float)Samplerate); // Channel B TF1B = new TF1((float)Samplerate); TF1xB = new TF12((float)Samplerate); Stage1B = new LUT(); //Stage1B.ReadFile(@"C:\Src\_Tree\Audio\jVST\src\jDSP\RaDall\Randall_stage1_cap_simulated_tf.txt"); Stage1B.ReadRecord(Tables.Stage1CapSimulatedTF); Stage1B.Table = Utils.MovingAve(Stage1B.Table, (int)(Stage1B.Table.Length / 200.0)); Stage1B.Table = Tables.Upsample(Stage1B.Table, 100000); TF2B = new TF2((float)Samplerate); Stage2B = new LUT(); //Stage2B.ReadFile(@"C:\Src\_Tree\Audio\jVST\src\jDSP\RaDall\Randall_stage2_simulated_tf.txt"); Stage2B.ReadRecord(Tables.Stage2SimulatedTF); Stage2B.Table = Utils.MovingAve(Stage2B.Table, (int)(Stage2B.Table.Length / 200.0)); Stage2B.Table = Tables.Upsample(Stage2B.Table, 100000); ClipperZenerB = new LUT(); //ClipperZenerB.ReadFile(@"C:\Src\_Tree\Audio\jVST\src\jDSP\RaDall\Randall_zener_tf.txt"); ClipperZenerB.ReadRecord(Tables.ZenerTF); ClipperZenerB.Table = Utils.MovingAve(ClipperZenerB.Table, (int)(ClipperZenerB.Table.Length / 200.0)); ClipperZenerB.Table = Tables.Upsample(ClipperZenerB.Table, 100000); ClipperDiodeB = new LUT(); //ClipperDiodeB.ReadFile(@"C:\Src\_Tree\Audio\jVST\src\jDSP\RaDall\1N914_tf.txt"); ClipperDiodeB.ReadRecord(Tables.D1N914TF); ClipperDiodeB.Table = Utils.MovingAve(ClipperDiodeB.Table, (int)(ClipperDiodeB.Table.Length / 200.0)); ClipperDiodeB.Table = Tables.Upsample(ClipperDiodeB.Table, 100000); TFVolumeB = new TFVolume((float)Samplerate); TFPresB = new TFPres((float)Samplerate); TonestackB = new Tonestack((float)Samplerate); h3 = new Highpass1((float)Samplerate); hipassZenerB = new Highpass1((float)Samplerate); LowpassOutput = new Lowpass1((float)Samplerate); TonestackA.setComponents(0.200e-9f, 0.022e-6f, 0.02e-6f, 1e3f, 500e3f, 47e3f, 500e3f, 20e3f, 500e3f); TonestackB.setComponents(0.200e-9f, 0.022e-6f, 0.02e-6f, 1e3f, 500e3f, 47e3f, 500e3f, 20e3f, 500e3f); SetSampleRate(Samplerate); Editor = new Editor(); Editor.Instance = this; DevInfo.EditorHeight = Editor.Height; DevInfo.EditorWidth = Editor.Width; for(int i = 0; i < ParameterInfo.Length; i++) { SetParam(i, 0.51); } }
public void InitializeDevice() { DevInfo.DeviceID = "Low Profile - RXG100"; #if DEBUG DevInfo.DeviceID = DevInfo.DeviceID + " - Dev"; #endif DevInfo.Developer = "Valdemar Erlingsson"; DevInfo.EditorHeight = 0; DevInfo.EditorWidth = 0; DevInfo.HasEditor = true; DevInfo.Name = "RXG100 Amp Simulator"; DevInfo.ProgramCount = 1; DevInfo.Type = DeviceType.Effect; DevInfo.Version = 1001; DevInfo.VstId = DeviceUtilities.GenerateIntegerId(DevInfo.DeviceID); PortInfo[0].Direction = PortDirection.Input; PortInfo[0].Name = "Stereo Input"; PortInfo[0].NumberOfChannels = 2; PortInfo[1].Direction = PortDirection.Output; PortInfo[1].Name = "Stereo Output"; PortInfo[1].NumberOfChannels = 2; for(int i = 0; i < ParameterInfo.Length; i++) { var p = new Parameter(); p.Display = "0.0"; p.Index = (uint)i; p.Name = ParameterNames[i]; p.Steps = 0; p.Value = 0.0; ParameterInfo[i] = p; } HighpassInput = new Highpass1((float)Samplerate); // Channel A TF1A = new TF1(Samplerate); Stage1A = new SplineInterpolator(Data.Splines.Stage2_2TF); TF2A = new TF2(Samplerate); Stage2A = new SplineInterpolator(Data.Splines.Stage2_2TF); PostVolumeHpA = new Highpass1((float)Samplerate); TFPresA = new TFPres(Samplerate); TonestackA = new Tonestack((float)Samplerate); // Channel B TF1B = new TF1((float)Samplerate); TF1xB = new TF12((float)Samplerate); Stage1B = new SplineInterpolator(Data.Splines.Stage1CapSimulatedTF); TF2B = new TF2((float)Samplerate); Stage2B = new SplineInterpolator(Data.Splines.Stage2SimulatedTF); ClipperZenerB = new SplineInterpolator(Data.Splines.ZenerTF); ClipperDiodeB = new SplineInterpolator(Data.Splines.D1N914TF); TFVolumeB = new TFVolume((float)Samplerate); TFPresB = new TFPres((float)Samplerate); TonestackB = new Tonestack((float)Samplerate); h3 = new Highpass1((float)Samplerate); hipassZenerB = new Highpass1((float)Samplerate); LowpassOutput = new Lowpass1((float)Samplerate); TonestackA.setComponents(0.200e-9f, 0.022e-6f, 0.02e-6f, 1e3f, 500e3f, 47e3f, 500e3f, 20e3f, 500e3f); TonestackB.setComponents(0.200e-9f, 0.022e-6f, 0.02e-6f, 1e3f, 500e3f, 47e3f, 500e3f, 20e3f, 500e3f); SetSampleRate(Samplerate); Editor = new Editor(); Editor.Instance = this; DevInfo.EditorHeight = Editor.Height; DevInfo.EditorWidth = Editor.Width; for(int i = 0; i < ParameterInfo.Length; i++) { SetParam(i, 0.51); } }