private void RenderElement(bool altColor, ref TimeSpan startTime, ref TimeSpan intervalTime, ElementNode element) { EffectIntents result; if ((StaticColor1 && altColor) || StaticColor2 && !altColor) { var level = new SetLevel.SetLevel(); level.TargetNodes = new ElementNode[] { element }; level.Color = altColor ? Color1 : Color2; level.TimeSpan = intervalTime; level.IntensityLevel = altColor ? IntensityLevel1 : IntensityLevel2; result = level.Render(); } else { var pulse = new Pulse.Pulse(); pulse.TargetNodes = new ElementNode[] { element }; pulse.TimeSpan = intervalTime; pulse.ColorGradient = altColor ? ColorGradient1 : ColorGradient2; pulse.LevelCurve = altColor ? Curve1 : Curve2; result = pulse.Render(); } result.OffsetAllCommandsByTime(startTime); _elementData.Add(result); }
private EffectIntents CreateIntentsForPhoneme(ElementNode element, double intensity, Color color, TimeSpan duration) { EffectIntents result; var level = new SetLevel.SetLevel(); level.TargetNodes = new[] { element }; level.Color = color; level.IntensityLevel = intensity; level.TimeSpan = duration; result = level.Render(); return(result); }
// renders the given node to the internal ElementData dictionary. If the given node is // not a element, will recursively descend until we render its elements. private void RenderNode(ElementNode node) { EffectIntents result; LipSyncMapData mapData = null; List <ElementNode> renderNodes = TargetNodes.SelectMany(x => x.GetNodeEnumerator()).ToList(); if (_data.PhonemeMapping != null) { if (!_library.Library.ContainsKey(_data.PhonemeMapping)) { _data.PhonemeMapping = _library.DefaultMappingName; } PhonemeType phoneme = _data.StaticPhoneme; if (_library.Library.TryGetValue(_data.PhonemeMapping, out mapData)) { renderNodes.ForEach(delegate(ElementNode element) { LipSyncMapItem item = mapData.FindMapItem(element.Name); if (item != null) { if (mapData.PhonemeState(element.Name, _data.StaticPhoneme.ToString(), item)) { var level = new SetLevel.SetLevel(); level.TargetNodes = new ElementNode[] { element }; level.Color = mapData.ConfiguredColor(element.Name, phoneme, item); level.IntensityLevel = mapData.ConfiguredIntensity(element.Name, phoneme, item); level.TimeSpan = TimeSpan; result = level.Render(); _elementData.Add(result); } } }); } } }
private void RenderElement(bool altColor, ref TimeSpan startTime, ref System.TimeSpan intervalTime, ref LightingValue? lightingValue, ElementNode element) { EffectIntents result; if ((StaticColor1 && altColor) || StaticColor2 && !altColor) { var level = new SetLevel.SetLevel(); level.TargetNodes = new ElementNode[] { element }; level.Color = altColor ? Color1 : Color2; level.TimeSpan = intervalTime; result = level.Render(); } else { var pulse = new Pulse.Pulse(); pulse.TargetNodes = new ElementNode[] { element }; pulse.TimeSpan = intervalTime; pulse.ColorGradient = altColor ? ColorGradient1 : ColorGradient2; pulse.LevelCurve = altColor ? Curve1 : Curve2; result = pulse.Render(); } result.OffsetAllCommandsByTime(startTime); _elementData.Add(result); }
// renders the given node to the internal ElementData dictionary. If the given node is // not a element, will recursively descend until we render its elements. private void RenderNode(ElementNode node) { EffectIntents result; LipSyncMapData mapData = null; List<ElementNode> renderNodes = TargetNodes.SelectMany(x => x.GetNodeEnumerator()).ToList(); if (_data.PhonemeMapping != null) { if (!_library.Library.ContainsKey(_data.PhonemeMapping)) { _data.PhonemeMapping = _library.DefaultMappingName; } PhonemeType phoneme = _data.StaticPhoneme; if (_library.Library.TryGetValue(_data.PhonemeMapping, out mapData)) { renderNodes.ForEach(delegate(ElementNode element) { LipSyncMapItem item = mapData.FindMapItem(element.Name); if (item != null) { if (mapData.PhonemeState(element.Name, _data.StaticPhoneme.ToString(), item)) { var level = new SetLevel.SetLevel(); level.TargetNodes = new ElementNode[] { element }; level.Color = mapData.ConfiguredColor(element.Name, phoneme, item); level.IntensityLevel = mapData.ConfiguredIntensity(element.Name, phoneme, item); level.TimeSpan = TimeSpan; result = level.Render(); _elementData.Add(result); } } }); } } }