Example #1
0
        void StartMetadataImport(int pluginId, bool coverArtOnly)
        {
            try
            {
                Controls.MediaEditor e = GetCurrentEditor();
                if (e != null)
                {
                    Cursor = Cursors.WaitCursor;
                    _metadataPlugins[pluginId].SearchForMovie(e.TitleName);
                    frmSearchResult searchResultForm = new frmSearchResult();
                    Cursor = Cursors.Default;
                    DialogResult result = searchResultForm.ShowResults(_metadataPlugins[pluginId].GetAvailableTitles());
                    if (result == DialogResult.OK)
                    {
                        Title t = _metadataPlugins[pluginId].GetTitle(searchResultForm.SelectedTitleIndex);
                        if (t != null)
                        {
                            if (coverArtOnly)
                            {
                                if (!String.IsNullOrEmpty(t.FrontCoverPath))
                                {
                                    SaveCurrentTab();
                                    e.CurrentTitle.CopyFrontCoverFromFile(t.FrontCoverPath, true);
                                    e.LoadTitle(e.CurrentTitle);
                                }
                            }
                            else
                            {
                                e.CurrentTitle.CopyMetadata(t, searchResultForm.OverwriteMetadata);

                                e.LoadTitle(e.CurrentTitle);
                            }
                        }
                    }
                }
            }
            catch
            {
                Cursor = Cursors.Default;
            }
        }
Example #2
0
        internal bool StartMetadataImport(Title title, MetaDataPluginDescriptor plugin, bool coverArtOnly, string titleNameSearch, string EpisodeName, int? SeasonNo, int? EpisodeNo)
        {
            try
            {
                if (titleNameSearch != null)
                {
                    if (plugin != null)
                    {
                        frmSearchResult searchResultForm = null;

                        if ((plugin.DataProviderCapabilities & MetadataPluginCapabilities.SupportsTVSearch) != 0)
                        {
                            // TV Search
                            if (((title.TitleType & TitleTypes.Season) != 0) ||
                                ((title.TitleType & TitleTypes.TVShow) != 0))
                            {
                                // Only searching for the Show / season
                                searchResultForm = new frmSearchResult(plugin, titleNameSearch, "", 0, 0, true, true);
                            }
                            else
                            {
                                // Searching for an episode
                                searchResultForm = new frmSearchResult(plugin, titleNameSearch, EpisodeName, SeasonNo, EpisodeNo, true, false);
                            }
                        }
                        else
                        {
                            searchResultForm = new frmSearchResult(plugin, titleNameSearch, EpisodeName, SeasonNo, EpisodeNo, false, false);
                        }

                        DialogResult result = searchResultForm.ShowDialog(); // ShowResults(plugin.GetAvailableTitles());
                        if (result == DialogResult.OK)
                        {
                            Cursor = Cursors.WaitCursor;
                            Title searchresult = OMLSDK.SDKUtilities.ConvertOMLSDKTitleToTitle(plugin.PluginDLL.GetTitle(searchResultForm.SelectedTitleIndex));
                            title.MetadataSourceName = plugin.DataProviderName;

                            if (searchresult != null)
                            {
                                if (coverArtOnly)
                                {
                                    title.FrontCoverPath = searchresult.FrontCoverPath;
                                    title.BackCoverPath = searchresult.BackCoverPath;
                                }
                                else
                                {
                                    title.CopyMetadata(searchresult,
                                        OMLEngine.Settings.OMLSettings.MetadataLookupOverwriteExistingDataManual,
                                        OMLEngine.Settings.OMLSettings.MetadataLookupUpdateNameManual,
                                        OMLEngine.Settings.OMLSettings.MetadataLookupOverwriteExistingDataManual);
                                }

                                LoadFanartFromPlugin(plugin, title);

                            }
                            CheckGenresAgainstSupported(title);
                            titleEditor.RefreshEditor();
                            Cursor = Cursors.Default;

                            return true;
                        }
                        else
                            return false;
                    }
                    else
                    {
                        // Preferred lookup. Offload the search to the MetadataSearchManagement class
                        Title searchresult = null;

                        MetadataSearchManagement mds = new MetadataSearchManagement(_metadataPlugins);

                        bool retval = mds.MetadataSearchUsingPreferred(title);

                        if (retval)
                        {
                            // Successful lookup, process
                            LoadFanart(mds.FanArt, title);
                            titleEditor.RefreshEditor();
                            Cursor = Cursors.Default;
                            return true;
                        }
                    }
                }
                Cursor = Cursors.Default;
                return false;

            }
            catch (Exception ex)
            {
                Utilities.DebugLine("[OMLDatabaseEditor] Exception {0}", ex);
                Cursor = Cursors.Default;
                return false;
            }
        }
        void StartMetadataImport(int pluginId, bool coverArtOnly)
        {
            try
            {
                Controls.MediaEditor e = GetCurrentEditor();
                if (e != null)
                {
                    Cursor = Cursors.WaitCursor;
                    _metadataPlugins[pluginId].SearchForMovie(e.TitleName);
                    frmSearchResult searchResultForm = new frmSearchResult();
                    Cursor = Cursors.Default;
                    DialogResult result = searchResultForm.ShowResults(_metadataPlugins[pluginId].GetAvailableTitles());
                    if (result == DialogResult.OK)
                    {
                        Title t = _metadataPlugins[pluginId].GetTitle(searchResultForm.SelectedTitleIndex);
                        if (t != null)
                        {
                            if (coverArtOnly)
                            {
                                if (!String.IsNullOrEmpty(t.FrontCoverPath))
                                {
                                    SaveCurrentTab();
                                    e.CurrentTitle.CopyFrontCoverFromFile( t.FrontCoverPath, true );
                                    e.LoadTitle(e.CurrentTitle);
                                }
                            }
                            else
                            {
                                e.CurrentTitle.CopyMetadata(t, searchResultForm.OverwriteMetadata);

                                e.LoadTitle(e.CurrentTitle);
                            }
                        }
                    }
                }
            }
            catch
            {
                Cursor = Cursors.Default;
            }
        }