public void play()
        {
            if (musicStream == null || musicStream.IsEmpty)
                musicStream = musicGenerator.Generate();

            musicPlayingFacade.play(musicStream);
        }
 public MusicDispatcher GetMusicDispatcher(MusicStream musicStream, int beatsPerMinute)
 {
     return new MusicDispatcher(midiIntegrationFacade, musicStream, new Timer(), beatsPerMinute);
 }
 public void play(MusicStream musicStream)
 {
     musicPlayer.play(musicStream);
 }
 public UIAbstractionFacade(StreamGenerator musicGenerator, MusicPlayingFacade musicPlayingFacade)
 {
     this.musicGenerator = musicGenerator;
     this.musicPlayingFacade = musicPlayingFacade;
     this.musicStream = null;
 }