public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Android.OS.Bundle savedInstanceState)
        {
            View rootView = inflater.Inflate(Resource.Layout.media_player, container, false);

            _btnPrevious         = rootView.FindViewById <Button>(Resource.Id.btnPrevious);
            _btnPrevious.Enabled = false;
            _btnPrevious.Click  += OnClick;

            _btnNext         = rootView.FindViewById <Button>(Resource.Id.btnNext);
            _btnNext.Enabled = false;
            _btnNext.Click  += OnClick;

            _btnPlay         = rootView.FindViewById <Button>(Resource.Id.btnPlay);
            _btnPlay.Enabled = true;
            _btnPlay.Click  += OnClick;

            _queueAdapter = new QueueAdapter(Activity);

            var listView = rootView.FindViewById <ListView>(Resource.Id.list_view);

            listView.Adapter   = _queueAdapter;
            listView.Focusable = true;

            listView.ItemClick += (sender, e) =>
            {
                var item = _queueAdapter.GetItem(e.Position);
                _transportControls.SkipToQueueItem(item.QueueId);
            };

            _mediaBrowser = new MediaBrowser(Activity,
                                             new ComponentName(Activity, Java.Lang.Class.FromType(typeof(MusicService))),
                                             _connectionCallback, null);

            return(rootView);
        }
 public ChocHelper(MediaBrowser.Library.Item Item)
 {
     this.OverviewTimer = new Timer();
     this.CurrentItem = Item;
     this.setupHelper();
     Instance = this;
 }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            View rootView = inflater.Inflate(Resource.Layout.media_player, container, false);

            _browserAdapter = new BrowseAdapter(Activity);

            View controls = rootView.FindViewById(Resource.Id.media_player);

            controls.Visibility = ViewStates.Gone;

            var listView = rootView.FindViewById <ListView>(Resource.Id.list_view);

            listView.Adapter = _browserAdapter;

            listView.ItemClick += (sender, e) => {
                MediaBrowser.MediaItem item = _browserAdapter.GetItem(e.Position);
                var listener = (IMediaSelected)Activity;
                listener.OnMediaItemSelected(item);
            };

            Bundle args = Arguments;

            _mediaId      = args.GetString(ArgMediaId, null);
            _mediaBrowser = new MediaBrowser(Activity,
                                             new ComponentName(Activity, Java.Lang.Class.FromType(typeof(MusicService))),
                                             _connectionCallback, null);

            _subscriptionCallback.OnChildrenLoadedImpl = (parentId, children) => {
                _browserAdapter.Clear();
                _browserAdapter.NotifyDataSetInvalidated();
                foreach (MediaBrowser.MediaItem item in children)
                {
                    _browserAdapter.Add(item);
                }
                _browserAdapter.NotifyDataSetChanged();
            };

            _subscriptionCallback.OnErrorImpl   = (id) => Toast.MakeText(Activity, "Error Loading Media", ToastLength.Long).Show();
            _connectionCallback.OnConnectedImpl = () => {
                Logger.Debug($"OnConnectedImpl: session token {_mediaBrowser.SessionToken}");
                if (string.IsNullOrEmpty(_mediaId))
                {
                    _mediaId = _mediaBrowser.Root;
                }
                _mediaBrowser.Subscribe(_mediaId, _subscriptionCallback);
                if (_mediaBrowser.SessionToken == null)
                {
                    throw new ArgumentNullException("No Session token");
                }
                var mediaController = new Android.Media.Session.MediaController(Activity, _mediaBrowser.SessionToken);
                Activity.MediaController = mediaController;
            };
            _connectionCallback.OnConnectionFailedImpl    = () => Logger.Debug("OnConnectionFailedImpl");
            _connectionCallback.OnConnectionSuspendedImpl = () =>
            {
                Logger.Debug("OnConnectionSuspendedImpl");
                Activity.MediaController = null;
            };
            return(rootView);
        }
