public void SendSignal(IMidiSignal signal)
 {
     musicUnitMap.Add(musicUnitFactory.GetMusicUnit(tick, signal));
 }
 public void SendDelayedSignal(IMidiSignal signal, Duration duration)
 {
     SendDelayedSignal(signal, (int)duration);
 }
 public void SendDelayedSignal(IMidiSignal signal, int duration)
 {
     musicUnitMap.Add(musicUnitFactory.GetMusicUnit(tick + duration - 1, signal));
 }
 public void FireSignal(IMidiSignal signal)
 {
     signal.Fire(outputDevice, midiChannel);
 }