private static void InsertElement(IElementContainer <ISequentialElement> sequentialContainer, IFileElement newElement, ISequentialElement origElement) { ISequentialElement seqElement = sequentialContainer.AddElement(newElement); seqElement.MaximumRandomStartDelay = origElement.MaximumRandomStartDelay; seqElement.FixedStartDelay = origElement.FixedStartDelay; }
public SequentialElementChangeAction(ISequentialElement element, int newFixed, int newRandom) { m_Element = element; m_OldFixed = element.FixedStartDelay; m_OldRandom = element.MaximumRandomStartDelay; m_NewFixed = TimeSpan.FromMilliseconds(newFixed); m_NewRandom = TimeSpan.FromMilliseconds(newRandom); }
public IList <IElement> AddGeneralImportedElement(IXmlWritable element) { List <IElement> result = new List <IElement>(); if (element is ISequentialElement) { ISequentialElement sequential = element as ISequentialElement; if (sequential.InnerElement is IFileElement) { result.AddRange(m_SecondContainer.AddGeneralImportedElement(element)); return(result); } } foreach (IFileElement fileElement in element.GetFileElements()) { result.Add(m_SecondContainer.AddElement(fileElement)); } return(result); }
public override void PlayNext() { Monitor.Enter(syncObject); if (Client.Stopped || shallStop) { Monitor.Exit(syncObject); if (PlayingModule.ThePlayer.ProjectCallbacks != null) { PlayingModule.ThePlayer.ProjectCallbacks.MusicPlaylistFinished(m_Container.Id); } Client.SubPlayerFinished(this, shallStop, false); return; } ++m_Index; if (m_Index >= m_Container.GetElements().Count) { ++m_RepeatCount; if (m_Container.RepeatCount == -1 || m_RepeatCount < m_Container.RepeatCount) { Monitor.Exit(syncObject); Repeat(m_Container, m_Container); } else { Monitor.Exit(syncObject); if (PlayingModule.ThePlayer.ProjectCallbacks != null) { PlayingModule.ThePlayer.ProjectCallbacks.MusicPlaylistFinished(m_Container.Id); } Client.SubPlayerFinished(this, false, false); } } else { ISequentialElement element = m_Container.GetElements()[m_Index]; Monitor.Exit(syncObject); Delay(element, element); } }
protected override void AddElementToGrid(IContainerElement element) { ISequentialElement e = (ISequentialElement)element; elementsGrid.Rows.Add(new object[] { e.Title, string.Empty, string.Empty, e.FixedStartDelay.TotalMilliseconds, e.MaximumRandomStartDelay.TotalMilliseconds }); }