Пример #4
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Android.OS.Bundle savedInstanceState)
        {
            var rootView = inflater.Inflate(Resource.Layout.fragment_list, container, false);

            skipPrevious         = rootView.FindViewById <ImageButton> (Resource.Id.skip_previous);
            skipPrevious.Enabled = false;
            skipPrevious.Click  += OnClick;

            skipNext         = rootView.FindViewById <ImageButton> (Resource.Id.skip_next);
            skipNext.Enabled = false;
            skipNext.Click  += OnClick;

            playPause         = rootView.FindViewById <ImageButton> (Resource.Id.play_pause);
            playPause.Enabled = true;
            playPause.Click  += OnClick;

            queueAdapter = new QueueAdapter(Activity);

            var listView = rootView.FindViewById <ListView> (Resource.Id.list_view);

            listView.Adapter    = queueAdapter;
            listView.Focusable  = true;
            listView.ItemClick += (sender, e) => {
                var item = queueAdapter.GetItem(e.Position);
                transportControls.SkipToQueueItem(item.QueueId);
            };

            mediaBrowser = new MediaBrowser(Activity,
                                            new ComponentName(Activity, Java.Lang.Class.FromType(typeof(MusicService))),
                                            connectionCallback, null);

            return(rootView);
        }
Пример #5
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var rootView = inflater.Inflate(Resource.Layout.fragment_list, container, false);

            browserAdapter = new BrowseAdapter(Activity);

            var controls = rootView.FindViewById(Resource.Id.controls);

            controls.Visibility = ViewStates.Gone;

            var listView = rootView.FindViewById <ListView> (Resource.Id.list_view);

            listView.Adapter    = browserAdapter;
            listView.ItemClick += (sender, e) => {
                var item = browserAdapter.GetItem(e.Position);
                try {
                    var listener = (IFragmentDataHelper)Activity;
                    listener.OnMediaItemSelected(item);
                } catch (InvalidCastException ex) {
                    Log.Error(Tag, "Exception trying to cast to FragmentDataHelper", ex);
                }
            };
            var args = Arguments;

            mediaId      = args.GetString(ArgMediaId, null);
            mediaBrowser = new MediaBrowser(Activity,
                                            new ComponentName(Activity, Java.Lang.Class.FromType(typeof(MusicService))),
                                            connectionCallback, null);
            subscriptionCallback.OnChildrenLoadedImpl = (parentId, children) => {
                browserAdapter.Clear();
                browserAdapter.NotifyDataSetInvalidated();
                foreach (MediaBrowser.MediaItem item in children)
                {
                    browserAdapter.Add(item);
                }
                browserAdapter.NotifyDataSetChanged();
            };
            subscriptionCallback.OnErrorImpl   = (id) => Toast.MakeText(Activity, "Error Loading Media", ToastLength.Long).Show();
            connectionCallback.OnConnectedImpl = () => {
                LogHelper.Debug(Tag, "onConnected: session token " + mediaBrowser.SessionToken);
                if (mediaId == null)
                {
                    mediaId = mediaBrowser.Root;
                }
                mediaBrowser.Subscribe(mediaId, subscriptionCallback);
                if (mediaBrowser.SessionToken == null)
                {
                    throw new ArgumentNullException("No Session token");
                }
                var mediaController = new Android.Media.Session.MediaController(Activity, mediaBrowser.SessionToken);
                Activity.MediaController = mediaController;
            };
            connectionCallback.OnConnectionFailedImpl    = () => LogHelper.Debug(Tag, "onConnectionFailed");
            connectionCallback.OnConnectionSuspendedImpl = () => {
                LogHelper.Debug(Tag, "onConnectionSuspended");
                Activity.MediaController = null;
            };
            return(rootView);
        }
        public void Initialize()
        {
            _instance = Activator.CreateInstance<GoProMediaBrowser>();

            (_instance as IGeneralBrowser).Initialize(null, null);

            var browserType = _instance.GetType();
            var method=browserType.GetMethod("Parse", BindingFlags.NonPublic | BindingFlags.Instance);
            _parseDelegate= (ParseDelegate)method.CreateDelegate(typeof(ParseDelegate), _instance);
        }
