private void addEvent(patternType pattern, int chan, int startPos, int startValue, int endPos, int endValue = 0)
{
//System.Diagnostics.Debug.Print("Pattern: {0}, SPos (Val): {1}({2}), EPos (Val): {3}({4}), Chan: {5}", pattern, startPos, startValue, endPos, endValue, chan);
ElementNode targetNode = mappings[chan].ElementNode;
if (targetNode != null) {
EffectNode node = null;
switch (pattern) {
case patternType.SetLevelTrend:
case patternType.SingleSetLevel:
node = GenerateSetLevelEffect(startValue, startPos, endPos, targetNode);
break;
case patternType.PulseFadeTrend:
case patternType.PulseRampTrend:
node = GeneratePulseEffect(startValue, endValue, startPos, endPos, targetNode);
break;
}
if (node != null) {
Sequence.InsertData(node);
}
}
markEventsProcessed(chan * parsedV2Sequence.EventsPerElement + startPos, chan * parsedV2Sequence.EventsPerElement + endPos);
}