Esempio n. 1
0
        private void PrepareFirstMusicCue(MusicTreeAsset musicTree)
        {
            nextCueNode = musicTreeRuntime.SelectNextPatch();
            double initTime = musicController.Init(nextCueNode.clip);

            counter.UpdateClipVariables(initTime, musicTree.defaultBPM, musicController.Frequency);
        }
Esempio n. 2
0
 private void OnNewNodePayingByPlayer(CueMusicTreeNode obj)
 {
     if (MusicTreeEditor != null)
     {
         MusicTreeEditor.Repaint();
     }
 }
Esempio n. 3
0
 public void SwitchCue(CueMusicTreeNode newCue)
 {
     UnityEngine.Debug.Log("started new cue");
     PerformChecks(float.PositiveInfinity);
     currentCue = newCue;
     lastTime   = float.NegativeInfinity;
 }
Esempio n. 4
0
 private void OnCueSelected(CueMusicTreeNode cue, CachedMusicTreeNode owner)
 {
     if (SelectedCueChanged != null)
     {
         SelectedCueChanged(cue, owner);
     }
 }
        public static float DurationInBeats(CueMusicTreeNode node, MusicTreeAsset tree)
        {
            int   bpm    = BPMFor(node, tree);
            float result = node.clip.length / 60 * bpm;

            result = RoundBeat(result);
            return(result);
        }
Esempio n. 6
0
 public NoteSheetEditor(CueMusicTreeNode cue, CachedMusicTreeNode cueOwner)
 {
     this.cue      = cue;
     this.cueOwner = cueOwner;
     trackDrawers  = new List <NoteTrackEditor>();
     MusicTreeEditorManager.Instance.NoteTrackDefinitionsChanged += Instance_NoteTrackDefinitionsChanged;
     UpdateTrackDrawers();
 }
Esempio n. 7
0
 private void UpdateDrawer(CueMusicTreeNode cue, CachedMusicTreeNode owner)
 {
     if (drawer != null)
     {
         drawer.DataUpdated -= Drawer_DataUpdated;
         drawer.OnReplaced();
     }
     drawer              = new NoteSheetEditor(cue, owner);;
     drawer.DataUpdated += Drawer_DataUpdated;
     Repaint();
 }
Esempio n. 8
0
        private void MusicController_OnNewClipStarted()
        {
            float bpm = MusicTreeNodeUtilities.BPMFor(nextCueNode, musicTree);

            counter.UpdateClipVariables(musicController.CurrentClipStartDSPTme, bpm, musicController.Frequency);
            checker.SwitchCue(nextCueNode);
            if (NewNodePlaying != null)
            {
                NewNodePlaying(nextCueNode);
            }
            CurrentNode = nextCueNode;
        }
Esempio n. 9
0
 private void MusicController_OnClipCloseToEnd()
 {
     try
     {
         nextCueNode = musicTreeRuntime.SelectNextPatch();
         musicController.EnqueueClip(nextCueNode.clip);
     }
     catch (NoValidPatchToPlayException)
     {
         Debug.Log("No valid Patch to play");
         throw;
     }
 }
Esempio n. 10
0
        public static float DurationInBeats(CueMusicTreeNode node, MusicTreeAsset tree)
        {
            int   bpm    = BPMFor(node, tree);
            float result = node.clip == null ? 0 : node.clip.length / 60 * bpm;
            float f      = result % .25f;

            result -= f;
            if (f > .125)
            {
                result += .25f;
            }
            return(result);
        }
Esempio n. 11
0
 public void Visit(CueMusicTreeNode n, CachedMusicTreeNode nContainer)
 {
     if (nContainer.ExecutionState == CachedMusicTreeNode.State.Running)
     {
         //If was already playing, it is assumed to be finished
         nContainer.ExecutionState = CachedMusicTreeNode.State.Complete;
         this.RunningLeaf          = null;
     }
     else
     {
         nContainer.ExecutionState = CachedMusicTreeNode.State.Running;
         this.RunningLeaf          = n;
     }
 }
Esempio n. 12
0
 private void Manager_SelectedCueChanged(CueMusicTreeNode node, CachedMusicTreeNode owner)
 {
     UpdateDrawer(node, owner);
 }
Esempio n. 13
0
 public static int BPMFor(CueMusicTreeNode node, MusicTreeAsset tree)
 {
     return(node.useCustomBPM ? node.customBPM : tree.defaultBPM);
 }
Esempio n. 14
0
        public static CachedMusicTreeNode.State Execute(this CachedMusicTreeNode root, MusicTreeEnvironment env, out CueMusicTreeNode resultNode)
        {
            var visitor = new PlaybackStepNodeVisitor(env);

            root.Accept(visitor);
            resultNode = visitor.RunningLeaf;
            return(root.ExecutionState);
        }