Beispiel #1
0
 public Color GetDefaultColor(EightNightsMgr.GroupID g)
 {
     LightGroupConfig lg = FindGroupConfig(g);
     if (lg != null)
         return lg.DefaultColor;
     return Color.white;
 }
Beispiel #2
0
 public bool IsGroupCrescendoingReversed(EightNightsMgr.GroupID group)
 {
     ButtonConfig c = FindButtonConfig(group);
       if (c != null)
      return c.IsReversed();
       return false;
 }
Beispiel #3
0
    void OnButtonTriggered(object sender, EightNightsMgr.ButtonTriggeredEventArgs e)
    {
        if (TriggerEvent != TriggerEvents.ButtonPress)
         return;

          if (e.Group == Group)
         Trigger();
    }
Beispiel #4
0
    public float GetCrescendoTimeRemainaingForGroup(EightNightsMgr.GroupID group)
    {
        ButtonConfig c = FindButtonConfig(group);
          if (c != null)
         return c.CrescendoTimeRemaining();

          return 0.0f;
    }
Beispiel #5
0
    public float GetCrescendoProgressForGroup(EightNightsMgr.GroupID group)
    {
        ButtonConfig c = FindButtonConfig(group);
          if (c != null)
         return c.CrescendoProgress();

          return 0.0f;
    }
Beispiel #6
0
 public MIDIConfig FindMIDIConfig(EightNightsMgr.GroupID group)
 {
     foreach (MIDIConfig c in MIDIConfigs)
       {
      if (c.Group == group)
         return c;
       }
       return null;
 }
Beispiel #7
0
 public SpectroConfig GetSpectroDataForGroup(EightNightsMgr.GroupID group)
 {
     foreach (SpectroConfig c in SpectroConfigs)
       {
      if (c.Group == group)
         return c;
       }
       return null;
 }
 public GroupStateData GetStateForGroup(EightNightsMgr.GroupID group)
 {
     foreach (GroupStateData d in _groupState)
       {
      if (d.Group == group)
         return d;
       }
       return null;
 }
Beispiel #9
0
    void OnLightEffectTriggered(object sender, EightNightsMgr.LightTriggeredEventArgs e)
    {
        if (TriggerEvent != TriggerEvents.NoteOnLight)
         return;

          float weight = ApplyNoteVelocity ? e.Weight : 1.0f;

          if ((e.Light == Light) && (e.Group == Group))
         Trigger(weight);
    }
 void OnOld8NightsLightChanged(object sender, EightNightsMgr.LightEventArgs e)
 {
     if ((e.Group == Group) && (e.Light == Light))
       {
      if (RendererWithMat != null)
      {
         RendererWithMat.material.color = Color.Lerp(Color.grey, e.Data.LightColor, e.Data.LightIntensity);
      }
       }
 }
Beispiel #11
0
 //get latency for the given light.  Meaning this is how long it takes to set a value, and have it appear on the lights.
 public float GetLatency(EightNightsMgr.GroupID gID, EightNightsMgr.LightID lID)
 {
     LightConfig lc = FindLightConfig(gID, lID);
     if (lc != null)
     {
         if (lc.LightType == LightTypes.Hue)
             return HueMessenger.Instance.GetCurLatency();
         else
             return LightJamsMgr.Instance.GetCurLatency();
     }
     return 0.0f;
 }
Beispiel #12
0
    void OnLightChanged(object sender, EightNightsMgr.LightEventArgs e)
    {
        if(_animator == null)
         return;

          if (SyncFromLightEffect != null)
         return;

          if ((e.Group == Group) && (e.Light == Light))
          {
         float val = e.Data.LightIntensity;

         UpdateWithScrubValue(val);
          }
    }
Beispiel #13
0
    public void TriggerGroup(EightNightsMgr.GroupID group)
    {
        //we are going to exclusively sync with the state of each candle
          //so lets trigger the candle instead of the audio directly
          //toggle the light state, and the stem will respond next update
          Nights2Beacon b = GetBeaconForGroup(group);
          if (b != null)
          {
         b.SetLit(!b.IsLit());
          }

          /*GroupStateData stateData = GetStateForGroup(group);
          if (stateData != null)
          {
         stateData.CaptureTimestamp(); //reset decay timers

         //If track already on, then we toggle it off
         if (stateData.LoopState == StemLoopState.Sustaining)
         {
            stateData.LoopState = StemLoopState.Releasing;
         }
          }*/
    }
Beispiel #14
0
 public float GetNarrationTimeForGroup(EightNightsMgr.GroupID group)
 {
     return MusicPlayer.GetNarrationTimeForGroup(group);
 }
Beispiel #15
0
 public FMOD_StudioEventEmitter GetNarrationForGroup(EightNightsMgr.GroupID group)
 {
     return MusicPlayer.GetNarrationForGroup(group);
 }
