public static MusicVideoSignature parseMediaMatch(MusicVideoMatch mvMatch)
        {
            lock (loadingLock) {
              if (signatureBuilders == null) {
                  signatureBuilders = new List<ISignatureBuilder>();
            //                  signatureBuilders.Add(new HashBuilder());
                  signatureBuilders.Add(new LocalBuilder());
            //                  signatureBuilders.Add(new BlurayMetaBuilder());
            //                  signatureBuilders.Add(new MetaServicesBuilder());
            //                  signatureBuilders.Add(new NfoBuilder());
            //                  signatureBuilders.Add(new ImdbBuilder());
              }
              }

              MusicVideoSignature mvSignature = new MusicVideoSignature(mvMatch.LocalMedia);
              foreach (ISignatureBuilder builder in signatureBuilders) {
              SignatureBuilderResult result = builder.UpdateSignature(mvSignature);
              // if a builder returns CONCLUSIVE it has updated the signature with
              // what is believed to be accurate data and we can exit the loop
              // Currently only the Hash and Imdb builder can return this status
              if (result == SignatureBuilderResult.CONCLUSIVE)
                  break;
              }

              return mvSignature;
        }
        public static MusicVideoSignature parseMediaMatch(MusicVideoMatch mvMatch)
        {
            lock (loadingLock) {
                if (signatureBuilders == null)
                {
                    signatureBuilders = new List <ISignatureBuilder>();
//                  signatureBuilders.Add(new HashBuilder());
                    signatureBuilders.Add(new LocalBuilder());
//                  signatureBuilders.Add(new BlurayMetaBuilder());
//                  signatureBuilders.Add(new MetaServicesBuilder());
//                  signatureBuilders.Add(new NfoBuilder());
//                  signatureBuilders.Add(new ImdbBuilder());
                }
            }

            MusicVideoSignature mvSignature = new MusicVideoSignature(mvMatch.LocalMedia);

            foreach (ISignatureBuilder builder in signatureBuilders)
            {
                SignatureBuilderResult result = builder.UpdateSignature(mvSignature);
                // if a builder returns CONCLUSIVE it has updated the signature with
                // what is believed to be accurate data and we can exit the loop
                // Currently only the Hash and Imdb builder can return this status
                if (result == SignatureBuilderResult.CONCLUSIVE)
                {
                    break;
                }
            }

            return(mvSignature);
        }
 public SearchStringPopup(MusicVideoMatch match)
 {
     InitializeComponent();
       foreach (DBLocalMedia currFile in match.LocalMedia)
       {
     fileListBox.Items.Add(currFile.File);
       }
       musicVideoMatch = match;
       uxArtistName.Text = musicVideoMatch.Signature.Artist;
       uxTrackName.Text = musicVideoMatch.Signature.Track;
       uxAlbumName.Text = musicVideoMatch.Signature.Album;
 }
 public SearchStringPopup(MusicVideoMatch match)
 {
     InitializeComponent();
     foreach (DBLocalMedia currFile in match.LocalMedia)
     {
         fileListBox.Items.Add(currFile.File);
     }
     musicVideoMatch   = match;
     uxArtistName.Text = musicVideoMatch.Signature.Artist;
     uxTrackName.Text  = musicVideoMatch.Signature.Track;
     uxAlbumName.Text  = musicVideoMatch.Signature.Album;
 }
Exemple #5
0
 public ManualAssignPopup(MusicVideoMatch match)
 {
     InitializeComponent();
     foreach (DBLocalMedia currFile in match.LocalMedia)
     {
         fileListBox.Items.Add(currFile.File);
     }
     uxTrack.Text  = match.Signature.Track;
     uxArtist.Text = match.Signature.Artist;
     uxAlbum.Text  = match.Signature.Album;
     if (match.LocalMedia[0].IsDVD)
     {
         uxTrack.Enabled  = !(bool)mvCentralCore.Settings["importer_split_dvd"].Value;
         lblTrack.Enabled = !(bool)mvCentralCore.Settings["importer_split_dvd"].Value;
     }
 }
 public ManualAssignPopup(MusicVideoMatch match)
 {
     InitializeComponent();
     foreach (DBLocalMedia currFile in match.LocalMedia)
     {
         fileListBox.Items.Add(currFile.File);
     }
     uxTrack.Text = match.Signature.Track;
     uxArtist.Text = match.Signature.Artist;
     uxAlbum.Text = match.Signature.Album;
     if (match.LocalMedia[0].IsDVD)
     {
         uxTrack.Enabled = !(bool)mvCentralCore.Settings["importer_split_dvd"].Value;
         lblTrack.Enabled = !(bool)mvCentralCore.Settings["importer_split_dvd"].Value;
     }
 }
Exemple #7
0
 /// <summary>
 /// Fired when new artist is commited to DB via background importer thread
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="action"></param>
 private void mvStatusChangedListener(MusicVideoMatch obj, MusicVideoImporterAction action)
 {
     if (action == MusicVideoImporterAction.COMMITED)
       {
     LastThreeVideos();
       }
       return;
 }
