コード例 #1
0
 public SampleClockVST(ITimeConfiguration conf)
 {
     Fs       = conf.Rate;
     Division = conf.Division;
     //Tempo = conf.Tempo; // FIXME: ITimeConfiguration should use muspqn.
     MusPQN = conf.MusPQN;
 }
コード例 #2
0
 public SampleClock SolveSamples(double pulses, ITimeConfiguration config)
 {
     Rate     = config.Rate;
     Tempo    = config.Tempo;
     Division = config.Division;
     IsQuarterOffsetInTicks = true;
     Pulses = pulses;
     return(this);
 }
コード例 #3
0
 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();
 }
コード例 #4
0
 public SampleClockVST SolvePPQ(long sampleOffset, ITimeConfiguration conf)
 {
     Fs       = conf.Rate;
     MusPQN   = conf.MusPQN;
     Division = conf.Division;
     IsQuarterOffsetInTicks = true;
     Samples = sampleOffset;
     return(this);
 }
コード例 #5
0
 public SampleClock(ITimeConfiguration config)
 {
     Rate     = config.Rate;
     Division = config.Division;
     Tempo    = config.Tempo;
 }
コード例 #6
0
ファイル: PulseValue.cs プロジェクト: tfwio/modest-smf-vstnet
 /// <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);
 }
コード例 #7
0
        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));
        }
コード例 #8
0
        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));
        }
コード例 #9
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));
 }
コード例 #10
0
 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);
 }
コード例 #11
0
 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 );
 }