Beispiel #16
0
 public void SendCrescendoEndEvent(EightNightsMgr.GroupID group)
 {
     if (OnCrescendoEnd != null)
      OnCrescendoEnd(this, new ButtonCrescendoEventArgs(group, 0.0f));
 }
 public float GetVolumeForGroup(EightNightsMgr.GroupID group)
 {
     AudioLayer layer = GetLayerForGroup(group);
       EightNightsLayerDetails layerDetails = GetLayerDetailsForGroup(group);
       if ((layer != null) && (layerDetails != null))
       {
      return Mathf.InverseLerp(0.0f, layerDetails.MixVolume, layer.Volume);
       }
       return 0.0f;
 }
    public EightNightsLayerDetails GetLayerDetailsForGroup(EightNightsMgr.GroupID group)
    {
        //look up which layer
          foreach (EightNightsLayerDetails d in EightNightsDetails)
          {
         if (d.Group == group)
            return d;
          }

          return null;
    }
Beispiel #19
0
 public EightNightsMIDIEventArgs(int midiNote, float beat, float durationBeats, float velocity, EightNightsMgr.GroupID g)
 {
     Group = g; MidiNote = midiNote; NoteBeat = beat; DurationBeats = durationBeats; Velocity = velocity;
 }
Beispiel #20
0
 public ButtonCrescendoEventArgs(EightNightsMgr.GroupID g, float ct)
 {
     Group = g; CrescendoTime = ct;
 }
Beispiel #21
0
 public bool IsGroupCrescendoing(EightNightsMgr.GroupID group)
 {
     float progress = GetCrescendoProgressForGroup(group);
       return (progress > 0.0f) && (progress < 1.0f);
 }
Beispiel #22
0
 void Awake()
 {
     Instance = this;
 }
Beispiel #23
0
    public void TriggerSoundForGroup(EightNightsMgr.GroupID group, bool shouldReverseCrescendo)
    {
        ButtonConfig c = FindButtonConfig(group);
          if ((c != null) && (c.MusicPlayer != null))
          {

         if (EightNightsMgr.Instance != null)
            EightNightsMgr.Instance.SendButtonTriggeredEvent(group);

         if (!IsGroupCrescendoing(group)) //ignore if group already crescendoing
         {
            if (!c.AlignToDownBeat) //just fire off one-off
            {
               //TODO: should spawn these things so we don't have to cut anything off
               c.MusicPlayer.Stop();
               c.MusicPlayer.Play();
            }
            else
            {
               c.ScheduleForDownBeat(shouldReverseCrescendo);
            }
         }
          }
    }
Beispiel #24
0
    float GetLatency(EightNightsMgr.GroupID g, EightNightsMgr.LightID l)
    {
        if (LightMgr.Instance != null)
         return LightMgr.Instance.GetLatency(g, l);
          else if (EightNightsMgr.Instance != null)
         return EightNightsMgr.Instance.GetLatency(g, l);

          return 0.0f;
    }
Beispiel #25
0
 ButtonConfig FindButtonConfig(EightNightsMgr.GroupID group)
 {
     foreach (ButtonConfig c in ButtonConfigs)
       {
      if (c.Group == group)
         return c;
       }
       return null;
 }
Beispiel #26
0
    public Nights2Beacon GetBeaconForGroup(EightNightsMgr.GroupID group)
    {
        GroupStateData stateData = GetStateForGroup(group);
          if (stateData != null)
          {
         Nights2Beacon b = Nights2Mgr.Instance.GetBeacon(stateData.CandleIdx);
         return b;
          }

          return null;
    }
    public AudioLayer GetLayerForGroup(EightNightsMgr.GroupID group)
    {
        //look up which layer
          foreach (EightNightsLayerDetails d in EightNightsDetails)
          {
         if (d.Group == group)
            return playbackMusic.GetLayer(d.LayerIdx);
          }

          return null;
    }
Beispiel #28
0
 public float GetGroupVolume(EightNightsMgr.GroupID g)
 {
     if (MusicPlayer != null)
       {
      return MusicPlayer.GetVolumeForGroup(g);
       }
       return 0.0f;
 }
    public void SetVolumeForGroup(EightNightsMgr.GroupID group, float volume)
    {
        //look up which layer
          EightNightsLayerDetails layerDetails = GetLayerDetailsForGroup(group);

          if (layerDetails != null)
          {
         AudioLayer layer = playbackMusic.GetLayer(layerDetails.LayerIdx);
         layer.Volume = Mathf.Lerp(0.0f, layerDetails.MixVolume, volume);
          }
    }
Beispiel #30
0
 public void SendCrescendoBeginEvent(EightNightsMgr.GroupID group, float crescendoTime)
 {
     if (OnCrescendoBegin != null)
      OnCrescendoBegin(this, new ButtonCrescendoEventArgs(group, crescendoTime));
 }