Example #1
0
        void _libraryManager_ItemUpdated(object sender, ItemChangeEventArgs e)
        {
            // TODO: Need a more accurate check here to see if xbmc metadata saving is enabled.
            // This is probably good enough, but no guarantee
            var userId = _config.GetNfoConfiguration().UserId;
            if (string.IsNullOrWhiteSpace(userId))
            {
                return;
            }

            if (e.UpdateReason == ItemUpdateType.ImageUpdate)
            {
                var person = e.Item as Person;

                if (person != null)
                {
                    var items = _libraryManager.RootFolder.RecursiveChildren;
                    items = person.GetTaggedItems(items).ToList();

                    foreach (var item in items)
                    {
                        SaveMetadataForItem(item, ItemUpdateType.MetadataEdit);
                    }
                }
            }
        }
Example #2
0
        void _libraryManager_ItemUpdated(object sender, ItemChangeEventArgs e)
        {
            if (e.UpdateReason == ItemUpdateType.ImageUpdate)
            {
                var person = e.Item as Person;

                if (person != null)
                {
                    var config = _config.GetNfoConfiguration();

                    if (!config.SaveImagePathsInNfo)
                    {
                        return;
                    }

                    var items = _libraryManager.RootFolder.RecursiveChildren;
                    items = person.GetTaggedItems(items).ToList();

                    foreach (var item in items)
                    {
                        SaveMetadataForItem(item, ItemUpdateType.MetadataEdit);
                    }
                }
            }
        }
Example #3
0
        void _libraryManager_ItemUpdated(object sender, ItemChangeEventArgs e)
        {
            if (e.UpdateReason >= ItemUpdateType.ImageUpdate)
            {
                var person = e.Item as Person;

                if (person != null)
                {
                    var config = _config.GetNfoConfiguration();

                    if (!config.SaveImagePathsInNfo)
                    {
                        return;
                    }

                    var items = _libraryManager.GetItemList(new InternalItemsQuery
                    {
                        Person = person.Name

                    }).ToList();

                    foreach (var item in items)
                    {
                        SaveMetadataForItem(item, e.UpdateReason);
                    }
                }
            }
        }
        void _libraryManager_ItemUpdated(object sender, ItemChangeEventArgs e)
        {
            if (e.UpdateReason == ItemUpdateType.ImageUpdate && e.Item is Person)
            {
                var person = e.Item.Name;

                var items = _libraryManager.RootFolder
                    .GetRecursiveChildren(i => !i.IsFolder && i.People.Any(p => string.Equals(p.Name, person, StringComparison.OrdinalIgnoreCase)));

                foreach (var item in items)
                {
                    SaveMetadataForItem(item, ItemUpdateType.MetadataEdit);
                }
            }
        }
        void libraryManager_ItemAdded(object sender, ItemChangeEventArgs e)
        {
            lock (_newlyAddedItems)
            {
                _newlyAddedItems.Add(e.Item);

                if (NewItemTimer == null)
                {
                    NewItemTimer = new Timer(NewItemTimerCallback, null, NewItemDelay, Timeout.Infinite);
                }
                else
                {
                    NewItemTimer.Change(NewItemDelay, Timeout.Infinite);
                }
            }
        }
        /// <summary>
        /// Handles the ItemAdded event of the libraryManager control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="ItemChangeEventArgs"/> instance containing the event data.</param>
        void libraryManager_ItemAdded(object sender, ItemChangeEventArgs e)
        {
            //_logger.Debug(String.Format("Emby.Kodi.SyncQueue:  Item ID: {0}", e.Item.Id.ToString()));
            //_logger.Debug(String.Format("Emby.Kodi.SyncQueue:  JsonObject: {0}", _jsonSerializer.SerializeToString(e.Item)));
            //_logger.Debug(String.Format("Emby.Kodi.SyncQueue:  Library GetClientTypeName: {0}", e.Item.GetClientTypeName()));

            var type = -1;
            if (!FilterItem(e.Item, out type))
            {
                return;
            }

            lock (_libraryChangedSyncLock)
            {
                if (LibraryUpdateTimer == null)
                {
                    LibraryUpdateTimer = new Timer(LibraryUpdateTimerCallback, null, LibraryUpdateDuration,
                                                   Timeout.Infinite);
                }
                else
                {
                    LibraryUpdateTimer.Change(LibraryUpdateDuration, Timeout.Infinite);
                }

                //if (e.Item.Parent != null)
                //{
                //    var folder = new LibFolder()
                //    {
                //        Id = e.Item.Parent.Id,
                //        SyncApiModified = (long)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds)

                //    };
                //    _foldersAddedTo.Add(folder);
                //}

                var item = new LibItem()
                {
                    Id = e.Item.Id,
                    SyncApiModified = (long)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds),
                    ItemType = type,
                };
                _logger.Debug(string.Format("Emby.Kodi.SyncQueue: ItemAdded added for DB Saving {0}", e.Item.Id));
                _itemsAdded.Add(item);
                
            }
        }