Exemple #8
0
        private void mvStatusChangedListener(MusicVideoMatch obj, MusicVideoImporterAction action)
        {
            // This ensures we are thread safe. Makes sure this method is run by
              // the thread that created this panel.
              if (InvokeRequired)
              {
            Delegate method = new MusicVideoImporter.MusicVideoStatusChangedHandler(mvStatusChangedListener);
            object[] parameters = new object[] { obj, action };
            this.Invoke(method, parameters);
            return;
              }

              if (action == MusicVideoImporterAction.STARTED)
            return;

              if (action == MusicVideoImporterAction.COMMITED)
              {
            ReloadList();
              }

              if (action == MusicVideoImporterAction.MANUAL)
              {
            ReloadList();
              }

              if (action == MusicVideoImporterAction.STOPPED)
              {
            unapprovedMatchesBindingSource.Clear();
            return;
              }

              if (action == MusicVideoImporterAction.REMOVED_FROM_SPLIT ||
              action == MusicVideoImporterAction.REMOVED_FROM_JOIN)
              {

            lastSplitJoinLocation = unapprovedMatchesBindingSource.IndexOf(obj);
            unapprovedMatchesBindingSource.Remove(obj);
            clearSelection = true;
            return;
              }

              // add the match if necessary and grab the row number
              int rowNum;
              if (action == MusicVideoImporterAction.ADDED)
            rowNum = unapprovedMatchesBindingSource.Add(obj);
              else if (action == MusicVideoImporterAction.ADDED_FROM_SPLIT ||
               action == MusicVideoImporterAction.ADDED_FROM_JOIN)
              {

            unapprovedMatchesBindingSource.Insert(lastSplitJoinLocation, obj);
            if (clearSelection)
            {
              unapprovedGrid.ClearSelection();
              clearSelection = false;
            }
            unapprovedGrid.Rows[lastSplitJoinLocation].Selected = true;

            rowNum = lastSplitJoinLocation;
            lastSplitJoinLocation++;
              }
              else
            rowNum = unapprovedMatchesBindingSource.IndexOf(obj);

              if (action == MusicVideoImporterAction.PARSERDONE)
              {
            mvCentralCore.Importer.StopParse();
            return;
              }

              if (action == MusicVideoImporterAction.PARSER)
              {
            //                TestParsingFillList();
            //                lvParsingResults.ListViewItemSorter = parseResult.Comparer;
            //                lvParsingResults.Sort();
            parseResult p = mvCentralCore.Importer.ParseResult[dgvParser.RowCount];
            if (p != null)
            {
              rowNum = ParserBindingSource.Add(p);
              //                dgvParser.CurrentCell. .Style.BackColor item.UseItemStyleForSubItems = false;
              if (p.failedArtist)
            dgvParser.Rows[rowNum].Cells["colParseArtist"].Style.BackColor = System.Drawing.Color.Tomato;
              if (p.failedTrack)
            dgvParser.Rows[rowNum].Cells["colParseTrack"].Style.BackColor = System.Drawing.Color.Tomato;
            }
            return;
              }

              // setup tooltip for filename
              DataGridViewTextBoxCell filenameCell = (DataGridViewTextBoxCell)unapprovedGrid.Rows[rowNum].Cells["unapprovedLocalMediaColumn"];
              filenameCell.ToolTipText = obj.LongLocalMediaString;

              // setup the combo box of possible matches
              DataGridViewComboBoxCell movieListCombo = (DataGridViewComboBoxCell)unapprovedGrid.Rows[rowNum].Cells["unapprovedPossibleMatchesColumn"];
              movieListCombo.Items.Clear();
              foreach (PossibleMatch currMatch in obj.PossibleMatches)
            movieListCombo.Items.Add(currMatch);

              // set the status icon
              DataGridViewImageCell imageCell = (DataGridViewImageCell)unapprovedGrid.Rows[rowNum].Cells["statusColumn"];
              switch (action)
              {
            case MusicVideoImporterAction.ADDED:
            case MusicVideoImporterAction.ADDED_FROM_SPLIT:
            case MusicVideoImporterAction.ADDED_FROM_JOIN:
              imageCell.Value = blank;
              break;
            case MusicVideoImporterAction.PENDING:
              imageCell.Value = Resources.arrow_rotate_clockwise;
              break;
            case MusicVideoImporterAction.GETTING_MATCHES:
              imageCell.Value = Resources.arrow_down_small;
              break;
            case MusicVideoImporterAction.NEED_INPUT:
              imageCell.Value = Resources.Information;
              break;
            case MusicVideoImporterAction.APPROVED:
              imageCell.Value = Resources.approved;
              break;
            case MusicVideoImporterAction.GETTING_DETAILS:
              imageCell.Value = Resources.approved;
              break;
            case MusicVideoImporterAction.COMMITED:
              imageCell.Value = Resources.accept;
              break;
            case MusicVideoImporterAction.IGNORED:
              imageCell.Value = Resources.ignored;
              break;
            case MusicVideoImporterAction.MANUAL:
              imageCell.Value = Resources.accept; // @TODO change icon
              break;
              }
              tcImport.SelectedTab = tpMatch;

              unapprovedGrid.Focus();
              updateButtons();
        }