public PlaybackControllerService ()
{
InstantiateStacks ();
player_engine = ServiceManager.PlayerEngine;
player_engine.PlayWhenIdleRequest += OnPlayerEnginePlayWhenIdleRequest;
player_engine.ConnectEvent (OnPlayerEvent,
PlayerEvent.RequestNextTrack |
PlayerEvent.EndOfStream |
PlayerEvent.StartOfStream |
PlayerEvent.StateChange |
PlayerEvent.Error,
true);
ServiceManager.SourceManager.ActiveSourceChanged += delegate {
ITrackModelSource active_source = ServiceManager.SourceManager.ActiveSource as ITrackModelSource;
if (active_source != null && source_auto_set_at == source_set_at && !player_engine.IsPlaying ()) {
Source = active_source;
source_auto_set_at = source_set_at;
}
};
}