public RoviClient SearchAlbum(IAlbumDescriptor iIAlbumDescriptor) { _Atributes.Add("query", string.Format("{0}+{1}",iIAlbumDescriptor.Name,iIAlbumDescriptor.Artist).Trim().Replace(' ','+') ); _Atributes.Add("entitytype","album"); _Atributes.Add("include", "images,tracks"); return this; }
private IEnumerable<Match<AlbumDescriptor>> SearchFromDiscQuery(IAlbumDescriptor AlbumDescriptor, bool NeedCover, CancellationToken iCancellationToken) { string mzid = AlbumDescriptor.IDs.MusicBrainzID; if (!string.IsNullOrEmpty(mzid)) { Match<AlbumDescriptor> res = GetFromMusicBrainzId(mzid, NeedCover, iCancellationToken); if (res != null) yield return res; yield break; } HttpJsonInterpretor jsonconv = new HttpJsonInterpretor(MusicBrainzHttpCreator.ForReleaseSearch().SetArtist(AlbumDescriptor.Artist).SetDiscName(AlbumDescriptor.Name).BuildRequest(_User, _Password)); dynamic dynamicres = jsonconv.GetObjectResponse(); if (iCancellationToken.IsCancellationRequested) yield break; if ((dynamicres == null) || (dynamicres.count == 0)) yield break; List<dynamic> Releases = dynamicres.releases; if (Releases == null) yield break; foreach (dynamic rel in Releases) { if (iCancellationToken.IsCancellationRequested) break; Match<AlbumDescriptor> res = GetFromMusicBrainzId(rel.id, NeedCover, iCancellationToken, MatchPrecision.Suspition); if (res != null) yield return res; } }
internal IHttpWebRequest GetSearchRequest(IAlbumDescriptor iad) { return LookFor(string.Format("{0}+{1}", iad.Artist.Replace(',', ' ').Replace('&', ' '), iad.Name.Replace(',', ' ').Replace('&', ' '))) .AddTypeSearch("release").LookForTitle().BuildRequest(_AuthManager); }
public void InjectImages(IAlbumDescriptor iad, bool AllowMultiInject) { var ad = iad as AlbumDescriptor; if (ad == null) return; if (iad == this) return; if (RawImages != null && !AllowMultiInject) { RawImages.Clear(); RawImages = null; } if (ad.RawImages != null) { if (RawImages == null) RawImages = new List<AImage>(); RawImages.AddRange(ad.RawImages.Select(im => im.Clone())); } }
internal CDImportingProgessAdditionalCoverInfoEventArgs(IAlbumDescriptor iad) : base(iad.Name) { }
internal AlbumDescriptorQuery(IAlbumDescriptor iad) { AlbumDescriptor = iad; }
public IWebQuery FromAlbumDescriptor(IAlbumDescriptor iad) { return new AlbumDescriptorQuery(iad); }
internal AlbumDescriptorDecorator(IAlbumDescriptor itd, IImportContext Context) { _AD = itd; _Session = Context; }