Пример #7
0
        public override bool RefreshMetadata(MediaBrowser.Library.Metadata.MetadataRefreshOptions options)
        {
            if (RealMovie == null) RealMovie = (Movie)Kernel.Instance.ItemRepository.RetrieveItem(RealMovieID);
            MediaBrowser.Library.Logging.Logger.ReportInfo("Refreshing trailer for " + RealMovie.Name);
            this.PrimaryImagePath = Util.CloneImage(RealMovie.PrimaryImagePath);
            this.BackdropImagePaths = new List<string>();
            if (RealMovie.BackdropImagePaths != null)
            {
                foreach (string backdrop in RealMovie.BackdropImagePaths)
                {
                    this.BackdropImagePaths.Add(backdrop);
                }
            }
            if ((options & MetadataRefreshOptions.Force) == MetadataRefreshOptions.Force)
            {
                var images = new List<MediaBrowser.Library.ImageManagement.LibraryImage>();
                images.Add(PrimaryImage);
                images.AddRange(BackdropImages);

                foreach (var image in images)
                {
                    try
                    {
                        if (image != null)
                        {
                            image.ClearLocalImages();
                            MediaBrowser.Library.Factories.LibraryImageFactory.Instance.ClearCache(image.Path);
                        }
                    }
                    catch (Exception ex)
                    {
                        MediaBrowser.Library.Logging.Logger.ReportException("Failed to clear local image (its probably in use)", ex);
                    }
                }
                //changed = RealMovie.RefreshMetadata(options);
            }

            this.Overview = RealMovie.Overview;
            this.ProductionYear = RealMovie.ProductionYear;
            this.RunningTime = RealMovie.RunningTime;
            this.Actors = RealMovie.Actors;
            this.Directors = RealMovie.Directors;
            this.Name = RealMovie.Name + " " + Plugin.PluginOptions.Instance.TrailerSuffix;
            this.SortName = RealMovie.SortName;
            this.Studios = RealMovie.Studios;
            this.Path = RealMovie.TrailerFiles.First();
            this.MediaType = MediaTypeResolver.DetermineType(Path);
            this.MediaInfo = RealMovie.MediaInfo;
            this.DateCreated = System.IO.File.GetCreationTime(this.Path);
            this.DisplayMediaType = "Trailer";
            Plugin.proxy.SetTrailerInfo(this);
            Kernel.Instance.ItemRepository.SaveItem(this);

            return true;
        }
Пример #8
0
        public void Initialize()
        {
            _instance = Activator.CreateInstance <GoProMediaBrowser>();

            (_instance as IGeneralBrowser).Initialize(null, null);

            var browserType = _instance.GetType();
            var method      = browserType.GetMethod("Parse", BindingFlags.NonPublic | BindingFlags.Instance);

            _parseDelegate = (ParseDelegate)method.CreateDelegate(typeof(ParseDelegate), _instance);
        }
        public CdsBrowserForm()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //

            m_Roots        = ContainerDiscovery.GetInstance();
            this.m_Browser = new MediaBrowser();

            this.m_Roots.AllRoots.OnContainerChanged += new CpRootContainer.Delegate_OnContainerChanged(OnAllRootsContainerChanged);
            this.m_Browser.OnRefreshComplete         += new MediaBrowser.Delegate_ContentFound(this.Sink_RefreshComplete);

            this.PopulateContextDropDown();
            this.comboBoxContext.SelectedIndex = 0;
        }
Пример #10
0
        public void OnConnected()
        {
            mediaId = MediaBrowser.Root;

            // Unsubscribing before subscribing is required if this mediaId already has a subscriber
            // on this MediaBrowser instance. Subscribing to an already subscribed mediaId will replace
            // the callback, but won't trigger the initial callback.onChildrenLoaded.
            //
            // This is temporary: A bug is being fixed that will make subscribe
            // consistently call onChildrenLoaded initially, no matter if it is replacing an existing
            // subscriber or not. Currently this only happens if the mediaID has no previous
            // subscriber or if the media content changes on the service side, so we need to
            // unsubscribe first.
            MediaBrowser.Unsubscribe(mediaId);

            MediaBrowser.Subscribe(mediaId, subscriptionCallback);

            // Add MediaController callback so we can redraw the list when metadata changes:
            SupportMediaController?.RegisterCallback(mediaControllerCallback);
        }
