public void VisitRandomMusicList(IRandomBackgroundMusicList musicList) { foreach (IElement element in musicList.GetElements()) { element.Visit(this); } }
public override void ChangeRandomList(IRandomBackgroundMusicList newList) { IRandomBackgroundMusicList list; list = Ares.ModelInfo.Playlists.ExpandRandomMusicList(newList, (String error) => { ErrorHandling.ErrorOccurred(newList.Id, error); }); int oldId = -1; lock (syncObject) { if (m_Container != null) { oldId = m_Container.Id; } } if (PlayingModule.ThePlayer.ProjectCallbacks != null) { PlayingModule.ThePlayer.ProjectCallbacks.MusicPlaylistFinished(oldId); } lock (syncObject) { m_Container = list; } if (PlayingModule.ThePlayer.ProjectCallbacks != null) { PlayingModule.ThePlayer.ProjectCallbacks.MusicPlaylistStarted(RandomMusicList.Id); } }
private void UpdateMusicList() { var newMusicList = CreateTagsMusicList(m_Title, m_CurrentChoices, m_FadeOnlyOnChange ? 0 : m_FadeTime); var newModeElement = Ares.Data.DataModule.ElementFactory.CreateModeElement(m_Title, newMusicList); newModeElement.Trigger = Ares.Data.DataModule.ElementFactory.CreateNoTrigger(); newModeElement.Trigger.StopMusic = true; newModeElement.Trigger.CrossFadeMusic = false; if (m_FadeTime > 0) { newModeElement.Trigger.FadeMusic = true; newModeElement.Trigger.FadeMusicTime = m_FadeTime; } IRandomBackgroundMusicList oldMusicList; lock (m_SyncObject) { oldMusicList = m_MusicList; m_MusicList = newMusicList; m_ModeElement = newModeElement; } if (oldMusicList != null) { foreach (IChoiceElement element in oldMusicList.GetElements()) { Ares.Data.DataModule.ElementRepository.DeleteElement(element.Id); } Ares.Data.DataModule.ElementRepository.DeleteElement(oldMusicList.Id); } }
public TagsMusicPlayer() { m_CurrentFile = String.Empty; m_CurrentFileId = -1; m_Title = StringResources.TaggedMusic; m_MusicList = Ares.Data.DataModule.ElementFactory.CreateRandomBackgroundMusicList(m_Title); m_ModeElement = Ares.Data.DataModule.ElementFactory.CreateModeElement(m_Title, m_MusicList); m_CurrentChoices = new List <String>(); ProjectCallbacks.Instance.AddCallbacks(this); }
public void SetPlaylist(IRandomBackgroundMusicList playList, IProject project) { ElementId = playList.Id; m_Element = playList; delayableControl.SetElement(playList, project); repeatableControl.SetElement(playList, project); choiceContainerControl.SetContainer(playList, project, true); volumeControl.SetElement(playList, project); label1.Text = String.Format(label1.Text, String.Format(StringResources.FileExplorerTitle, StringResources.Music)); ElementSet(project); }
public void VisitRandomMusicList(IRandomBackgroundMusicList musicList) { foreach (IChoiceElement element in musicList.GetElements()) { if (m_CurrentModeElement == null) { break; } element.Visit(this); } }
public RandomMusicPlayer(IRandomBackgroundMusicList list, WaitHandle stoppedEvent, IElementPlayerClient client) : base(stoppedEvent, client) { m_LastElementsStack = new List <IChoiceElement>(); m_GoBack = false; m_FixedNext = -1; m_RepeatCount = 0; m_Container = Ares.ModelInfo.Playlists.ExpandRandomMusicList(list, (String error) => { ErrorHandling.ErrorOccurred(list.Id, error); }); }
public static IRandomBackgroundMusicList ExpandRandomMusicList(IRandomBackgroundMusicList original, Action <String> errorHandler) { IRandomBackgroundMusicList result = Ares.Data.DataModule.ElementFactory.CreateRandomBackgroundMusicList(original.Title); result.FixedStartDelay = original.FixedStartDelay; result.MaximumRandomStartDelay = original.MaximumRandomStartDelay; result.FixedIntermediateDelay = original.FixedIntermediateDelay; result.MaximumRandomIntermediateDelay = original.MaximumRandomIntermediateDelay; result.MusicVolume = original.MusicVolume; result.RepeatCount = original.RepeatCount; result.SetsMusicVolume = original.SetsMusicVolume; result.SetsSoundVolume = original.SetsSoundVolume; result.SoundVolume = original.SoundVolume; ExpandPlaylists(result, original.GetElements(), errorHandler); return(result); }
public IModeElement GetModeElementDefinition(ITargetDirectoryProvider targetDirectoryProvider) { IElementContainer <IParallelElement> container = DataModule.ElementFactory.CreateParallelContainer("Test-Szenario"); IModeElement modeElement = DataModule.ElementFactory.CreateModeElement("Test-Szenario", container); IRandomBackgroundMusicList music = DataModule.ElementFactory.CreateRandomBackgroundMusicList("Musik"); container.AddElement(music); IBackgroundSounds sounds = DataModule.ElementFactory.CreateBackgroundSounds("Sounds"); container.AddElement(sounds); IBackgroundSoundChoice soundChoice1 = sounds.AddElement("Auswahl 1"); music.AddElement(DataModule.ElementFactory.CreateFileElement(targetDirectoryProvider.GetPathWithinLibrary(m_MusicResource), SoundFileType.Music)); soundChoice1.AddElement(DataModule.ElementFactory.CreateFileElement(targetDirectoryProvider.GetPathWithinLibrary(m_SoundResource), SoundFileType.SoundEffect)); return(modeElement); }
public void VisitRandomMusicList(IRandomBackgroundMusicList musicList) { }
public override void VisitRandomMusicList(IRandomBackgroundMusicList musicList) { // called on first start PlayNext(); }
public virtual void ChangeRandomList(IRandomBackgroundMusicList newList) { }