Beispiel #1
0
        /// <summary>Initializes a new instance of the <see cref="Track"/> class from a ChromeDevTools RemoteObject.</summary>
        /// <param name="trackObject">The RemoteObject instance to deserialize.</param>
        /// <param name="session">The <see cref="MediaMonkeySession"/> instance hosting the track.</param>
        public Track(RemoteObject trackObject, MediaMonkeySession session) : this(session)
        {
            if (trackObject.Value is null)
            {
                return;
            }

            var serializerSettings = new JsonSerializerSettings
            {
                MetadataPropertyHandling = MetadataPropertyHandling.Ignore,
                NullValueHandling        = NullValueHandling.Ignore,
                DateParseHandling        = DateParseHandling.None,
                Converters =
                {
                    new IsoDateTimeConverter {
                        DateTimeStyles = System.Globalization.DateTimeStyles.AssumeUniversal
                    }
                },
            };

            JsonConvert.PopulateObject(trackObject.Value.ToString(), this, serializerSettings);

            var asJsonObj = JsonConvert.DeserializeObject <AsJson>(asJSON, serializerSettings);
            DateAdded          = asJsonObj.DateAdded;
            LastTimePlayed     = asJsonObj.LastTimePlayed;
            FileModified       = asJsonObj.FileModified;
            TrackModified      = asJsonObj.TrackModified;
            ArtworkModifiedUTC = asJsonObj.ArtworkModifiedUTC;
            DateAddedUTC       = asJsonObj.DateAddedUTC;
            LastTimePlayedUTC  = asJsonObj.DateAddedUTC;
            FileModifiedUTC    = asJsonObj.FileModifiedUTC;
            TrackModifiedUTC   = asJsonObj.TrackModifiedUTC;
        }
Beispiel #2
0
 /// <summary>Initializes a new instance of the <see cref="Track"/> class.</summary>
 /// <param name="session">The <see cref="MediaMonkeySession"/> instance hosting the track.</param>
 public Track(MediaMonkeySession session)
 {
     Session = session;
 }
Beispiel #3
0
 /// <summary>Initializes a new instance of the <see cref="Player"/> class.</summary>
 /// <param name="session">The <see cref="MediaMonkeySession"/> instance hosting the player.</param>
 public Player(MediaMonkeySession session)
 {
     Session = session;
 }