Пример #11
0
 public MediaBrowserFilterConverter(MediaBrowser parent)
 {
     this.parent = parent;
 }
        public bool Init()
        {
            if (MediaBrowser == null)
            {
                MediaControllerCallback          = new MediaControllerCallback();
                MediaBrowserSubscriptionCallback = new MediaBrowserSubscriptionCallback();

                // Connect a media browser just to get the media session token. There are other ways
                // this can be done, for example by sharing the session token directly.
                TaskCompletionSource <bool> tcs = new TaskCompletionSource <bool>();
                MediaBrowserConnectionCallback = new MediaBrowserConnectionCallback
                {
                    OnConnectedImpl = () =>
                    {
                        MediaControllerCallback.OnMetadataChangedImpl = metadata =>
                        {
                            var test = metadata;
                        };

                        MediaControllerCallback.OnPlaybackStateChangedImpl = state =>
                        {
                            MediaManager.OnStateChanged(this, new StateChangedEventArgs(state.ToMediaPlayerState()));
                        };

                        MediaControllerCallback.OnSessionEventChangedImpl = (string @event, Bundle extras) =>
                        {
                            //Do nothing for now
                        };

                        MediaController = new MediaControllerCompat(Context, MediaBrowser.SessionToken);
                        MediaController.RegisterCallback(MediaControllerCallback);

                        if (Context is Activity activity)
                        {
                            MediaControllerCompat.SetMediaController(activity, MediaController);
                        }

                        // Sync existing MediaSession state to the UI.
                        // The first time these events are fired, the metadata and playbackstate are null.
                        MediaControllerCallback.OnMetadataChanged(MediaController.Metadata);
                        MediaControllerCallback.OnPlaybackStateChanged(MediaController.PlaybackState);

                        MediaBrowser.Subscribe(MediaBrowser.Root, MediaBrowserSubscriptionCallback);

                        IsInitialized = true;
                        tcs.SetResult(IsInitialized);
                    },

                    OnConnectionFailedImpl = () =>
                    {
                        IsInitialized = false;
                        tcs.SetResult(IsInitialized);
                    }
                };

                MediaBrowser = new MediaBrowserCompat(Context,
                                                      new ComponentName(
                                                          Context,
                                                          ServiceType),
                                                      MediaBrowserConnectionCallback,
                                                      null);
            }

            if (!IsInitialized)
            {
                MediaBrowser.Connect();
                IsInitialized = true;
            }

            return(IsInitialized);
        }
Пример #13
0
        public void TestAddLocalDevice()
        {
            Console.WriteLine("Test to add a local upnp device.");
            UPnP u = new UPnP();
            u.SetupSockets();
            MediaBrowser mb = new MediaBrowser();
            bool wait = true;
            //     wait = false;
            mb.RootDevice.FriendlyName = "vpMediaTestserver";
            mb.BrowseRequestReceived += delegate(MediaBrowser media_browser,string object_id,string browse_flag,int starting_index,int requested_count,string sort_criteria)
            {
                Console.WriteLine("Browse request received: \nobject_id: "+object_id+"\nbrowse_flag: "+browse_flag+"\nstarting_index: "+starting_index+"\nrequested_count: "+requested_count+"\nsort_criteria: "+sort_criteria+"\n");
                MediaBrowser.BrowseResult result = new MediaBrowser.BrowseResult();
                if (object_id == "0")
                {
                    result.TotalMatches = 3;
                    result.AddFolder("Queue", "queue", "0", true, false, 3, "UNKNOWN", -1);
                    result.AddItem("test item", "pez2001", "http://www.voyagerproject.de/stuff/phat_sweet_drill_mix.wav.mp3", "audio/mpeg", "test", "0", false, -1, "UNKNOWN");
                    result.AddItem("test item 2", "pez2001", "http://www.voyagerproject.org/wp-content/uploads/2006/05/treiwund%20+%20graf%20contra2.mp3", "audio/mpeg", "test", "0", false, -1, "UNKNOWN");
                }
                else if (object_id == "queue")
                {
                    result.TotalMatches = 3;
                    result.AddFolder("Root", "0", "0", true, false, 3, "UNKNOWN", -1);
                    result.AddItem("test item b", "pez2001", "http://www.voyagerproject.de/stuff/phat_sweet_drill_mix.wav.mp3", "audio/mpeg", "test", "0", false, -1, "UNKNOWN");
                    result.AddItem("test item b 2", "pez2001", "http://www.voyagerproject.org/wp-content/uploads/2006/05/treiwund%20+%20graf%20contra2.mp3", "audio/mpeg", "test", "0", false, -1, "UNKNOWN");
                }
                return (result);
            };
            u.AddLocalDevice(mb);
            Console.WriteLine("Waiting for data");
            DateTime start = DateTime.Now;
            while (wait)
            {
                if (DateTime.Now - start > new TimeSpan(0, 0, 60))
                {
                    Console.WriteLine("");
                    Console.WriteLine("Operation took too long");
                    wait = false;
                    Assert.Fail("Operation took too long");
                }
                Console.Write(".");
                Thread.Sleep(250);
            }
            Console.WriteLine("UPnP Local Device Add Test successful.");

            u.CloseSockets();
        }