Example #7
0
 /// <summary>
 /// Handles the ItemAdded event of the LibraryManager control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="ItemChangeEventArgs"/> instance containing the event data.</param>
 void LibraryManager_ItemAdded(object sender, ItemChangeEventArgs e)
 {
     if (e.Item.GetParent() is AggregateFolder)
     {
         StartWatching(e.Item);
     }
 }
Example #8
0
 /// <summary>
 /// Handles the ItemRemoved event of the LibraryManager control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="ItemChangeEventArgs"/> instance containing the event data.</param>
 void LibraryManager_ItemRemoved(object sender, ItemChangeEventArgs e)
 {
     if (e.Item.GetParent() is AggregateFolder)
     {
         StopWatchingPath(e.Item.Path);
     }
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void LibraryManagerItemAdded(object sender, ItemChangeEventArgs e)
 {
     // Don't do anything if it's not a supported media type
     if (!(e.Item is Movie) && !(e.Item is Episode) && !(e.Item is Series)) return;
     if (e.Item.LocationType == LocationType.Virtual) return;
     _libraryManagerEventsHelper.QueueItem(e.Item, EventType.Add);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void LibraryManagerItemRemoved(object sender, ItemChangeEventArgs e)
 {
     if (!(e.Item is Movie) && !(e.Item is Episode) && !(e.Item is Series)) return;
     if (e.Item.LocationType == LocationType.Virtual) return;
     _libraryManagerEventsHelper.QueueItem(e.Item, EventType.Remove);
 }
Example #11
0
        void _libraryManager_ItemAdded(object sender, ItemChangeEventArgs e)
        {
            if (e.Item.SourceType != SourceType.Library)
            {
                return;
            }

            CreateLogEntry(new ActivityLogEntry
            {
                Name = string.Format(_localization.GetLocalizedString("ItemAddedWithName"), Notifications.Notifications.GetItemName(e.Item)),
                Type = "ItemAdded",
                ItemId = e.Item.Id.ToString("N")
            });
        }
Example #12
0
        void _libraryManager_ItemAdded(object sender, ItemChangeEventArgs e)
        {
            if (e.Item.LocationType == LocationType.FileSystem && !e.Item.IsFolder)
            {
                lock (_libraryChangedSyncLock)
                {
                    if (LibraryUpdateTimer == null)
                    {
                        LibraryUpdateTimer = new Timer(LibraryUpdateTimerCallback, null, 5000,
                                                       Timeout.Infinite);
                    }
                    else
                    {
                        LibraryUpdateTimer.Change(5000, Timeout.Infinite);
                    }

                    _itemsAdded.Add(e.Item);
                }
            }
        }
        void _libraryManager_ItemRemoved(object sender, ItemChangeEventArgs e)
        {
            if (e.Item is LiveTvProgram || e.Item is IChannelItem)
            {
                return;
            }

            CreateLogEntry(new ActivityLogEntry
            {
                Name = string.Format(_localization.GetLocalizedString("ItemRemovedWithName"), Notifications.Notifications.GetItemName(e.Item)),
                Type = "ItemRemoved"
            });
        }
        private void LibraryManagerItemAdded(object sender, ItemChangeEventArgs e)
        {
            Plugin.Logger.Debug("Notifications - Added");

            if (Plugin.Instance.Configuration.Notifications.Libray)
            {
                if (e.Item.LocationType == LocationType.Virtual) return;

                _pusher.Push(e.Item + " has been added to your media server.", 0);
            }
        }
Example #15
0
        void _libraryManager_ItemAdded(object sender, ItemChangeEventArgs e)
        {
            if (!FilterItem(e.Item))
            {
                return;
            }

            lock (_libraryChangedSyncLock)
            {
                if (LibraryUpdateTimer == null)
                {
                    LibraryUpdateTimer = new Timer(LibraryUpdateTimerCallback, null, 5000,
                                                   Timeout.Infinite);
                }
                else
                {
                    LibraryUpdateTimer.Change(5000, Timeout.Infinite);
                }

                _itemsAdded.Add(e.Item);
            }
        }