private void PrepareFirstMusicCue(MusicTreeAsset musicTree) { nextCueNode = musicTreeRuntime.SelectNextPatch(); double initTime = musicController.Init(nextCueNode.clip); counter.UpdateClipVariables(initTime, musicTree.defaultBPM, musicController.Frequency); }
private void OnNewNodePayingByPlayer(CueMusicTreeNode obj) { if (MusicTreeEditor != null) { MusicTreeEditor.Repaint(); } }
public void SwitchCue(CueMusicTreeNode newCue) { UnityEngine.Debug.Log("started new cue"); PerformChecks(float.PositiveInfinity); currentCue = newCue; lastTime = float.NegativeInfinity; }
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); }
public NoteSheetEditor(CueMusicTreeNode cue, CachedMusicTreeNode cueOwner) { this.cue = cue; this.cueOwner = cueOwner; trackDrawers = new List <NoteTrackEditor>(); MusicTreeEditorManager.Instance.NoteTrackDefinitionsChanged += Instance_NoteTrackDefinitionsChanged; UpdateTrackDrawers(); }
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(); }
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; }
private void MusicController_OnClipCloseToEnd() { try { nextCueNode = musicTreeRuntime.SelectNextPatch(); musicController.EnqueueClip(nextCueNode.clip); } catch (NoValidPatchToPlayException) { Debug.Log("No valid Patch to play"); throw; } }
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); }
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; } }
private void Manager_SelectedCueChanged(CueMusicTreeNode node, CachedMusicTreeNode owner) { UpdateDrawer(node, owner); }
public static int BPMFor(CueMusicTreeNode node, MusicTreeAsset tree) { return(node.useCustomBPM ? node.customBPM : tree.defaultBPM); }
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); }