Пример #14
0
		public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Android.OS.Bundle savedInstanceState)
		{
			var rootView = inflater.Inflate (Resource.Layout.fragment_list, container, false);

			skipPrevious = rootView.FindViewById<ImageButton> (Resource.Id.skip_previous);
			skipPrevious.Enabled = false;
			skipPrevious.SetOnClickListener (buttonListener);

			skipNext = rootView.FindViewById<ImageButton> (Resource.Id.skip_next);
			skipNext.Enabled = false;
			skipNext.SetOnClickListener (buttonListener);

			playPause = rootView.FindViewById<ImageButton> (Resource.Id.play_pause);
			playPause.Enabled = true;
			playPause.SetOnClickListener (buttonListener);

			queueAdapter = new QueueAdapter (Activity);

			var listViewClickListener = new ListViewClickListener ();
			listViewClickListener.OnItemClickImpl = (parent, view, position, id) => {
				var item = queueAdapter.GetItem (position);
				transportControls.SkipToQueueItem (item.QueueId);
			};

			var listView = rootView.FindViewById<ListView> (Resource.Id.list_view);
			listView.Adapter = queueAdapter;
			listView.Focusable = true;
			listView.OnItemClickListener = listViewClickListener;

			mediaBrowser = new MediaBrowser (Activity,
				new ComponentName (Activity, Java.Lang.Class.FromType (typeof(MusicService))),
				connectionCallback, null);

			return rootView;
		}
 public override bool RefreshMetadata(MediaBrowser.Library.Metadata.MetadataRefreshOptions options)
 {
     // do nothing metadata is assigned externally.
     return false;
 }
Пример #16
0
 public override bool RefreshMetadata(MediaBrowser.Library.Metadata.MetadataRefreshOptions options)
 {
     return false;
     // do nothing .. we control the metadata ... providers do nothing
 }
 private void Sink_RefreshComplete(MediaBrowser sender, IUPnPMedia[] added)
 {
     this.ClearAndFillMediaList();
 }
 public MediaBrowserFilterConverter(MediaBrowser parent)
 {
     this.parent = parent;
 }
Пример #19
0
 public override bool RefreshMetadata(MediaBrowser.Library.Metadata.MetadataRefreshOptions options)
 {
     // do nothing
     // Metadata is assigned outside the provider framework
     return false;
 }
Пример #20
0
        public void InstallPlugin(IPlugin plugin,
            MediaBrowser.Library.Network.WebDownload.PluginInstallUpdateCB updateCB,
            MediaBrowser.Library.Network.WebDownload.PluginInstallFinishCB doneCB,
            MediaBrowser.Library.Network.WebDownload.PluginInstallErrorCB errorCB)
        {
            //taking this check out for now - it's just too cumbersome to have to re-compile all plug-ins to change this -ebr
            //if (plugin.TestedMBVersion < Kernel.Instance.Version) {
            //    var dlgResult = MessageBox.Show("Warning - " + plugin.Name + " has not been tested with your version of MediaBrowser. \n\nInstall anyway?", "Version not Tested", MessageBoxButton.YesNo);
            //    if (dlgResult == MessageBoxResult.No) {
            //        doneCB();
            //        return;
            //    }
            //}

            if (BackupPlugin(plugin)) Logger.ReportInfo("Plugin "+plugin.Name+" v"+plugin.Version+" backed up.");

            if (plugin is RemotePlugin) {
                try {
                    Kernel.Instance.InstallPlugin((plugin as RemotePlugin).BaseUrl + "\\" + (plugin as RemotePlugin).SourceFilename, plugin.Filename, updateCB, doneCB, errorCB);
                }
                catch (Exception ex) {
                    MessageBox.Show("Cannot Install Plugin.  If MediaBrowser is running, please close it and try again.\n" + ex.Message, "Install Error");
                    doneCB();
                }
            }
            else {
                var local = plugin as Plugin;
                Debug.Assert(plugin != null);
                try {
                    Kernel.Instance.InstallPlugin(local.Filename, null, null, null);
                }
                catch (Exception ex) {
                    MessageBox.Show("Cannot Install Plugin.  If MediaBrowser is running, please close it and try again.\n" + ex.Message, "Install Error");
                    doneCB();
                }
            }
        }
