Files

78 lines
3.4 KiB
C#
Raw Permalink Normal View History

2021-02-21 21:52:41 -06:00
// Decompiled with JetBrains decompiler
// Type: ZuneUI.TrackMetadataPropertySource
// Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264
// Assembly location: C:\Program Files\Zune\ZuneShell.dll
using MicrosoftZuneLibrary;
namespace ZuneUI
{
public class TrackMetadataPropertySource : PropertySource
{
private static PropertySource _instance;
protected TrackMetadataPropertySource()
{
}
public static PropertySource Instance
{
get
{
if (_instance == null)
_instance = new TrackMetadataPropertySource();
return _instance;
2021-02-21 21:52:41 -06:00
}
}
public override object Get(object media, PropertyDescriptor property)
{
TrackMetadata trackMetadata = media as TrackMetadata;
string descriptorName = property.DescriptorName;
if (descriptorName == MetadataEditMedia.s_Title.DescriptorName)
return trackMetadata.TrackTitle;
2021-02-21 21:52:41 -06:00
if (descriptorName == MetadataEditMedia.s_Artist.DescriptorName)
return trackMetadata.TrackArtist;
2021-02-21 21:52:41 -06:00
if (descriptorName == MetadataEditMedia.s_Genre.DescriptorName)
return trackMetadata.Genre;
2021-02-21 21:52:41 -06:00
if (descriptorName == MetadataEditMedia.s_Composer.DescriptorName)
return trackMetadata.Composer;
2021-02-21 21:52:41 -06:00
if (descriptorName == MetadataEditMedia.s_Conductor.DescriptorName)
return trackMetadata.Conductor;
2021-02-21 21:52:41 -06:00
if (descriptorName == MetadataEditMedia.s_TrackNumber.DescriptorName)
return trackMetadata.TrackNumber;
2021-02-21 21:52:41 -06:00
if (descriptorName == MetadataEditMedia.s_DiscNumber.DescriptorName)
return trackMetadata.DiscNumber;
return descriptorName == MetadataEditMedia.s_MediaId.DescriptorName ? trackMetadata.MediaId : (object)null;
2021-02-21 21:52:41 -06:00
}
public override void Set(object media, PropertyDescriptor property, object value)
{
TrackMetadata trackMetadata = media as TrackMetadata;
string descriptorName = property.DescriptorName;
if (descriptorName == MetadataEditMedia.s_Title.DescriptorName)
trackMetadata.TrackTitle = (string)value;
else if (descriptorName == MetadataEditMedia.s_Artist.DescriptorName)
trackMetadata.TrackArtist = (string)value;
else if (descriptorName == MetadataEditMedia.s_Genre.DescriptorName)
trackMetadata.Genre = (string)value;
else if (descriptorName == MetadataEditMedia.s_Composer.DescriptorName)
trackMetadata.Composer = (string)value;
else if (descriptorName == MetadataEditMedia.s_Conductor.DescriptorName)
trackMetadata.Conductor = (string)value;
else if (descriptorName == MetadataEditMedia.s_TrackNumber.DescriptorName)
trackMetadata.TrackNumber = (int)value;
else if (descriptorName == MetadataEditMedia.s_DiscNumber.DescriptorName)
{
trackMetadata.DiscNumber = (int)value;
}
else
{
if (!(descriptorName == MetadataEditMedia.s_MediaId.DescriptorName))
return;
trackMetadata.MediaId = (int)value;
}
}
}
}