Beispiel #1
0
 public ReleaseIntegrationPage(TagEditorRelease release, Track track)
 {
     this.release = release;
     this.track   = track;
     InitializeComponent();
     InitFields();
 }
 public ReleaseIntegrationPage SetStuff(TagEditorRelease release, Track track)
 {
     ViewModel.InitialTrack = track;
     ViewModel.Release      = release;
     ViewModel.Window       = this;
     ViewModel.Initialize();
     return(this);
 }
        public TagEditorRelease Fetch(string id)
        {
            var json    = JObject.Parse(httpClient.GetStringAsync($"http://musicbrainz.org/ws/2/release/{id}?inc=artist-credits+labels+discids+recordings&fmt=json").Result);
            var release = new TagEditorRelease
            {
                Id     = id,
                Artist = json.SelectToken("artist-credit[0].name").ToString(),
                Name   = json.SelectToken("title").ToString(),
                URL    = $"https://musicbrainz.org/release/{id}",
                Tracks = new List <TagEditorTrack>()
            };

            foreach (var x in json.SelectToken("media[0].tracks"))
            {
                release.Tracks.Add(new TagEditorTrack
                {
                    TrackNumber = int.Parse(x.SelectToken("number").ToString()),
                    Title       = x.SelectToken("title").ToString()
                });
            }
            return(release);
        }