void IExtensionService.Initialize()
        {
            try {
                Log.DebugFormat("BansheeAwn. Starting {0}", Application.ActiveClient.ClientId);

                awn = DBus.Bus.Session.GetObject <IAvantWindowNavigator> ("com.google.code.Awn",
                                                                          new DBus.ObjectPath("/com/google/code/Awn"));

                // Dummy call to check that awn is really there
                awn.UnsetTaskIconByName("banshee-dummy");

                service = ServiceManager.PlayerEngine;
                service.ConnectEvent(new PlayerEventHandler(this.OnEventChanged));

                Log.Debug("BansheeAwn - Initialized");
            } catch (Exception ex) {
                Log.Warning("BansheeAwn - Failed loading Awn Extension. ", ex);
                awn = null;
            }
        }
        public PlaybackControllerService()
        {
            InstantiateStacks();

            player_engine = ServiceManager.PlayerEngine;
            player_engine.PlayWhenIdleRequest += OnPlayerEnginePlayWhenIdleRequest;
            player_engine.ConnectEvent(OnPlayerEvent,
                                       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;
                }
            };
        }
示例#3
0
        void IExtensionService.Initialize()
        {
            try
            {
                Log.Debug("BansheeAwn. Starting..." + Banshee.ServiceStack.Application.ActiveClient.ClientId);

                awn = NDesk.DBus.Bus.Session.GetObject <IAvantWindowNavigator> ("com.google.code.Awn",
                                                                                new NDesk.DBus.ObjectPath("/com/google/code/Awn"));
                if (awn == null)
                {
                    throw new NullReferenceException();
                }
                service = ServiceManager.PlayerEngine;

                service.ConnectEvent(new PlayerEventHandler(this.OnEventChanged));

                Log.Debug("BansheeAwn - Initialized");
            }
            catch (Exception ex)
            {
                Log.Debug("BansheeAwn - Failed loading Awn Extension. " + ex.Message);
            }
        }