public SampleClockVST(ITimeConfiguration conf) { Fs = conf.Rate; Division = conf.Division; //Tempo = conf.Tempo; // FIXME: ITimeConfiguration should use muspqn. MusPQN = conf.MusPQN; }
public SampleClock SolveSamples(double pulses, ITimeConfiguration config) { Rate = config.Rate; Tempo = config.Tempo; Division = config.Division; IsQuarterOffsetInTicks = true; Pulses = pulses; return(this); }
public SampleClockVST SolveSamples(long pulse, ITimeConfiguration settings) { this.Pulse = pulse; this.Division = settings.Division; this.Fs = settings.Rate; this.MusPQN = settings.MusPQN; return(this); //return this.Copy(); }
public SampleClockVST SolvePPQ(long sampleOffset, ITimeConfiguration conf) { Fs = conf.Rate; MusPQN = conf.MusPQN; Division = conf.Division; IsQuarterOffsetInTicks = true; Samples = sampleOffset; return(this); }
public SampleClock(ITimeConfiguration config) { Rate = config.Rate; Division = config.Division; Tempo = config.Tempo; }
/// <summary> /// intended from pulses or samples /// </summary> /// <param name="config"></param> /// <returns></returns> public double ToSamples(ITimeConfiguration config) { return ToSamples(config.Rate,config.Tempo,config.Division); }
static public Jacobi.Vst.Core.VstMidiSysExEvent ToVstMidiSysex(this MidiMessage item, int offset, ITimeConfiguration config, SampleClock c) { int samples = c.SolveSamples(item.DeltaTime).Samples32Floor - offset; return(new Jacobi.Vst.Core.VstMidiSysExEvent(samples, (item as MidiSysexMessage).SystemData)); }
static public Jacobi.Vst.Core.VstMidiEvent ToVstMidiEvent(this MidiMessage item, int offset, ITimeConfiguration config, SampleClock c) { // byte b0 = (config.IsSingleZeroChannel) ? (byte)item.MessageBit : item.Data[0]; int samples = c.SolveSamples(item.DeltaTime).Samples32Floor - offset; return(new Jacobi.Vst.Core.VstMidiEvent(samples, 0, 0, new byte[4] { item.Data[0], item.Data[1], item.Data[2], 0 }, 0, 0)); }
/// <summary> /// intended from samples or pulses /// </summary> /// <param name="config"></param> /// <returns></returns> /// <exception cref="ArgumentException">Only applies to DeltaType.Samples and DeltaType.Pulses.</exception> public double ToPulses(ITimeConfiguration config) { return(ToPulses(config.Rate, config.Tempo, config.Division)); }
public static Jacobi.Vst.Core.VstMidiSysExEvent ToVstMidiSysex(this MidiMessage item, int offset, ITimeConfiguration config, SampleClock c) { int samples = c.SolveSamples(item.DeltaTime).Samples32Floor-offset; return new Jacobi.Vst.Core.VstMidiSysExEvent(samples,(item as MidiSysexMessage).SystemData); }
public static Jacobi.Vst.Core.VstMidiEvent ToVstMidiEvent(this MidiMessage item, int offset, ITimeConfiguration config, SampleClock c) { // byte b0 = (config.IsSingleZeroChannel) ? (byte)item.MessageBit : item.Data[0]; int samples = c.SolveSamples(item.DeltaTime).Samples32Floor - offset; return new Jacobi.Vst.Core.VstMidiEvent(samples, 0, 0, new byte[4]{ item.Data[0], item.Data[1], item.Data[2], 0 }, 0 , 0 ); }