Пример #21
0
 public void SetTrailerInfo(MediaBrowser.Library.Entities.Show trailer)
 {
     TrailerInfo trailerInfo = new TrailerInfo(TrailerType.Local, trailer.Path.ToLower(), trailer.ParentalRating, trailer.Genres);
     using (ChannelFactory<ITrailerProxy> factory = new ChannelFactory<ITrailerProxy>(new NetNamedPipeBinding(), "net.pipe://localhost/mbtrailers"))
     {
         ITrailerProxy proxyServer = factory.CreateChannel();
         try
         {
             proxyServer.SetTrailerInfo(trailerInfo);
         }
         catch (Exception e)
         {
             Logger.ReportException("Error setting trailer info", e);
             Logger.ReportError("Inner Exception: " + e.InnerException.Message);
         }
         finally
         {
             (proxyServer as ICommunicationObject).Close();
         }
     }
 }
Пример #22
0
        public void InstallPlugin(IPlugin plugin,
          MediaBrowser.Library.Network.WebDownload.PluginInstallUpdateCB updateCB,
          MediaBrowser.Library.Network.WebDownload.PluginInstallFinishCB doneCB,
          MediaBrowser.Library.Network.WebDownload.PluginInstallErrorCB errorCB) {

            if (BackupPlugin(plugin)) Logger.ReportInfo("Plugin "+plugin.Name+" v"+plugin.Version+" backed up.");

            if (plugin is RemotePlugin) {
                try {
                    Kernel.Instance.InstallPlugin((plugin as RemotePlugin).SourceFilename, plugin.Filename, updateCB, doneCB, errorCB);
                }
                catch (Exception ex) {
                    MessageBox.Show("Cannot Install Plugin.  If MediaBrowser is running, please close it and try again.\n" + ex.Message, "Install Error");
                    doneCB();
                }
            }
            else {
                var local = plugin as Plugin;
                Debug.Assert(plugin != null);
                try {
                    Kernel.Instance.InstallPlugin(local.Filename, null, null, null);
                }
                catch (Exception ex) {
                    MessageBox.Show("Cannot Install Plugin.  If MediaBrowser is running, please close it and try again.\n" + ex.Message, "Install Error");
                    doneCB();
                }
            }

        }
 public void Init(MediaBrowser.Library.Kernel kernel)
 {
 }
 public override bool RefreshMetadata(MediaBrowser.Library.Metadata.MetadataRefreshOptions options)
 {
     return false;
 }
 public PatternsLogger(MediaBrowser.Model.Logging.ILogger logger)
 {
     _logger = logger;
 }
Пример #26
0
        public void TestAnnounceDevice()
        {
            Console.WriteLine("Test to announce an upnp device.");
            UPnP u = new UPnP();
            u.SetupSockets();
            MediaBrowser mb = new MediaBrowser();

            bool wait = true;
            //     wait = false;
            u.AnnounceDevice(mb,true);
            Console.WriteLine("Waiting for data");
            DateTime start = DateTime.Now;
            while (wait)
            {
                if (DateTime.Now - start > new TimeSpan(0, 0, 60))
                {
                    Console.WriteLine("");
                    Console.WriteLine("Operation took too long");
                    wait = false;
                    Assert.Fail("Operation took too long");
                }
                Console.Write(".");
                Thread.Sleep(250);
            }
            Console.WriteLine("UPnP Device Announcing Test successful.");

            u.CloseSockets();
        }
Пример #27
0
 public override bool RefreshMetadata(MediaBrowser.Library.Metadata.MetadataRefreshOptions options)
 {
     bool changed = base.RefreshMetadata(options);
     if (this.Series != null && this.Series.BannerImage != null && (options & MediaBrowser.Library.Metadata.MetadataRefreshOptions.Force) == MediaBrowser.Library.Metadata.MetadataRefreshOptions.Force)
     {
         //we cleared our our series banner image - re-cache it
         var ignore = this.Series.BannerImage.GetLocalImagePath();
     }
     return changed;
 }
Пример #28
0
 public override bool RefreshMetadata(MediaBrowser.Library.Metadata.MetadataRefreshOptions options)
 {
     // metadata should not be acquired through the provider framework.
     // its all done during item validation
     return false;
 }
Пример #29
0
 public override bool RefreshMetadata(MediaBrowser.Library.Metadata.MetadataRefreshOptions options) {
     return shadowItem.RefreshMetadata(options);
 }
Пример #30
0
 public override bool RefreshMetadata(MediaBrowser.Library.Metadata.MetadataRefreshOptions options)
 {
     // no metadata for itunes folder please
     return false;
 }