public void InitializeDevice() { #if DEBUG devInfo.DeviceID = "Low Profile - Polyhedrus - DEV"; #else devInfo.DeviceID = "Low Profile - Polyhedrus"; #endif devInfo.Developer = "Valdemar Erlingsson"; devInfo.EditorWidth = 995; devInfo.EditorHeight = 386; devInfo.HasEditor = true; devInfo.Name = "Polyhedrus Synthesizer"; devInfo.ProgramCount = 1; devInfo.Type = DeviceType.Generator; devInfo.Version = 1000; devInfo.UnsafeProcessing = true; devInfo.VstId = DeviceUtilities.GenerateIntegerId(devInfo.DeviceID); PortInfo[0].Direction = PortDirection.Output; PortInfo[0].Name = "Stereo Output"; PortInfo[0].NumberOfChannels = 2; for (int i = 0; i < 0; i++) { var p = new SharpSoundDevice.Parameter(); p.Display = "0.0"; p.Index = (uint)i; p.Name = "Parameter " + i; p.Steps = 0; p.Value = 0.0; ParameterInfo[i] = p; } }
public void InitializeDevice() { DevInfo.DeviceID = "Low Profile - Polyhedrus.V2"; #if DEBUG DevInfo.DeviceID = DevInfo.DeviceID + " - Dev"; #endif DevInfo.Developer = "Valdemar Erlingsson"; DevInfo.EditorHeight = 655; DevInfo.EditorWidth = 990; DevInfo.HasEditor = true; DevInfo.Name = "Polyhedrus Software Synthesizer"; DevInfo.ProgramCount = 1; DevInfo.Type = DeviceType.Generator; DevInfo.Version = 1000; DevInfo.VstId = DeviceUtilities.GenerateIntegerId(DevInfo.DeviceID); PortInfo[0].Direction = PortDirection.Output; PortInfo[0].Name = "Stereo Output"; PortInfo[0].NumberOfChannels = 2; for (int i = 0; i < ParameterInfo.Length; i++) { var p = new Parameter(); p.Display = "0.0"; p.Index = (uint)i; p.Name = "Parameter"; p.Steps = 0; p.Value = 0.0; ParameterInfo[i] = p; //UpdateParameterDisplay(i, 0.5); } }
public void InitializeDevice() { DevInfo.DeviceID = "Low Profile - Mr. Fuzz"; #if DEBUG DevInfo.DeviceID = DevInfo.DeviceID + " - Dev"; #endif DevInfo.Developer = "Valdemar Erlingsson"; //DevInfo.EditorHeight = e.Height; //DevInfo.EditorWidth = e.Width; DevInfo.HasEditor = false; DevInfo.Name = "Mr. Fuzz"; DevInfo.ProgramCount = 1; DevInfo.Type = DeviceType.Effect; DevInfo.Version = 1000; DevInfo.VstId = DeviceUtilities.GenerateIntegerId(DevInfo.DeviceID); PortInfo[0].Direction = PortDirection.Input; PortInfo[0].Name = "Mono Input"; PortInfo[0].NumberOfChannels = 1; 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.5"; p.Index = (uint)i; p.Name = ParameterNames[i]; p.Steps = 0; p.Value = 0.5; ParameterInfo[i] = p; } HpInput = new Highpass1((float)Samplerate); TFStage = new MrFuzz.TFStage((float)Samplerate); DiodeStage = new LUT(); DiodeStage.ReadRecord(Table.DiodeResponse); DiodeStage.Table = Utils.MovingAve(DiodeStage.Table, (int)(DiodeStage.Table.Length / 200.0)); DiodeStage.Table = Table.Upsample(DiodeStage.Table, 100000); LowpassFilter = new Lowpass1((float)Samplerate); HpOutput = new Highpass1((float)Samplerate); // initialize all blocks UpdateAll(); }
public void InitializeDevice() { DevInfo.DeviceID = "Low Profile - Preset Selector"; #if DEBUG DevInfo.DeviceID = DevInfo.DeviceID + " - Dev"; #endif DevInfo.Developer = "Valdemar Erlingsson"; DevInfo.EditorHeight = 550; DevInfo.EditorWidth = 570; DevInfo.HasEditor = true; DevInfo.Name = "Preset Selector"; DevInfo.ProgramCount = 1; DevInfo.Type = DeviceType.Generator; DevInfo.Version = 1000; DevInfo.VstId = DeviceUtilities.GenerateIntegerId(DevInfo.DeviceID); UpdateAll(); }
public LiveSPICEPlugin() { DevInfo = new DeviceInfo(); DevInfo.Developer = ""; DevInfo.DeviceID = "LiveSPICEVst"; DevInfo.EditorHeight = 200; DevInfo.EditorWidth = 350; DevInfo.HasEditor = true; DevInfo.Name = "LiveSPICEVst"; DevInfo.ProgramCount = 1; DevInfo.Type = DeviceType.Effect; DevInfo.UnsafeProcessing = true; DevInfo.Version = 1000; DevInfo.VstId = DeviceUtilities.GenerateIntegerId(DevInfo.DeviceID); string codeBase = Assembly.GetExecutingAssembly().CodeBase; UriBuilder uri = new UriBuilder(codeBase); string path = Uri.UnescapeDataString(uri.Path); // Not sure if this helps, but... GCSettings.LatencyMode = GCLatencyMode.SustainedLowLatency; ParameterInfo = new Parameter[0]; PortInfo = new SharpSoundDevice.Port[2] { new SharpSoundDevice.Port() { Direction = PortDirection.Input, Name = "Mono Input", NumberOfChannels = 1 }, new SharpSoundDevice.Port() { Direction = PortDirection.Output, Name = "Mono Output", NumberOfChannels = 1 } }; // Initialize as arrays of arrays, even though we are only using one channel, since that is what the simulation takes inputBuffers = new double[1][]; inputBuffers[0] = null; outputBuffers = new double[1][]; outputBuffers[0] = null; SimulationProcessor = new SimulationProcessor(); }
public void InitializeDevice() { DevInfo.DeviceID = "Low Profile - Biquad"; #if DEBUG DevInfo.DeviceID = DevInfo.DeviceID + " - Dev"; #endif DevInfo.Developer = "Valdemar Erlingsson"; DevInfo.EditorHeight = 0; DevInfo.EditorWidth = 0; DevInfo.HasEditor = false; DevInfo.Name = "Biquad Filter"; DevInfo.ProgramCount = 1; DevInfo.Type = DeviceType.Effect; DevInfo.Version = 1000; 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; } SetParameter(P_TYPE, 0.0); SetParameter(P_FREQ, 0.5); SetParameter(P_SLOPE, 0.5); SetParameter(P_Q, 0.5); SetParameter(P_GAIN, 0.5); }
public void InitializeDevice() { DevInfo.DeviceID = "Low Profile - Testbed"; DevInfo.Developer = "Valdemar Erlingsson"; DevInfo.EditorHeight = 0; DevInfo.EditorWidth = 0; DevInfo.HasEditor = false; DevInfo.Name = "Testbed"; DevInfo.ProgramCount = 1; DevInfo.Type = Container.IsSynth ? DeviceType.Generator : DeviceType.Effect; DevInfo.Version = 1000; 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 = Container.GetDisplay(i); p.Index = (uint)i; if (Container.ParameterNames != null && Container.ParameterNames.Length > i) { p.Name = Container.ParameterNames[i]; } else { p.Name = "Param " + i; } p.Steps = 0; p.Value = Container.Parameters[i]; ParameterInfo[i] = p; } }
public void InitializeDevice() { DevInfo.DeviceID = "Low Profile - Script Plugin"; #if DEBUG DevInfo.DeviceID = DevInfo.DeviceID + " - Dev"; #endif DevInfo.Developer = "Valdemar Erlingsson"; DevInfo.EditorHeight = 1; DevInfo.EditorWidth = 1; DevInfo.HasEditor = true; DevInfo.Name = "Script Plugin"; DevInfo.ProgramCount = 1; DevInfo.Type = DeviceType.Generator; DevInfo.Version = 1000; DevInfo.VstId = DeviceUtilities.GenerateIntegerId(DevInfo.DeviceID); //PortInfo[0].Direction = PortDirection.Input; //PortInfo[0].Name = "Stereo Input"; //PortInfo[0].NumberOfChannels = 2; PortInfo[0].Direction = PortDirection.Output; PortInfo[0].Name = "Stereo Output"; PortInfo[0].NumberOfChannels = 2; /*for (int i = 0; i < ParameterInfo.Length; i++) * { * var p = new Parameter(); * p.Display = "0.5"; * p.Index = (uint)i; * p.Name = ParameterNames[i]; * p.Steps = 0; * p.Value = 0.5; * ParameterInfo[i] = p; * }*/ // initialize all blocks UpdateAll(); }
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 = 1100; 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); } }
public void InitializeDevice() { DevInfo.DeviceID = "Low Profile - Rodent.V2"; #if DEBUG DevInfo.DeviceID = DevInfo.DeviceID + " - Dev"; #endif DevInfo.Developer = "Valdemar Erlingsson"; DevInfo.EditorHeight = e.Height; DevInfo.EditorWidth = e.Width; DevInfo.HasEditor = true; DevInfo.Name = "Rodent V2"; DevInfo.ProgramCount = 1; DevInfo.Type = DeviceType.Effect; DevInfo.Version = 2200; DevInfo.VstId = DeviceUtilities.GenerateIntegerId(DevInfo.DeviceID); PortInfo[0].Direction = PortDirection.Input; PortInfo[0].Name = "Mono Input"; PortInfo[0].NumberOfChannels = 1; 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.49"; p.Index = (uint)i; p.Name = ParameterNames[i]; p.Steps = 0; p.Value = 0.49; ParameterInfo[i] = p; } Hipass1 = new Highpass1((float)Samplerate); Lowpass1 = new Lowpass1((float)Samplerate); Gain = new TFGain((float)Samplerate); HipassDC = new Highpass1((float)Samplerate); Clipper = new SplineInterpolator(Splines.D1N914TF); /*Clipper2 = new LUT(); * Clipper2.ReadRecord(Tables.LEDTF.Split('\n')); * Clipper2.Table = Tables.Upsample(Clipper2.Table, 100000);*/ Clipper2 = new SplineInterpolator(Splines.LEDTF); Filter = new Lowpass1((float)Samplerate); Hipass3 = new Highpass1((float)Samplerate); // Frequency of 0.01uF cap + 1k + 1Meg = 7.227 Hz Hipass1.SetParam(0, 10f + (float)Math.Round(ParameterInfo[P_TIGHT].Value) * 300f); // Low pass rolloff because of 1n cap, estimate Lowpass1.SetParam(0, 5000f); // This is the cap after the gain, just some value to remove DC offset HipassDC.SetParam(0, 10f); // Final cutoff frequency ~ 7.7Hz Hipass3.SetParam(0, 7.7f); SetParam(P_ON, 1.0); // initialize all blocks UpdateAll(); e.UpdateParameters(); }
public void InitializeDevice() { DevInfo.DeviceID = "Low Profile - Smash Master"; #if DEBUG DevInfo.DeviceID = DevInfo.DeviceID + " - Dev"; #endif DevInfo.Developer = "Valdemar Erlingsson"; DevInfo.EditorHeight = 0; DevInfo.EditorWidth = 0; DevInfo.HasEditor = false; DevInfo.Name = "Smash Master"; DevInfo.ProgramCount = 1; DevInfo.Type = DeviceType.Effect; DevInfo.Version = 1000; 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.5"; p.Index = (uint)i; p.Name = ParameterNames[i]; p.Steps = 0; p.Value = 0.5; ParameterInfo[i] = p; } Hp1 = new Highpass1((float)Samplerate); LpNoise = new Lowpass1((float)Samplerate); GainTF = new Gain(this.Samplerate); PostGain = new postGain(Samplerate); SaturateLP = new Lowpass1((float)Samplerate); ClipperHP = new Highpass1((float)Samplerate); Clipper = new LUT(); Clipper.ReadRecord(Tables.D1N914TF.Split('\n')); Clipper.Table = Tables.Upsample(Clipper.Table, 100000); Tonestack = new Tonestack((float)Samplerate); TF2 = new TF2(Samplerate); Contour = new Contour(Samplerate); OutHP = new Highpass1((float)Samplerate); OutLP = new Lowpass1((float)Samplerate); // 16Hz, remove DC bias from input Hp1.SetParam(0, 16f); LpNoise.SetParam(0, 3500f); ClipperHP.SetParam(0, 10f); SaturateLP.SetParam(0, 15000); Tonestack.FenderMode = true; Tonestack.setComponents(0.022e-6, 0.22e-6, 0.022e-6, 1000, 5e6, 6.8e3, 25e3, 1e3, 100e3); OutHP.SetParam(0, 30f); // initialize all blocks UpdateAll(); }