67 lines
2.6 KiB
C#
67 lines
2.6 KiB
C#
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace Tesses.YouTubeDownloader2025Companion;
|
|
|
|
public class AlbumSongQuery {
|
|
[JsonPropertyName("artist-credit")]
|
|
public List<AlbumSongQueryMedia.AlbumSongQueryMediaTrack.AlbumSongQueryMediaTrackRecording.AlbumSongQueryMediaTrackRecordingArtists> Artists {get;set;}=new List<AlbumSongQueryMedia.AlbumSongQueryMediaTrack.AlbumSongQueryMediaTrackRecording.AlbumSongQueryMediaTrackRecordingArtists>();
|
|
[JsonPropertyName("title")]
|
|
public string Title {get;set;}="";
|
|
|
|
[JsonPropertyName("date")]
|
|
public string Date {get;set;}="";
|
|
|
|
[JsonPropertyName("media")]
|
|
public List<AlbumSongQueryMedia> Media {get;set;}=new List<AlbumSongQueryMedia>();
|
|
|
|
public class AlbumSongQueryMedia {
|
|
[JsonPropertyName("tracks")]
|
|
public List<AlbumSongQueryMediaTrack> Tracks {get;set;}=new List<AlbumSongQueryMediaTrack>();
|
|
|
|
public class AlbumSongQueryMediaTrack
|
|
{
|
|
[JsonPropertyName("position")]
|
|
public int Track {get;set;} = 1;
|
|
|
|
[JsonPropertyName("recording")]
|
|
public AlbumSongQueryMediaTrackRecording Recording {get;set;}=new AlbumSongQueryMediaTrackRecording();
|
|
|
|
[JsonPropertyName("length")]
|
|
public long Length {get;set;} = 0;
|
|
|
|
public class AlbumSongQueryMediaTrackRecording
|
|
{
|
|
[JsonPropertyName("title")]
|
|
public string Name {get;set;}="";
|
|
|
|
[JsonPropertyName("id")]
|
|
public Guid Id {get;set;}
|
|
|
|
[JsonPropertyName("artist-credit")]
|
|
public List<AlbumSongQueryMediaTrackRecordingArtists> ContributingArtists {get;set;}=new List<AlbumSongQueryMediaTrackRecordingArtists>();
|
|
|
|
|
|
|
|
public class AlbumSongQueryMediaTrackRecordingArtists
|
|
{
|
|
[JsonPropertyName("joinphrase")]
|
|
public string JoinPhrase {get;set;}="";
|
|
[JsonPropertyName("artist")]
|
|
public AlbumSongQueryMediaTrackRecordingArtistsArtist Artist {get;set;}=new AlbumSongQueryMediaTrackRecordingArtistsArtist();
|
|
|
|
public class AlbumSongQueryMediaTrackRecordingArtistsArtist
|
|
{
|
|
[JsonPropertyName("name")]
|
|
public string Name {get;set;}="";
|
|
[JsonPropertyName("id")]
|
|
public Guid Id {get;set;}
|
|
|
|
[JsonPropertyName("disambiguation")]
|
|
public string Disambiguation {get;set;}="";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |