/// <summary> /// Constructs a new immutable instance. /// </summary> /// <param name="eventType">The type of event. Cannot be <see cref="VstEventTypes.MidiEvent"/> or <see cref="VstEventTypes.MidiSysExEvent"/>.</param> /// <param name="deltaFrames">The start of this event in the number of delta frames from the current cycle.</param> /// <param name="data">The associated data for this event.</param> public VstGenericEvent(VstEventTypes eventType, int deltaFrames, byte[] data) : base(eventType, deltaFrames, data) { if (eventType == VstEventTypes.MidiEvent || eventType == VstEventTypes.MidiSysExEvent) { throw new ArgumentException(Properties.Resources.VstGenericEvent_InvalidEventType, "eventType"); } }
public void Test_VstGenericEvent_MidiSysExEvent() { VstEventTypes eventType = VstEventTypes.MidiSysExEvent; int deltaFrames = 12; byte[] data = new byte[] { 0x9C, 0x7F, 0x40 }; new VstGenericEvent(eventType, deltaFrames, data); Assert.Fail("Should have thrown an excepction."); }
/// <summary> /// For derived classes only. /// </summary> /// <param name="eventType">The type of event.</param> /// <param name="deltaFrames">The start of this event in the number of delta frames from the current cycle.</param> /// <param name="data">A byte buffer of event data.</param> protected VstEvent(VstEventTypes eventType, int deltaFrames, byte[] data) { if (eventType == VstEventTypes.Unknown) { throw new ArgumentException(Properties.Resources.VstEvent_InvalidEventType, nameof(eventType)); } EventType = eventType; DeltaFrames = deltaFrames; Data = data; }
public void Test_VstGenericEvent_Constructor() { VstEventTypes eventType = VstEventTypes.DeprecatedAudioEvent; int deltaFrames = 12; byte[] data = new byte[] { 0x9C, 0x7F, 0x40 }; VstGenericEvent ge = new VstGenericEvent(eventType, deltaFrames, data); Assert.AreEqual(eventType, ge.EventType, "VstGenericEvent.EventType"); Assert.AreEqual(deltaFrames, ge.DeltaFrames, "VstGenericEvent.DeltaFrames"); Assert.IsNotNull(ge.Data, "VstGenericEvent.Data is null"); Assert.AreEqual(3, ge.Data.Length, "VstGenericEvent.Data.Length"); Assert.AreEqual(0x9C, ge.Data[0], "VstGenericEvent.Data[0]"); Assert.AreEqual(0x7F, ge.Data[1], "VstGenericEvent.Data[1]"); Assert.AreEqual(0x40, ge.Data[2], "VstGenericEvent.Data[2]"); }