Example #1
0
 public void VisitRandomMusicList(IRandomBackgroundMusicList musicList)
 {
     foreach (IElement element in musicList.GetElements())
     {
         element.Visit(this);
     }
 }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
            }
        }
Example #4
0
 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);
 }
Example #5
0
 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);
 }
Example #6
0
 public void VisitRandomMusicList(IRandomBackgroundMusicList musicList)
 {
     foreach (IChoiceElement element in musicList.GetElements())
     {
         if (m_CurrentModeElement == null)
         {
             break;
         }
         element.Visit(this);
     }
 }
Example #7
0
 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);
     });
 }
Example #8
0
        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);
        }
Example #9
0
        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);
        }
Example #10
0
 public void VisitRandomMusicList(IRandomBackgroundMusicList musicList)
 {
 }
Example #11
0
 public override void VisitRandomMusicList(IRandomBackgroundMusicList musicList)
 {
     // called on first start
     PlayNext();
 }
Example #12
0
 public virtual void ChangeRandomList(IRandomBackgroundMusicList newList)
 {
 }