diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..1a012f6 --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,65 @@ + + + + Debug + x64 + 4.9.0.0 + $(ApplicationVersion) + $(ApplicationVersion) + latest + + netstandard2.0;net35;net40;net6.0;net6.0-windows + x64;x86 + + False + $(SolutionDir)\libs\MicrosoftIris\36MSApp1024.snk + True + + False + + + + + + + + + + + + + + + + True + + $(DefineConstants);WINDOWS10 + $(DefineConstants);WINDOWS8 + + + + + + True + + + + + + + True + + + + + + 5.0.0.0 + $(DefineConstants);OPENZUNE + + \ No newline at end of file diff --git a/ZuneHost.Wpf/Assets/ZuneFluentGem.ico b/ZuneHost.Wpf/Assets/ZuneFluentGem.ico new file mode 100644 index 0000000..fdf3542 Binary files /dev/null and b/ZuneHost.Wpf/Assets/ZuneFluentGem.ico differ diff --git a/ZuneHost.Wpf/MainWindow.xaml.cs b/ZuneHost.Wpf/MainWindow.xaml.cs index 4c9b7ef..9198169 100644 --- a/ZuneHost.Wpf/MainWindow.xaml.cs +++ b/ZuneHost.Wpf/MainWindow.xaml.cs @@ -1,18 +1,10 @@ using System; -using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; -using System.Text; using System.Threading; using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Navigation; +using IrisApp = Microsoft.Iris.Application; namespace ZuneHost.Wpf { @@ -21,7 +13,9 @@ namespace ZuneHost.Wpf /// public partial class MainWindow : Window { - private string _zuneProgramFolder; + DirectoryInfo _zuneProgramDir; + string decompResultDir = Path.Combine(Environment.CurrentDirectory, "DecompileResults"); + string dataMapDir = Path.Combine(Environment.CurrentDirectory, "DataMappings"); public MainWindow() { @@ -39,33 +33,103 @@ namespace ZuneHost.Wpf string strArgs = string.Join(" ", args.ToArray()); // Make sure that ZuneDBApi can find all the Zune native libraries - _zuneProgramFolder = Path.Combine( + _zuneProgramDir = new(Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), - "Zune"); - foreach (var info in new DirectoryInfo(_zuneProgramFolder).GetFileSystemInfos()) + "Zune")); + if (_zuneProgramDir.Exists) { - if (info is DirectoryInfo dirInfo) + foreach (var info in _zuneProgramDir.GetFileSystemInfos()) { - CopyAll(dirInfo, new DirectoryInfo(Path.Combine(Environment.CurrentDirectory, dirInfo.Name))); - } - else if (info is FileInfo fileInfo) - { - string fileName = fileInfo.Name; - if (fileInfo.Extension == ".dll") + if (info is DirectoryInfo dirInfo) { - string targetPath = Path.Combine(Environment.CurrentDirectory, fileName); - if (!File.Exists(targetPath) || fileName == "ZuneDbApi.dll") - fileInfo.CopyTo(targetPath); + CopyAll(dirInfo, new DirectoryInfo(Path.Combine(Environment.CurrentDirectory, dirInfo.Name))); } - } + else if (info is FileInfo fileInfo) + { + string fileName = fileInfo.Name; + if (fileInfo.Extension == ".dll") + { + string targetPath = Path.Combine(Environment.CurrentDirectory, fileName); + if (!File.Exists(targetPath) || fileName == "ZuneDbApi.dll") + fileInfo.CopyTo(targetPath); + } + } + } } + IrisApp.DebugSettings.UseDecompiler = false; + if (IrisApp.DebugSettings.UseDecompiler) + { + if (Directory.Exists(decompResultDir)) + Directory.Delete(decompResultDir, true); + Directory.CreateDirectory(decompResultDir); + IrisApp.DebugSettings.DecompileResults.CollectionChanged += DecompileResults_CollectionChanged; +#if NET6_0_OR_GREATER || NETCOREAPP3_1_OR_GREATER + IrisApp.DebugSettings.Bridge.InterpreterStep += Bridge_InterpreterStep; +#endif + } + + IrisApp.DebugSettings.GenerateDataMappingModels = false; + if (IrisApp.DebugSettings.GenerateDataMappingModels) + { + if (Directory.Exists(dataMapDir)) + Directory.Delete(dataMapDir, true); + Directory.CreateDirectory(dataMapDir); + IrisApp.DebugSettings.DataMappingModels.CollectionChanged += DataMappingModels_CollectionChanged; + } + + // Set decompiler for marketplace track preview menu item + IrisApp.DebugSettings.Breakpoints.Add("res://ZuneMarketplaceResources!SelectionActions.uix (121, 14)"); + IntPtr hWnd = new System.Windows.Interop.WindowInteropHelper(this).Handle; - Thread zuneThread = new Thread(new ThreadStart(() => - Microsoft.Zune.Shell.ZuneApplication.Launch(strArgs, hWnd))); + Thread zuneThread = new(new ThreadStart(() => + { + IrisApp.Initialized += delegate + { + IrisApp.AddImportRedirect("res://ZuneShellResources!", "clr-res://ZuneShell!"); + }; + + Microsoft.Zune.Shell.ZuneApplication.Launch(strArgs, hWnd); + })); zuneThread.Start(); } + private void DecompileResults_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) + { + foreach (var result in e.NewItems.Cast()) + { + int count = 0; + string ctx = Path.GetFileName(result.Context.Substring(result.Context.LastIndexOf('/') + 1)); + + FileInfo file = new(Path.Combine(decompResultDir, ctx + ".uix")); + while (file.Exists) + file = new(Path.Combine(decompResultDir, $"{ctx}_{++count}.uix")); + + using var stream = file.OpenWrite(); + result.Doc.Save(stream); + stream.Flush(); + } + } + + private void Bridge_InterpreterStep(object sender, Microsoft.Iris.Debug.Data.InterpreterEntry e) + { + Debug.WriteLine(e.ToString()); + } + + private void DataMappingModels_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) + { + foreach (var item in e.NewItems.Cast()) + { + FileInfo file = new(Path.Combine(dataMapDir, $"{item.Provider}_{item.Type}.cs")); + if (file.Exists) file.Delete(); + + using var stream = file.Open(FileMode.Create); + using var writer = new StreamWriter(stream); + writer.Write(item.GeneratedCode); + writer.Flush(); + } + } + public static void CopyAll(DirectoryInfo source, DirectoryInfo target) { // Check if the target directory exists diff --git a/ZuneHost.Wpf/ZuneHost.Wpf.csproj b/ZuneHost.Wpf/ZuneHost.Wpf.csproj index 7de5850..f06fa0c 100644 --- a/ZuneHost.Wpf/ZuneHost.Wpf.csproj +++ b/ZuneHost.Wpf/ZuneHost.Wpf.csproj @@ -2,8 +2,10 @@ WinExe - net6.0-windows + net6.0-windows10.0.22000;net40 + 11.0 true + Assets\ZuneFluentGem.ico @@ -11,7 +13,7 @@ - + diff --git a/ZuneHost/App.config b/ZuneHost/App.config index 02eb0a8..38f9885 100644 --- a/ZuneHost/App.config +++ b/ZuneHost/App.config @@ -1,6 +1,6 @@  - + diff --git a/ZuneHost/Program.cs b/ZuneHost/Program.cs index 75d604b..ee40848 100644 --- a/ZuneHost/Program.cs +++ b/ZuneHost/Program.cs @@ -1,46 +1,71 @@ using System; +using System.Diagnostics; using System.IO; +using System.Linq; using System.Threading; namespace ZuneHost { internal class Program { - static string _zuneProgramFolder; + static DirectoryInfo _zuneProgramDir; [STAThread] static int Main(string[] args) { - Console.WriteLine("Creating splash window..."); - string strArgs = string.Join(" ", args); - // Make sure that ZuneDBApi can find all the Zune native libraries - Console.WriteLine("Copying Zune files..."); - _zuneProgramFolder = Path.Combine( - Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), - "Zune"); - foreach (var info in new DirectoryInfo(_zuneProgramFolder).GetFileSystemInfos()) +#if NETFRAMEWORK + Console.WriteLine("Running legacy build on .NET Framework. If your OS supports .NET Core, please use OpenZune."); +#endif + + if (args.Contains("--copyFiles", StringComparer.InvariantCultureIgnoreCase)) { - if (info is DirectoryInfo dirInfo) + // Make sure that ZuneDBApi can find all the Zune native libraries + Console.WriteLine("Copying Zune files..."); + _zuneProgramDir = new(Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), + "Zune")); + if (_zuneProgramDir.Exists) { - CopyAll(dirInfo, new DirectoryInfo(Path.Combine(Environment.CurrentDirectory, dirInfo.Name))); - } - else if (info is FileInfo fileInfo) - { - string fileName = fileInfo.Name; - if (fileInfo.Extension == ".dll") + foreach (var info in _zuneProgramDir.GetFileSystemInfos()) { - string targetPath = Path.Combine(Environment.CurrentDirectory, fileName); - if (!File.Exists(targetPath) || fileName == "ZuneDbApi.dll") - fileInfo.CopyTo(targetPath); + if (info is DirectoryInfo dirInfo) + { + CopyAll(dirInfo, new DirectoryInfo(Path.Combine(Environment.CurrentDirectory, dirInfo.Name))); + } + else if (info is FileInfo fileInfo) + { + string fileName = fileInfo.Name; + if (fileInfo.Extension == ".dll") + { + string targetPath = Path.Combine(Environment.CurrentDirectory, fileName); + if (!File.Exists(targetPath) || fileName == "ZuneDbApi.dll") + fileInfo.CopyTo(targetPath); + } + } } } } Console.WriteLine("Starting Zune..."); - return Microsoft.Zune.Shell.ZuneApplication.Launch(strArgs, IntPtr.Zero); + try + { + return Microsoft.Zune.Shell.ZuneApplication.Launch(strArgs, IntPtr.Zero); + } + catch (FileNotFoundException ex) + { + Console.WriteLine(ex.FileName); + throw; + } + catch + { + Debugger.Launch(); + Debugger.Break(); + + throw; + } } public static void CopyAll(DirectoryInfo source, DirectoryInfo target) diff --git a/ZuneHost/ZuneHost.csproj b/ZuneHost/ZuneHost.csproj index 02e18b1..9054fce 100644 --- a/ZuneHost/ZuneHost.csproj +++ b/ZuneHost/ZuneHost.csproj @@ -1,13 +1,20 @@  - - Exe - net6.0 - AnyCPU;x64;x86;ARM32 - + + Exe + net40;net6.0-windows10.0.22000;net6.0; + AnyCPU;x64;x86;ARM32 + 11.0 + - - - + + + + + + + + + diff --git a/ZuneHost/build/OpenZune_Prototype_SMTC10_Console.7z b/ZuneHost/build/OpenZune_Prototype_SMTC10_Console.7z new file mode 100644 index 0000000..643b328 Binary files /dev/null and b/ZuneHost/build/OpenZune_Prototype_SMTC10_Console.7z differ diff --git a/ZuneHost/build/Zune5_Legacy_Prototype_Console.7z b/ZuneHost/build/Zune5_Legacy_Prototype_Console.7z new file mode 100644 index 0000000..8713172 Binary files /dev/null and b/ZuneHost/build/Zune5_Legacy_Prototype_Console.7z differ diff --git a/ZuneImpl/Extensions.cs b/ZuneImpl/Extensions.cs new file mode 100644 index 0000000..5bcb00b --- /dev/null +++ b/ZuneImpl/Extensions.cs @@ -0,0 +1,42 @@ +using System; +using System.IO; +using System.Threading; + +#if NETSTANDARD1_0_OR_GREATER +using System.Net.Http; +using System.Threading.Tasks; +#endif + +namespace Microsoft.Zune +{ + internal static class Extensions + { +#if NETSTANDARD2_0_OR_GREATER && !NET5_0_OR_GREATER + // FIXME: Blocking the executing thread is generally a bad idea. + // Executing some of these methods has a chance of + // deadlocking the app. + + public static Stream ReadAsStream(this HttpContent content) + { + return content.ReadAsStreamAsync().Result; + } + + public static HttpResponseMessage Send(this HttpClient client, HttpRequestMessage request) + { + return client.SendAsync(request).Result; + } + + public static Task GetStreamAsync(this HttpClient client, Uri uri, CancellationToken _) + { + return client.GetStreamAsync(uri); + } +#endif + +#if NETSTANDARD && !NETSTANDARD2_1_OR_GREATER + public static Task CopyToAsync(this Stream source, Stream destination, CancellationToken _) + { + return source.CopyToAsync(destination); + } +#endif + } +} diff --git a/ZuneImpl/Library/LibraryVirtualList.cs b/ZuneImpl/Library/LibraryVirtualList.cs new file mode 100644 index 0000000..42ac933 --- /dev/null +++ b/ZuneImpl/Library/LibraryVirtualList.cs @@ -0,0 +1,63 @@ +#if OPENZUNE + +using Microsoft.Iris; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Microsoft.Zune.Library +{ + internal class LibraryVirtualList : VirtualList, ISearchableList + { + private StrixLibraryDataProviderQuery m_owner; + private ZuneQueryList m_pQueryList; + private string m_itemTypeName; + private object m_itemTypeCookie; + private bool m_autoRefresh; + private bool m_useSlowDataRequests; + private bool m_antialiasImageEdges; + + public LibraryVirtualList(StrixLibraryDataProviderQuery owner, ZuneQueryList pQueryList, + bool autoRefresh, bool antialiasEdges) + : base(true) + { + try + { + this.m_owner = owner; + base.StoreQueryResults = true; + this.m_pQueryList = pQueryList; + //pQueryList.AddRef(); + //this.m_fBlockChanges = false; + //this.m_fEndBulkArrivedDuringBlock = false; + this.m_antialiasImageEdges = antialiasEdges; + this.m_autoRefresh = autoRefresh; + if (autoRefresh) + { + //this.m_pQueryList.Advise(this); + } + //base.Count = this.m_pQueryList.Count; + + Add("Howdy there!"); + } + catch + { + base.Dispose(ModelItemDisposeMode.KeepOwnerReference); + throw; + } + } + + internal void SetItemTypeCookie(string itemTypeName, object itemTypeCookie) + { + this.m_itemTypeName = itemTypeName; + this.m_itemTypeCookie = itemTypeCookie; + } + + public int SearchForString(string searchString) + { + throw new NotImplementedException(); + } + } +} + +#endif \ No newline at end of file diff --git a/ZuneImpl/Library/StrixLibraryDataProvider.cs b/ZuneImpl/Library/StrixLibraryDataProvider.cs new file mode 100644 index 0000000..56b58da --- /dev/null +++ b/ZuneImpl/Library/StrixLibraryDataProvider.cs @@ -0,0 +1,21 @@ +#if OPENZUNE + +using Microsoft.Iris; + +namespace Microsoft.Zune.Library +{ + public static class StrixLibraryDataProvider + { + public static void Register() + { + Application.RegisterDataProvider("Library", new DataProviderQueryFactory(ConstructQuery)); + } + + private static DataProviderQuery ConstructQuery(object queryTypeCookie) + { + return new StrixLibraryDataProviderQuery(queryTypeCookie); + } + } +} + +#endif diff --git a/ZuneImpl/Library/StrixLibraryDataProviderQuery.cs b/ZuneImpl/Library/StrixLibraryDataProviderQuery.cs new file mode 100644 index 0000000..14fdd96 --- /dev/null +++ b/ZuneImpl/Library/StrixLibraryDataProviderQuery.cs @@ -0,0 +1,535 @@ +#if OPENZUNE + +using Microsoft.Iris; +using Microsoft.Zune.Playlist; +using StrixMusic.Sdk.AppModels; +using System; +using System.Threading; + +namespace Microsoft.Zune.Library +{ + public class StrixLibraryDataProviderQuery : DataProviderQuery + { + private LibraryVirtualList m_virtualListResultSet; + private bool m_disposed = false; + private int m_requestGeneration; + private string m_thumbnailFallbackImageUrl; + + //public static IStrixDataRoot Root {get; set;} + + public StrixLibraryDataProviderQuery(object typeCookie) : base(typeCookie) + { + } + + protected override void BeginExecute() + { + LibraryVirtualList virtualListResultSet = this.m_virtualListResultSet; + if (virtualListResultSet != null) + { + ((IDisposable)virtualListResultSet).Dispose(); + this.m_virtualListResultSet = null; + } + this.m_thumbnailFallbackImageUrl = null; + this.m_requestGeneration++; + this.Status = DataProviderQueryStatus.RequestingData; + BeginExecuteWorker(m_requestGeneration); + } + + private void BeginExecuteWorker(object state) + { + bool[] sortAscendings = null; + string[] sortStrings = null; + string str = null; + int num = (int)state; + if (true)//num == this.m_requestGeneration) + { + //QueryPropertyBag queryPropertyBag = new QueryPropertyBag(); + //IQueryPropertyBag* iqueryPropertyBag = queryPropertyBag.GetIQueryPropertyBag(); + //bool retainedList = false; + //if (this.GetSortAttributes(out sortStrings, out sortAscendings)) + //{ + + //} + object property = this.GetProperty("ArtistIds"); + if (property != null) + { + + } + object property2 = this.GetProperty("GenreIds"); + if (property2 != null) + { + + } + object property3 = this.GetProperty("AlbumIds"); + if (property3 != null) + { + + } + object property4 = this.GetProperty("UserCardIds"); + if (property4 != null) + { + + } + object property5 = this.GetProperty("DeviceId"); + if (property5 != null) + { + + } + else + { + + } + object property6 = this.GetProperty("SyncMappedError"); + if (property6 != null) + { + + } + property6 = this.GetProperty("UserId"); + if (property6 != null) + { + + } + else + { + + } + object property7 = this.GetProperty("InLibrary"); + if (property7 != null) + { + + } + //object obj13 = calli(System.Int32 modopt(System.Runtime.CompilerServices.IsLong) modopt(System.Runtime.CompilerServices.CallConvCdecl)(System.IntPtr, EQueryPropertyBagProp, System.Int32), iqueryPropertyBag, 2, 0, *(*(long*)iqueryPropertyBag + 56L)); + EQueryTypeView equeryTypeView = EQueryTypeView.eQueryTypeLibraryView; + object property8 = this.GetProperty("ShowDeviceContents"); + if (property8 != null) + { + equeryTypeView = (((bool)property8) ? EQueryTypeView.eQueryTypeDeviceView : equeryTypeView); + } + property8 = this.GetProperty("DiscMediaView"); + if (property8 != null) + { + equeryTypeView = (((bool)property8) ? EQueryTypeView.eQueryTypeDiscMediaView : equeryTypeView); + } + property8 = this.GetProperty("Remaining"); + if (property8 != null) + { + equeryTypeView = (((bool)property8) ? EQueryTypeView.eQueryTypeSyncRemaining : equeryTypeView); + } + property8 = this.GetProperty("Complete"); + if (property8 != null) + { + equeryTypeView = (((bool)property8) ? EQueryTypeView.eQueryTypeSyncSucceeded : equeryTypeView); + } + property8 = this.GetProperty("Failed"); + if (property8 != null) + { + equeryTypeView = (((bool)property8) ? EQueryTypeView.eQueryTypeSyncFailed : equeryTypeView); + } + property8 = this.GetProperty("MultiSelect"); + if (property8 != null && (bool)property8) + { + equeryTypeView = ((EQueryTypeView.eQueryTypeDeviceView == equeryTypeView) ? EQueryTypeView.eQueryTypeDeviceMultiSelectView : EQueryTypeView.eQueryTypeLibraryMultiSelectView); + } + object property9 = this.GetProperty("RulesOnly"); + if (property9 != null) + { + equeryTypeView = (((bool)property9) ? EQueryTypeView.eQueryTypeDeviceSyncRuleView : equeryTypeView); + } + //object obj14 = calli(System.Int32 modopt(System.Runtime.CompilerServices.IsLong) modopt(System.Runtime.CompilerServices.CallConvCdecl)(System.IntPtr, EQueryPropertyBagProp, System.Int32), iqueryPropertyBag, 15, equeryTypeView, *(*(long*)iqueryPropertyBag + 56L)); + object keywordsProp = this.GetProperty("Keywords"); + if (keywordsProp != null) + { + + } + object property11 = this.GetProperty("ContributingArtistId"); + if (property11 != null) + { + + } + property11 = this.GetProperty("ArtistId"); + if (property11 != null) + { + + } + property11 = this.GetProperty("GenreId"); + if (property11 != null) + { + + } + property11 = this.GetProperty("AlbumId"); + if (property11 != null) + { + + } + property11 = this.GetProperty("FolderId"); + if (property11 != null) + { + + } + property11 = this.GetProperty("RecurseIntoFolders"); + if (property11 != null && (int)property11 != 0) + { + + } + object property12 = this.GetProperty("FolderMediaType"); + if (property12 != null) + { + //EMediaTypes emediaTypes = LibraryDataProvider.NameToMediaType((string)property12); + + } + object property13 = this.GetProperty("MediaType"); + if (property13 != null) + { + + } + object property14 = this.GetProperty("TOC"); + if (property14 != null) + { + + } + object property15 = this.GetProperty("SeriesId"); + if (property15 != null) + { + + } + property15 = this.GetProperty("WatchType"); + if (property15 != null) + { + + } + if (this.GetProperty("ExpiresOnly") != null) + { + + } + object property16 = this.GetProperty("Operation"); + if (property16 != null) + { + + } + property16 = this.GetProperty("InitTime"); + if (property16 != null) + { + + } + object property17 = this.GetProperty("PlaylistId"); + if (property17 != null) + { + + } + property17 = this.GetProperty("CategoryId"); + if (property17 != null) + { + + } + property17 = this.GetProperty("PlaylistType"); + if (property17 != null && !string.IsNullOrEmpty((string)property17)) + { + PlaylistType playlistType = (PlaylistType)Enum.Parse(typeof(PlaylistType), (string)property17); + //object obj32 = calli(System.Int32 modopt(System.Runtime.CompilerServices.IsLong) modopt(System.Runtime.CompilerServices.CallConvCdecl)(System.IntPtr, EQueryPropertyBagProp, System.Int32), iqueryPropertyBag, 24, playlistType, *(*(long*)iqueryPropertyBag + 56L)); + } + object property18 = this.GetProperty("PlaylistTypeMask"); + if (property18 != null) + { + int num9 = (int)property18; + if (num9 != 0) + { + + } + } + object property19 = this.GetProperty("MaxResultCount"); + if (property19 != null) + { + + } + property19 = this.GetProperty("DrmStateMask"); + if (property19 != null) + { + ulong num10 = (ulong)((long)property19); + if (num10 != 0UL) + { + + } + } + string text = (string)this.GetProperty("QueryType"); + EQueryType equeryType = EQueryType.eQueryTypeInvalid; + if (keywordsProp != null)//queryPropertyBag.IsSet("Keywords")) + { + if (text == "Artist") + { + equeryType = EQueryType.eQueryTypeArtistsWithKeyword; + } + else if (text == "Album") + { + equeryType = EQueryType.eQueryTypeAlbumsWithKeyword; + } + else if (text == "Track") + { + equeryType = EQueryType.eQueryTypeTracksWithKeyword; + } + else if (text == "Playlist") + { + equeryType = EQueryType.eQueryTypePlaylistsWithKeyword; + } + else if (text == "Photo") + { + equeryType = EQueryType.eQueryTypePhotosWithKeyword; + } + else if (text == "PodcastSeries") + { + equeryType = EQueryType.eQueryTypeSubscriptionsSeriesWithKeyword; + } + else if (text == "PodcastEpisode") + { + equeryType = EQueryType.eQueryTypeSubscriptionsEpisodesWithKeyword; + } + else if (text == "Video") + { + equeryType = EQueryType.eQueryTypeVideoWithKeyword; + } + } + else if (text == "Artist") + { + equeryType = EQueryType.eQueryTypeAllAlbumArtists; + } + else if (text == "Genres") + { + object property20 = this.GetProperty("MediaType"); + int num11; + if (property20 != null) + { + num11 = (int)property20; + } + else + { + num11 = 3; + } + + equeryType = EQueryType.eQueryTypeAllGenres; + } + else if (text == "Album") + { + property19 = this.GetProperty("ArtistId"); + //if ((property19 != null && (int)property19 != -1) || queryPropertyBag.IsSet("ArtistIds")) + //{ + // equeryType = EQueryType.eQueryTypeAlbumsForAlbumArtistId; + //} + //else + //{ + // property19 = this.GetProperty("GenreId"); + // if ((property19 != null && (int)property19 != -1) || queryPropertyBag.IsSet("GenreIds")) + // { + // equeryType = EQueryType.eQueryTypeAlbumsByGenreId; + // } + // else + // { + // equeryType = EQueryType.eQueryTypeAllAlbums; + // } + //} + //retainedList = true; + } + else if (text == "Track") + { + object property21 = this.GetProperty("RulesOnly"); + if (property21 != null) + { + bool flag = (bool)property21; + if (flag) + { + equeryType = EQueryType.eQueryTypeAllTracks; + //goto IL_BDF; + } + } + property21 = this.GetProperty("AlbumId"); + //if ((property21 != null && (int)property21 != -1) || queryPropertyBag.IsSet("AlbumIds")) + //{ + // property19 = this.GetProperty("ArtistId"); + // if ((property19 != null && (int)property19 != -1) || queryPropertyBag.IsSet("ArtistIds")) + // { + // equeryType = EQueryType.eQueryTypeTracksForAlbumArtistId; + // } + // else + // { + // equeryType = EQueryType.eQueryTypeTracksForAlbumId; + // } + //} + //else + //{ + // property19 = this.GetProperty("ArtistId"); + // if ((property19 != null && (int)property19 != -1) || queryPropertyBag.IsSet("ArtistIds")) + // { + // equeryType = EQueryType.eQueryTypeTracksForAlbumArtistId; + // } + // else + // { + // property19 = this.GetProperty("GenreId"); + // if ((property19 != null && (int)property19 != -1) || queryPropertyBag.IsSet("GenreIds")) + // { + // equeryType = EQueryType.eQueryTypeTracksByGenreId; + // } + // else + // { + // property19 = this.GetProperty("Detailed"); + // if (property19 != null && (bool)property19) + // { + // equeryType = EQueryType.eQueryTypeAllTracksDetailed; + // } + // else + // { + // property19 = this.GetProperty("TOC"); + // if (property19 != null && !string.IsNullOrEmpty((string)property19)) + // { + // equeryType = EQueryType.eQueryTypeTracksForTOC; + // } + // else + // { + // equeryType = EQueryType.eQueryTypeAllTracks; + // } + // } + // } + // } + //} + } + else if (text == "AlbumByTOC") + { + equeryType = EQueryType.eQueryTypeAlbumsByTOC; + //if (!queryPropertyBag.IsSet("TOC")) + //{ + // equeryType = EQueryType.eQueryTypeInvalid; + //} + } + else if (text == "Photo") + { + equeryType = ((equeryTypeView == EQueryTypeView.eQueryTypeDeviceSyncRuleView) ? EQueryType.eQueryTypeAllPhotos : EQueryType.eQueryTypePhotosByFolderId); + } + else if (text == "MediaFolder") + { + equeryType = EQueryType.eQueryTypeMediaFolders; + } + else if (text == "Video") + { + property19 = this.GetProperty("CategoryId"); + if (property19 != null && (int)property19 != -1) + { + equeryType = EQueryType.eQueryTypeVideosByCategoryId; + } + else + { + equeryType = EQueryType.eQueryTypeAllVideos; + } + } + else if (text == "PodcastSeries") + { + equeryType = EQueryType.eQueryTypeAllPodcastSeries; + } + else if (text == "PodcastEpisode") + { + property19 = this.GetProperty("SeriesId"); + if (property19 != null && (int)property19 != -1) + { + equeryType = EQueryType.eQueryTypeEpisodesForSeriesId; + } + else + { + equeryType = EQueryType.eQueryTypeAllPodcastEpisodes; + } + } + else if (text == "SyncItem") + { + equeryType = EQueryType.eQueryTypeSyncProgress; + } + else if (text == "Playlist") + { + equeryType = EQueryType.eQueryTypeAllPlaylists; + } + else if (text == "PlaylistContent") + { + equeryType = EQueryType.eQueryTypePlaylistContentByPlaylistId; + } + else if (text == "UserCard") + { + equeryType = EQueryType.eQueryTypeUserCards; + } + else if (text == "Person") + { + equeryType = EQueryType.eQueryTypePersonsByTypeId; + EMediaTypes emediaTypes2 = EMediaTypes.eMediaTypePersonArtist; + emediaTypes2 = (((string)this.GetProperty("PersonType") == "Composer") ? EMediaTypes.eMediaTypePersonComposer : emediaTypes2); + + } + else if (text == "ArtistsRanking") + { + equeryType = EQueryType.eQueryTypeArtistsRanking; + } + else if (text == "TVSeries") + { + equeryType = EQueryType.eQueryTypeVideoSeriesTitles; + } + else if (text == "Pin") + { + equeryType = EQueryType.eQueryTypePinsByPinType; + EPinType epinType = EPinType.ePinTypeGeneric; + property19 = this.GetProperty("PinType"); + if (property19 != null) + { + epinType = (EPinType)property19; + } + + } + else + { + equeryType = ((text == "App") ? EQueryType.eQueryTypeAllApps : equeryType); + } + + + ZuneQueryList queryList = new(equeryType); + DeferredSetResult(new DeferredSetResultArgs(num, queryList, false));// retainedList)); + } + } + + private void DeferredSetResult(object state) + { + DeferredSetResultArgs deferredSetResultArgs = (DeferredSetResultArgs)state; + bool isEmpty = true; + if (deferredSetResultArgs.QueryList != null) + { + object property = this.GetProperty("AutoRefresh"); + bool autoRefresh = property == null || (bool)property; + object property2 = this.GetProperty("AntialiasImageEdges"); + bool antialiasEdges = property2 != null && (bool)property2; + this.m_thumbnailFallbackImageUrl = (string)this.GetProperty("ThumbnailFallbackImageUrl"); + LibraryVirtualList virtualListResultSet = this.m_virtualListResultSet; + if (virtualListResultSet != null) + { + ((IDisposable)virtualListResultSet).Dispose(); + } + LibraryVirtualList libraryVirtualList = new(this, deferredSetResultArgs.QueryList, autoRefresh, antialiasEdges); + this.m_virtualListResultSet = libraryVirtualList; + ReleaseBehavior visualReleaseBehavior = deferredSetResultArgs.RetainedList ? ReleaseBehavior.KeepReference : ReleaseBehavior.ReleaseReference; + libraryVirtualList.VisualReleaseBehavior = visualReleaseBehavior; + isEmpty = deferredSetResultArgs.QueryList.IsEmpty; + } + StrixLibraryDataProviderQueryResult libraryDataProviderQueryResult = new(this, this.m_virtualListResultSet, base.ResultTypeCookie); + libraryDataProviderQueryResult.SetIsEmpty(isEmpty); + this.Result = libraryDataProviderQueryResult; + this.Status = DataProviderQueryStatus.Complete; + } + } + + internal class DeferredSetResultArgs + { + public DeferredSetResultArgs(int requestGeneration, ZuneQueryList queryList, bool retainedList) + { + RequestGeneration = requestGeneration; + QueryList = queryList; + RetainedList = retainedList; + } + + public int RequestGeneration { get; } + + public ZuneQueryList QueryList { get; } + + public bool RetainedList { get; } + } +} + +#endif \ No newline at end of file diff --git a/ZuneImpl/Library/StrixLibraryDataProviderQueryResult.cs b/ZuneImpl/Library/StrixLibraryDataProviderQueryResult.cs new file mode 100644 index 0000000..a6ae7ee --- /dev/null +++ b/ZuneImpl/Library/StrixLibraryDataProviderQueryResult.cs @@ -0,0 +1,67 @@ +#if OPENZUNE + +using System; +using System.Runtime.InteropServices; +using Microsoft.Iris; + +namespace Microsoft.Zune.Library +{ + // Token: 0x02000271 RID: 625 + internal class StrixLibraryDataProviderQueryResult : DataProviderObject + { + // Token: 0x06000F6A RID: 3946 RVA: 0x000E90D0 File Offset: 0x000E84D0 + public StrixLibraryDataProviderQueryResult(StrixLibraryDataProviderQuery owner, LibraryVirtualList virtualListResultSet, object resultTypeCookie) : base(owner, resultTypeCookie) + { + this.m_virtualListResultSet = virtualListResultSet; + if (virtualListResultSet != null) + { + foreach (DataProviderMapping dataProviderMapping in base.Mappings.Values) + { + if (dataProviderMapping.UnderlyingCollectionTypeCookie != null) + { + this.m_virtualListResultSet.SetItemTypeCookie(dataProviderMapping.UnderlyingCollectionTypeName, dataProviderMapping.UnderlyingCollectionTypeCookie); + } + } + } + } + + // Token: 0x06000F6B RID: 3947 RVA: 0x000E9160 File Offset: 0x000E8560 + public override object GetProperty(string propertyName) + { + DataProviderMapping dataProviderMapping = null; + if (propertyName == "IsEmpty") + { + return this.m_isEmpty; + } + if (base.Mappings.TryGetValue(propertyName, out dataProviderMapping)) + { + return this.m_virtualListResultSet; + } + return null; + } + + // Token: 0x06000F6C RID: 3948 RVA: 0x00101710 File Offset: 0x00100B10 + public override void SetProperty(string propertyName, object value) + { + throw new NotSupportedException(); + } + + // Token: 0x06000F6D RID: 3949 RVA: 0x000E91A8 File Offset: 0x000E85A8 + public void SetIsEmpty([MarshalAs(UnmanagedType.U1)] bool isEmpty) + { + if (this.m_isEmpty != isEmpty) + { + this.m_isEmpty = isEmpty; + base.FirePropertyChanged("IsEmpty"); + } + } + + // Token: 0x04000B3C RID: 2876 + protected LibraryVirtualList m_virtualListResultSet; + + // Token: 0x04000B3D RID: 2877 + protected bool m_isEmpty; + } +} + +#endif \ No newline at end of file diff --git a/ZuneImpl/Library/ZuneQueryList.cs b/ZuneImpl/Library/ZuneQueryList.cs new file mode 100644 index 0000000..b3b899d --- /dev/null +++ b/ZuneImpl/Library/ZuneQueryList.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Microsoft.Zune.Library +{ + public class ZuneQueryList : IDisposable + { + internal ZuneQueryList(EQueryType queryType) + { + + } + + public bool IsEmpty { get; protected set; } + + public bool IsDisposed { get; protected set; } + + public int Count { get; protected set; } + + public void Dispose() + { + IsDisposed = true; + } + } +} diff --git a/ZuneImpl/Playback/MediaFoundationAudioService.cs b/ZuneImpl/Playback/MediaFoundationAudioService.cs new file mode 100644 index 0000000..3cc8628 --- /dev/null +++ b/ZuneImpl/Playback/MediaFoundationAudioService.cs @@ -0,0 +1,137 @@ +#if OPENZUNE + +using CommunityToolkit.Diagnostics; +using NAudio.Wave; +using StrixMusic.Sdk.MediaPlayback; +using System; +using System.Threading; +using System.Threading.Tasks; + +using StrixPlaybackState = StrixMusic.Sdk.MediaPlayback.PlaybackState; + +namespace Microsoft.Zune.Playback +{ + public class MediaFoundationAudioService : IAudioPlayerService + { + readonly WaveOutEvent m_audio = new(); + private PlaybackItem m_currentSource; + + public static MediaFoundationAudioService Instance => new(); + + private MediaFoundationAudioService() { } + + public PlaybackItem CurrentSource + { + get => m_currentSource; + set + { + m_currentSource = value; + CurrentSourceChanged?.Invoke(this, value); + } + } + + public TimeSpan Position { get; private set; } + + public StrixPlaybackState PlaybackState => m_audio.PlaybackState switch + { + NAudio.Wave.PlaybackState.Playing => StrixPlaybackState.Playing, + + NAudio.Wave.PlaybackState.Paused or + NAudio.Wave.PlaybackState.Stopped => StrixPlaybackState.Paused, + + _ => StrixPlaybackState.None + }; + + public double Volume + { + get => m_audio.Volume; + private set + { + m_audio.Volume = (float)value; + VolumeChanged?.Invoke(this, value); + } + } + + public double PlaybackSpeed { get; private set; } + + public event EventHandler CurrentSourceChanged; + public event EventHandler QuantumProcessed; + public event EventHandler PositionChanged; + public event EventHandler PlaybackStateChanged; + public event EventHandler VolumeChanged; + public event EventHandler PlaybackSpeedChanged; + + public Task ChangePlaybackSpeedAsync(double speed, CancellationToken cancellationToken = default) + { + PlaybackSpeed = speed; + return Task.CompletedTask; + } + + public Task ChangeVolumeAsync(double volume, CancellationToken cancellationToken = default) + { + Volume = (float)volume; + return Task.CompletedTask; + } + + public Task PauseAsync(CancellationToken cancellationToken = default) + { + m_audio.Pause(); + return Task.CompletedTask; + } + + public async Task Play(PlaybackItem sourceConfig, CancellationToken cancellationToken = default) + { + WaveStream reader = null; + var stream = sourceConfig.MediaConfig.FileStreamSource; + var uri = sourceConfig.MediaConfig.MediaSourceUri; + + if (stream != null) + { + reader = new StreamMediaFoundationReader(stream); + } + else if (uri.IsFile) + { + reader = new MediaFoundationReader(uri.ToString()); + } + else if (uri.Scheme.StartsWith("http")) + { + // Use this URI for testing: https://www.newgrounds.com/audio/download/641172 + + System.Net.Http.HttpClient client = new(); + + var httpStream = await client.GetStreamAsync(uri, cancellationToken); + cancellationToken.ThrowIfCancellationRequested(); + + // NAudio requires some fancy stuff to stream from the web. This is + // a relatively simple workaround that downloads the entire file + // into memory before playing. + stream = new System.IO.MemoryStream(); + await httpStream.CopyToAsync(stream, cancellationToken); + cancellationToken.ThrowIfCancellationRequested(); + + reader = new StreamMediaFoundationReader(stream); + } + + m_audio.Init(reader); + m_audio.Play(); + } + + public Task Preload(PlaybackItem sourceConfig, CancellationToken cancellationToken = default) + { + return Task.CompletedTask; + } + + public Task ResumeAsync(CancellationToken cancellationToken = default) + { + m_audio.Play(); + return Task.CompletedTask; + } + + public Task SeekAsync(TimeSpan position, CancellationToken cancellationToken = default) + { + return Task.CompletedTask; + } + } +} + +#endif diff --git a/ZuneImpl/Playback/PlayerInteropAudioService.cs b/ZuneImpl/Playback/PlayerInteropAudioService.cs new file mode 100644 index 0000000..efd184c --- /dev/null +++ b/ZuneImpl/Playback/PlayerInteropAudioService.cs @@ -0,0 +1,75 @@ +#if OPENZUNE + +using MicrosoftZunePlayback; +using StrixMusic.Sdk.MediaPlayback; +using System; +using System.Threading; +using System.Threading.Tasks; + +namespace Microsoft.Zune.Playback +{ + public class PlayerInteropAudioService : IAudioPlayerService + { + private readonly PlayerInterop _playbackWrapper = PlayerInterop.Instance; + + public PlaybackItem CurrentSource { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + + public TimeSpan Position => new(_playbackWrapper.Position); + + public PlaybackState PlaybackState => throw new NotImplementedException(); + + public double Volume => _playbackWrapper.Volume / 100d; + + public double PlaybackSpeed => 1.0d; + + public event EventHandler CurrentSourceChanged; + public event EventHandler QuantumProcessed; + public event EventHandler PositionChanged; + public event EventHandler PlaybackStateChanged; + public event EventHandler VolumeChanged; + public event EventHandler PlaybackSpeedChanged; + + public Task ChangePlaybackSpeedAsync(double speed, CancellationToken cancellationToken = default) + { + throw new NotImplementedException(); + } + + public Task ChangeVolumeAsync(double volume, CancellationToken cancellationToken = default) + { + _playbackWrapper.Volume = (int)(volume * 100); + return Task.CompletedTask; + } + + public Task PauseAsync(CancellationToken cancellationToken = default) + { + _playbackWrapper.Pause(); + return Task.CompletedTask; + } + + public Task Play(PlaybackItem sourceConfig, CancellationToken cancellationToken = default) + { + _playbackWrapper.Play(); + return Task.CompletedTask; + } + + public Task Preload(PlaybackItem sourceConfig, CancellationToken cancellationToken = default) + { + throw new NotImplementedException(); + } + + public Task ResumeAsync(CancellationToken cancellationToken = default) + { + _playbackWrapper.Play(); + return Task.CompletedTask; + } + + public Task SeekAsync(TimeSpan position, CancellationToken cancellationToken = default) + { + if (_playbackWrapper.CanSeek) + _playbackWrapper.SeekToAbsolutePosition(position.Ticks); + return Task.CompletedTask; + } + } +} + +#endif diff --git a/ZuneImpl/Playback/VlcAudioService.cs b/ZuneImpl/Playback/VlcAudioService.cs new file mode 100644 index 0000000..e97e984 --- /dev/null +++ b/ZuneImpl/Playback/VlcAudioService.cs @@ -0,0 +1,175 @@ +#if OPENZUNE + +using LibVLCSharp.Shared; +using StrixMusic.Sdk.MediaPlayback; +using System; +using System.Threading; +using System.Threading.Tasks; + +using StrixPlaybackState = StrixMusic.Sdk.MediaPlayback.PlaybackState; + +namespace Microsoft.Zune.Playback +{ + public class VlcAudioService : IAudioPlayerService + { + readonly LibVLC m_vlc; + readonly MediaPlayer m_player; + private Media m_media; + private PlaybackItem m_currentSource; + private TimeSpan m_position; + + public static VlcAudioService Instance => new(); + + private VlcAudioService() + { + Core.Initialize(@"C:\Program Files\VideoLAN\VLC"); + + bool debug = +#if DEBUG + true; +#else + false; +#endif + + m_vlc = new(enableDebugLogs: debug); + m_player = new(m_vlc); + + m_player.TimeChanged += (sender, e) => Position = TimeSpan.FromMilliseconds(e.Time); + } + + public PlaybackItem CurrentSource + { + get => m_currentSource; + set + { + m_currentSource = value; + CurrentSourceChanged?.Invoke(this, value); + } + } + + public TimeSpan Position + { + get => m_position; + set + { + m_position = value; + PositionChanged?.Invoke(this, value); + } + } + + public StrixPlaybackState PlaybackState => m_player.State switch + { + VLCState.Playing => StrixPlaybackState.Playing, + + VLCState.Paused or + VLCState.Stopped => StrixPlaybackState.Paused, + + VLCState.Opening or + VLCState.Buffering => StrixPlaybackState.Loading, + + VLCState.Error => StrixPlaybackState.Failed, + + _ => StrixPlaybackState.None + }; + + public double Volume + { + get => m_player.Volume / 100d; + private set + { + m_player.Volume = (int)(value * 100); + VolumeChanged?.Invoke(this, value); + } + } + + public double PlaybackSpeed + { + get => m_player.Rate; + private set + { + m_player.SetRate((float)value); + VolumeChanged?.Invoke(this, value); + } + } + + public event EventHandler CurrentSourceChanged; + public event EventHandler QuantumProcessed; + public event EventHandler PositionChanged; + public event EventHandler PlaybackStateChanged; + public event EventHandler VolumeChanged; + public event EventHandler PlaybackSpeedChanged; + + public Task ChangePlaybackSpeedAsync(double speed, CancellationToken cancellationToken = default) + { + PlaybackSpeed = speed; + return Task.CompletedTask; + } + + public Task ChangeVolumeAsync(double volume, CancellationToken cancellationToken = default) + { + Volume = (float)volume; + return Task.CompletedTask; + } + + public Task PauseAsync(CancellationToken cancellationToken = default) + { + m_player.Pause(); + + if (m_player.Media != null) + PlaybackStateChanged?.Invoke(this, PlaybackState); + + return Task.CompletedTask; + } + + public async Task Play(PlaybackItem sourceConfig, CancellationToken cancellationToken = default) + { + if (CurrentSource != sourceConfig) + await Preload(sourceConfig, cancellationToken); + + if (m_player.Play()) + PlaybackStateChanged?.Invoke(this, PlaybackState); + } + + public async Task Preload(PlaybackItem sourceConfig, CancellationToken cancellationToken = default) + { + PlaybackStateChanged?.Invoke(this, StrixPlaybackState.Loading); + + CurrentSource = sourceConfig; + var uri = sourceConfig.MediaConfig.MediaSourceUri; + var stream = sourceConfig.MediaConfig.FileStreamSource; + + if (uri != null) + { + m_media = new(m_vlc, uri); + } + else if (stream != null) + { + m_media = new(m_vlc, new StreamMediaInput(stream)); + } + + var parseStatus = await m_media.Parse(MediaParseOptions.ParseNetwork | MediaParseOptions.ParseLocal, cancellationToken: cancellationToken); + if (parseStatus == MediaParsedStatus.Failed || parseStatus == MediaParsedStatus.Timeout) + PlaybackStateChanged?.Invoke(this, StrixPlaybackState.Failed); + else if (parseStatus == MediaParsedStatus.Done || parseStatus == MediaParsedStatus.Skipped) + PlaybackStateChanged?.Invoke(this, PlaybackState); + + m_player.Media = m_media; + } + + public Task ResumeAsync(CancellationToken cancellationToken = default) + { + m_player.Play(); + return Task.CompletedTask; + } + + public Task SeekAsync(TimeSpan position, CancellationToken cancellationToken = default) + { + if (m_player.IsSeekable) + m_player.SeekTo(position); + + return Task.CompletedTask; + } + } +} + +#endif diff --git a/ZuneImpl/Service/CommunityCommerce.cs b/ZuneImpl/Service/CommunityCommerce.cs new file mode 100644 index 0000000..65fad94 --- /dev/null +++ b/ZuneImpl/Service/CommunityCommerce.cs @@ -0,0 +1,53 @@ +using System.Globalization; +using System.IO; +using System.Reflection; +using System.Xml.Serialization; +using Zune.Xml.Commerce; + +namespace Microsoft.Zune.Service +{ + internal static partial class CommunityCommerce + { + static readonly XmlSerializer _signInRequestSerializer = new XmlSerializer(typeof(SignInRequest)); + static readonly XmlSerializer _signInResponseSerializer = new XmlSerializer(typeof(SignInResponse)); + static SignInResponse _memberInfo; + + public static SignInResponse MemberInfo + { + get => _memberInfo; + private set + { + _memberInfo = value; + + Culture = new CultureInfo(value.AccountInfo.Locale); + } + } + + public static CultureInfo Culture { get; private set; } = CultureInfo.CurrentCulture; + + public static bool IsSignedIn => Escargot.HasToken && MemberInfo != null; + + public static void SignOut() => MemberInfo = null; + + private static Stream GetSignInRequestBody() + { + var requestObj = new SignInRequest + { + TunerInfo = new TunerInfo + { + Version = Assembly.GetEntryAssembly()?.GetName()?.Version?.ToString() + } + }; + var contentStream = new MemoryStream(); + _signInRequestSerializer.Serialize(contentStream, requestObj); + + contentStream.Position = 0; + return contentStream; + } + + private static SignInResponse ReadSignInResponse(Stream stream) + { + return _signInResponseSerializer.Deserialize(stream) as SignInResponse; + } + } +} diff --git a/ZuneImpl/Service/CommunityCommerce.oz.cs b/ZuneImpl/Service/CommunityCommerce.oz.cs new file mode 100644 index 0000000..1ff2825 --- /dev/null +++ b/ZuneImpl/Service/CommunityCommerce.oz.cs @@ -0,0 +1,46 @@ +using System.Net.Http; +using ZuneUI; + +namespace Microsoft.Zune.Service +{ + partial class CommunityCommerce + { + private static readonly HttpClient _client = Escargot._client; + + public static HRESULT TrySignIn() + { + if (!Escargot.HasToken) + return HRESULT._NS_E_SUBSCRIPTIONSERVICE_LOGIN_FAILED; + + try + { + string url = Service2.Instance.GetEndPointUri(EServiceEndpointId.SEID_Commerce) + $"/account/signin"; + HttpRequestMessage request = new(HttpMethod.Post, url); + request.Headers.UserAgent.ParseAdd(CommunityService.AppUserAgent); + + var contentStream = GetSignInRequestBody(); + request.Content = new StreamContent(contentStream); + request.Content.Headers.ContentType = new(Atom.Constants.ATOM_MIMETYPE); + request.Content.Headers.ContentLength = contentStream.Length; + + Escargot.AuthenticateRequest(request); + + var response = _client.Send(request); + response.EnsureSuccessStatusCode(); + + var responseObj = ReadSignInResponse(response.Content.ReadAsStream()); + + uint? errorCode = responseObj?.AccountState?.SignInErrorCode; + if (errorCode != 0) + return new HRESULT(unchecked((int)errorCode)); + + MemberInfo = responseObj; + return HRESULT._S_OK; + } + catch + { + return HRESULT._NS_E_SUBSCRIPTIONSERVICE_LOGIN_FAILED; + } + } + } +} diff --git a/ZuneImpl/Service/CommunityService.cs b/ZuneImpl/Service/CommunityService.cs new file mode 100644 index 0000000..9e027c9 --- /dev/null +++ b/ZuneImpl/Service/CommunityService.cs @@ -0,0 +1,533 @@ +using Microsoft.Zune.Util; +using System; +using System.Collections; +using System.Globalization; +using ZuneUI; + +namespace Microsoft.Zune.Service +{ + internal class CommunityService : IService + { + private bool disposedValue; + + public static string AppUserAgent { get; set; } + public static string ApiVerionStr { get; set; } + + public EListType ContentTypeToListType(EContentType contentType) + { + switch (contentType) + { + case EContentType.MusicTrack: + return EListType.eTrackList; + + case EContentType.MusicAlbum: + return EListType.eAlbumList; + + case EContentType.Video: + return EListType.eVideoList; + + case EContentType.Artist: + return EListType.eArtistList; + + case EContentType.PodcastEpisode: + return EListType.ePodcastEpisodeList; + + case EContentType.PodcastSeries: + return EListType.ePodcastList; + + case EContentType.App: + return EListType.eAppList; + + case EContentType.Playlist: + return EListType.ePlaylistList; + + default: + case EContentType.Unknown: + return EListType.eListInvalid; + } + } + public string GetEndPointUri(EServiceEndpointId eServiceEndpointId) + { + // Allow override from registry, like the internal dogfood version did + string keyName = eServiceEndpointId.ToString().Substring(5) + "Endpoint"; + var key = Win32.Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Zune\Service"); + var keyVal = key?.GetValue(keyName); + if (keyVal is string keyValUri) + return keyValUri; + + string uri = null; + string culture = CultureInfo.CurrentCulture.ToString(); + switch (eServiceEndpointId) + { + case EServiceEndpointId.SEID_RootCatalog: + uri = "http://catalog.zunes.me/v3.2/" + culture; + break; + case EServiceEndpointId.SEID_RootCatalogSSL: + uri = "https://catalog.zunes.me/v3.2/" + culture; + break; + case EServiceEndpointId.SEID_Stats: + uri = "https://stat.zunes.me"; + break; + case EServiceEndpointId.SEID_ImageCatalog: + uri = "https://image.catalog.zunes.me/" + culture; + break; + case EServiceEndpointId.SEID_Comments: + uri = "https://comments.zunes.me"; + break; + case EServiceEndpointId.SEID_QuickMixSecure: + uri = "http://mix.zunes.me"; + break; + case EServiceEndpointId.SEID_QuickMix: + uri = "https://mix.zunes.me"; + break; + case EServiceEndpointId.SEID_Commerce: + case EServiceEndpointId.SEID_CommerceV3: + uri = "https://commerce.zunes.me/v3.2/" + culture; + break; + case EServiceEndpointId.SEID_CommerceV2: + uri = "https://stat.zunes.me/v2.0/" + culture; + break; + case EServiceEndpointId.SEID_WindowsLiveSignup: + uri = "https://login.zunes.me"; + break; + case EServiceEndpointId.SEID_WMISEndpoints: + uri = "https://metaservices.zunes.me/endpoints"; + break; + case EServiceEndpointId.SEID_WMISRedirEndpoint: + uri = "https://metaservices.zunes.me/redir"; + break; + case EServiceEndpointId.SEID_WMISImageEndpoint: + uri = "https://metaservices.zunes.me/image"; + break; + case EServiceEndpointId.SEID_Tuners: + uri = "https://tuners.zunes.me/" + culture; + break; + case EServiceEndpointId.SEID_Resources: + uri = "https://resources.zunes.me"; + break; + case EServiceEndpointId.SEID_ZuneNet: + uri = "https://zunes.me/" + culture; + break; + case EServiceEndpointId.SEID_Messaging: + uri = "https://messaging.zunes.me"; + break; + case EServiceEndpointId.SEID_SocialApi: + uri = "https://socialapi.zunes.me/" + culture; + break; + case EServiceEndpointId.SEID_Forums: + uri = "https://forums.zunes.me/" + culture; + break; + }; + + return uri ?? Service.GetEndPointUri(eServiceEndpointId); + } + + public int AddPaymentInstrument(PaymentInstrument paymentInstrument, + AddPaymentInstrumentCompleteCallback completeCallback, + AddPaymentInstrumentErrorCallback errorCallback) + { + return Service.Instance.AddPaymentInstrument(paymentInstrument, completeCallback, errorCallback); + } + + public int AddPaymentInstrument(PaymentInstrument paymentInstrument, out string paymentId, out ServiceError serviceError) + { + return Service.Instance.AddPaymentInstrument(paymentInstrument, out paymentId, out serviceError); + } + + public HRESULT AuthenticatePassport(string username, string password, EPassportPolicyId ePassportPolicyId, out PassportIdentity passportIdentity) + { + return Service.Instance.AuthenticatePassport(username, password, ePassportPolicyId, out passportIdentity); + } + + public bool BlockExplicitContent() + { + return Service.Instance.BlockExplicitContent(); + } + + public bool BlockRatedContent(string system, string rating) + { + return Service.Instance.BlockRatedContent(system, rating); + } + + public void CancelDownload(Guid guidMediaId, EContentType eContentType) + { + Service.Instance.CancelDownload(guidMediaId, eContentType); + } + + public void CancelSignIn() + { + Service.Instance.CancelSignIn(); + } + + public bool CanDownloadSubscriptionContent() + { + return Service.Instance.CanDownloadSubscriptionContent(); + } + + public bool CanSignedInUserPostUsageData() + { + return Service.Instance.CanSignedInUserPostUsageData(); + } + + public bool ClearLastSignedInUser() + { + return Service.Instance.ClearLastSignedInUser(); + } + + public AppOfferCollection CreateEmptyAppCollection() + { + return Service.Instance.CreateEmptyAppCollection(); + } + + public bool DeleteSubscriptionDownloads(AsyncCompleteHandler eventHandler) + { + return Service.Instance.DeleteSubscriptionDownloads(eventHandler); + } + + public void Download(IList items, EDownloadFlags eDownloadFlags, string deviceEndpointId, EDownloadContextEvent clientContextEvent, string clientContextEventData, DownloadEventHandler eventHandler, DownloadEventProgressHandler progressHandler, EventHandler allPendingHandler) + { + Service.Instance.Download(items, eDownloadFlags, deviceEndpointId, clientContextEvent, clientContextEventData, eventHandler, progressHandler, allPendingHandler); + } + + public bool GetAlbumIdFromCompId(string compId, out Guid guidAlbum) + { + return Service.Instance.GetAlbumIdFromCompId(compId, out guidAlbum); + } + + public void GetBalances(GetBalancesCompleteCallback completeCallback, GetBalancesErrorCallback errorCallback) + { + Service.Instance.GetBalances(completeCallback, errorCallback); + } + + public EContentType GetContentType(string contentTypeStr) + { + return Service.Instance.GetContentType(contentTypeStr); + } + + public HRESULT GetContentUri(Guid guidMediaId, EContentType eContentType, EContentUriFlags eContentUriFlags, bool fIsHD, bool fIsRental, out string uriOut) + { + return Service.Instance.GetContentUri(guidMediaId, eContentType, eContentUriFlags, fIsHD, fIsRental, out uriOut); + } + + public HRESULT GetContentUri(Guid guidMediaId, EContentType eContentType, EContentUriFlags eContentUriFlags, out string uriOut, out Guid mediaInstanceIdOut) + { + return Service.Instance.GetContentUri(guidMediaId, eContentType, eContentUriFlags, out uriOut, out mediaInstanceIdOut); + } + + public HRESULT GetContentUri(Guid guidMediaId, EContentType eContentType, EContentUriFlags eContentUriFlags, EMediaFormat eMediaFormat, EMediaRights eMediaRights, out string uriOut, out Guid mediaInstanceIdOut) + { + throw new NotImplementedException(); + //return Service.Instance.GetContentUri(guidMediaId, eContentType, eContentUriFlags, eMediaFormat, eMediaRights, out uriOut, out mediaInstanceIdOut); + } + + public CountryBaseDetails[] GetCountryDetails() + { + return Service.Instance.GetCountryDetails(); + } + + public DRMInfo GetFileDRMInfo(string filePath) + { + return Service.Instance.GetFileDRMInfo(filePath); + } + + public bool GetLastSignedInUserGuid(out int iUserId, out Guid guidUserGuid) + { + return Service.Instance.GetLastSignedInUserGuid(out iUserId, out guidUserGuid); + } + + public void GetLastSignedInUserSubscriptionState(out bool activeSubscription, out ulong subscriptionId) + { + Service.Instance.GetLastSignedInUserSubscriptionState(out activeSubscription, out subscriptionId); + } + + public string GetLocale() + { + return CommunityCommerce.IsSignedIn + ? CommunityCommerce.MemberInfo.AccountInfo.Locale + : null; + } + + public string GetMachineId() + { + return Service.Instance.GetMachineId(); + } + + public DRMInfo GetMediaDRMInfo(Guid mediaId, EContentType eContentType) + { + return Service.Instance.GetMediaDRMInfo(mediaId, eContentType); + } + + public EMediaStatus GetMediaStatus(Guid guidMediaId, EContentType eContentType) + { + return Service.Instance.GetMediaStatus(guidMediaId, eContentType); + } + + public bool GetMusicVideoIdFromCompId(string compId, out Guid guidMusicVideo) + { + return Service.Instance.GetMusicVideoIdFromCompId(compId, out guidMusicVideo); + } + + public HRESULT GetOfferDetails(Guid offerId, GetOfferDetailsCompleteCallback completeCallback, GetOfferDetailsErrorCallback errorCallback, object state) + { + return Service.Instance.GetOfferDetails(offerId, completeCallback, errorCallback, state); + } + + public void GetOffers(IList albumGuids, IList trackGuids, IList videoGuids, IList appGuids, IDictionary mapIdToContext, EGetOffersFlags eGetOffersFlags, string deviceEndpointId, GetOffersCompleteCallback completeCallback, GetOffersErrorCallback errorCallback) + { + Service.Instance.GetOffers(albumGuids, trackGuids, videoGuids, appGuids, mapIdToContext, eGetOffersFlags, deviceEndpointId, completeCallback, errorCallback); + } + + public ulong GetPassportPuid() + { + return Service.Instance.GetPassportPuid(); + } + + public string GetPassportTicket(EPassportPolicyId ePassportPolicy) + { + return Service.Instance.GetPassportTicket(ePassportPolicy); + } + + public void GetPaymentInstruments(GetPaymentInstrumentsCompleteCallback completeCallback, GetPaymentInstrumentsErrorCallback errorCallback) + { + Service.Instance.GetPaymentInstruments(completeCallback, errorCallback); + } + + public IList GetPersistedUsernames() + { + return Service.Instance.GetPersistedUsernames(); + } + + public string GetPhoneClientType(string strPhoneOsVersion) + { + return Service.Instance.GetPhoneClientType(strPhoneOsVersion); + } + + public int GetPointsBalance() + { + return CommunityCommerce.IsSignedIn + ? (int)CommunityCommerce.MemberInfo.Balances.PointsBalance + : 0; + } + + public void GetPointsOffers(GetBillingOffersCompleteCallback completeCallback, GetBillingOffersErrorCallback errorCallback) + => Service.Instance.GetPointsOffers(completeCallback, errorCallback); + + public RatingSystemBase[] GetRatingSystems() => Service.Instance.GetRatingSystems(); + + public int GetRentalTermDays(string strStudio) => Service.Instance.GetRentalTermDays(strStudio); + + public int GetRentalTermHours(string strStudio) => Service.Instance.GetRentalTermHours(strStudio); + + public uint GetSignedInGeoId() => Service.Instance.GetSignedInGeoId(); + + public string GetSignedInUsername() => Escargot.Username; + + public string GetSignInAtStartupUsername() => Service.Instance.GetSignInAtStartupUsername(); + + public void GetSubscriptionDetails(ulong offerId, GetBillingOffersCompleteCallback completeCallback, GetBillingOffersErrorCallback errorCallback) + => Service.Instance.GetSubscriptionDetails(offerId, completeCallback, errorCallback); + + public string GetSubscriptionDirectory() => Service.Instance.GetSubscriptionDirectory(); + + public DateTime GetSubscriptionEndDate() => Service.Instance.GetSubscriptionEndDate(); + + public int GetSubscriptionFreeTrackBalance() => Service.Instance.GetSubscriptionFreeTrackBalance(); + + public DateTime GetSubscriptionFreeTrackExpiration() => Service.Instance.GetSubscriptionFreeTrackExpiration(); + + public ulong GetSubscriptionOfferId() => Service.Instance.GetSubscriptionOfferId(); + + public void GetSubscriptionOffers(GetBillingOffersCompleteCallback completeCallback, GetBillingOffersErrorCallback errorCallback) + => Service.Instance.GetSubscriptionOffers(completeCallback, errorCallback); + + public ulong GetSubscriptionRenewalOfferId() => Service.Instance.GetSubscriptionRenewalOfferId(); + + public int GetSubscriptionTrialDuration() => Service.Instance.GetSubscriptionTrialDuration(); + + public ValueType GetUserGuid() => Service.Instance.GetUserGuid(); + + public bool GetUserRating(int iUserId, Guid guidMediaId, EContentType eContentType, ref int piRating) + => Service.Instance.GetUserRating(iUserId, guidMediaId, eContentType, ref piRating); + + public string GetWMISEndPointUri(string strEndPointName) + => Service.Instance.GetWMISEndPointUri(strEndPointName); + + public string GetXboxPuid() + { + return CommunityCommerce.IsSignedIn + ? CommunityCommerce.MemberInfo.AccountInfo.Xuid + : null; + } + + public string GetXboxTicket() => Service.Instance.GetXboxTicket(); + + public string GetZuneTag() + { + return CommunityCommerce.IsSignedIn + ? CommunityCommerce.MemberInfo.AccountInfo.ZuneTag + : null; + } + + public bool HasSignInBillingViolation() => Service.Instance.HasSignInBillingViolation(); + + public bool HasSignInLabelTakedown() => Service.Instance.HasSignInLabelTakedown(); + + public bool InCompleteCollection(Guid guidMediaId, EContentType eContentType, string strDeviceEndpointId) + => Service.Instance.InCompleteCollection(guidMediaId, eContentType, strDeviceEndpointId); + + public bool InCompleteCollection(Guid guidMediaId, EContentType eContentType, out int dbMediaId, out bool fHidden) + => Service.Instance.InCompleteCollection(guidMediaId, eContentType, out dbMediaId, out fHidden); + + public bool InCompleteCollection(Guid guidMediaId, EContentType eContentType, string strDeviceEndpointId, out int dbMediaId, out bool fHidden) + => Service.Instance.InCompleteCollection(guidMediaId, eContentType, strDeviceEndpointId, out dbMediaId, out fHidden); + + public bool InCompleteCollection(Guid guidMediaId, EContentType eContentType) + => Service.Instance.InCompleteCollection(guidMediaId, eContentType); + + public bool InHiddenCollection(Guid guidMediaId, EContentType eContentType) + => Service.Instance.InHiddenCollection(guidMediaId, eContentType); + + public int InitializeWMISEndpointCollection() + => Service.Instance.InitializeWMISEndpointCollection(); + + public bool InVisibleCollection(Guid guidMediaId, EContentType eContentType) + => Service.Instance.InVisibleCollection(guidMediaId, eContentType); + + public bool InVisibleCollection(Guid guidMediaId, EContentType eContentType, out int dbMediaId) + => Service.Instance.InVisibleCollection(guidMediaId, eContentType, out dbMediaId); + + public bool IsDownloading(Guid guidMediaId, EContentType eContentType, out bool fIsDownloadPending, out bool fIsHidden) + => Service.Instance.IsDownloading(guidMediaId, eContentType, out fIsDownloadPending, out fIsHidden); + + public bool IsLightWeight() => CommunityCommerce.IsSignedIn && CommunityCommerce.MemberInfo.AccountInfo.Lightweight; + + public bool IsParentallyControlled() => CommunityCommerce.IsSignedIn && CommunityCommerce.MemberInfo.AccountInfo.ParentallyControlled; + + public bool IsSignedIn() => CommunityCommerce.IsSignedIn; + + public bool IsSignedInWithSubscription() => CommunityCommerce.IsSignedIn && CommunityCommerce.MemberInfo.SubscriptionInfo.SubscriptionEnabled; + + public bool IsSigningIn() => Service.Instance.IsSigningIn(); + + public bool LaunchBrowserForExternalUrl(string strUrl, EPassportPolicyId ePassportPolicy) + => Service.Instance.LaunchBrowserForExternalUrl(strUrl, ePassportPolicy); + + public int Phase3Initialize() + { + var name = System.Reflection.Assembly.GetEntryAssembly()?.GetName(); + if (ApiVerionStr == null) + ApiVerionStr = name?.Version?.ToString(2); + if (AppUserAgent == null) + AppUserAgent = $"{name?.Name}/{ApiVerionStr}"; + + return Service.Instance.Phase3Initialize(); + } + + public bool PostAppReview(Guid mediaId, string title, string comment, int rating, AsyncCompleteHandler callback) + => Service.Instance.PostAppReview(mediaId, title, comment, rating, callback); + + public int PurchaseBillingOffer(BillingOffer offer, PaymentInstrument paymentInstrument, AsyncCompleteHandler callback) + => Service.Instance.PurchaseBillingOffer(offer, paymentInstrument, callback); + + public int PurchaseBillingOffer(BillingOffer offer, PaymentInstrument paymentInstrument) + => Service.Instance.PurchaseBillingOffer(offer, paymentInstrument); + + public void PurchaseOffers(PaymentInstrument payment, AlbumOfferCollection albumOffers, TrackOfferCollection trackOffers, VideoOfferCollection videoOffers, AppOfferCollection appOffers, EPurchaseOffersFlags ePurchaseOffersFlags, PurchaseOffersCompleteHandler purchaseOffersHandler) + => Service.Instance.PurchaseOffers(payment, albumOffers, trackOffers, videoOffers, appOffers, ePurchaseOffersFlags, purchaseOffersHandler); + + public void RefreshAccount(AsyncCompleteHandler eventHandler) => Service.Instance.RefreshAccount(eventHandler); + + public void RegisterForDownloadNotification(DownloadEventHandler eventHandler, DownloadEventProgressHandler progressHandler, EventHandler allPendingHandler) + => Service.Instance.RegisterForDownloadNotification(eventHandler, progressHandler, allPendingHandler); + + public void RemovePersistedUsername(string strUsername) + => Service.Instance.RemovePersistedUsername(strUsername); + + public bool ReportAConcern(EConcernType concernType, EContentType contentType, Guid mediaId, string message, AsyncCompleteHandler callback) + => Service.Instance.ReportAConcern(concernType, contentType, mediaId, message, callback); + + public bool ReportFavouriteArtists(Guid userId, IList artists, AsyncCompleteHandler callback) + => Service.Instance.ReportFavouriteArtists(userId, artists, callback); + + public void ReportStreamingAction(EStreamingActionType eStreamingActionType, Guid guidMediaInstanceId, AsyncCompleteHandler eventHandler) + => Service.Instance.ReportStreamingAction(eStreamingActionType, guidMediaInstanceId, eventHandler); + + public int ResumePurchase(string resumeHandle, string authorizationToken, AsyncCompleteHandler callback) + => Service.Instance.ResumePurchase(resumeHandle, authorizationToken, callback); + + public bool SetLastSignedInUserGuid(ref Guid guidUserGuid, out int iUserId) + => Service.Instance.SetLastSignedInUserGuid(ref guidUserGuid, out iUserId); + + public bool SetUserArtistRating(int iUserId, int iRating, Guid guidArtistMediaId, string strTitle) + => Service.Instance.SetUserArtistRating(iUserId, iRating, guidArtistMediaId, strTitle); + + public bool SetUserTrackRating(int iUserId, int iRating, Guid guidTrackMediaId, Guid guidAlbumMediaId, int iTrackNumber, string strTitle, int msDuration, string strAlbum, string strArtist, string strGenre, string strServiceContext) + => Service.Instance.SetUserTrackRating(iUserId, iRating, guidTrackMediaId, guidAlbumMediaId, iTrackNumber, strTitle, msDuration, strAlbum, strArtist, strGenre, strServiceContext); + + public void SignIn(string strUsername, string strPassword, bool fRememberUsername, bool fRememberPassword, bool fAutomaticallySignInAtStartup, AsyncCompleteHandler eventHandler) + { + HRESULT hr = Escargot.TrySignIn(strUsername, strPassword) ? HRESULT._S_OK : HRESULT._NS_E_PASSPORT_LOGIN_FAILED; + + if (hr.IsSuccess) + { +#if OPENZUNE + hr = CommunityCommerce.TrySignIn(); +#endif + + if (hr.IsSuccess) + { + if (fRememberPassword) + Escargot.CacheToken(); + } + } + + eventHandler(hr); + } + + public bool SignInAtStartup(string strUsername) => Service.Instance.SignInAtStartup(strUsername); + + public bool SignInPasswordRequired(string strUsername) + => Service.Instance.SignInPasswordRequired(strUsername); + + public void SignOut() + { + Escargot.ClearToken(); + CommunityCommerce.SignOut(); + } + + public bool SubscriptionPendingCancel() => Service.Instance.SubscriptionPendingCancel(); + + public int VerifyToken(string token, out TokenDetails tokenDetails) + => Service.Instance.VerifyToken(token, out tokenDetails); + + + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: dispose managed state (managed objects) + } + + // TODO: free unmanaged resources (unmanaged objects) and override finalizer + // TODO: set large fields to null + disposedValue = true; + } + } + + // Override finalizer only if 'Dispose(bool disposing)' has code to free unmanaged resources + ~CommunityService() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: false); + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/ZuneImpl/Service/Escargot.cs b/ZuneImpl/Service/Escargot.cs new file mode 100644 index 0000000..75f9a1a --- /dev/null +++ b/ZuneImpl/Service/Escargot.cs @@ -0,0 +1,64 @@ +using Meziantou.Framework.Win32; +using System.Reflection; + +namespace Microsoft.Zune.Service +{ + internal static partial class Escargot + { + const string ESCARGOT_NOTRST_URL = "http://login.zunes.me/NotRST.srf"; + const string HEADER_X_USER = "X-User"; + const string HEADER_X_PASS = "X-Password"; + const string HEADER_X_TOKEN = "X-Token"; + + private static string _token; + + /// + /// Gets the username of the currently authenticated user. + /// + public static string Username { get; private set; } + + public static bool HasToken => _token != null; + + public static void CacheToken() + { + if (_token == null) + return; + + // Ensure that alternative Zune launchers can only access + // credentials given explicitly to them by the user. + string appName = Assembly.GetEntryAssembly().FullName; + + CredentialManager.DeleteCredential(appName); + CredentialManager.WriteCredential(appName, Username, _token, CredentialPersistence.LocalMachine); + } + + public static bool ReadCachedToken() + { + string appName = Assembly.GetEntryAssembly().FullName; + + var cred = CredentialManager.ReadCredential(appName); + if (cred == null) + return false; + + Username = cred.UserName; + _token = cred.Password; + return true; + } + + public static void ClearToken() + { + _token = null; + Username = null; + } + + private static bool TrySetCredentials(string token, string username) + { + if (token == null) + return false; + + Username = username; + _token = token; + return true; + } + } +} diff --git a/ZuneImpl/Service/Escargot.lg.cs b/ZuneImpl/Service/Escargot.lg.cs new file mode 100644 index 0000000..40029dd --- /dev/null +++ b/ZuneImpl/Service/Escargot.lg.cs @@ -0,0 +1,27 @@ +using System.Net; + +namespace Microsoft.Zune.Service +{ + partial class Escargot + { + public static bool TrySignIn(string username, string password) + { + var request = WebRequest.Create(ESCARGOT_NOTRST_URL); + request.Headers.Add(HEADER_X_USER, username); + request.Headers.Add(HEADER_X_PASS, password); + request.Method = "POST"; + + try + { + var response = request.GetResponse(); + string token = response.Headers[HEADER_X_TOKEN]; + + return TrySetCredentials(token, username); + } + catch + { + return false; + } + } + } +} diff --git a/ZuneImpl/Service/Escargot.oz.cs b/ZuneImpl/Service/Escargot.oz.cs new file mode 100644 index 0000000..626c346 --- /dev/null +++ b/ZuneImpl/Service/Escargot.oz.cs @@ -0,0 +1,36 @@ +using System.Linq; +using System.Net.Http; + +namespace Microsoft.Zune.Service +{ + partial class Escargot + { + internal static readonly HttpClient _client = new(); + + public static bool TrySignIn(string username, string password) + { + HttpRequestMessage request = new(HttpMethod.Post, ESCARGOT_NOTRST_URL); + request.Headers.TryAddWithoutValidation(HEADER_X_USER, username); + request.Headers.TryAddWithoutValidation(HEADER_X_PASS, password); + + try + { + var response = _client.Send(request); + response.EnsureSuccessStatusCode(); + + string token = response.Headers.GetValues(HEADER_X_TOKEN).FirstOrDefault(); + + return TrySetCredentials(token, username); + } + catch + { + return false; + } + } + + public static void AuthenticateRequest(HttpRequestMessage request) + { + request.Headers.Authorization = new("Bearer", _token); + } + } +} diff --git a/ZuneImpl/Service/IService.cs b/ZuneImpl/Service/IService.cs new file mode 100644 index 0000000..0974583 --- /dev/null +++ b/ZuneImpl/Service/IService.cs @@ -0,0 +1,109 @@ +using Microsoft.Zune.Util; +using System; +using System.Collections; +using ZuneUI; + +namespace Microsoft.Zune.Service +{ + public interface IService + { + int AddPaymentInstrument(PaymentInstrument paymentInstrument, AddPaymentInstrumentCompleteCallback completeCallback, AddPaymentInstrumentErrorCallback errorCallback); + int AddPaymentInstrument(PaymentInstrument paymentInstrument, out string paymentId, out ServiceError serviceError); + HRESULT AuthenticatePassport(string username, string password, EPassportPolicyId ePassportPolicyId, out PassportIdentity passportIdentity); + bool BlockExplicitContent(); + bool BlockRatedContent(string system, string rating); + void CancelDownload(Guid guidMediaId, EContentType eContentType); + void CancelSignIn(); + bool CanDownloadSubscriptionContent(); + bool CanSignedInUserPostUsageData(); + bool ClearLastSignedInUser(); + AppOfferCollection CreateEmptyAppCollection(); + bool DeleteSubscriptionDownloads(AsyncCompleteHandler eventHandler); + void Dispose(); + void Download(IList items, EDownloadFlags eDownloadFlags, string deviceEndpointId, EDownloadContextEvent clientContextEvent, string clientContextEventData, DownloadEventHandler eventHandler, DownloadEventProgressHandler progressHandler, EventHandler allPendingHandler); + bool GetAlbumIdFromCompId(string compId, out Guid guidAlbum); + void GetBalances(GetBalancesCompleteCallback completeCallback, GetBalancesErrorCallback errorCallback); + EContentType GetContentType(string contentTypeStr); + HRESULT GetContentUri(Guid guidMediaId, EContentType eContentType, EContentUriFlags eContentUriFlags, bool fIsHD, bool fIsRental, out string uriOut); + HRESULT GetContentUri(Guid guidMediaId, EContentType eContentType, EContentUriFlags eContentUriFlags, EMediaFormat eMediaFormat, EMediaRights eMediaRights, out string uriOut, out Guid mediaInstanceIdOut); + HRESULT GetContentUri(Guid guidMediaId, EContentType eContentType, EContentUriFlags eContentUriFlags, out string uriOut, out Guid mediaInstanceIdOut); + CountryBaseDetails[] GetCountryDetails(); + string GetEndPointUri(EServiceEndpointId eServiceEndpointId); + DRMInfo GetFileDRMInfo(string filePath); + bool GetLastSignedInUserGuid(out int iUserId, out Guid guidUserGuid); + void GetLastSignedInUserSubscriptionState(out bool activeSubscription, out ulong subscriptionId); + string GetLocale(); + string GetMachineId(); + DRMInfo GetMediaDRMInfo(Guid mediaId, EContentType eContentType); + EMediaStatus GetMediaStatus(Guid guidMediaId, EContentType eContentType); + bool GetMusicVideoIdFromCompId(string compId, out Guid guidMusicVideo); + HRESULT GetOfferDetails(Guid offerId, GetOfferDetailsCompleteCallback completeCallback, GetOfferDetailsErrorCallback errorCallback, object state); + void GetOffers(IList albumGuids, IList trackGuids, IList videoGuids, IList appGuids, IDictionary mapIdToContext, EGetOffersFlags eGetOffersFlags, string deviceEndpointId, GetOffersCompleteCallback completeCallback, GetOffersErrorCallback errorCallback); + ulong GetPassportPuid(); + string GetPassportTicket(EPassportPolicyId ePassportPolicy); + void GetPaymentInstruments(GetPaymentInstrumentsCompleteCallback completeCallback, GetPaymentInstrumentsErrorCallback errorCallback); + IList GetPersistedUsernames(); + string GetPhoneClientType(string strPhoneOsVersion); + int GetPointsBalance(); + void GetPointsOffers(GetBillingOffersCompleteCallback completeCallback, GetBillingOffersErrorCallback errorCallback); + RatingSystemBase[] GetRatingSystems(); + int GetRentalTermDays(string strStudio); + int GetRentalTermHours(string strStudio); + uint GetSignedInGeoId(); + string GetSignedInUsername(); + string GetSignInAtStartupUsername(); + void GetSubscriptionDetails(ulong offerId, GetBillingOffersCompleteCallback completeCallback, GetBillingOffersErrorCallback errorCallback); + string GetSubscriptionDirectory(); + DateTime GetSubscriptionEndDate(); + int GetSubscriptionFreeTrackBalance(); + DateTime GetSubscriptionFreeTrackExpiration(); + ulong GetSubscriptionOfferId(); + void GetSubscriptionOffers(GetBillingOffersCompleteCallback completeCallback, GetBillingOffersErrorCallback errorCallback); + ulong GetSubscriptionRenewalOfferId(); + int GetSubscriptionTrialDuration(); + ValueType GetUserGuid(); + bool GetUserRating(int iUserId, Guid guidMediaId, EContentType eContentType, ref int piRating); + string GetWMISEndPointUri(string strEndPointName); + string GetXboxPuid(); + string GetXboxTicket(); + string GetZuneTag(); + bool HasSignInBillingViolation(); + bool HasSignInLabelTakedown(); + bool InCompleteCollection(Guid guidMediaId, EContentType eContentType); + bool InCompleteCollection(Guid guidMediaId, EContentType eContentType, out int dbMediaId, out bool fHidden); + bool InCompleteCollection(Guid guidMediaId, EContentType eContentType, string strDeviceEndpointId); + bool InCompleteCollection(Guid guidMediaId, EContentType eContentType, string strDeviceEndpointId, out int dbMediaId, out bool fHidden); + bool InHiddenCollection(Guid guidMediaId, EContentType eContentType); + int InitializeWMISEndpointCollection(); + bool InVisibleCollection(Guid guidMediaId, EContentType eContentType); + bool InVisibleCollection(Guid guidMediaId, EContentType eContentType, out int dbMediaId); + bool IsDownloading(Guid guidMediaId, EContentType eContentType, out bool fIsDownloadPending, out bool fIsHidden); + bool IsLightWeight(); + bool IsParentallyControlled(); + bool IsSignedIn(); + bool IsSignedInWithSubscription(); + bool IsSigningIn(); + bool LaunchBrowserForExternalUrl(string strUrl, EPassportPolicyId ePassportPolicy); + int Phase3Initialize(); + bool PostAppReview(Guid mediaId, string title, string comment, int rating, AsyncCompleteHandler callback); + int PurchaseBillingOffer(BillingOffer offer, PaymentInstrument paymentInstrument); + int PurchaseBillingOffer(BillingOffer offer, PaymentInstrument paymentInstrument, AsyncCompleteHandler callback); + void PurchaseOffers(PaymentInstrument payment, AlbumOfferCollection albumOffers, TrackOfferCollection trackOffers, VideoOfferCollection videoOffers, AppOfferCollection appOffers, EPurchaseOffersFlags ePurchaseOffersFlags, PurchaseOffersCompleteHandler purchaseOffersHandler); + void RefreshAccount(AsyncCompleteHandler eventHandler); + void RegisterForDownloadNotification(DownloadEventHandler eventHandler, DownloadEventProgressHandler progressHandler, EventHandler allPendingHandler); + void RemovePersistedUsername(string strUsername); + bool ReportAConcern(EConcernType concernType, EContentType contentType, Guid mediaId, string message, AsyncCompleteHandler callback); + bool ReportFavouriteArtists(Guid userId, IList artists, AsyncCompleteHandler callback); + void ReportStreamingAction(EStreamingActionType eStreamingActionType, Guid guidMediaInstanceId, AsyncCompleteHandler eventHandler); + int ResumePurchase(string resumeHandle, string authorizationToken, AsyncCompleteHandler callback); + bool SetLastSignedInUserGuid(ref Guid guidUserGuid, out int iUserId); + bool SetUserArtistRating(int iUserId, int iRating, Guid guidArtistMediaId, string strTitle); + bool SetUserTrackRating(int iUserId, int iRating, Guid guidTrackMediaId, Guid guidAlbumMediaId, int iTrackNumber, string strTitle, int msDuration, string strAlbum, string strArtist, string strGenre, string strServiceContext); + void SignIn(string strUsername, string strPassword, bool fRememberUsername, bool fRememberPassword, bool fAutomaticallySignInAtStartup, AsyncCompleteHandler eventHandler); + bool SignInAtStartup(string strUsername); + bool SignInPasswordRequired(string strUsername); + void SignOut(); + bool SubscriptionPendingCancel(); + int VerifyToken(string token, out TokenDetails tokenDetails); + } +} \ No newline at end of file diff --git a/ZuneImpl/Service/ProxyService.cs b/ZuneImpl/Service/ProxyService.cs new file mode 100644 index 0000000..f6ff78b --- /dev/null +++ b/ZuneImpl/Service/ProxyService.cs @@ -0,0 +1,381 @@ +using Microsoft.Zune.Util; +using System; +using System.Collections; +using ZuneUI; + +namespace Microsoft.Zune.Service +{ + internal class ProxyService : IService + { + private bool disposedValue; + + public EListType ContentTypeToListType(EContentType contentType) + => Service.ContentTypeToListType(contentType); + + public string GetEndPointUri(EServiceEndpointId eServiceEndpointId) + => Service.GetEndPointUri(eServiceEndpointId); + + public int AddPaymentInstrument(PaymentInstrument paymentInstrument, + AddPaymentInstrumentCompleteCallback completeCallback, + AddPaymentInstrumentErrorCallback errorCallback) + { + return Service.Instance.AddPaymentInstrument(paymentInstrument, completeCallback, errorCallback); + } + + public int AddPaymentInstrument(PaymentInstrument paymentInstrument, out string paymentId, out ServiceError serviceError) + { + return Service.Instance.AddPaymentInstrument(paymentInstrument, out paymentId, out serviceError); + } + + public HRESULT AuthenticatePassport(string username, string password, EPassportPolicyId ePassportPolicyId, out PassportIdentity passportIdentity) + { + return Service.Instance.AuthenticatePassport(username, password, ePassportPolicyId, out passportIdentity); + } + + public bool BlockExplicitContent() + { + return Service.Instance.BlockExplicitContent(); + } + + public bool BlockRatedContent(string system, string rating) + { + return Service.Instance.BlockRatedContent(system, rating); + } + + public void CancelDownload(Guid guidMediaId, EContentType eContentType) + { + Service.Instance.CancelDownload(guidMediaId, eContentType); + } + + public void CancelSignIn() + { + Service.Instance.CancelSignIn(); + } + + public bool CanDownloadSubscriptionContent() + { + return Service.Instance.CanDownloadSubscriptionContent(); + } + + public bool CanSignedInUserPostUsageData() + { + return Service.Instance.CanSignedInUserPostUsageData(); + } + + public bool ClearLastSignedInUser() + { + return Service.Instance.ClearLastSignedInUser(); + } + + public AppOfferCollection CreateEmptyAppCollection() + { + return Service.Instance.CreateEmptyAppCollection(); + } + + public bool DeleteSubscriptionDownloads(AsyncCompleteHandler eventHandler) + { + return Service.Instance.DeleteSubscriptionDownloads(eventHandler); + } + + public void Download(IList items, EDownloadFlags eDownloadFlags, string deviceEndpointId, EDownloadContextEvent clientContextEvent, string clientContextEventData, DownloadEventHandler eventHandler, DownloadEventProgressHandler progressHandler, EventHandler allPendingHandler) + { + Service.Instance.Download(items, eDownloadFlags, deviceEndpointId, clientContextEvent, clientContextEventData, eventHandler, progressHandler, allPendingHandler); + } + + public bool GetAlbumIdFromCompId(string compId, out Guid guidAlbum) + { + return Service.Instance.GetAlbumIdFromCompId(compId, out guidAlbum); + } + + public void GetBalances(GetBalancesCompleteCallback completeCallback, GetBalancesErrorCallback errorCallback) + { + Service.Instance.GetBalances(completeCallback, errorCallback); + } + + public EContentType GetContentType(string contentTypeStr) + { + return Service.Instance.GetContentType(contentTypeStr); + } + + public HRESULT GetContentUri(Guid guidMediaId, EContentType eContentType, EContentUriFlags eContentUriFlags, bool fIsHD, bool fIsRental, out string uriOut) + { + return Service.Instance.GetContentUri(guidMediaId, eContentType, eContentUriFlags, fIsHD, fIsRental, out uriOut); + } + + public HRESULT GetContentUri(Guid guidMediaId, EContentType eContentType, EContentUriFlags eContentUriFlags, out string uriOut, out Guid mediaInstanceIdOut) + { + return Service.Instance.GetContentUri(guidMediaId, eContentType, eContentUriFlags, out uriOut, out mediaInstanceIdOut); + } + + public HRESULT GetContentUri(Guid guidMediaId, EContentType eContentType, EContentUriFlags eContentUriFlags, EMediaFormat eMediaFormat, EMediaRights eMediaRights, out string uriOut, out Guid mediaInstanceIdOut) + { + throw new NotImplementedException(); + //return Service.Instance.GetContentUri(guidMediaId, eContentType, eContentUriFlags, eMediaFormat, eMediaRights, out uriOut, out mediaInstanceIdOut); + } + + public CountryBaseDetails[] GetCountryDetails() + { + return Service.Instance.GetCountryDetails(); + } + + public DRMInfo GetFileDRMInfo(string filePath) + { + return Service.Instance.GetFileDRMInfo(filePath); + } + + public bool GetLastSignedInUserGuid(out int iUserId, out Guid guidUserGuid) + { + return Service.Instance.GetLastSignedInUserGuid(out iUserId, out guidUserGuid); + } + + public void GetLastSignedInUserSubscriptionState(out bool activeSubscription, out ulong subscriptionId) + { + Service.Instance.GetLastSignedInUserSubscriptionState(out activeSubscription, out subscriptionId); + } + + public string GetLocale() + { + return Service.Instance.GetLocale(); + } + + public string GetMachineId() + { + return Service.Instance.GetMachineId(); + } + + public DRMInfo GetMediaDRMInfo(Guid mediaId, EContentType eContentType) + { + return Service.Instance.GetMediaDRMInfo(mediaId, eContentType); + } + + public EMediaStatus GetMediaStatus(Guid guidMediaId, EContentType eContentType) + { + return Service.Instance.GetMediaStatus(guidMediaId, eContentType); + } + + public bool GetMusicVideoIdFromCompId(string compId, out Guid guidMusicVideo) + { + return Service.Instance.GetMusicVideoIdFromCompId(compId, out guidMusicVideo); + } + + public HRESULT GetOfferDetails(Guid offerId, GetOfferDetailsCompleteCallback completeCallback, GetOfferDetailsErrorCallback errorCallback, object state) + { + return Service.Instance.GetOfferDetails(offerId, completeCallback, errorCallback, state); + } + + public void GetOffers(IList albumGuids, IList trackGuids, IList videoGuids, IList appGuids, IDictionary mapIdToContext, EGetOffersFlags eGetOffersFlags, string deviceEndpointId, GetOffersCompleteCallback completeCallback, GetOffersErrorCallback errorCallback) + { + Service.Instance.GetOffers(albumGuids, trackGuids, videoGuids, appGuids, mapIdToContext, eGetOffersFlags, deviceEndpointId, completeCallback, errorCallback); + } + + public ulong GetPassportPuid() + { + return Service.Instance.GetPassportPuid(); + } + + public string GetPassportTicket(EPassportPolicyId ePassportPolicy) + { + return Service.Instance.GetPassportTicket(ePassportPolicy); + } + + public void GetPaymentInstruments(GetPaymentInstrumentsCompleteCallback completeCallback, GetPaymentInstrumentsErrorCallback errorCallback) + { + Service.Instance.GetPaymentInstruments(completeCallback, errorCallback); + } + + public IList GetPersistedUsernames() + { + return Service.Instance.GetPersistedUsernames(); + } + + public string GetPhoneClientType(string strPhoneOsVersion) + { + return Service.Instance.GetPhoneClientType(strPhoneOsVersion); + } + + public int GetPointsBalance() => Service.Instance.GetPointsBalance(); + + public void GetPointsOffers(GetBillingOffersCompleteCallback completeCallback, GetBillingOffersErrorCallback errorCallback) + => Service.Instance.GetPointsOffers(completeCallback, errorCallback); + + public RatingSystemBase[] GetRatingSystems() => Service.Instance.GetRatingSystems(); + + public int GetRentalTermDays(string strStudio) => Service.Instance.GetRentalTermDays(strStudio); + + public int GetRentalTermHours(string strStudio) => Service.Instance.GetRentalTermHours(strStudio); + + public uint GetSignedInGeoId() => Service.Instance.GetSignedInGeoId(); + + public string GetSignedInUsername() => Service.Instance.GetSignedInUsername(); + + public string GetSignInAtStartupUsername() => Service.Instance.GetSignInAtStartupUsername(); + + public void GetSubscriptionDetails(ulong offerId, GetBillingOffersCompleteCallback completeCallback, GetBillingOffersErrorCallback errorCallback) + => Service.Instance.GetSubscriptionDetails(offerId, completeCallback, errorCallback); + + public string GetSubscriptionDirectory() => Service.Instance.GetSubscriptionDirectory(); + + public DateTime GetSubscriptionEndDate() => Service.Instance.GetSubscriptionEndDate(); + + public int GetSubscriptionFreeTrackBalance() => Service.Instance.GetSubscriptionFreeTrackBalance(); + + public DateTime GetSubscriptionFreeTrackExpiration() => Service.Instance.GetSubscriptionFreeTrackExpiration(); + + public ulong GetSubscriptionOfferId() => Service.Instance.GetSubscriptionOfferId(); + + public void GetSubscriptionOffers(GetBillingOffersCompleteCallback completeCallback, GetBillingOffersErrorCallback errorCallback) + => Service.Instance.GetSubscriptionOffers(completeCallback, errorCallback); + + public ulong GetSubscriptionRenewalOfferId() => Service.Instance.GetSubscriptionRenewalOfferId(); + + public int GetSubscriptionTrialDuration() => Service.Instance.GetSubscriptionTrialDuration(); + + public ValueType GetUserGuid() => Service.Instance.GetUserGuid(); + + public bool GetUserRating(int iUserId, Guid guidMediaId, EContentType eContentType, ref int piRating) + => Service.Instance.GetUserRating(iUserId, guidMediaId, eContentType, ref piRating); + + public string GetWMISEndPointUri(string strEndPointName) + => Service.Instance.GetWMISEndPointUri(strEndPointName); + + public string GetXboxPuid() => Service.Instance.GetXboxPuid(); + + public string GetXboxTicket() => Service.Instance.GetXboxTicket(); + + public string GetZuneTag() => Service.Instance.GetZuneTag(); + + public bool HasSignInBillingViolation() => Service.Instance.HasSignInBillingViolation(); + + public bool HasSignInLabelTakedown() => Service.Instance.HasSignInLabelTakedown(); + + public bool InCompleteCollection(Guid guidMediaId, EContentType eContentType, string strDeviceEndpointId) + => Service.Instance.InCompleteCollection(guidMediaId, eContentType, strDeviceEndpointId); + + public bool InCompleteCollection(Guid guidMediaId, EContentType eContentType, out int dbMediaId, out bool fHidden) + => Service.Instance.InCompleteCollection(guidMediaId, eContentType, out dbMediaId, out fHidden); + + public bool InCompleteCollection(Guid guidMediaId, EContentType eContentType, string strDeviceEndpointId, out int dbMediaId, out bool fHidden) + => Service.Instance.InCompleteCollection(guidMediaId, eContentType, strDeviceEndpointId, out dbMediaId, out fHidden); + + public bool InCompleteCollection(Guid guidMediaId, EContentType eContentType) + => Service.Instance.InCompleteCollection(guidMediaId, eContentType); + + public bool InHiddenCollection(Guid guidMediaId, EContentType eContentType) + => Service.Instance.InHiddenCollection(guidMediaId, eContentType); + + public int InitializeWMISEndpointCollection() + => Service.Instance.InitializeWMISEndpointCollection(); + + public bool InVisibleCollection(Guid guidMediaId, EContentType eContentType) + => Service.Instance.InVisibleCollection(guidMediaId, eContentType); + + public bool InVisibleCollection(Guid guidMediaId, EContentType eContentType, out int dbMediaId) + => Service.Instance.InVisibleCollection(guidMediaId, eContentType, out dbMediaId); + + public bool IsDownloading(Guid guidMediaId, EContentType eContentType, out bool fIsDownloadPending, out bool fIsHidden) + => Service.Instance.IsDownloading(guidMediaId, eContentType, out fIsDownloadPending, out fIsHidden); + + public bool IsLightWeight() => Service.Instance.IsLightWeight(); + + public bool IsParentallyControlled() => Service.Instance.IsParentallyControlled(); + + public bool IsSignedIn() => Service.Instance.IsSignedIn(); + + public bool IsSignedInWithSubscription() => Service.Instance.IsSignedInWithSubscription(); + + public bool IsSigningIn() => Service.Instance.IsSigningIn(); + + public bool LaunchBrowserForExternalUrl(string strUrl, EPassportPolicyId ePassportPolicy) + => Service.Instance.LaunchBrowserForExternalUrl(strUrl, ePassportPolicy); + + public int Phase3Initialize() => Service.Instance.Phase3Initialize(); + + public bool PostAppReview(Guid mediaId, string title, string comment, int rating, AsyncCompleteHandler callback) + => Service.Instance.PostAppReview(mediaId, title, comment, rating, callback); + + public int PurchaseBillingOffer(BillingOffer offer, PaymentInstrument paymentInstrument, AsyncCompleteHandler callback) + => Service.Instance.PurchaseBillingOffer(offer, paymentInstrument, callback); + + public int PurchaseBillingOffer(BillingOffer offer, PaymentInstrument paymentInstrument) + => Service.Instance.PurchaseBillingOffer(offer, paymentInstrument); + + public void PurchaseOffers(PaymentInstrument payment, AlbumOfferCollection albumOffers, TrackOfferCollection trackOffers, VideoOfferCollection videoOffers, AppOfferCollection appOffers, EPurchaseOffersFlags ePurchaseOffersFlags, PurchaseOffersCompleteHandler purchaseOffersHandler) + => Service.Instance.PurchaseOffers(payment, albumOffers, trackOffers, videoOffers, appOffers, ePurchaseOffersFlags, purchaseOffersHandler); + + public void RefreshAccount(AsyncCompleteHandler eventHandler) => Service.Instance.RefreshAccount(eventHandler); + + public void RegisterForDownloadNotification(DownloadEventHandler eventHandler, DownloadEventProgressHandler progressHandler, EventHandler allPendingHandler) + => Service.Instance.RegisterForDownloadNotification(eventHandler, progressHandler, allPendingHandler); + + public void RemovePersistedUsername(string strUsername) + => Service.Instance.RemovePersistedUsername(strUsername); + + public bool ReportAConcern(EConcernType concernType, EContentType contentType, Guid mediaId, string message, AsyncCompleteHandler callback) + => Service.Instance.ReportAConcern(concernType, contentType, mediaId, message, callback); + + public bool ReportFavouriteArtists(Guid userId, IList artists, AsyncCompleteHandler callback) + => Service.Instance.ReportFavouriteArtists(userId, artists, callback); + + public void ReportStreamingAction(EStreamingActionType eStreamingActionType, Guid guidMediaInstanceId, AsyncCompleteHandler eventHandler) + => Service.Instance.ReportStreamingAction(eStreamingActionType, guidMediaInstanceId, eventHandler); + + public int ResumePurchase(string resumeHandle, string authorizationToken, AsyncCompleteHandler callback) + => Service.Instance.ResumePurchase(resumeHandle, authorizationToken, callback); + + public bool SetLastSignedInUserGuid(ref Guid guidUserGuid, out int iUserId) + => Service.Instance.SetLastSignedInUserGuid(ref guidUserGuid, out iUserId); + + public bool SetUserArtistRating(int iUserId, int iRating, Guid guidArtistMediaId, string strTitle) + => Service.Instance.SetUserArtistRating(iUserId, iRating, guidArtistMediaId, strTitle); + + public bool SetUserTrackRating(int iUserId, int iRating, Guid guidTrackMediaId, Guid guidAlbumMediaId, int iTrackNumber, string strTitle, int msDuration, string strAlbum, string strArtist, string strGenre, string strServiceContext) + => Service.Instance.SetUserTrackRating(iUserId, iRating, guidTrackMediaId, guidAlbumMediaId, iTrackNumber, strTitle, msDuration, strAlbum, strArtist, strGenre, strServiceContext); + + public void SignIn(string strUsername, string strPassword, bool fRememberUsername, bool fRememberPassword, bool fAutomaticallySignInAtStartup, AsyncCompleteHandler eventHandler) + { + Service.Instance.SignIn(strUsername, strPassword, fRememberUsername, fRememberPassword, fAutomaticallySignInAtStartup, eventHandler); + } + + public bool SignInAtStartup(string strUsername) => Service.Instance.SignInAtStartup(strUsername); + + public bool SignInPasswordRequired(string strUsername) + => Service.Instance.SignInPasswordRequired(strUsername); + + public void SignOut() => Service.Instance.SignOut(); + + public bool SubscriptionPendingCancel() => Service.Instance.SubscriptionPendingCancel(); + + public int VerifyToken(string token, out TokenDetails tokenDetails) + => Service.Instance.VerifyToken(token, out tokenDetails); + + + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + // TODO: dispose managed state (managed objects) + } + + // TODO: free unmanaged resources (unmanaged objects) and override finalizer + // TODO: set large fields to null + disposedValue = true; + } + } + + // Override finalizer only if 'Dispose(bool disposing)' has code to free unmanaged resources + ~ProxyService() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: false); + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/ZuneImpl/Service/Service.cs b/ZuneImpl/Service/Service.cs new file mode 100644 index 0000000..d8eddc2 --- /dev/null +++ b/ZuneImpl/Service/Service.cs @@ -0,0 +1,16 @@ +namespace Microsoft.Zune.Service +{ + public class Service2 + { + private static readonly IService _instance = new CommunityService(); + public static IService Instance => _instance; + } + + public enum EMediaFormat + { + } + + public enum EMediaRights + { + } +} \ No newline at end of file diff --git a/ZuneImpl/ZuneImpl.csproj b/ZuneImpl/ZuneImpl.csproj new file mode 100644 index 0000000..2aa6a65 --- /dev/null +++ b/ZuneImpl/ZuneImpl.csproj @@ -0,0 +1,52 @@ + + + + Library + ZuneImpl + Microsoft.Zune + + + + + C:\Program Files\Zune\ZuneDBApi.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ZuneShell.sln b/ZuneShell.sln index 0e1468e..522f22d 100644 --- a/ZuneShell.sln +++ b/ZuneShell.sln @@ -12,7 +12,18 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UIX.RenderApi", "libs\Micro EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ZuneHost", "ZuneHost\ZuneHost.csproj", "{4041A91F-EF2A-4C47-9EBE-F4E862532345}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZuneHost.Wpf", "ZuneHost.Wpf\ZuneHost.Wpf.csproj", "{1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ZuneHost.Wpf", "ZuneHost.Wpf\ZuneHost.Wpf.csproj", "{1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UIX.Debug", "libs\MicrosoftIris\UIX.Debug\UIX.Debug.csproj", "{8479F68C-4234-425E-93E7-71597AF528E9}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ZuneImpl", "ZuneImpl\ZuneImpl.csproj", "{0B309776-6424-48C4-838A-224E41F793EE}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Meziantou.Framework.Win32.CredentialManager", "libs\Meziantou.Framework.Win32.CredentialManager\Meziantou.Framework.Win32.CredentialManager.csproj", "{90A89707-927E-48D2-BFEB-84F95F531258}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{D02FE08B-4832-4822-AD7F-AF4B3D21D118}" + ProjectSection(SolutionItems) = preProject + Directory.Build.props = Directory.Build.props + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -70,8 +81,8 @@ Global {CB2B7609-C7B8-4E2A-82D8-DD631B70B621}.Release|Any CPU.Build.0 = Release|Any CPU {CB2B7609-C7B8-4E2A-82D8-DD631B70B621}.Release|ARM32.ActiveCfg = Release|Any CPU {CB2B7609-C7B8-4E2A-82D8-DD631B70B621}.Release|ARM32.Build.0 = Release|Any CPU - {CB2B7609-C7B8-4E2A-82D8-DD631B70B621}.Release|x64.ActiveCfg = Release|Any CPU - {CB2B7609-C7B8-4E2A-82D8-DD631B70B621}.Release|x64.Build.0 = Release|Any CPU + {CB2B7609-C7B8-4E2A-82D8-DD631B70B621}.Release|x64.ActiveCfg = Release|x64 + {CB2B7609-C7B8-4E2A-82D8-DD631B70B621}.Release|x64.Build.0 = Release|x64 {CB2B7609-C7B8-4E2A-82D8-DD631B70B621}.Release|x86.ActiveCfg = Release|x86 {CB2B7609-C7B8-4E2A-82D8-DD631B70B621}.Release|x86.Build.0 = Release|x86 {4041A91F-EF2A-4C47-9EBE-F4E862532345}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -86,16 +97,16 @@ Global {4041A91F-EF2A-4C47-9EBE-F4E862532345}.Release|Any CPU.Build.0 = Release|Any CPU {4041A91F-EF2A-4C47-9EBE-F4E862532345}.Release|ARM32.ActiveCfg = Release|ARM32 {4041A91F-EF2A-4C47-9EBE-F4E862532345}.Release|ARM32.Build.0 = Release|ARM32 - {4041A91F-EF2A-4C47-9EBE-F4E862532345}.Release|x64.ActiveCfg = Release|Any CPU - {4041A91F-EF2A-4C47-9EBE-F4E862532345}.Release|x64.Build.0 = Release|Any CPU + {4041A91F-EF2A-4C47-9EBE-F4E862532345}.Release|x64.ActiveCfg = Release|x64 + {4041A91F-EF2A-4C47-9EBE-F4E862532345}.Release|x64.Build.0 = Release|x64 {4041A91F-EF2A-4C47-9EBE-F4E862532345}.Release|x86.ActiveCfg = Release|x86 {4041A91F-EF2A-4C47-9EBE-F4E862532345}.Release|x86.Build.0 = Release|x86 {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Debug|ARM32.ActiveCfg = Debug|Any CPU - {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Debug|ARM32.Build.0 = Debug|Any CPU - {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Debug|x64.ActiveCfg = Debug|Any CPU - {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Debug|x64.Build.0 = Debug|Any CPU + {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Debug|ARM32.ActiveCfg = Debug|x64 + {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Debug|ARM32.Build.0 = Debug|x64 + {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Debug|x64.ActiveCfg = Debug|x64 + {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Debug|x64.Build.0 = Debug|x64 {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Debug|x86.ActiveCfg = Debug|Any CPU {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Debug|x86.Build.0 = Debug|Any CPU {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -106,6 +117,54 @@ Global {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Release|x64.Build.0 = Release|Any CPU {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Release|x86.ActiveCfg = Release|Any CPU {1FEAC59B-F012-4ACC-9F11-E7ADF4C77593}.Release|x86.Build.0 = Release|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Debug|ARM32.ActiveCfg = Debug|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Debug|ARM32.Build.0 = Debug|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Debug|x64.ActiveCfg = Debug|x64 + {8479F68C-4234-425E-93E7-71597AF528E9}.Debug|x64.Build.0 = Debug|x64 + {8479F68C-4234-425E-93E7-71597AF528E9}.Debug|x86.ActiveCfg = Debug|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Debug|x86.Build.0 = Debug|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Release|Any CPU.Build.0 = Release|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Release|ARM32.ActiveCfg = Release|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Release|ARM32.Build.0 = Release|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Release|x64.ActiveCfg = Release|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Release|x64.Build.0 = Release|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Release|x86.ActiveCfg = Release|Any CPU + {8479F68C-4234-425E-93E7-71597AF528E9}.Release|x86.Build.0 = Release|Any CPU + {0B309776-6424-48C4-838A-224E41F793EE}.Debug|Any CPU.ActiveCfg = Debug|x64 + {0B309776-6424-48C4-838A-224E41F793EE}.Debug|Any CPU.Build.0 = Debug|x64 + {0B309776-6424-48C4-838A-224E41F793EE}.Debug|ARM32.ActiveCfg = Debug|x64 + {0B309776-6424-48C4-838A-224E41F793EE}.Debug|ARM32.Build.0 = Debug|x64 + {0B309776-6424-48C4-838A-224E41F793EE}.Debug|x64.ActiveCfg = Debug|x64 + {0B309776-6424-48C4-838A-224E41F793EE}.Debug|x64.Build.0 = Debug|x64 + {0B309776-6424-48C4-838A-224E41F793EE}.Debug|x86.ActiveCfg = Debug|x86 + {0B309776-6424-48C4-838A-224E41F793EE}.Debug|x86.Build.0 = Debug|x86 + {0B309776-6424-48C4-838A-224E41F793EE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0B309776-6424-48C4-838A-224E41F793EE}.Release|Any CPU.Build.0 = Release|Any CPU + {0B309776-6424-48C4-838A-224E41F793EE}.Release|ARM32.ActiveCfg = Release|Any CPU + {0B309776-6424-48C4-838A-224E41F793EE}.Release|ARM32.Build.0 = Release|Any CPU + {0B309776-6424-48C4-838A-224E41F793EE}.Release|x64.ActiveCfg = Release|x64 + {0B309776-6424-48C4-838A-224E41F793EE}.Release|x64.Build.0 = Release|x64 + {0B309776-6424-48C4-838A-224E41F793EE}.Release|x86.ActiveCfg = Release|Any CPU + {0B309776-6424-48C4-838A-224E41F793EE}.Release|x86.Build.0 = Release|Any CPU + {90A89707-927E-48D2-BFEB-84F95F531258}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {90A89707-927E-48D2-BFEB-84F95F531258}.Debug|Any CPU.Build.0 = Debug|Any CPU + {90A89707-927E-48D2-BFEB-84F95F531258}.Debug|ARM32.ActiveCfg = Debug|Any CPU + {90A89707-927E-48D2-BFEB-84F95F531258}.Debug|ARM32.Build.0 = Debug|Any CPU + {90A89707-927E-48D2-BFEB-84F95F531258}.Debug|x64.ActiveCfg = Debug|x64 + {90A89707-927E-48D2-BFEB-84F95F531258}.Debug|x64.Build.0 = Debug|x64 + {90A89707-927E-48D2-BFEB-84F95F531258}.Debug|x86.ActiveCfg = Debug|x86 + {90A89707-927E-48D2-BFEB-84F95F531258}.Debug|x86.Build.0 = Debug|x86 + {90A89707-927E-48D2-BFEB-84F95F531258}.Release|Any CPU.ActiveCfg = Release|Any CPU + {90A89707-927E-48D2-BFEB-84F95F531258}.Release|Any CPU.Build.0 = Release|Any CPU + {90A89707-927E-48D2-BFEB-84F95F531258}.Release|ARM32.ActiveCfg = Release|Any CPU + {90A89707-927E-48D2-BFEB-84F95F531258}.Release|ARM32.Build.0 = Release|Any CPU + {90A89707-927E-48D2-BFEB-84F95F531258}.Release|x64.ActiveCfg = Release|Any CPU + {90A89707-927E-48D2-BFEB-84F95F531258}.Release|x64.Build.0 = Release|Any CPU + {90A89707-927E-48D2-BFEB-84F95F531258}.Release|x86.ActiveCfg = Release|Any CPU + {90A89707-927E-48D2-BFEB-84F95F531258}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -113,6 +172,8 @@ Global GlobalSection(NestedProjects) = preSolution {78A8B08C-C0E9-4BAC-9AF6-58D3A55C05C9} = {7640D6FE-600E-44BE-A59F-E90602FA7754} {CB2B7609-C7B8-4E2A-82D8-DD631B70B621} = {7640D6FE-600E-44BE-A59F-E90602FA7754} + {8479F68C-4234-425E-93E7-71597AF528E9} = {7640D6FE-600E-44BE-A59F-E90602FA7754} + {90A89707-927E-48D2-BFEB-84F95F531258} = {7640D6FE-600E-44BE-A59F-E90602FA7754} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {6B948258-B457-4B3D-955E-05ED3F03CF36} diff --git a/ZuneShell/AssemblyInfo.cs b/ZuneShell/AssemblyInfo.cs index 94ed7e9..2a7b424 100644 --- a/ZuneShell/AssemblyInfo.cs +++ b/ZuneShell/AssemblyInfo.cs @@ -1,5 +1,6 @@ using System.Reflection; using System.Runtime.InteropServices; +using System.Runtime.Versioning; using System.Security.Permissions; [assembly: AssemblyCompany("Microsoft Corporation")] @@ -7,7 +8,20 @@ using System.Security.Permissions; [assembly: ComVisible(false)] [assembly: AssemblyProduct("Microsoft (R) Windows (R) Operating System")] [assembly: AssemblyCopyright("Copyright (c) Microsoft Corporation. All rights reserved.")] -[assembly: AssemblyFileVersion("4.8.2345.0")] //[assembly: AssemblyDelaySign(true)] -[assembly: AssemblyVersion("4.7.0.0")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] + +#if OPENZUNE +[assembly: AssemblyFileVersion("5.0.0.0")] +[assembly: AssemblyVersion("5.0.0.0")] +#else +[assembly: AssemblyFileVersion("4.8.2345.0")] +[assembly: AssemblyVersion("4.7.0.0")] +#endif + +// Workaround for CA1416 +#if WINDOWS10 +[assembly: SupportedOSPlatform("windows10.0.10240")] +#elif WINDOWS8_0_OR_GREATER +[assemby: SupportedOSPlatform("windows8.0.0")] +#endif \ No newline at end of file diff --git a/ZuneShell/Microsoft/WinRT/ApiInformation.cs b/ZuneShell/Microsoft/WinRT/ApiInformation.cs new file mode 100644 index 0000000..2f1465a --- /dev/null +++ b/ZuneShell/Microsoft/WinRT/ApiInformation.cs @@ -0,0 +1,41 @@ +#if WINDOWS + +using Microsoft.Win32; +using System; + +namespace Microsoft.WinRT +{ + /// + /// Polyfills for Windows.Foundation.Metadata.ApiInformation + /// + internal static class ApiInformation + { + private static readonly Version Win8Version = new(6, 2, 0, 0); + private static readonly Version Win81Version = new(6, 3, 0, 0); + private static readonly Version Win10Version = new(10, 0, 0, 0); + + /// + /// Returns or to indicate whether a specified type is present. + /// + /// + /// The namespace-qualified name of the type. + /// + /// + /// if the specified type is present; otherwise, . + /// + public static bool IsTypePresent(string typeName) + { + if (Environment.OSVersion.Version >= Win10Version) + { + return Windows.Foundation.Metadata.ApiInformation.IsTypePresent(typeName); + } + else + { + var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\WindowsRuntime\ActivatableClassId\" + typeName, false); + return key != null; + } + } + } +} + +#endif diff --git a/ZuneShell/Microsoft/Zune/Service2/Service.cs b/ZuneShell/Microsoft/Zune/Service2/Service.cs deleted file mode 100644 index 6339b6e..0000000 --- a/ZuneShell/Microsoft/Zune/Service2/Service.cs +++ /dev/null @@ -1,424 +0,0 @@ -using Microsoft.Zune.Service; -using Microsoft.Zune.Util; -using System; -using System.Collections; -using ZuneUI; -using RealService = Microsoft.Zune.Service.Service; - -namespace Microsoft.Zune.Service -{ - public class Service2 : IDisposable - { - private bool disposedValue; - - private static Service2 _instance = new Service2(); - public static Service2 Instance => _instance; - - public static EListType ContentTypeToListType(EContentType contentType) - { - switch (contentType) - { - case EContentType.MusicTrack: - return EListType.eTrackList; - - case EContentType.MusicAlbum: - return EListType.eAlbumList; - - case EContentType.Video: - return EListType.eVideoList; - - case EContentType.Artist: - return EListType.eArtistList; - - case EContentType.PodcastEpisode: - return EListType.ePodcastEpisodeList; - - case EContentType.PodcastSeries: - return EListType.ePodcastList; - - case EContentType.App: - return EListType.eAppList; - - case EContentType.Playlist: - return EListType.ePlaylistList; - - default: - case EContentType.Unknown: - return EListType.eListInvalid; - } - } - public static string GetEndPointUri(EServiceEndpointId eServiceEndpointId) - { - return "catalog.zunes.me/service?id=" + eServiceEndpointId.ToString(); - } - - public int AddPaymentInstrument(PaymentInstrument paymentInstrument, - AddPaymentInstrumentCompleteCallback completeCallback, - AddPaymentInstrumentErrorCallback errorCallback) - { - return RealService.Instance.AddPaymentInstrument(paymentInstrument, completeCallback, errorCallback); - } - - public int AddPaymentInstrument(PaymentInstrument paymentInstrument, out string paymentId, out ServiceError serviceError) - { - return RealService.Instance.AddPaymentInstrument(paymentInstrument, out paymentId, out serviceError); - } - - public HRESULT AuthenticatePassport(string username, string password, EPassportPolicyId ePassportPolicyId, out PassportIdentity passportIdentity) - { - return RealService.Instance.AuthenticatePassport(username, password, ePassportPolicyId, out passportIdentity); - } - - public bool BlockExplicitContent() - { - return RealService.Instance.BlockExplicitContent(); - } - - public bool BlockRatedContent(string system, string rating) - { - return RealService.Instance.BlockRatedContent(system, rating); - } - - public void CancelDownload(Guid guidMediaId, EContentType eContentType) - { - RealService.Instance.CancelDownload(guidMediaId, eContentType); - } - - public void CancelSignIn() - { - RealService.Instance.CancelSignIn(); - } - - public bool CanDownloadSubscriptionContent() - { - return RealService.Instance.CanDownloadSubscriptionContent(); - } - - public bool CanSignedInUserPostUsageData() - { - return RealService.Instance.CanSignedInUserPostUsageData(); - } - - public bool ClearLastSignedInUser() - { - return RealService.Instance.ClearLastSignedInUser(); - } - - public AppOfferCollection CreateEmptyAppCollection() - { - return RealService.Instance.CreateEmptyAppCollection(); - } - - public bool DeleteSubscriptionDownloads(AsyncCompleteHandler eventHandler) - { - return RealService.Instance.DeleteSubscriptionDownloads(eventHandler); - } - - public void Download(IList items, EDownloadFlags eDownloadFlags, string deviceEndpointId, EDownloadContextEvent clientContextEvent, string clientContextEventData, DownloadEventHandler eventHandler, DownloadEventProgressHandler progressHandler, EventHandler allPendingHandler) - { - RealService.Instance.Download(items, eDownloadFlags, deviceEndpointId, clientContextEvent, clientContextEventData, eventHandler, progressHandler, allPendingHandler); - } - - public bool GetAlbumIdFromCompId(string compId, out Guid guidAlbum) - { - return RealService.Instance.GetAlbumIdFromCompId(compId, out guidAlbum); - } - - public void GetBalances(GetBalancesCompleteCallback completeCallback, GetBalancesErrorCallback errorCallback) - { - RealService.Instance.GetBalances(completeCallback, errorCallback); - } - - public EContentType GetContentType(string contentTypeStr) - { - return RealService.Instance.GetContentType(contentTypeStr); - } - - public HRESULT GetContentUri(Guid guidMediaId, EContentType eContentType, EContentUriFlags eContentUriFlags, bool fIsHD, bool fIsRental, out string uriOut) - { - return RealService.Instance.GetContentUri(guidMediaId, eContentType, eContentUriFlags, fIsHD, fIsRental, out uriOut); - } - - public HRESULT GetContentUri(Guid guidMediaId, EContentType eContentType, EContentUriFlags eContentUriFlags, out string uriOut, out Guid mediaInstanceIdOut) - { - return RealService.Instance.GetContentUri(guidMediaId, eContentType, eContentUriFlags, out uriOut, out mediaInstanceIdOut); - } - - public HRESULT GetContentUri(Guid guidMediaId, EContentType eContentType, EContentUriFlags eContentUriFlags, EMediaFormat eMediaFormat, EMediaRights eMediaRights, out string uriOut, out Guid mediaInstanceIdOut) - { - throw new NotImplementedException(); - //return RealService.Instance.GetContentUri(guidMediaId, eContentType, eContentUriFlags, eMediaFormat, eMediaRights, out uriOut, out mediaInstanceIdOut); - } - - public CountryBaseDetails[] GetCountryDetails() - { - return RealService.Instance.GetCountryDetails(); - } - - public DRMInfo GetFileDRMInfo(string filePath) - { - return RealService.Instance.GetFileDRMInfo(filePath); - } - - public bool GetLastSignedInUserGuid(out int iUserId, out Guid guidUserGuid) - { - return RealService.Instance.GetLastSignedInUserGuid(out iUserId, out guidUserGuid); - } - - public void GetLastSignedInUserSubscriptionState(out bool activeSubscription, out ulong subscriptionId) - { - RealService.Instance.GetLastSignedInUserSubscriptionState(out activeSubscription, out subscriptionId); - } - - public string GetLocale() - { - return RealService.Instance.GetLocale(); - } - - public string GetMachineId() - { - return RealService.Instance.GetMachineId(); - } - - public DRMInfo GetMediaDRMInfo(Guid mediaId, EContentType eContentType) - { - return RealService.Instance.GetMediaDRMInfo(mediaId, eContentType); - } - - public EMediaStatus GetMediaStatus(Guid guidMediaId, EContentType eContentType) - { - return RealService.Instance.GetMediaStatus(guidMediaId, eContentType); - } - - public bool GetMusicVideoIdFromCompId(string compId, out Guid guidMusicVideo) - { - return RealService.Instance.GetMusicVideoIdFromCompId(compId, out guidMusicVideo); - } - - public HRESULT GetOfferDetails(Guid offerId, GetOfferDetailsCompleteCallback completeCallback, GetOfferDetailsErrorCallback errorCallback, object state) - { - return RealService.Instance.GetOfferDetails(offerId, completeCallback, errorCallback, state); - } - - public void GetOffers(IList albumGuids, IList trackGuids, IList videoGuids, IList appGuids, IDictionary mapIdToContext, EGetOffersFlags eGetOffersFlags, string deviceEndpointId, GetOffersCompleteCallback completeCallback, GetOffersErrorCallback errorCallback) - { - RealService.Instance.GetOffers(albumGuids, trackGuids, videoGuids, appGuids, mapIdToContext, eGetOffersFlags, deviceEndpointId, completeCallback, errorCallback); - } - - public ulong GetPassportPuid() - { - return RealService.Instance.GetPassportPuid(); - } - - public string GetPassportTicket(EPassportPolicyId ePassportPolicy) - { - return RealService.Instance.GetPassportTicket(ePassportPolicy); - } - - public void GetPaymentInstruments(GetPaymentInstrumentsCompleteCallback completeCallback, GetPaymentInstrumentsErrorCallback errorCallback) - { - RealService.Instance.GetPaymentInstruments(completeCallback, errorCallback); - } - - public IList GetPersistedUsernames() - { - return RealService.Instance.GetPersistedUsernames(); - } - - public string GetPhoneClientType(string strPhoneOsVersion) - { - return RealService.Instance.GetPhoneClientType(strPhoneOsVersion); - } - - public int GetPointsBalance() => RealService.Instance.GetPointsBalance(); - - public void GetPointsOffers(GetBillingOffersCompleteCallback completeCallback, GetBillingOffersErrorCallback errorCallback) - => RealService.Instance.GetPointsOffers(completeCallback, errorCallback); - - public RatingSystemBase[] GetRatingSystems() => RealService.Instance.GetRatingSystems(); - - public int GetRentalTermDays(string strStudio) => RealService.Instance.GetRentalTermDays(strStudio); - - public int GetRentalTermHours(string strStudio) => RealService.Instance.GetRentalTermHours(strStudio); - - public uint GetSignedInGeoId() => RealService.Instance.GetSignedInGeoId(); - - public string GetSignedInUsername() => RealService.Instance.GetSignedInUsername(); - - public string GetSignInAtStartupUsername() => RealService.Instance.GetSignInAtStartupUsername(); - - public void GetSubscriptionDetails(ulong offerId, GetBillingOffersCompleteCallback completeCallback, GetBillingOffersErrorCallback errorCallback) - => RealService.Instance.GetSubscriptionDetails(offerId, completeCallback, errorCallback); - - public string GetSubscriptionDirectory() => RealService.Instance.GetSubscriptionDirectory(); - - public DateTime GetSubscriptionEndDate() => RealService.Instance.GetSubscriptionEndDate(); - - public int GetSubscriptionFreeTrackBalance() => RealService.Instance.GetSubscriptionFreeTrackBalance(); - - public DateTime GetSubscriptionFreeTrackExpiration() => RealService.Instance.GetSubscriptionFreeTrackExpiration(); - - public ulong GetSubscriptionOfferId() => RealService.Instance.GetSubscriptionOfferId(); - - public void GetSubscriptionOffers(GetBillingOffersCompleteCallback completeCallback, GetBillingOffersErrorCallback errorCallback) - => RealService.Instance.GetSubscriptionOffers(completeCallback, errorCallback); - - public ulong GetSubscriptionRenewalOfferId() => RealService.Instance.GetSubscriptionRenewalOfferId(); - - public int GetSubscriptionTrialDuration() => RealService.Instance.GetSubscriptionTrialDuration(); - - public ValueType GetUserGuid() => RealService.Instance.GetUserGuid(); - - public bool GetUserRating(int iUserId, Guid guidMediaId, EContentType eContentType, ref int piRating) - => RealService.Instance.GetUserRating(iUserId, guidMediaId, eContentType, ref piRating); - - public string GetWMISEndPointUri(string strEndPointName) - => RealService.Instance.GetWMISEndPointUri(strEndPointName); - - public string GetXboxPuid() => RealService.Instance.GetXboxPuid(); - - public string GetXboxTicket() => RealService.Instance.GetXboxTicket(); - - public string GetZuneTag() => RealService.Instance.GetZuneTag(); - - public bool HasSignInBillingViolation() => RealService.Instance.HasSignInBillingViolation(); - - public bool HasSignInLabelTakedown() => RealService.Instance.HasSignInLabelTakedown(); - - public bool InCompleteCollection(Guid guidMediaId, EContentType eContentType, string strDeviceEndpointId) - => RealService.Instance.InCompleteCollection(guidMediaId, eContentType, strDeviceEndpointId); - - public bool InCompleteCollection(Guid guidMediaId, EContentType eContentType, out int dbMediaId, out bool fHidden) - => RealService.Instance.InCompleteCollection(guidMediaId, eContentType, out dbMediaId, out fHidden); - - public bool InCompleteCollection(Guid guidMediaId, EContentType eContentType, string strDeviceEndpointId, out int dbMediaId, out bool fHidden) - => RealService.Instance.InCompleteCollection(guidMediaId, eContentType, strDeviceEndpointId, out dbMediaId, out fHidden); - - public bool InCompleteCollection(Guid guidMediaId, EContentType eContentType) - => RealService.Instance.InCompleteCollection(guidMediaId, eContentType); - - public bool InHiddenCollection(Guid guidMediaId, EContentType eContentType) - => RealService.Instance.InHiddenCollection(guidMediaId, eContentType); - - public int InitializeWMISEndpointCollection() - => RealService.Instance.InitializeWMISEndpointCollection(); - - public bool InVisibleCollection(Guid guidMediaId, EContentType eContentType) - => RealService.Instance.InVisibleCollection(guidMediaId, eContentType); - - public bool InVisibleCollection(Guid guidMediaId, EContentType eContentType, out int dbMediaId) - => RealService.Instance.InVisibleCollection(guidMediaId, eContentType, out dbMediaId); - - public bool IsDownloading(Guid guidMediaId, EContentType eContentType, out bool fIsDownloadPending, out bool fIsHidden) - => RealService.Instance.IsDownloading(guidMediaId, eContentType, out fIsDownloadPending, out fIsHidden); - - public bool IsLightWeight() => RealService.Instance.IsLightWeight(); - - public bool IsParentallyControlled() => RealService.Instance.IsParentallyControlled(); - - public bool IsSignedIn() => RealService.Instance.IsSignedIn(); - - public bool IsSignedInWithSubscription() => RealService.Instance.IsSignedInWithSubscription(); - - public bool IsSigningIn() => RealService.Instance.IsSigningIn(); - - public bool LaunchBrowserForExternalUrl(string strUrl, EPassportPolicyId ePassportPolicy) - => RealService.Instance.LaunchBrowserForExternalUrl(strUrl, ePassportPolicy); - - public int Phase3Initialize() => RealService.Instance.Phase3Initialize(); - - public bool PostAppReview(Guid mediaId, string title, string comment, int rating, AsyncCompleteHandler callback) - => RealService.Instance.PostAppReview(mediaId, title, comment, rating, callback); - - public int PurchaseBillingOffer(BillingOffer offer, PaymentInstrument paymentInstrument, AsyncCompleteHandler callback) - => RealService.Instance.PurchaseBillingOffer(offer, paymentInstrument, callback); - - public int PurchaseBillingOffer(BillingOffer offer, PaymentInstrument paymentInstrument) - => RealService.Instance.PurchaseBillingOffer(offer, paymentInstrument); - - public void PurchaseOffers(PaymentInstrument payment, AlbumOfferCollection albumOffers, TrackOfferCollection trackOffers, VideoOfferCollection videoOffers, AppOfferCollection appOffers, EPurchaseOffersFlags ePurchaseOffersFlags, PurchaseOffersCompleteHandler purchaseOffersHandler) - => RealService.Instance.PurchaseOffers(payment, albumOffers, trackOffers, videoOffers, appOffers, ePurchaseOffersFlags, purchaseOffersHandler); - - public void RefreshAccount(AsyncCompleteHandler eventHandler) => RealService.Instance.RefreshAccount(eventHandler); - - public void RegisterForDownloadNotification(DownloadEventHandler eventHandler, DownloadEventProgressHandler progressHandler, EventHandler allPendingHandler) - => RealService.Instance.RegisterForDownloadNotification(eventHandler, progressHandler, allPendingHandler); - - public void RemovePersistedUsername(string strUsername) - => RealService.Instance.RemovePersistedUsername(strUsername); - - public bool ReportAConcern(EConcernType concernType, EContentType contentType, Guid mediaId, string message, AsyncCompleteHandler callback) - => RealService.Instance.ReportAConcern(concernType, contentType, mediaId, message, callback); - - public bool ReportFavouriteArtists(Guid userId, IList artists, AsyncCompleteHandler callback) - => RealService.Instance.ReportFavouriteArtists(userId, artists, callback); - - public void ReportStreamingAction(EStreamingActionType eStreamingActionType, Guid guidMediaInstanceId, AsyncCompleteHandler eventHandler) - => RealService.Instance.ReportStreamingAction(eStreamingActionType, guidMediaInstanceId, eventHandler); - - public int ResumePurchase(string resumeHandle, string authorizationToken, AsyncCompleteHandler callback) - => RealService.Instance.ResumePurchase(resumeHandle, authorizationToken, callback); - - public bool SetLastSignedInUserGuid(ref Guid guidUserGuid, out int iUserId) - => RealService.Instance.SetLastSignedInUserGuid(ref guidUserGuid, out iUserId); - - public bool SetUserArtistRating(int iUserId, int iRating, Guid guidArtistMediaId, string strTitle) - => RealService.Instance.SetUserArtistRating(iUserId, iRating, guidArtistMediaId, strTitle); - - public bool SetUserTrackRating(int iUserId, int iRating, Guid guidTrackMediaId, Guid guidAlbumMediaId, int iTrackNumber, string strTitle, int msDuration, string strAlbum, string strArtist, string strGenre, string strServiceContext) - => RealService.Instance.SetUserTrackRating(iUserId, iRating, guidTrackMediaId, guidAlbumMediaId, iTrackNumber, strTitle, msDuration, strAlbum, strArtist, strGenre, strServiceContext); - - public void SignIn(string strUsername, string strPassword, bool fRememberUsername, bool fRememberPassword, bool fAutomaticallySignInAtStartup, AsyncCompleteHandler eventHandler) - => RealService.Instance.SignIn(strUsername, strPassword, fRememberUsername, fRememberPassword, fAutomaticallySignInAtStartup, eventHandler); - - public bool SignInAtStartup(string strUsername) => RealService.Instance.SignInAtStartup(strUsername); - - public bool SignInPasswordRequired(string strUsername) - => RealService.Instance.SignInPasswordRequired(strUsername); - - public void SignOut() => RealService.Instance.SignOut(); - - public bool SubscriptionPendingCancel() => RealService.Instance.SubscriptionPendingCancel(); - - public int VerifyToken(string token, out TokenDetails tokenDetails) - => RealService.Instance.VerifyToken(token, out tokenDetails); - - - protected virtual void Dispose(bool disposing) - { - if (!disposedValue) - { - if (disposing) - { - // TODO: dispose managed state (managed objects) - } - - // TODO: free unmanaged resources (unmanaged objects) and override finalizer - // TODO: set large fields to null - disposedValue = true; - } - } - - // Override finalizer only if 'Dispose(bool disposing)' has code to free unmanaged resources - ~Service2() - { - // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method - Dispose(disposing: false); - } - - public void Dispose() - { - // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method - Dispose(disposing: true); - GC.SuppressFinalize(this); - } - - public enum EMediaFormat - { - } - - public enum EMediaRights - { - } - } -} \ No newline at end of file diff --git a/ZuneShell/Microsoft/Zune/Shell/ZuneApplication.cs b/ZuneShell/Microsoft/Zune/Shell/ZuneApplication.cs index 319ff3d..9a51c78 100644 --- a/ZuneShell/Microsoft/Zune/Shell/ZuneApplication.cs +++ b/ZuneShell/Microsoft/Zune/Shell/ZuneApplication.cs @@ -24,6 +24,18 @@ using System.Threading; using UIXControls; using ZuneUI; using ZuneXml; +using System.Linq; + +#if OPENZUNE +using Microsoft.Zune.Playback; +using OwlCore.Events; +using StrixMusic.Sdk.AdapterModels; +using StrixMusic.Sdk.AppModels; +using StrixMusic.Sdk.CoreModels; +using StrixMusic.Sdk.MediaPlayback; +using StrixMusic.Sdk.PluginModels; +using StrixMusic.Sdk.Plugins.PlaybackHandler; +#endif namespace Microsoft.Zune.Shell { @@ -52,9 +64,36 @@ namespace Microsoft.Zune.Shell public static string DefaultCommandLineParameterSwitch => "PlayMedia"; + public static Version Version => typeof(ZuneApplication).Assembly.GetName().Version; + public static ZuneLibrary ZuneLibrary => _zuneLibrary; - public static Service.Service2 Service => Zune.Service.Service2.Instance; + public static Service.Service Service => Zune.Service.Service.Instance; + public static IService Service2 => Zune.Service.Service2.Instance; + + public static bool IsStrixCompatible + { + get + { +#if OPENZUNE + return true; +#else + return false; +#endif + } + } + + public static Version StrixSdkVersion => +#if OPENZUNE + typeof(ICore).Assembly.GetName().Version; +#else + null; +#endif + +#if OPENZUNE + public static IStrixDataRoot DataRoot { get; private set; } + public static IPlaybackHandlerService PlaybackHandler { get; private set; } +#endif public static event EventHandler Closing; @@ -90,7 +129,7 @@ namespace Microsoft.Zune.Shell else { SingletonModelItem.Instance.Phase3Init(); - Service.Phase3Initialize(); + Service2.Phase3Initialize(); SignIn.Instance.Phase3Init(); MetadataNotifications.Instance.Phase2Init(); SingletonModelItem.Instance.Phase2Init(); @@ -120,10 +159,92 @@ namespace Microsoft.Zune.Shell Telemetry.Instance.StartUpload(); FeaturesChanged.Instance.StartUp(); CultureHelper.CheckValidRegionAndLanguage(); + +#if OPENZUNE + string id = Guid.NewGuid().ToString(); + + var fileService = new OwlCore.AbstractStorage.Win32FileSystemService(@"D:\Music\Zune\Test"); + OwlCore.AbstractStorage.SystemIOFolderData settingsFolder = + new(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"Microsoft\Zune\OpenZune")); + settingsFolder.EnsureExists().Wait(); + StrixMusic.Cores.LocalFiles.Settings.LocalFilesCoreSettings settings = new(settingsFolder) + { + InitWithEmptyMetadataRepos = true, + ScanWithTagLib = true, + }; + + var localCore = new StrixMusic.Cores.LocalFiles.LocalFilesCore( + id, settings, fileService, null, null) + { + ScannerWaitBehavior = StrixMusic.Cores.Files.ScannerWaitBehavior.AlwaysWait + }; + + var prefs = new MergedCollectionConfig + { + CoreRanking = new string[] + { + localCore.InstanceId + } + }; + var mergedLayer = new MergedCore(new ICore[] { localCore }, prefs); + + // Perform any async initialization needed. Authenticating, connecting to database, etc. + // Add plugins + string mfAudioServiceId = Guid.NewGuid().ToString(); + PlaybackHandler = new PlaybackHandlerService(); + PlaybackHandler.RegisterAudioPlayer(VlcAudioService.Instance, localCore.InstanceId); + + DataRoot = new StrixDataRootPluginWrapper(mergedLayer, + new PlaybackHandlerPlugin(PlaybackHandler) + ); + + DataRoot.InitAsync().ContinueWith(async task => + { + if (task.Status == System.Threading.Tasks.TaskStatus.Faulted) + { + Debug.WriteLine(task.Exception); + return; + } + + DataRoot.Library.TracksChanged += LibraryTracksChanged; + + await DataRoot.Library.PlayTrackCollectionAsync(); + }); +#endif + ((ZuneUI.Shell)ZuneShell.DefaultInstance).ApplicationInitializationIsComplete = true; } } +#if OPENZUNE + private static async void LibraryTracksChanged(object sender, + IReadOnlyList> addedItems, + IReadOnlyList> removedItems) + { + if (sender is ILibrary library && addedItems.Count > 0) + { + library.TracksChanged -= LibraryTracksChanged; + + ITrack firstTrack = addedItems[1].Data; + + await firstTrack.PlayArtistCollectionAsync(); + } + } + + private static async void LibraryTracksAdded(object sender, int count) + { + return; + if (sender is ILibrary library && count > 0) + { + library.TracksCountChanged -= LibraryTracksAdded; + + ITrack firstTrack = await library.GetTracksAsync(limit: 1, offset: 0).FirstOrDefaultAsync(); + + await firstTrack.PlayArtistCollectionAsync(); + } + } +#endif + private static void Phase2InitializationUIStage(object arg) { _initializationFailsafe.Initialize(delegate @@ -348,7 +469,11 @@ namespace Microsoft.Zune.Shell DialogHelper.DialogNo = ZuneUI.Shell.LoadString(StringId.IDS_DIALOG_NO); DialogHelper.DialogOk = ZuneUI.Shell.LoadString(StringId.IDS_DIALOG_OK); XmlDataProviders.Register(); +#if false//OPENZUNE + Library.StrixLibraryDataProvider.Register(); +#else LibraryDataProvider.Register(); +#endif SubscriptionDataProvider.Register(); StaticLibraryDataProvider.Register(); AggregateDataProviderQuery.Register(); diff --git a/ZuneShell/Resources/GROUP_ICON/1 b/ZuneShell/Resources/GROUP_ICON/1 new file mode 100644 index 0000000..d9d0bdc Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/1 differ diff --git a/ZuneShell/Resources/GROUP_ICON/10 b/ZuneShell/Resources/GROUP_ICON/10 new file mode 100644 index 0000000..9ca4273 Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/10 differ diff --git a/ZuneShell/Resources/GROUP_ICON/11 b/ZuneShell/Resources/GROUP_ICON/11 new file mode 100644 index 0000000..610617f Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/11 differ diff --git a/ZuneShell/Resources/GROUP_ICON/12 b/ZuneShell/Resources/GROUP_ICON/12 new file mode 100644 index 0000000..588803e Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/12 differ diff --git a/ZuneShell/Resources/GROUP_ICON/13 b/ZuneShell/Resources/GROUP_ICON/13 new file mode 100644 index 0000000..d08e98b Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/13 differ diff --git a/ZuneShell/Resources/GROUP_ICON/2 b/ZuneShell/Resources/GROUP_ICON/2 new file mode 100644 index 0000000..cbff06f Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/2 differ diff --git a/ZuneShell/Resources/GROUP_ICON/3 b/ZuneShell/Resources/GROUP_ICON/3 new file mode 100644 index 0000000..4030614 Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/3 differ diff --git a/ZuneShell/Resources/GROUP_ICON/4 b/ZuneShell/Resources/GROUP_ICON/4 new file mode 100644 index 0000000..adeeca8 Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/4 differ diff --git a/ZuneShell/Resources/GROUP_ICON/5 b/ZuneShell/Resources/GROUP_ICON/5 new file mode 100644 index 0000000..275cd4b Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/5 differ diff --git a/ZuneShell/Resources/GROUP_ICON/6 b/ZuneShell/Resources/GROUP_ICON/6 new file mode 100644 index 0000000..7cf28c8 Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/6 differ diff --git a/ZuneShell/Resources/GROUP_ICON/7 b/ZuneShell/Resources/GROUP_ICON/7 new file mode 100644 index 0000000..a497dde Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/7 differ diff --git a/ZuneShell/Resources/GROUP_ICON/8 b/ZuneShell/Resources/GROUP_ICON/8 new file mode 100644 index 0000000..337bb4b Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/8 differ diff --git a/ZuneShell/Resources/GROUP_ICON/9 b/ZuneShell/Resources/GROUP_ICON/9 new file mode 100644 index 0000000..7c94a49 Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/9 differ diff --git a/ZuneShell/Resources/GROUP_ICON/THUMBBARHATEIT.ICO b/ZuneShell/Resources/GROUP_ICON/THUMBBARHATEIT.ICO new file mode 100644 index 0000000..0407146 Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/THUMBBARHATEIT.ICO differ diff --git a/ZuneShell/Resources/GROUP_ICON/THUMBBARLOVEIT.ICO b/ZuneShell/Resources/GROUP_ICON/THUMBBARLOVEIT.ICO new file mode 100644 index 0000000..fac1f6b Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/THUMBBARLOVEIT.ICO differ diff --git a/ZuneShell/Resources/GROUP_ICON/THUMBBARNEXT.ICO b/ZuneShell/Resources/GROUP_ICON/THUMBBARNEXT.ICO new file mode 100644 index 0000000..d484f9c Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/THUMBBARNEXT.ICO differ diff --git a/ZuneShell/Resources/GROUP_ICON/THUMBBARNEXTDISABLED.ICO b/ZuneShell/Resources/GROUP_ICON/THUMBBARNEXTDISABLED.ICO new file mode 100644 index 0000000..9418b37 Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/THUMBBARNEXTDISABLED.ICO differ diff --git a/ZuneShell/Resources/GROUP_ICON/THUMBBARPAUSE.ICO b/ZuneShell/Resources/GROUP_ICON/THUMBBARPAUSE.ICO new file mode 100644 index 0000000..b77cb40 Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/THUMBBARPAUSE.ICO differ diff --git a/ZuneShell/Resources/GROUP_ICON/THUMBBARPLAY.ICO b/ZuneShell/Resources/GROUP_ICON/THUMBBARPLAY.ICO new file mode 100644 index 0000000..fe3d07e Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/THUMBBARPLAY.ICO differ diff --git a/ZuneShell/Resources/GROUP_ICON/THUMBBARPLAYDISABLED.ICO b/ZuneShell/Resources/GROUP_ICON/THUMBBARPLAYDISABLED.ICO new file mode 100644 index 0000000..6bcdc33 Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/THUMBBARPLAYDISABLED.ICO differ diff --git a/ZuneShell/Resources/GROUP_ICON/THUMBBARPREVIOUS.ICO b/ZuneShell/Resources/GROUP_ICON/THUMBBARPREVIOUS.ICO new file mode 100644 index 0000000..ad8c3cf Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/THUMBBARPREVIOUS.ICO differ diff --git a/ZuneShell/Resources/GROUP_ICON/THUMBBARPREVIOUSDISABLED.ICO b/ZuneShell/Resources/GROUP_ICON/THUMBBARPREVIOUSDISABLED.ICO new file mode 100644 index 0000000..953b98b Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/THUMBBARPREVIOUSDISABLED.ICO differ diff --git a/ZuneShell/Resources/GROUP_ICON/THUMBBARUNRATED.ICO b/ZuneShell/Resources/GROUP_ICON/THUMBBARUNRATED.ICO new file mode 100644 index 0000000..1520015 Binary files /dev/null and b/ZuneShell/Resources/GROUP_ICON/THUMBBARUNRATED.ICO differ diff --git a/ZuneShell/Resources/ICON/1.ico b/ZuneShell/Resources/ICON/1.ico new file mode 100644 index 0000000..912fa0c Binary files /dev/null and b/ZuneShell/Resources/ICON/1.ico differ diff --git a/ZuneShell/Resources/ICON/10.ico b/ZuneShell/Resources/ICON/10.ico new file mode 100644 index 0000000..fd9e382 Binary files /dev/null and b/ZuneShell/Resources/ICON/10.ico differ diff --git a/ZuneShell/Resources/ICON/100.ico b/ZuneShell/Resources/ICON/100.ico new file mode 100644 index 0000000..e7e15b5 Binary files /dev/null and b/ZuneShell/Resources/ICON/100.ico differ diff --git a/ZuneShell/Resources/ICON/101.ico b/ZuneShell/Resources/ICON/101.ico new file mode 100644 index 0000000..d204590 Binary files /dev/null and b/ZuneShell/Resources/ICON/101.ico differ diff --git a/ZuneShell/Resources/ICON/102.ico b/ZuneShell/Resources/ICON/102.ico new file mode 100644 index 0000000..6790e8e Binary files /dev/null and b/ZuneShell/Resources/ICON/102.ico differ diff --git a/ZuneShell/Resources/ICON/103.ico b/ZuneShell/Resources/ICON/103.ico new file mode 100644 index 0000000..a6fa851 Binary files /dev/null and b/ZuneShell/Resources/ICON/103.ico differ diff --git a/ZuneShell/Resources/ICON/104.ico b/ZuneShell/Resources/ICON/104.ico new file mode 100644 index 0000000..a16a0c9 Binary files /dev/null and b/ZuneShell/Resources/ICON/104.ico differ diff --git a/ZuneShell/Resources/ICON/105.ico b/ZuneShell/Resources/ICON/105.ico new file mode 100644 index 0000000..016c0e2 Binary files /dev/null and b/ZuneShell/Resources/ICON/105.ico differ diff --git a/ZuneShell/Resources/ICON/106.ico b/ZuneShell/Resources/ICON/106.ico new file mode 100644 index 0000000..0e83a84 Binary files /dev/null and b/ZuneShell/Resources/ICON/106.ico differ diff --git a/ZuneShell/Resources/ICON/107.ico b/ZuneShell/Resources/ICON/107.ico new file mode 100644 index 0000000..48af440 Binary files /dev/null and b/ZuneShell/Resources/ICON/107.ico differ diff --git a/ZuneShell/Resources/ICON/108.ico b/ZuneShell/Resources/ICON/108.ico new file mode 100644 index 0000000..0dcac49 Binary files /dev/null and b/ZuneShell/Resources/ICON/108.ico differ diff --git a/ZuneShell/Resources/ICON/109.ico b/ZuneShell/Resources/ICON/109.ico new file mode 100644 index 0000000..c088376 Binary files /dev/null and b/ZuneShell/Resources/ICON/109.ico differ diff --git a/ZuneShell/Resources/ICON/11.ico b/ZuneShell/Resources/ICON/11.ico new file mode 100644 index 0000000..9a79efc Binary files /dev/null and b/ZuneShell/Resources/ICON/11.ico differ diff --git a/ZuneShell/Resources/ICON/110.ico b/ZuneShell/Resources/ICON/110.ico new file mode 100644 index 0000000..b500eaf Binary files /dev/null and b/ZuneShell/Resources/ICON/110.ico differ diff --git a/ZuneShell/Resources/ICON/111.ico b/ZuneShell/Resources/ICON/111.ico new file mode 100644 index 0000000..b183820 Binary files /dev/null and b/ZuneShell/Resources/ICON/111.ico differ diff --git a/ZuneShell/Resources/ICON/112.ico b/ZuneShell/Resources/ICON/112.ico new file mode 100644 index 0000000..fcc41ce Binary files /dev/null and b/ZuneShell/Resources/ICON/112.ico differ diff --git a/ZuneShell/Resources/ICON/113.ico b/ZuneShell/Resources/ICON/113.ico new file mode 100644 index 0000000..3e608fa Binary files /dev/null and b/ZuneShell/Resources/ICON/113.ico differ diff --git a/ZuneShell/Resources/ICON/114.ico b/ZuneShell/Resources/ICON/114.ico new file mode 100644 index 0000000..93fe248 Binary files /dev/null and b/ZuneShell/Resources/ICON/114.ico differ diff --git a/ZuneShell/Resources/ICON/115.ico b/ZuneShell/Resources/ICON/115.ico new file mode 100644 index 0000000..510ada8 Binary files /dev/null and b/ZuneShell/Resources/ICON/115.ico differ diff --git a/ZuneShell/Resources/ICON/116.ico b/ZuneShell/Resources/ICON/116.ico new file mode 100644 index 0000000..0b9f8f2 Binary files /dev/null and b/ZuneShell/Resources/ICON/116.ico differ diff --git a/ZuneShell/Resources/ICON/117.ico b/ZuneShell/Resources/ICON/117.ico new file mode 100644 index 0000000..036bdb4 Binary files /dev/null and b/ZuneShell/Resources/ICON/117.ico differ diff --git a/ZuneShell/Resources/ICON/118.ico b/ZuneShell/Resources/ICON/118.ico new file mode 100644 index 0000000..019e321 Binary files /dev/null and b/ZuneShell/Resources/ICON/118.ico differ diff --git a/ZuneShell/Resources/ICON/119.ico b/ZuneShell/Resources/ICON/119.ico new file mode 100644 index 0000000..6795794 Binary files /dev/null and b/ZuneShell/Resources/ICON/119.ico differ diff --git a/ZuneShell/Resources/ICON/12 b/ZuneShell/Resources/ICON/12 new file mode 100644 index 0000000..8c90770 Binary files /dev/null and b/ZuneShell/Resources/ICON/12 differ diff --git a/ZuneShell/Resources/ICON/120.ico b/ZuneShell/Resources/ICON/120.ico new file mode 100644 index 0000000..ae26e94 Binary files /dev/null and b/ZuneShell/Resources/ICON/120.ico differ diff --git a/ZuneShell/Resources/ICON/121.ico b/ZuneShell/Resources/ICON/121.ico new file mode 100644 index 0000000..4c22b5a Binary files /dev/null and b/ZuneShell/Resources/ICON/121.ico differ diff --git a/ZuneShell/Resources/ICON/122.ico b/ZuneShell/Resources/ICON/122.ico new file mode 100644 index 0000000..7a2bb19 Binary files /dev/null and b/ZuneShell/Resources/ICON/122.ico differ diff --git a/ZuneShell/Resources/ICON/123.ico b/ZuneShell/Resources/ICON/123.ico new file mode 100644 index 0000000..5a143fa Binary files /dev/null and b/ZuneShell/Resources/ICON/123.ico differ diff --git a/ZuneShell/Resources/ICON/124.ico b/ZuneShell/Resources/ICON/124.ico new file mode 100644 index 0000000..d80d8c7 Binary files /dev/null and b/ZuneShell/Resources/ICON/124.ico differ diff --git a/ZuneShell/Resources/ICON/125.ico b/ZuneShell/Resources/ICON/125.ico new file mode 100644 index 0000000..2a7209d Binary files /dev/null and b/ZuneShell/Resources/ICON/125.ico differ diff --git a/ZuneShell/Resources/ICON/126.ico b/ZuneShell/Resources/ICON/126.ico new file mode 100644 index 0000000..077faa0 Binary files /dev/null and b/ZuneShell/Resources/ICON/126.ico differ diff --git a/ZuneShell/Resources/ICON/127.ico b/ZuneShell/Resources/ICON/127.ico new file mode 100644 index 0000000..f1dcb2b Binary files /dev/null and b/ZuneShell/Resources/ICON/127.ico differ diff --git a/ZuneShell/Resources/ICON/128.ico b/ZuneShell/Resources/ICON/128.ico new file mode 100644 index 0000000..19f1370 Binary files /dev/null and b/ZuneShell/Resources/ICON/128.ico differ diff --git a/ZuneShell/Resources/ICON/129.ico b/ZuneShell/Resources/ICON/129.ico new file mode 100644 index 0000000..5a43f2f Binary files /dev/null and b/ZuneShell/Resources/ICON/129.ico differ diff --git a/ZuneShell/Resources/ICON/13.ico b/ZuneShell/Resources/ICON/13.ico new file mode 100644 index 0000000..3bd1d63 Binary files /dev/null and b/ZuneShell/Resources/ICON/13.ico differ diff --git a/ZuneShell/Resources/ICON/130.ico b/ZuneShell/Resources/ICON/130.ico new file mode 100644 index 0000000..e45abe7 Binary files /dev/null and b/ZuneShell/Resources/ICON/130.ico differ diff --git a/ZuneShell/Resources/ICON/131.ico b/ZuneShell/Resources/ICON/131.ico new file mode 100644 index 0000000..0f30c67 Binary files /dev/null and b/ZuneShell/Resources/ICON/131.ico differ diff --git a/ZuneShell/Resources/ICON/132.ico b/ZuneShell/Resources/ICON/132.ico new file mode 100644 index 0000000..fa479af Binary files /dev/null and b/ZuneShell/Resources/ICON/132.ico differ diff --git a/ZuneShell/Resources/ICON/133.ico b/ZuneShell/Resources/ICON/133.ico new file mode 100644 index 0000000..ef9060d Binary files /dev/null and b/ZuneShell/Resources/ICON/133.ico differ diff --git a/ZuneShell/Resources/ICON/134.ico b/ZuneShell/Resources/ICON/134.ico new file mode 100644 index 0000000..1d60df3 Binary files /dev/null and b/ZuneShell/Resources/ICON/134.ico differ diff --git a/ZuneShell/Resources/ICON/135.ico b/ZuneShell/Resources/ICON/135.ico new file mode 100644 index 0000000..9606afe Binary files /dev/null and b/ZuneShell/Resources/ICON/135.ico differ diff --git a/ZuneShell/Resources/ICON/136.ico b/ZuneShell/Resources/ICON/136.ico new file mode 100644 index 0000000..7e5d17f Binary files /dev/null and b/ZuneShell/Resources/ICON/136.ico differ diff --git a/ZuneShell/Resources/ICON/137.ico b/ZuneShell/Resources/ICON/137.ico new file mode 100644 index 0000000..89baf8a Binary files /dev/null and b/ZuneShell/Resources/ICON/137.ico differ diff --git a/ZuneShell/Resources/ICON/138.ico b/ZuneShell/Resources/ICON/138.ico new file mode 100644 index 0000000..c96a427 Binary files /dev/null and b/ZuneShell/Resources/ICON/138.ico differ diff --git a/ZuneShell/Resources/ICON/139.ico b/ZuneShell/Resources/ICON/139.ico new file mode 100644 index 0000000..cd98a9c Binary files /dev/null and b/ZuneShell/Resources/ICON/139.ico differ diff --git a/ZuneShell/Resources/ICON/14.ico b/ZuneShell/Resources/ICON/14.ico new file mode 100644 index 0000000..65baf17 Binary files /dev/null and b/ZuneShell/Resources/ICON/14.ico differ diff --git a/ZuneShell/Resources/ICON/140.ico b/ZuneShell/Resources/ICON/140.ico new file mode 100644 index 0000000..f371c5e Binary files /dev/null and b/ZuneShell/Resources/ICON/140.ico differ diff --git a/ZuneShell/Resources/ICON/141.ico b/ZuneShell/Resources/ICON/141.ico new file mode 100644 index 0000000..ae31c8f Binary files /dev/null and b/ZuneShell/Resources/ICON/141.ico differ diff --git a/ZuneShell/Resources/ICON/142.ico b/ZuneShell/Resources/ICON/142.ico new file mode 100644 index 0000000..998b318 Binary files /dev/null and b/ZuneShell/Resources/ICON/142.ico differ diff --git a/ZuneShell/Resources/ICON/143.ico b/ZuneShell/Resources/ICON/143.ico new file mode 100644 index 0000000..a84aae8 Binary files /dev/null and b/ZuneShell/Resources/ICON/143.ico differ diff --git a/ZuneShell/Resources/ICON/144.ico b/ZuneShell/Resources/ICON/144.ico new file mode 100644 index 0000000..8c416b1 Binary files /dev/null and b/ZuneShell/Resources/ICON/144.ico differ diff --git a/ZuneShell/Resources/ICON/145.ico b/ZuneShell/Resources/ICON/145.ico new file mode 100644 index 0000000..d167c18 Binary files /dev/null and b/ZuneShell/Resources/ICON/145.ico differ diff --git a/ZuneShell/Resources/ICON/146.ico b/ZuneShell/Resources/ICON/146.ico new file mode 100644 index 0000000..4f0e574 Binary files /dev/null and b/ZuneShell/Resources/ICON/146.ico differ diff --git a/ZuneShell/Resources/ICON/147.ico b/ZuneShell/Resources/ICON/147.ico new file mode 100644 index 0000000..5c32d2a Binary files /dev/null and b/ZuneShell/Resources/ICON/147.ico differ diff --git a/ZuneShell/Resources/ICON/148.ico b/ZuneShell/Resources/ICON/148.ico new file mode 100644 index 0000000..9a1bb17 Binary files /dev/null and b/ZuneShell/Resources/ICON/148.ico differ diff --git a/ZuneShell/Resources/ICON/149.ico b/ZuneShell/Resources/ICON/149.ico new file mode 100644 index 0000000..f355e6c Binary files /dev/null and b/ZuneShell/Resources/ICON/149.ico differ diff --git a/ZuneShell/Resources/ICON/15.ico b/ZuneShell/Resources/ICON/15.ico new file mode 100644 index 0000000..04cbbac Binary files /dev/null and b/ZuneShell/Resources/ICON/15.ico differ diff --git a/ZuneShell/Resources/ICON/150.ico b/ZuneShell/Resources/ICON/150.ico new file mode 100644 index 0000000..8f7e3e6 Binary files /dev/null and b/ZuneShell/Resources/ICON/150.ico differ diff --git a/ZuneShell/Resources/ICON/151.ico b/ZuneShell/Resources/ICON/151.ico new file mode 100644 index 0000000..c03e07e Binary files /dev/null and b/ZuneShell/Resources/ICON/151.ico differ diff --git a/ZuneShell/Resources/ICON/152.ico b/ZuneShell/Resources/ICON/152.ico new file mode 100644 index 0000000..05ba350 Binary files /dev/null and b/ZuneShell/Resources/ICON/152.ico differ diff --git a/ZuneShell/Resources/ICON/153.ico b/ZuneShell/Resources/ICON/153.ico new file mode 100644 index 0000000..38cb3c1 Binary files /dev/null and b/ZuneShell/Resources/ICON/153.ico differ diff --git a/ZuneShell/Resources/ICON/154.ico b/ZuneShell/Resources/ICON/154.ico new file mode 100644 index 0000000..a6baade Binary files /dev/null and b/ZuneShell/Resources/ICON/154.ico differ diff --git a/ZuneShell/Resources/ICON/155.ico b/ZuneShell/Resources/ICON/155.ico new file mode 100644 index 0000000..602c8ce Binary files /dev/null and b/ZuneShell/Resources/ICON/155.ico differ diff --git a/ZuneShell/Resources/ICON/156.ico b/ZuneShell/Resources/ICON/156.ico new file mode 100644 index 0000000..b65ef6f Binary files /dev/null and b/ZuneShell/Resources/ICON/156.ico differ diff --git a/ZuneShell/Resources/ICON/16.ico b/ZuneShell/Resources/ICON/16.ico new file mode 100644 index 0000000..bb2bea0 Binary files /dev/null and b/ZuneShell/Resources/ICON/16.ico differ diff --git a/ZuneShell/Resources/ICON/17.ico b/ZuneShell/Resources/ICON/17.ico new file mode 100644 index 0000000..2431668 Binary files /dev/null and b/ZuneShell/Resources/ICON/17.ico differ diff --git a/ZuneShell/Resources/ICON/18.ico b/ZuneShell/Resources/ICON/18.ico new file mode 100644 index 0000000..53e5d3d Binary files /dev/null and b/ZuneShell/Resources/ICON/18.ico differ diff --git a/ZuneShell/Resources/ICON/19.ico b/ZuneShell/Resources/ICON/19.ico new file mode 100644 index 0000000..4afbcda Binary files /dev/null and b/ZuneShell/Resources/ICON/19.ico differ diff --git a/ZuneShell/Resources/ICON/2.ico b/ZuneShell/Resources/ICON/2.ico new file mode 100644 index 0000000..e8ce5bd Binary files /dev/null and b/ZuneShell/Resources/ICON/2.ico differ diff --git a/ZuneShell/Resources/ICON/20 b/ZuneShell/Resources/ICON/20 new file mode 100644 index 0000000..5439bee Binary files /dev/null and b/ZuneShell/Resources/ICON/20 differ diff --git a/ZuneShell/Resources/ICON/21.ico b/ZuneShell/Resources/ICON/21.ico new file mode 100644 index 0000000..c9fbe4d Binary files /dev/null and b/ZuneShell/Resources/ICON/21.ico differ diff --git a/ZuneShell/Resources/ICON/22.ico b/ZuneShell/Resources/ICON/22.ico new file mode 100644 index 0000000..f1fd815 Binary files /dev/null and b/ZuneShell/Resources/ICON/22.ico differ diff --git a/ZuneShell/Resources/ICON/23.ico b/ZuneShell/Resources/ICON/23.ico new file mode 100644 index 0000000..1f4d50b Binary files /dev/null and b/ZuneShell/Resources/ICON/23.ico differ diff --git a/ZuneShell/Resources/ICON/24.ico b/ZuneShell/Resources/ICON/24.ico new file mode 100644 index 0000000..ce50ffa Binary files /dev/null and b/ZuneShell/Resources/ICON/24.ico differ diff --git a/ZuneShell/Resources/ICON/25.ico b/ZuneShell/Resources/ICON/25.ico new file mode 100644 index 0000000..2431668 Binary files /dev/null and b/ZuneShell/Resources/ICON/25.ico differ diff --git a/ZuneShell/Resources/ICON/26.ico b/ZuneShell/Resources/ICON/26.ico new file mode 100644 index 0000000..53e5d3d Binary files /dev/null and b/ZuneShell/Resources/ICON/26.ico differ diff --git a/ZuneShell/Resources/ICON/27.ico b/ZuneShell/Resources/ICON/27.ico new file mode 100644 index 0000000..4afbcda Binary files /dev/null and b/ZuneShell/Resources/ICON/27.ico differ diff --git a/ZuneShell/Resources/ICON/28 b/ZuneShell/Resources/ICON/28 new file mode 100644 index 0000000..a71db00 Binary files /dev/null and b/ZuneShell/Resources/ICON/28 differ diff --git a/ZuneShell/Resources/ICON/29.ico b/ZuneShell/Resources/ICON/29.ico new file mode 100644 index 0000000..c25570a Binary files /dev/null and b/ZuneShell/Resources/ICON/29.ico differ diff --git a/ZuneShell/Resources/ICON/3.ico b/ZuneShell/Resources/ICON/3.ico new file mode 100644 index 0000000..4b58bb4 Binary files /dev/null and b/ZuneShell/Resources/ICON/3.ico differ diff --git a/ZuneShell/Resources/ICON/30.ico b/ZuneShell/Resources/ICON/30.ico new file mode 100644 index 0000000..0d44e7a Binary files /dev/null and b/ZuneShell/Resources/ICON/30.ico differ diff --git a/ZuneShell/Resources/ICON/31.ico b/ZuneShell/Resources/ICON/31.ico new file mode 100644 index 0000000..430d9d2 Binary files /dev/null and b/ZuneShell/Resources/ICON/31.ico differ diff --git a/ZuneShell/Resources/ICON/32.ico b/ZuneShell/Resources/ICON/32.ico new file mode 100644 index 0000000..017413c Binary files /dev/null and b/ZuneShell/Resources/ICON/32.ico differ diff --git a/ZuneShell/Resources/ICON/33.ico b/ZuneShell/Resources/ICON/33.ico new file mode 100644 index 0000000..2431668 Binary files /dev/null and b/ZuneShell/Resources/ICON/33.ico differ diff --git a/ZuneShell/Resources/ICON/34.ico b/ZuneShell/Resources/ICON/34.ico new file mode 100644 index 0000000..53e5d3d Binary files /dev/null and b/ZuneShell/Resources/ICON/34.ico differ diff --git a/ZuneShell/Resources/ICON/35.ico b/ZuneShell/Resources/ICON/35.ico new file mode 100644 index 0000000..4afbcda Binary files /dev/null and b/ZuneShell/Resources/ICON/35.ico differ diff --git a/ZuneShell/Resources/ICON/36 b/ZuneShell/Resources/ICON/36 new file mode 100644 index 0000000..9efb88e Binary files /dev/null and b/ZuneShell/Resources/ICON/36 differ diff --git a/ZuneShell/Resources/ICON/37.ico b/ZuneShell/Resources/ICON/37.ico new file mode 100644 index 0000000..04098f9 Binary files /dev/null and b/ZuneShell/Resources/ICON/37.ico differ diff --git a/ZuneShell/Resources/ICON/38.ico b/ZuneShell/Resources/ICON/38.ico new file mode 100644 index 0000000..514db38 Binary files /dev/null and b/ZuneShell/Resources/ICON/38.ico differ diff --git a/ZuneShell/Resources/ICON/39.ico b/ZuneShell/Resources/ICON/39.ico new file mode 100644 index 0000000..3504696 Binary files /dev/null and b/ZuneShell/Resources/ICON/39.ico differ diff --git a/ZuneShell/Resources/ICON/4.ico b/ZuneShell/Resources/ICON/4.ico new file mode 100644 index 0000000..5c1e5a7 Binary files /dev/null and b/ZuneShell/Resources/ICON/4.ico differ diff --git a/ZuneShell/Resources/ICON/40.ico b/ZuneShell/Resources/ICON/40.ico new file mode 100644 index 0000000..077fe0c Binary files /dev/null and b/ZuneShell/Resources/ICON/40.ico differ diff --git a/ZuneShell/Resources/ICON/41.ico b/ZuneShell/Resources/ICON/41.ico new file mode 100644 index 0000000..2431668 Binary files /dev/null and b/ZuneShell/Resources/ICON/41.ico differ diff --git a/ZuneShell/Resources/ICON/42.ico b/ZuneShell/Resources/ICON/42.ico new file mode 100644 index 0000000..53e5d3d Binary files /dev/null and b/ZuneShell/Resources/ICON/42.ico differ diff --git a/ZuneShell/Resources/ICON/43.ico b/ZuneShell/Resources/ICON/43.ico new file mode 100644 index 0000000..4afbcda Binary files /dev/null and b/ZuneShell/Resources/ICON/43.ico differ diff --git a/ZuneShell/Resources/ICON/44 b/ZuneShell/Resources/ICON/44 new file mode 100644 index 0000000..da6d7ef Binary files /dev/null and b/ZuneShell/Resources/ICON/44 differ diff --git a/ZuneShell/Resources/ICON/45.ico b/ZuneShell/Resources/ICON/45.ico new file mode 100644 index 0000000..debf9fa Binary files /dev/null and b/ZuneShell/Resources/ICON/45.ico differ diff --git a/ZuneShell/Resources/ICON/46.ico b/ZuneShell/Resources/ICON/46.ico new file mode 100644 index 0000000..0cb5dd5 Binary files /dev/null and b/ZuneShell/Resources/ICON/46.ico differ diff --git a/ZuneShell/Resources/ICON/47.ico b/ZuneShell/Resources/ICON/47.ico new file mode 100644 index 0000000..c49b7a0 Binary files /dev/null and b/ZuneShell/Resources/ICON/47.ico differ diff --git a/ZuneShell/Resources/ICON/48.ico b/ZuneShell/Resources/ICON/48.ico new file mode 100644 index 0000000..6872713 Binary files /dev/null and b/ZuneShell/Resources/ICON/48.ico differ diff --git a/ZuneShell/Resources/ICON/49.ico b/ZuneShell/Resources/ICON/49.ico new file mode 100644 index 0000000..2431668 Binary files /dev/null and b/ZuneShell/Resources/ICON/49.ico differ diff --git a/ZuneShell/Resources/ICON/5 b/ZuneShell/Resources/ICON/5 new file mode 100644 index 0000000..55e6c61 Binary files /dev/null and b/ZuneShell/Resources/ICON/5 differ diff --git a/ZuneShell/Resources/ICON/50.ico b/ZuneShell/Resources/ICON/50.ico new file mode 100644 index 0000000..53e5d3d Binary files /dev/null and b/ZuneShell/Resources/ICON/50.ico differ diff --git a/ZuneShell/Resources/ICON/51.ico b/ZuneShell/Resources/ICON/51.ico new file mode 100644 index 0000000..4afbcda Binary files /dev/null and b/ZuneShell/Resources/ICON/51.ico differ diff --git a/ZuneShell/Resources/ICON/52 b/ZuneShell/Resources/ICON/52 new file mode 100644 index 0000000..6193dc8 Binary files /dev/null and b/ZuneShell/Resources/ICON/52 differ diff --git a/ZuneShell/Resources/ICON/53.ico b/ZuneShell/Resources/ICON/53.ico new file mode 100644 index 0000000..63c91fd Binary files /dev/null and b/ZuneShell/Resources/ICON/53.ico differ diff --git a/ZuneShell/Resources/ICON/54.ico b/ZuneShell/Resources/ICON/54.ico new file mode 100644 index 0000000..63dbc08 Binary files /dev/null and b/ZuneShell/Resources/ICON/54.ico differ diff --git a/ZuneShell/Resources/ICON/55.ico b/ZuneShell/Resources/ICON/55.ico new file mode 100644 index 0000000..cf7fb3c Binary files /dev/null and b/ZuneShell/Resources/ICON/55.ico differ diff --git a/ZuneShell/Resources/ICON/56.ico b/ZuneShell/Resources/ICON/56.ico new file mode 100644 index 0000000..8c5e09c Binary files /dev/null and b/ZuneShell/Resources/ICON/56.ico differ diff --git a/ZuneShell/Resources/ICON/57.ico b/ZuneShell/Resources/ICON/57.ico new file mode 100644 index 0000000..2431668 Binary files /dev/null and b/ZuneShell/Resources/ICON/57.ico differ diff --git a/ZuneShell/Resources/ICON/58.ico b/ZuneShell/Resources/ICON/58.ico new file mode 100644 index 0000000..53e5d3d Binary files /dev/null and b/ZuneShell/Resources/ICON/58.ico differ diff --git a/ZuneShell/Resources/ICON/59.ico b/ZuneShell/Resources/ICON/59.ico new file mode 100644 index 0000000..4afbcda Binary files /dev/null and b/ZuneShell/Resources/ICON/59.ico differ diff --git a/ZuneShell/Resources/ICON/6.ico b/ZuneShell/Resources/ICON/6.ico new file mode 100644 index 0000000..477def6 Binary files /dev/null and b/ZuneShell/Resources/ICON/6.ico differ diff --git a/ZuneShell/Resources/ICON/60 b/ZuneShell/Resources/ICON/60 new file mode 100644 index 0000000..8849b7b Binary files /dev/null and b/ZuneShell/Resources/ICON/60 differ diff --git a/ZuneShell/Resources/ICON/61.ico b/ZuneShell/Resources/ICON/61.ico new file mode 100644 index 0000000..7c50954 Binary files /dev/null and b/ZuneShell/Resources/ICON/61.ico differ diff --git a/ZuneShell/Resources/ICON/62.ico b/ZuneShell/Resources/ICON/62.ico new file mode 100644 index 0000000..5feb807 Binary files /dev/null and b/ZuneShell/Resources/ICON/62.ico differ diff --git a/ZuneShell/Resources/ICON/63.ico b/ZuneShell/Resources/ICON/63.ico new file mode 100644 index 0000000..992af2a Binary files /dev/null and b/ZuneShell/Resources/ICON/63.ico differ diff --git a/ZuneShell/Resources/ICON/64.ico b/ZuneShell/Resources/ICON/64.ico new file mode 100644 index 0000000..fd8bc82 Binary files /dev/null and b/ZuneShell/Resources/ICON/64.ico differ diff --git a/ZuneShell/Resources/ICON/65.ico b/ZuneShell/Resources/ICON/65.ico new file mode 100644 index 0000000..2431668 Binary files /dev/null and b/ZuneShell/Resources/ICON/65.ico differ diff --git a/ZuneShell/Resources/ICON/66.ico b/ZuneShell/Resources/ICON/66.ico new file mode 100644 index 0000000..53e5d3d Binary files /dev/null and b/ZuneShell/Resources/ICON/66.ico differ diff --git a/ZuneShell/Resources/ICON/67.ico b/ZuneShell/Resources/ICON/67.ico new file mode 100644 index 0000000..4afbcda Binary files /dev/null and b/ZuneShell/Resources/ICON/67.ico differ diff --git a/ZuneShell/Resources/ICON/68 b/ZuneShell/Resources/ICON/68 new file mode 100644 index 0000000..67f987a Binary files /dev/null and b/ZuneShell/Resources/ICON/68 differ diff --git a/ZuneShell/Resources/ICON/69.ico b/ZuneShell/Resources/ICON/69.ico new file mode 100644 index 0000000..fd26220 Binary files /dev/null and b/ZuneShell/Resources/ICON/69.ico differ diff --git a/ZuneShell/Resources/ICON/7.ico b/ZuneShell/Resources/ICON/7.ico new file mode 100644 index 0000000..13f22dc Binary files /dev/null and b/ZuneShell/Resources/ICON/7.ico differ diff --git a/ZuneShell/Resources/ICON/70.ico b/ZuneShell/Resources/ICON/70.ico new file mode 100644 index 0000000..981ac57 Binary files /dev/null and b/ZuneShell/Resources/ICON/70.ico differ diff --git a/ZuneShell/Resources/ICON/71.ico b/ZuneShell/Resources/ICON/71.ico new file mode 100644 index 0000000..491ab40 Binary files /dev/null and b/ZuneShell/Resources/ICON/71.ico differ diff --git a/ZuneShell/Resources/ICON/72.ico b/ZuneShell/Resources/ICON/72.ico new file mode 100644 index 0000000..a2d67d5 Binary files /dev/null and b/ZuneShell/Resources/ICON/72.ico differ diff --git a/ZuneShell/Resources/ICON/73.ico b/ZuneShell/Resources/ICON/73.ico new file mode 100644 index 0000000..2431668 Binary files /dev/null and b/ZuneShell/Resources/ICON/73.ico differ diff --git a/ZuneShell/Resources/ICON/74.ico b/ZuneShell/Resources/ICON/74.ico new file mode 100644 index 0000000..53e5d3d Binary files /dev/null and b/ZuneShell/Resources/ICON/74.ico differ diff --git a/ZuneShell/Resources/ICON/75.ico b/ZuneShell/Resources/ICON/75.ico new file mode 100644 index 0000000..4afbcda Binary files /dev/null and b/ZuneShell/Resources/ICON/75.ico differ diff --git a/ZuneShell/Resources/ICON/76 b/ZuneShell/Resources/ICON/76 new file mode 100644 index 0000000..4dadb54 Binary files /dev/null and b/ZuneShell/Resources/ICON/76 differ diff --git a/ZuneShell/Resources/ICON/77.ico b/ZuneShell/Resources/ICON/77.ico new file mode 100644 index 0000000..17c84a7 Binary files /dev/null and b/ZuneShell/Resources/ICON/77.ico differ diff --git a/ZuneShell/Resources/ICON/78.ico b/ZuneShell/Resources/ICON/78.ico new file mode 100644 index 0000000..5d5d7ec Binary files /dev/null and b/ZuneShell/Resources/ICON/78.ico differ diff --git a/ZuneShell/Resources/ICON/79.ico b/ZuneShell/Resources/ICON/79.ico new file mode 100644 index 0000000..8b676fd Binary files /dev/null and b/ZuneShell/Resources/ICON/79.ico differ diff --git a/ZuneShell/Resources/ICON/8.ico b/ZuneShell/Resources/ICON/8.ico new file mode 100644 index 0000000..e3dc998 Binary files /dev/null and b/ZuneShell/Resources/ICON/8.ico differ diff --git a/ZuneShell/Resources/ICON/80.ico b/ZuneShell/Resources/ICON/80.ico new file mode 100644 index 0000000..11d5050 Binary files /dev/null and b/ZuneShell/Resources/ICON/80.ico differ diff --git a/ZuneShell/Resources/ICON/81.ico b/ZuneShell/Resources/ICON/81.ico new file mode 100644 index 0000000..2431668 Binary files /dev/null and b/ZuneShell/Resources/ICON/81.ico differ diff --git a/ZuneShell/Resources/ICON/82.ico b/ZuneShell/Resources/ICON/82.ico new file mode 100644 index 0000000..53e5d3d Binary files /dev/null and b/ZuneShell/Resources/ICON/82.ico differ diff --git a/ZuneShell/Resources/ICON/83.ico b/ZuneShell/Resources/ICON/83.ico new file mode 100644 index 0000000..4afbcda Binary files /dev/null and b/ZuneShell/Resources/ICON/83.ico differ diff --git a/ZuneShell/Resources/ICON/84 b/ZuneShell/Resources/ICON/84 new file mode 100644 index 0000000..62875c8 Binary files /dev/null and b/ZuneShell/Resources/ICON/84 differ diff --git a/ZuneShell/Resources/ICON/85.ico b/ZuneShell/Resources/ICON/85.ico new file mode 100644 index 0000000..ec7cffd Binary files /dev/null and b/ZuneShell/Resources/ICON/85.ico differ diff --git a/ZuneShell/Resources/ICON/86.ico b/ZuneShell/Resources/ICON/86.ico new file mode 100644 index 0000000..307a517 Binary files /dev/null and b/ZuneShell/Resources/ICON/86.ico differ diff --git a/ZuneShell/Resources/ICON/87.ico b/ZuneShell/Resources/ICON/87.ico new file mode 100644 index 0000000..4ede1e5 Binary files /dev/null and b/ZuneShell/Resources/ICON/87.ico differ diff --git a/ZuneShell/Resources/ICON/88.ico b/ZuneShell/Resources/ICON/88.ico new file mode 100644 index 0000000..4d700a5 Binary files /dev/null and b/ZuneShell/Resources/ICON/88.ico differ diff --git a/ZuneShell/Resources/ICON/89.ico b/ZuneShell/Resources/ICON/89.ico new file mode 100644 index 0000000..2431668 Binary files /dev/null and b/ZuneShell/Resources/ICON/89.ico differ diff --git a/ZuneShell/Resources/ICON/9.ico b/ZuneShell/Resources/ICON/9.ico new file mode 100644 index 0000000..6827445 Binary files /dev/null and b/ZuneShell/Resources/ICON/9.ico differ diff --git a/ZuneShell/Resources/ICON/90.ico b/ZuneShell/Resources/ICON/90.ico new file mode 100644 index 0000000..53e5d3d Binary files /dev/null and b/ZuneShell/Resources/ICON/90.ico differ diff --git a/ZuneShell/Resources/ICON/91.ico b/ZuneShell/Resources/ICON/91.ico new file mode 100644 index 0000000..1dc66b8 Binary files /dev/null and b/ZuneShell/Resources/ICON/91.ico differ diff --git a/ZuneShell/Resources/ICON/92.ico b/ZuneShell/Resources/ICON/92.ico new file mode 100644 index 0000000..0ef6685 Binary files /dev/null and b/ZuneShell/Resources/ICON/92.ico differ diff --git a/ZuneShell/Resources/ICON/93.ico b/ZuneShell/Resources/ICON/93.ico new file mode 100644 index 0000000..4c6a5a7 Binary files /dev/null and b/ZuneShell/Resources/ICON/93.ico differ diff --git a/ZuneShell/Resources/ICON/94.ico b/ZuneShell/Resources/ICON/94.ico new file mode 100644 index 0000000..f6f0f3d Binary files /dev/null and b/ZuneShell/Resources/ICON/94.ico differ diff --git a/ZuneShell/Resources/ICON/95.ico b/ZuneShell/Resources/ICON/95.ico new file mode 100644 index 0000000..81ac89b Binary files /dev/null and b/ZuneShell/Resources/ICON/95.ico differ diff --git a/ZuneShell/Resources/ICON/96.ico b/ZuneShell/Resources/ICON/96.ico new file mode 100644 index 0000000..11f7771 Binary files /dev/null and b/ZuneShell/Resources/ICON/96.ico differ diff --git a/ZuneShell/Resources/ICON/97.ico b/ZuneShell/Resources/ICON/97.ico new file mode 100644 index 0000000..ae8150c Binary files /dev/null and b/ZuneShell/Resources/ICON/97.ico differ diff --git a/ZuneShell/Resources/ICON/98.ico b/ZuneShell/Resources/ICON/98.ico new file mode 100644 index 0000000..b88aa5a Binary files /dev/null and b/ZuneShell/Resources/ICON/98.ico differ diff --git a/ZuneShell/Resources/ICON/99.ico b/ZuneShell/Resources/ICON/99.ico new file mode 100644 index 0000000..6e1b513 Binary files /dev/null and b/ZuneShell/Resources/ICON/99.ico differ diff --git a/ZuneShell/Resources/MANIFEST/2 b/ZuneShell/Resources/MANIFEST/2 new file mode 100644 index 0000000..050bb15 --- /dev/null +++ b/ZuneShell/Resources/MANIFEST/2 @@ -0,0 +1,11 @@ + + + + + Microsoft Zune + + + + + + diff --git a/ZuneShell/Resources/RCDATA/ABOUTDIALOG.UIX b/ZuneShell/Resources/RCDATA/ABOUTDIALOG.UIX new file mode 100644 index 0000000..1c6901e --- /dev/null +++ b/ZuneShell/Resources/RCDATA/ABOUTDIALOG.UIX @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ZuneShell/Resources/RCDATA/ABOUTDIALOG.og.UIX b/ZuneShell/Resources/RCDATA/ABOUTDIALOG.og.UIX new file mode 100644 index 0000000..06f7d2f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ABOUTDIALOG.og.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ACCOUNT.CCV.HELP.AMEX.PNG b/ZuneShell/Resources/RCDATA/ACCOUNT.CCV.HELP.AMEX.PNG new file mode 100644 index 0000000..369f3fc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACCOUNT.CCV.HELP.AMEX.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACCOUNT.CCV.HELP.VISA.PNG b/ZuneShell/Resources/RCDATA/ACCOUNT.CCV.HELP.VISA.PNG new file mode 100644 index 0000000..0dc0e9e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACCOUNT.CCV.HELP.VISA.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACCOUNTCREATION.UIX b/ZuneShell/Resources/RCDATA/ACCOUNTCREATION.UIX new file mode 100644 index 0000000..5f65333 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACCOUNTCREATION.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ACCOUNTINFO.UIX b/ZuneShell/Resources/RCDATA/ACCOUNTINFO.UIX new file mode 100644 index 0000000..7165d1c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACCOUNTINFO.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ACQUIRINGALBUMART.PNG b/ZuneShell/Resources/RCDATA/ACQUIRINGALBUMART.PNG new file mode 100644 index 0000000..0205919 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACQUIRINGALBUMART.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIONBUTTON.DISABLED.PNG b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.DISABLED.PNG new file mode 100644 index 0000000..9fdfc01 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIONBUTTON.HOVER.PNG b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.HOVER.PNG new file mode 100644 index 0000000..da6a867 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PINK.DISABLED.PNG b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PINK.DISABLED.PNG new file mode 100644 index 0000000..47310c3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PINK.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PINK.HOVER.PNG b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PINK.HOVER.PNG new file mode 100644 index 0000000..8ef94d9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PINK.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PINK.PNG b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PINK.PNG new file mode 100644 index 0000000..7d10579 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PINK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PINK.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PINK.PRESSED.PNG new file mode 100644 index 0000000..24f958d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PINK.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PNG b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PNG new file mode 100644 index 0000000..5220a6f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PRESSED.PNG new file mode 100644 index 0000000..68d5935 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIONBUTTON.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIONOVERLAY.PNG b/ZuneShell/Resources/RCDATA/ACTIONOVERLAY.PNG new file mode 100644 index 0000000..7b78cd0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIONOVERLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIONPROGRESSBUTTON.PROGRESSBACKGROUND.PNG b/ZuneShell/Resources/RCDATA/ACTIONPROGRESSBUTTON.PROGRESSBACKGROUND.PNG new file mode 100644 index 0000000..e3c0e82 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIONPROGRESSBUTTON.PROGRESSBACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIONPROGRESSBUTTON.PROGRESSBAR.PNG b/ZuneShell/Resources/RCDATA/ACTIONPROGRESSBUTTON.PROGRESSBAR.PNG new file mode 100644 index 0000000..a592a21 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIONPROGRESSBUTTON.PROGRESSBAR.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIONPROGRESSBUTTON.PROGRESSPLAYBACKGROUND.PNG b/ZuneShell/Resources/RCDATA/ACTIONPROGRESSBUTTON.PROGRESSPLAYBACKGROUND.PNG new file mode 100644 index 0000000..3ec1ce6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIONPROGRESSBUTTON.PROGRESSPLAYBACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIONPROGRESSBUTTON.UIX b/ZuneShell/Resources/RCDATA/ACTIONPROGRESSBUTTON.UIX new file mode 100644 index 0000000..58b256e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIONPROGRESSBUTTON.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ACTIVESHADOWBOTTOM.PNG b/ZuneShell/Resources/RCDATA/ACTIVESHADOWBOTTOM.PNG new file mode 100644 index 0000000..5de23ac Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIVESHADOWBOTTOM.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIVESHADOWLEFT.PNG b/ZuneShell/Resources/RCDATA/ACTIVESHADOWLEFT.PNG new file mode 100644 index 0000000..945aec0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIVESHADOWLEFT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIVESHADOWRIGHT.PNG b/ZuneShell/Resources/RCDATA/ACTIVESHADOWRIGHT.PNG new file mode 100644 index 0000000..b6d967d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIVESHADOWRIGHT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIVESHADOWTOP.PNG b/ZuneShell/Resources/RCDATA/ACTIVESHADOWTOP.PNG new file mode 100644 index 0000000..99633c8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIVESHADOWTOP.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ACTIVEUSER.UIX b/ZuneShell/Resources/RCDATA/ACTIVEUSER.UIX new file mode 100644 index 0000000..9d8ee54 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ACTIVEUSER.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ADDTOCOLLECTION.UIX b/ZuneShell/Resources/RCDATA/ADDTOCOLLECTION.UIX new file mode 100644 index 0000000..8e5db25 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ADDTOCOLLECTION.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ADDTOPLAYLIST.UIX b/ZuneShell/Resources/RCDATA/ADDTOPLAYLIST.UIX new file mode 100644 index 0000000..a9c0ddb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ADDTOPLAYLIST.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ADDTOSYNC.UIX b/ZuneShell/Resources/RCDATA/ADDTOSYNC.UIX new file mode 100644 index 0000000..b16b6ea Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ADDTOSYNC.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ALBUM.SMALL.SHADOW.PNG b/ZuneShell/Resources/RCDATA/ALBUM.SMALL.SHADOW.PNG new file mode 100644 index 0000000..3de9ae0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ALBUM.SMALL.SHADOW.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ALBUMSPANEL.UIX b/ZuneShell/Resources/RCDATA/ALBUMSPANEL.UIX new file mode 100644 index 0000000..eb18940 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ALBUMSPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ALBUMSTRIPBACKGROUND.FADE.PNG b/ZuneShell/Resources/RCDATA/ALBUMSTRIPBACKGROUND.FADE.PNG new file mode 100644 index 0000000..bb465e9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ALBUMSTRIPBACKGROUND.FADE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ANIMATEDICONBUTTON.UIX b/ZuneShell/Resources/RCDATA/ANIMATEDICONBUTTON.UIX new file mode 100644 index 0000000..3dd9865 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ANIMATEDICONBUTTON.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ANIMATIONS.UIX b/ZuneShell/Resources/RCDATA/ANIMATIONS.UIX new file mode 100644 index 0000000..c8a2b32 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ANIMATIONS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/APPLICATIONLIBRARY.UIX b/ZuneShell/Resources/RCDATA/APPLICATIONLIBRARY.UIX new file mode 100644 index 0000000..9a2e616 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/APPLICATIONLIBRARY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ARROW.MORE.PNG b/ZuneShell/Resources/RCDATA/ARROW.MORE.PNG new file mode 100644 index 0000000..9dfd5e6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ARROW.MORE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ARROW.MORE.WHITE.PNG b/ZuneShell/Resources/RCDATA/ARROW.MORE.WHITE.PNG new file mode 100644 index 0000000..28ad03c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ARROW.MORE.WHITE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ARTISTBOX.BACKGROUND.DISABLED.PNG b/ZuneShell/Resources/RCDATA/ARTISTBOX.BACKGROUND.DISABLED.PNG new file mode 100644 index 0000000..95fde4b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ARTISTBOX.BACKGROUND.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ARTISTBOX.BACKGROUND.FOCUSED.PNG b/ZuneShell/Resources/RCDATA/ARTISTBOX.BACKGROUND.FOCUSED.PNG new file mode 100644 index 0000000..9f478b9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ARTISTBOX.BACKGROUND.FOCUSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ARTISTBOX.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/ARTISTBOX.BACKGROUND.PNG new file mode 100644 index 0000000..ee86429 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ARTISTBOX.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ARTISTCHOOSER.UIX b/ZuneShell/Resources/RCDATA/ARTISTCHOOSER.UIX new file mode 100644 index 0000000..056dc4b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ARTISTCHOOSER.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ARTISTSPANEL.UIX b/ZuneShell/Resources/RCDATA/ARTISTSPANEL.UIX new file mode 100644 index 0000000..bf07e1c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ARTISTSPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ASPECTRATIO.FOURBYTHREE.PNG b/ZuneShell/Resources/RCDATA/ASPECTRATIO.FOURBYTHREE.PNG new file mode 100644 index 0000000..9371808 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ASPECTRATIO.FOURBYTHREE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ASPECTRATIO.SQUARE.PNG b/ZuneShell/Resources/RCDATA/ASPECTRATIO.SQUARE.PNG new file mode 100644 index 0000000..a4e1e1b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ASPECTRATIO.SQUARE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ATTENTION.BIG.PNG b/ZuneShell/Resources/RCDATA/ATTENTION.BIG.PNG new file mode 100644 index 0000000..cee0c9d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ATTENTION.BIG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ATTENTION.BIG.WINMO.PNG b/ZuneShell/Resources/RCDATA/ATTENTION.BIG.WINMO.PNG new file mode 100644 index 0000000..829ef4f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ATTENTION.BIG.WINMO.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ATTENTION.PNG b/ZuneShell/Resources/RCDATA/ATTENTION.PNG new file mode 100644 index 0000000..d593864 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ATTENTION.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ATTENTION.SMALL.PNG b/ZuneShell/Resources/RCDATA/ATTENTION.SMALL.PNG new file mode 100644 index 0000000..a0e89e9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ATTENTION.SMALL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/AUTOCOMPLETE.PLUS.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/AUTOCOMPLETE.PLUS.DEFAULT.PNG new file mode 100644 index 0000000..ca3634a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/AUTOCOMPLETE.PLUS.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/AUTOCOMPLETE.PLUS.DISABLED.PNG b/ZuneShell/Resources/RCDATA/AUTOCOMPLETE.PLUS.DISABLED.PNG new file mode 100644 index 0000000..8e51e47 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/AUTOCOMPLETE.PLUS.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/AUTOCOMPLETE.PLUS.HOVER.PNG b/ZuneShell/Resources/RCDATA/AUTOCOMPLETE.PLUS.HOVER.PNG new file mode 100644 index 0000000..11fb992 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/AUTOCOMPLETE.PLUS.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/AUTOCOMPLETEBOX.UIX b/ZuneShell/Resources/RCDATA/AUTOCOMPLETEBOX.UIX new file mode 100644 index 0000000..dd6430c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/AUTOCOMPLETEBOX.UIX differ diff --git a/ZuneShell/Resources/RCDATA/AUTOPLAYLISTDIALOG.UIX b/ZuneShell/Resources/RCDATA/AUTOPLAYLISTDIALOG.UIX new file mode 100644 index 0000000..da89ebf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/AUTOPLAYLISTDIALOG.UIX differ diff --git a/ZuneShell/Resources/RCDATA/BACKGROUND.FADE.PNG b/ZuneShell/Resources/RCDATA/BACKGROUND.FADE.PNG new file mode 100644 index 0000000..42ace7e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BACKGROUND.FADE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.EMPTYGENERICMODULE.PNG b/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.EMPTYGENERICMODULE.PNG new file mode 100644 index 0000000..83c258e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.EMPTYGENERICMODULE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.EMPTYNEWMODULE.PNG b/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.EMPTYNEWMODULE.PNG new file mode 100644 index 0000000..8878470 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.EMPTYNEWMODULE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.OTHERTEXT.PNG b/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.OTHERTEXT.PNG new file mode 100644 index 0000000..b51e9bb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.OTHERTEXT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.PNG b/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.PNG new file mode 100644 index 0000000..663604e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.WELCOMETEXT.PNG b/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.WELCOMETEXT.PNG new file mode 100644 index 0000000..030e3bc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BACKGROUND.QUICKPLAY.WELCOMETEXT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BADGES.UIX b/ZuneShell/Resources/RCDATA/BADGES.UIX new file mode 100644 index 0000000..818bd26 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BADGES.UIX differ diff --git a/ZuneShell/Resources/RCDATA/BANDWIDTH.HD0.PNG b/ZuneShell/Resources/RCDATA/BANDWIDTH.HD0.PNG new file mode 100644 index 0000000..57ed923 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BANDWIDTH.HD0.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BANDWIDTH.HD1.PNG b/ZuneShell/Resources/RCDATA/BANDWIDTH.HD1.PNG new file mode 100644 index 0000000..12a3b58 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BANDWIDTH.HD1.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BANDWIDTH.HD2.PNG b/ZuneShell/Resources/RCDATA/BANDWIDTH.HD2.PNG new file mode 100644 index 0000000..07d6e5d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BANDWIDTH.HD2.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BANDWIDTH.HD3.PNG b/ZuneShell/Resources/RCDATA/BANDWIDTH.HD3.PNG new file mode 100644 index 0000000..f72469f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BANDWIDTH.HD3.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BANDWIDTH.HD4.PNG b/ZuneShell/Resources/RCDATA/BANDWIDTH.HD4.PNG new file mode 100644 index 0000000..3e74633 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BANDWIDTH.HD4.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BANDWIDTH.HDCAPABLE.PNG b/ZuneShell/Resources/RCDATA/BANDWIDTH.HDCAPABLE.PNG new file mode 100644 index 0000000..0def60c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BANDWIDTH.HDCAPABLE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BANDWIDTH.RETRY.PNG b/ZuneShell/Resources/RCDATA/BANDWIDTH.RETRY.PNG new file mode 100644 index 0000000..b146cca Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BANDWIDTH.RETRY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BANDWIDTH.SD0.PNG b/ZuneShell/Resources/RCDATA/BANDWIDTH.SD0.PNG new file mode 100644 index 0000000..82cd73e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BANDWIDTH.SD0.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BANDWIDTH.SD1.PNG b/ZuneShell/Resources/RCDATA/BANDWIDTH.SD1.PNG new file mode 100644 index 0000000..b230fb2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BANDWIDTH.SD1.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BANDWIDTH.SD2.PNG b/ZuneShell/Resources/RCDATA/BANDWIDTH.SD2.PNG new file mode 100644 index 0000000..bea5633 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BANDWIDTH.SD2.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BANDWIDTH.SD3.PNG b/ZuneShell/Resources/RCDATA/BANDWIDTH.SD3.PNG new file mode 100644 index 0000000..a686f3c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BANDWIDTH.SD3.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BANDWIDTH.SD4.PNG b/ZuneShell/Resources/RCDATA/BANDWIDTH.SD4.PNG new file mode 100644 index 0000000..4113074 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BANDWIDTH.SD4.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BANDWIDTH.SDCAPABLE.PNG b/ZuneShell/Resources/RCDATA/BANDWIDTH.SDCAPABLE.PNG new file mode 100644 index 0000000..4b82a99 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BANDWIDTH.SDCAPABLE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BESTVALUE.UIX b/ZuneShell/Resources/RCDATA/BESTVALUE.UIX new file mode 100644 index 0000000..3328705 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BESTVALUE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/BESTVALUEBACKGROUND.PNG b/ZuneShell/Resources/RCDATA/BESTVALUEBACKGROUND.PNG new file mode 100644 index 0000000..4a7851b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BESTVALUEBACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BILLINGOFFER.UIX b/ZuneShell/Resources/RCDATA/BILLINGOFFER.UIX new file mode 100644 index 0000000..40ad9c5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BILLINGOFFER.UIX differ diff --git a/ZuneShell/Resources/RCDATA/BOTTOMTOOLBAR.UIX b/ZuneShell/Resources/RCDATA/BOTTOMTOOLBAR.UIX new file mode 100644 index 0000000..5402d65 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BOTTOMTOOLBAR.UIX differ diff --git a/ZuneShell/Resources/RCDATA/BOXEDTYPES.UIX b/ZuneShell/Resources/RCDATA/BOXEDTYPES.UIX new file mode 100644 index 0000000..15cd9ab Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BOXEDTYPES.UIX differ diff --git a/ZuneShell/Resources/RCDATA/BRANDTAG.HORIZONTAL.PNG b/ZuneShell/Resources/RCDATA/BRANDTAG.HORIZONTAL.PNG new file mode 100644 index 0000000..4140025 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BRANDTAG.HORIZONTAL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BRANDTAG.VERTICAL.PNG b/ZuneShell/Resources/RCDATA/BRANDTAG.VERTICAL.PNG new file mode 100644 index 0000000..12c7afd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BRANDTAG.VERTICAL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BREADCRUMB.CHECK.WHITE.PNG b/ZuneShell/Resources/RCDATA/BREADCRUMB.CHECK.WHITE.PNG new file mode 100644 index 0000000..8c618de Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BREADCRUMB.CHECK.WHITE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/BROKENUPTEXT.UIX b/ZuneShell/Resources/RCDATA/BROKENUPTEXT.UIX new file mode 100644 index 0000000..848487f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BROKENUPTEXT.UIX differ diff --git a/ZuneShell/Resources/RCDATA/BULLETLIST.UIX b/ZuneShell/Resources/RCDATA/BULLETLIST.UIX new file mode 100644 index 0000000..5034e17 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/BULLETLIST.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CDARTSHADOW.PNG b/ZuneShell/Resources/RCDATA/CDARTSHADOW.PNG new file mode 100644 index 0000000..6fc8249 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CDARTSHADOW.PNG differ diff --git a/ZuneShell/Resources/RCDATA/CDLANDSHINE.PNG b/ZuneShell/Resources/RCDATA/CDLANDSHINE.PNG new file mode 100644 index 0000000..79e6077 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CDLANDSHINE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/CDRIPBURNGLOW.PNG b/ZuneShell/Resources/RCDATA/CDRIPBURNGLOW.PNG new file mode 100644 index 0000000..09965ae Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CDRIPBURNGLOW.PNG differ diff --git a/ZuneShell/Resources/RCDATA/CDSTATE.UIX b/ZuneShell/Resources/RCDATA/CDSTATE.UIX new file mode 100644 index 0000000..2d88404 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CDSTATE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CDVIEW.UIX b/ZuneShell/Resources/RCDATA/CDVIEW.UIX new file mode 100644 index 0000000..9f4098a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CDVIEW.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CHANNELDETAILSPANEL.UIX b/ZuneShell/Resources/RCDATA/CHANNELDETAILSPANEL.UIX new file mode 100644 index 0000000..f959ea2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHANNELDETAILSPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CHANNELDEVICEPANEL.UIX b/ZuneShell/Resources/RCDATA/CHANNELDEVICEPANEL.UIX new file mode 100644 index 0000000..84a104c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHANNELDEVICEPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CHANNELDIALOGS.UIX b/ZuneShell/Resources/RCDATA/CHANNELDIALOGS.UIX new file mode 100644 index 0000000..2e17697 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHANNELDIALOGS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CHANNELEPISODESPANEL.UIX b/ZuneShell/Resources/RCDATA/CHANNELEPISODESPANEL.UIX new file mode 100644 index 0000000..8e7f297 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHANNELEPISODESPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CHANNELGLOBALS.UIX b/ZuneShell/Resources/RCDATA/CHANNELGLOBALS.UIX new file mode 100644 index 0000000..f6cddaa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHANNELGLOBALS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CHANNELLIBRARY.UIX b/ZuneShell/Resources/RCDATA/CHANNELLIBRARY.UIX new file mode 100644 index 0000000..81948f5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHANNELLIBRARY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CHANNELS.EMPTY.PNG b/ZuneShell/Resources/RCDATA/CHANNELS.EMPTY.PNG new file mode 100644 index 0000000..4acf24a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHANNELS.EMPTY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/CHANNELS.JUSTFORYOU.PNG b/ZuneShell/Resources/RCDATA/CHANNELS.JUSTFORYOU.PNG new file mode 100644 index 0000000..d4d6ba6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHANNELS.JUSTFORYOU.PNG differ diff --git a/ZuneShell/Resources/RCDATA/CHANNELS.SIGNIN.PNG b/ZuneShell/Resources/RCDATA/CHANNELS.SIGNIN.PNG new file mode 100644 index 0000000..218759f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHANNELS.SIGNIN.PNG differ diff --git a/ZuneShell/Resources/RCDATA/CHANNELSERIESPANEL.UIX b/ZuneShell/Resources/RCDATA/CHANNELSERIESPANEL.UIX new file mode 100644 index 0000000..f5b0e26 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHANNELSERIESPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CHANNELSONGCOLUMNS.UIX b/ZuneShell/Resources/RCDATA/CHANNELSONGCOLUMNS.UIX new file mode 100644 index 0000000..6e86420 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHANNELSONGCOLUMNS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CHECKBOXCHECKED.DARK.PNG b/ZuneShell/Resources/RCDATA/CHECKBOXCHECKED.DARK.PNG new file mode 100644 index 0000000..babac81 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHECKBOXCHECKED.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/CHECKBOXCHECKEDHOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/CHECKBOXCHECKEDHOVER.DARK.PNG new file mode 100644 index 0000000..9a88ecc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHECKBOXCHECKEDHOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/CHECKBOXDISABLED.DARK.PNG b/ZuneShell/Resources/RCDATA/CHECKBOXDISABLED.DARK.PNG new file mode 100644 index 0000000..c3e4a57 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHECKBOXDISABLED.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/CHECKBOXFOCUS.DARK.PNG b/ZuneShell/Resources/RCDATA/CHECKBOXFOCUS.DARK.PNG new file mode 100644 index 0000000..343c3d5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHECKBOXFOCUS.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/CHECKBOXNONFOCUS.DARK.PNG b/ZuneShell/Resources/RCDATA/CHECKBOXNONFOCUS.DARK.PNG new file mode 100644 index 0000000..65b18d0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CHECKBOXNONFOCUS.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/CLIPIMAGE.UIX b/ZuneShell/Resources/RCDATA/CLIPIMAGE.UIX new file mode 100644 index 0000000..3c0f51b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CLIPIMAGE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/COLLECTIONNAVIGATION.UIX b/ZuneShell/Resources/RCDATA/COLLECTIONNAVIGATION.UIX new file mode 100644 index 0000000..5266b04 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/COLLECTIONNAVIGATION.UIX differ diff --git a/ZuneShell/Resources/RCDATA/COMBOBOX.BACKGROUND.INVALID.PNG b/ZuneShell/Resources/RCDATA/COMBOBOX.BACKGROUND.INVALID.PNG new file mode 100644 index 0000000..e51dd88 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/COMBOBOX.BACKGROUND.INVALID.PNG differ diff --git a/ZuneShell/Resources/RCDATA/COMBOBOXWITHICONS.DROPDOWNBACKGROUND.PNG b/ZuneShell/Resources/RCDATA/COMBOBOXWITHICONS.DROPDOWNBACKGROUND.PNG new file mode 100644 index 0000000..91d7099 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/COMBOBOXWITHICONS.DROPDOWNBACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/COMMENTS.UIX b/ZuneShell/Resources/RCDATA/COMMENTS.UIX new file mode 100644 index 0000000..229e2f1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/COMMENTS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/COMPLEXSYNCRULEDIALOG.UIX b/ZuneShell/Resources/RCDATA/COMPLEXSYNCRULEDIALOG.UIX new file mode 100644 index 0000000..5b1997f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/COMPLEXSYNCRULEDIALOG.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CONFIRMALBUMCHANGESDIALOG.UIX b/ZuneShell/Resources/RCDATA/CONFIRMALBUMCHANGESDIALOG.UIX new file mode 100644 index 0000000..1765d8b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CONFIRMALBUMCHANGESDIALOG.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CONFIRMCLOSE.UIX b/ZuneShell/Resources/RCDATA/CONFIRMCLOSE.UIX new file mode 100644 index 0000000..d00f976 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CONFIRMCLOSE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CONTENTLIST.UIX b/ZuneShell/Resources/RCDATA/CONTENTLIST.UIX new file mode 100644 index 0000000..cdb2408 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CONTENTLIST.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CONTROLS.UIX b/ZuneShell/Resources/RCDATA/CONTROLS.UIX new file mode 100644 index 0000000..a313b0b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CONTROLS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CREATEPASSPORT.UIX b/ZuneShell/Resources/RCDATA/CREATEPASSPORT.UIX new file mode 100644 index 0000000..09bd439 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CREATEPASSPORT.UIX differ diff --git a/ZuneShell/Resources/RCDATA/CROSSHATCH.QUICKPLAY.WELCOME.PNG b/ZuneShell/Resources/RCDATA/CROSSHATCH.QUICKPLAY.WELCOME.PNG new file mode 100644 index 0000000..af83041 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/CROSSHATCH.QUICKPLAY.WELCOME.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.0 b/ZuneShell/Resources/RCDATA/DA.7.0.0 new file mode 100644 index 0000000..ab31253 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.0 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.1 b/ZuneShell/Resources/RCDATA/DA.7.0.1 new file mode 100644 index 0000000..d196f04 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.1 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.10 b/ZuneShell/Resources/RCDATA/DA.7.0.10 new file mode 100644 index 0000000..44d1220 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.10 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.11 b/ZuneShell/Resources/RCDATA/DA.7.0.11 new file mode 100644 index 0000000..609e4db Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.11 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.12 b/ZuneShell/Resources/RCDATA/DA.7.0.12 new file mode 100644 index 0000000..b53fa1a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.12 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.13 b/ZuneShell/Resources/RCDATA/DA.7.0.13 new file mode 100644 index 0000000..7b53664 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.13 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.14 b/ZuneShell/Resources/RCDATA/DA.7.0.14 new file mode 100644 index 0000000..9c9d536 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.14 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.15 b/ZuneShell/Resources/RCDATA/DA.7.0.15 new file mode 100644 index 0000000..1fb4604 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.15 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.16 b/ZuneShell/Resources/RCDATA/DA.7.0.16 new file mode 100644 index 0000000..b60e393 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.16 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.17 b/ZuneShell/Resources/RCDATA/DA.7.0.17 new file mode 100644 index 0000000..e9cd071 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.17 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.18 b/ZuneShell/Resources/RCDATA/DA.7.0.18 new file mode 100644 index 0000000..5a1eecd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.18 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.19 b/ZuneShell/Resources/RCDATA/DA.7.0.19 new file mode 100644 index 0000000..d86c98d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.19 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.2 b/ZuneShell/Resources/RCDATA/DA.7.0.2 new file mode 100644 index 0000000..ddf2fb9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.2 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.20 b/ZuneShell/Resources/RCDATA/DA.7.0.20 new file mode 100644 index 0000000..d41a023 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.20 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.21 b/ZuneShell/Resources/RCDATA/DA.7.0.21 new file mode 100644 index 0000000..24100c6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.21 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.22 b/ZuneShell/Resources/RCDATA/DA.7.0.22 new file mode 100644 index 0000000..8845280 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.22 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.3 b/ZuneShell/Resources/RCDATA/DA.7.0.3 new file mode 100644 index 0000000..1030a6c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.3 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.4 b/ZuneShell/Resources/RCDATA/DA.7.0.4 new file mode 100644 index 0000000..1030a6c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.4 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.5 b/ZuneShell/Resources/RCDATA/DA.7.0.5 new file mode 100644 index 0000000..8879ee4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.5 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.6 b/ZuneShell/Resources/RCDATA/DA.7.0.6 new file mode 100644 index 0000000..532e2b7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.6 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.7 b/ZuneShell/Resources/RCDATA/DA.7.0.7 new file mode 100644 index 0000000..9e60c23 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.7 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.8 b/ZuneShell/Resources/RCDATA/DA.7.0.8 new file mode 100644 index 0000000..ed62284 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.8 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.0.9 b/ZuneShell/Resources/RCDATA/DA.7.0.9 new file mode 100644 index 0000000..ed62284 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.0.9 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.0 b/ZuneShell/Resources/RCDATA/DA.7.1.0 new file mode 100644 index 0000000..664aff9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.0 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.1 b/ZuneShell/Resources/RCDATA/DA.7.1.1 new file mode 100644 index 0000000..1bfa3c0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.1 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.10 b/ZuneShell/Resources/RCDATA/DA.7.1.10 new file mode 100644 index 0000000..44d1220 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.10 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.11 b/ZuneShell/Resources/RCDATA/DA.7.1.11 new file mode 100644 index 0000000..609e4db Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.11 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.12 b/ZuneShell/Resources/RCDATA/DA.7.1.12 new file mode 100644 index 0000000..b53fa1a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.12 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.13 b/ZuneShell/Resources/RCDATA/DA.7.1.13 new file mode 100644 index 0000000..7b53664 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.13 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.14 b/ZuneShell/Resources/RCDATA/DA.7.1.14 new file mode 100644 index 0000000..9c9d536 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.14 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.15 b/ZuneShell/Resources/RCDATA/DA.7.1.15 new file mode 100644 index 0000000..1fb4604 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.15 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.16 b/ZuneShell/Resources/RCDATA/DA.7.1.16 new file mode 100644 index 0000000..b60e393 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.16 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.17 b/ZuneShell/Resources/RCDATA/DA.7.1.17 new file mode 100644 index 0000000..e9cd071 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.17 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.18 b/ZuneShell/Resources/RCDATA/DA.7.1.18 new file mode 100644 index 0000000..f08da12 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.18 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.19 b/ZuneShell/Resources/RCDATA/DA.7.1.19 new file mode 100644 index 0000000..d86c98d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.19 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.2 b/ZuneShell/Resources/RCDATA/DA.7.1.2 new file mode 100644 index 0000000..70098c4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.2 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.20 b/ZuneShell/Resources/RCDATA/DA.7.1.20 new file mode 100644 index 0000000..6a5d578 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.20 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.21 b/ZuneShell/Resources/RCDATA/DA.7.1.21 new file mode 100644 index 0000000..24100c6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.21 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.22 b/ZuneShell/Resources/RCDATA/DA.7.1.22 new file mode 100644 index 0000000..8845280 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.22 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.3 b/ZuneShell/Resources/RCDATA/DA.7.1.3 new file mode 100644 index 0000000..87c567c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.3 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.4 b/ZuneShell/Resources/RCDATA/DA.7.1.4 new file mode 100644 index 0000000..f927f77 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.4 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.5 b/ZuneShell/Resources/RCDATA/DA.7.1.5 new file mode 100644 index 0000000..9e24822 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.5 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.6 b/ZuneShell/Resources/RCDATA/DA.7.1.6 new file mode 100644 index 0000000..2164b09 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.6 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.7 b/ZuneShell/Resources/RCDATA/DA.7.1.7 new file mode 100644 index 0000000..8cda083 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.7 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.8 b/ZuneShell/Resources/RCDATA/DA.7.1.8 new file mode 100644 index 0000000..792c7b1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.8 differ diff --git a/ZuneShell/Resources/RCDATA/DA.7.1.9 b/ZuneShell/Resources/RCDATA/DA.7.1.9 new file mode 100644 index 0000000..69cce1c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.7.1.9 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.0 b/ZuneShell/Resources/RCDATA/DA.8.0.0 new file mode 100644 index 0000000..43d4ea6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.0 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.1 b/ZuneShell/Resources/RCDATA/DA.8.0.1 new file mode 100644 index 0000000..8c79e3d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.1 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.10 b/ZuneShell/Resources/RCDATA/DA.8.0.10 new file mode 100644 index 0000000..6adf8fd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.10 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.11 b/ZuneShell/Resources/RCDATA/DA.8.0.11 new file mode 100644 index 0000000..82c9407 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.11 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.12 b/ZuneShell/Resources/RCDATA/DA.8.0.12 new file mode 100644 index 0000000..1fb9c4b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.12 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.13 b/ZuneShell/Resources/RCDATA/DA.8.0.13 new file mode 100644 index 0000000..2e2d30b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.13 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.14 b/ZuneShell/Resources/RCDATA/DA.8.0.14 new file mode 100644 index 0000000..d124538 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.14 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.15 b/ZuneShell/Resources/RCDATA/DA.8.0.15 new file mode 100644 index 0000000..e9fa90e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.15 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.16 b/ZuneShell/Resources/RCDATA/DA.8.0.16 new file mode 100644 index 0000000..b50750d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.16 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.17 b/ZuneShell/Resources/RCDATA/DA.8.0.17 new file mode 100644 index 0000000..04b2db4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.17 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.18 b/ZuneShell/Resources/RCDATA/DA.8.0.18 new file mode 100644 index 0000000..38c3487 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.18 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.19 b/ZuneShell/Resources/RCDATA/DA.8.0.19 new file mode 100644 index 0000000..78e1b7a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.19 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.2 b/ZuneShell/Resources/RCDATA/DA.8.0.2 new file mode 100644 index 0000000..cf89b5a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.2 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.20 b/ZuneShell/Resources/RCDATA/DA.8.0.20 new file mode 100644 index 0000000..655b272 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.20 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.21 b/ZuneShell/Resources/RCDATA/DA.8.0.21 new file mode 100644 index 0000000..090e645 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.21 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.22 b/ZuneShell/Resources/RCDATA/DA.8.0.22 new file mode 100644 index 0000000..8845280 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.22 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.3 b/ZuneShell/Resources/RCDATA/DA.8.0.3 new file mode 100644 index 0000000..cae8d80 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.3 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.4 b/ZuneShell/Resources/RCDATA/DA.8.0.4 new file mode 100644 index 0000000..cae8d80 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.4 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.5 b/ZuneShell/Resources/RCDATA/DA.8.0.5 new file mode 100644 index 0000000..521ef4a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.5 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.6 b/ZuneShell/Resources/RCDATA/DA.8.0.6 new file mode 100644 index 0000000..025df88 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.6 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.7 b/ZuneShell/Resources/RCDATA/DA.8.0.7 new file mode 100644 index 0000000..c316425 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.7 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.8 b/ZuneShell/Resources/RCDATA/DA.8.0.8 new file mode 100644 index 0000000..3c950c4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.8 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.0.9 b/ZuneShell/Resources/RCDATA/DA.8.0.9 new file mode 100644 index 0000000..3c950c4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.0.9 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.0 b/ZuneShell/Resources/RCDATA/DA.8.1.0 new file mode 100644 index 0000000..ba0202f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.0 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.1 b/ZuneShell/Resources/RCDATA/DA.8.1.1 new file mode 100644 index 0000000..6b113c5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.1 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.10 b/ZuneShell/Resources/RCDATA/DA.8.1.10 new file mode 100644 index 0000000..6adf8fd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.10 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.11 b/ZuneShell/Resources/RCDATA/DA.8.1.11 new file mode 100644 index 0000000..82c9407 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.11 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.12 b/ZuneShell/Resources/RCDATA/DA.8.1.12 new file mode 100644 index 0000000..1fb9c4b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.12 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.13 b/ZuneShell/Resources/RCDATA/DA.8.1.13 new file mode 100644 index 0000000..2e2d30b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.13 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.14 b/ZuneShell/Resources/RCDATA/DA.8.1.14 new file mode 100644 index 0000000..d124538 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.14 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.15 b/ZuneShell/Resources/RCDATA/DA.8.1.15 new file mode 100644 index 0000000..e9fa90e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.15 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.16 b/ZuneShell/Resources/RCDATA/DA.8.1.16 new file mode 100644 index 0000000..b50750d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.16 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.17 b/ZuneShell/Resources/RCDATA/DA.8.1.17 new file mode 100644 index 0000000..04b2db4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.17 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.18 b/ZuneShell/Resources/RCDATA/DA.8.1.18 new file mode 100644 index 0000000..f71be73 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.18 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.19 b/ZuneShell/Resources/RCDATA/DA.8.1.19 new file mode 100644 index 0000000..78e1b7a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.19 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.2 b/ZuneShell/Resources/RCDATA/DA.8.1.2 new file mode 100644 index 0000000..ba5338c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.2 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.20 b/ZuneShell/Resources/RCDATA/DA.8.1.20 new file mode 100644 index 0000000..85a96df Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.20 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.21 b/ZuneShell/Resources/RCDATA/DA.8.1.21 new file mode 100644 index 0000000..090e645 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.21 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.22 b/ZuneShell/Resources/RCDATA/DA.8.1.22 new file mode 100644 index 0000000..8845280 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.22 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.3 b/ZuneShell/Resources/RCDATA/DA.8.1.3 new file mode 100644 index 0000000..fd25487 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.3 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.4 b/ZuneShell/Resources/RCDATA/DA.8.1.4 new file mode 100644 index 0000000..fd25487 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.4 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.5 b/ZuneShell/Resources/RCDATA/DA.8.1.5 new file mode 100644 index 0000000..55d4dbd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.5 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.6 b/ZuneShell/Resources/RCDATA/DA.8.1.6 new file mode 100644 index 0000000..739d869 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.6 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.7 b/ZuneShell/Resources/RCDATA/DA.8.1.7 new file mode 100644 index 0000000..f9463e7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.7 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.8 b/ZuneShell/Resources/RCDATA/DA.8.1.8 new file mode 100644 index 0000000..521fd0f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.8 differ diff --git a/ZuneShell/Resources/RCDATA/DA.8.1.9 b/ZuneShell/Resources/RCDATA/DA.8.1.9 new file mode 100644 index 0000000..521fd0f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DA.8.1.9 differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.BACKGROUND.PNG new file mode 100644 index 0000000..059d5b3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..b24778c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..f652bc6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..c0725b1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..4115a88 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..60c8ef4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..5bcd648 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..903f7fe Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..7b93f04 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..8a34426 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..cfa5ea9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..4c5804d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.CLICK.PNG new file mode 100644 index 0000000..ac1e1c2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..db596b0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..f3d5487 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..dfe4a13 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.DRAG.PNG new file mode 100644 index 0000000..efe6db3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..4fe9f8f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.HOVER.PNG new file mode 100644 index 0000000..775aa4c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.DISCONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..81edef8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.LARGE.DISCONNECTED.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.LARGE.DISCONNECTED.PNG new file mode 100644 index 0000000..ab6a431 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.LARGE.DISCONNECTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..f0a4fec Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.MEDIUM.UNSUPPORTED.PNG b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.MEDIUM.UNSUPPORTED.PNG new file mode 100644 index 0000000..a65b5fa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEFAULTDEVICE.MEDIUM.UNSUPPORTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEVICEFIRMWARE.UIX b/ZuneShell/Resources/RCDATA/DEVICEFIRMWARE.UIX new file mode 100644 index 0000000..ff93d60 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICEFIRMWARE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICEHORIZON.PNG b/ZuneShell/Resources/RCDATA/DEVICEHORIZON.PNG new file mode 100644 index 0000000..58ce51e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICEHORIZON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DEVICEICON.UIX b/ZuneShell/Resources/RCDATA/DEVICEICON.UIX new file mode 100644 index 0000000..acc214e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICEICON.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICEICONPOPUP.UIX b/ZuneShell/Resources/RCDATA/DEVICEICONPOPUP.UIX new file mode 100644 index 0000000..9559542 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICEICONPOPUP.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICEICONS.UIX b/ZuneShell/Resources/RCDATA/DEVICEICONS.UIX new file mode 100644 index 0000000..f18c2a1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICEICONS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICELANDELEMENTS.UIX b/ZuneShell/Resources/RCDATA/DEVICELANDELEMENTS.UIX new file mode 100644 index 0000000..c046e04 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICELANDELEMENTS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICELANDFILTERS.UIX b/ZuneShell/Resources/RCDATA/DEVICELANDFILTERS.UIX new file mode 100644 index 0000000..bd8e512 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICELANDFILTERS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICEMARKETPLACE.UIX b/ZuneShell/Resources/RCDATA/DEVICEMARKETPLACE.UIX new file mode 100644 index 0000000..354892d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICEMARKETPLACE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICEMOREONWEB.UIX b/ZuneShell/Resources/RCDATA/DEVICEMOREONWEB.UIX new file mode 100644 index 0000000..0ac2428 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICEMOREONWEB.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICENAME.UIX b/ZuneShell/Resources/RCDATA/DEVICENAME.UIX new file mode 100644 index 0000000..69c9424 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICENAME.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICEPICTUREVIDEO.UIX b/ZuneShell/Resources/RCDATA/DEVICEPICTUREVIDEO.UIX new file mode 100644 index 0000000..3dea9ae Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICEPICTUREVIDEO.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICEPRIVACY.UIX b/ZuneShell/Resources/RCDATA/DEVICEPRIVACY.UIX new file mode 100644 index 0000000..9decabd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICEPRIVACY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICERESTORE.UIX b/ZuneShell/Resources/RCDATA/DEVICERESTORE.UIX new file mode 100644 index 0000000..86609d1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICERESTORE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICEROLLBACK.UIX b/ZuneShell/Resources/RCDATA/DEVICEROLLBACK.UIX new file mode 100644 index 0000000..1cd0e9d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICEROLLBACK.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICESIGNINFAILURE.UIX b/ZuneShell/Resources/RCDATA/DEVICESIGNINFAILURE.UIX new file mode 100644 index 0000000..f75b9f3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICESIGNINFAILURE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICESPACERESERVATION.UIX b/ZuneShell/Resources/RCDATA/DEVICESPACERESERVATION.UIX new file mode 100644 index 0000000..2eb6930 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICESPACERESERVATION.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICESUMMARY.UIX b/ZuneShell/Resources/RCDATA/DEVICESUMMARY.UIX new file mode 100644 index 0000000..da44d4f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICESUMMARY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICESUMMARYDATA.UIX b/ZuneShell/Resources/RCDATA/DEVICESUMMARYDATA.UIX new file mode 100644 index 0000000..48ca8d0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICESUMMARYDATA.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICESUMMARYSTATUS.UIX b/ZuneShell/Resources/RCDATA/DEVICESUMMARYSTATUS.UIX new file mode 100644 index 0000000..4d3e7be Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICESUMMARYSTATUS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICESYNCGROUPS.UIX b/ZuneShell/Resources/RCDATA/DEVICESYNCGROUPS.UIX new file mode 100644 index 0000000..b8e6cbf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICESYNCGROUPS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICESYNCOPTIONS.UIX b/ZuneShell/Resources/RCDATA/DEVICESYNCOPTIONS.UIX new file mode 100644 index 0000000..51cfa48 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICESYNCOPTIONS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICETRANSCODE.UIX b/ZuneShell/Resources/RCDATA/DEVICETRANSCODE.UIX new file mode 100644 index 0000000..f8e8532 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICETRANSCODE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICEUPDATE.UIX b/ZuneShell/Resources/RCDATA/DEVICEUPDATE.UIX new file mode 100644 index 0000000..238b962 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICEUPDATE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DEVICEWIRELESSSYNC.UIX b/ZuneShell/Resources/RCDATA/DEVICEWIRELESSSYNC.UIX new file mode 100644 index 0000000..6f09fd7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DEVICEWIRELESSSYNC.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DIALOG.CROSSFADE.PNG b/ZuneShell/Resources/RCDATA/DIALOG.CROSSFADE.PNG new file mode 100644 index 0000000..8166419 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DIALOG.CROSSFADE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DIALOG.UIX b/ZuneShell/Resources/RCDATA/DIALOG.UIX new file mode 100644 index 0000000..6a3fa63 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DIALOG.UIX differ diff --git a/ZuneShell/Resources/RCDATA/DIVIDER.SETTINGS.PNG b/ZuneShell/Resources/RCDATA/DIVIDER.SETTINGS.PNG new file mode 100644 index 0000000..c173316 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DIVIDER.SETTINGS.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DOWNLOAD.NP.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DOWNLOAD.NP.DEFAULT.PNG new file mode 100644 index 0000000..5724b0d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DOWNLOAD.NP.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DOWNLOAD.NP.HOVER.PNG b/ZuneShell/Resources/RCDATA/DOWNLOAD.NP.HOVER.PNG new file mode 100644 index 0000000..2df2dfb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DOWNLOAD.NP.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DOWNLOAD.NP.PRESSED.PNG b/ZuneShell/Resources/RCDATA/DOWNLOAD.NP.PRESSED.PNG new file mode 100644 index 0000000..709670a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DOWNLOAD.NP.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACK.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACK.BACKGROUND.PNG new file mode 100644 index 0000000..9bfcc7b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACK.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..898e9f6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..07deeb4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..790f11a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..2014199 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..539b6cf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..0b142a0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..af79644 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..72fefdd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..5dc4434 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..0b142a0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACK.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACK.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACK.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..08db827 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACK.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACK.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACK.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..e873d61 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACK.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.BACKGROUND.PNG new file mode 100644 index 0000000..9bfcc7b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..8bfcec8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..990c79d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..a621777 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..7f7b7f7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..a6272a4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..363f56b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..af76d99 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..e3abc0d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..a6272a4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..363f56b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..94b82bc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..2bff379 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLACKBLACK.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.BACKGROUND.PNG new file mode 100644 index 0000000..da7e31d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..bd32234 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..bd32234 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..6b7e0a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..6b7e0a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..0063b7b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..0063b7b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..65a8a22 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..65a8a22 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..0063b7b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..0063b7b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..ef655bc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..0924f25 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUEBLACK.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.BACKGROUND.PNG new file mode 100644 index 0000000..da7e31d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..bd32234 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..bd32234 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..6b7e0a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..6b7e0a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..0063b7b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..0063b7b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..65a8a22 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..65a8a22 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..0063b7b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..0063b7b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..ef655bc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..0924f25 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.BLUESILVER.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..2147ecb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.CLICK.PNG new file mode 100644 index 0000000..86bfb09 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..c8e4305 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..fd599f1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..5b2189a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.DRAG.PNG new file mode 100644 index 0000000..6262a10 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..8402d92 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.HOVER.PNG new file mode 100644 index 0000000..b351927 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.DISCONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.LARGE.DISCONNECTED.PNG b/ZuneShell/Resources/RCDATA/DRACO.LARGE.DISCONNECTED.PNG new file mode 100644 index 0000000..c067624 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.LARGE.DISCONNECTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.MEDIUM.UNSUPPORTED.PNG b/ZuneShell/Resources/RCDATA/DRACO.MEDIUM.UNSUPPORTED.PNG new file mode 100644 index 0000000..a3fb631 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.MEDIUM.UNSUPPORTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.RED.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/DRACO.RED.BACKGROUND.PNG new file mode 100644 index 0000000..78f66eb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.RED.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..6401905 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..6401905 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..7035b64 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..7035b64 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..fdc56a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..fdc56a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..78311dc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..78311dc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..fdc56a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..fdc56a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.RED.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.RED.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.RED.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..5cdbca3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.RED.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.RED.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.RED.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..05f0836 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.RED.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.BACKGROUND.PNG new file mode 100644 index 0000000..78f66eb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..6401905 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..6401905 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..7035b64 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..7035b64 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..fdc56a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..fdc56a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..78311dc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..78311dc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..fdc56a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..fdc56a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..5cdbca3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..05f0836 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.REDBLACK.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.BACKGROUND.PNG new file mode 100644 index 0000000..9cb09ef Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..5f86147 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..5f86147 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..d4c4eaa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..d4c4eaa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..7c06c41 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..7c06c41 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..4e07911 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..4e07911 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..7c06c41 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..7c06c41 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..9fc375c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..7411c14 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITEBLACK.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.BACKGROUND.PNG new file mode 100644 index 0000000..9cb09ef Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..5f86147 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..5f86147 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..d4c4eaa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..d4c4eaa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..7c06c41 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..7c06c41 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..4e07911 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..4e07911 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..7c06c41 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..7c06c41 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..40ef616 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..7411c14 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRACO.WHITESILVER.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRAGFALLBACKWIDE.PNG b/ZuneShell/Resources/RCDATA/DRAGFALLBACKWIDE.PNG new file mode 100644 index 0000000..4383a60 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRAGFALLBACKWIDE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DRAGFEEDBACKUSERCARDTOP.PNG b/ZuneShell/Resources/RCDATA/DRAGFEEDBACKUSERCARDTOP.PNG new file mode 100644 index 0000000..556a1e6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DRAGFEEDBACKUSERCARDTOP.PNG differ diff --git a/ZuneShell/Resources/RCDATA/DROPCOMMANDS.UIX b/ZuneShell/Resources/RCDATA/DROPCOMMANDS.UIX new file mode 100644 index 0000000..db6c4fb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/DROPCOMMANDS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/EDITBOX.UIX b/ZuneShell/Resources/RCDATA/EDITBOX.UIX new file mode 100644 index 0000000..2f932a4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/EDITBOX.UIX differ diff --git a/ZuneShell/Resources/RCDATA/EDITMEDIAINFOCOLUMNS.UIX b/ZuneShell/Resources/RCDATA/EDITMEDIAINFOCOLUMNS.UIX new file mode 100644 index 0000000..8e2b41d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/EDITMEDIAINFOCOLUMNS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/EDITMEDIAINFOCONTROLS.UIX b/ZuneShell/Resources/RCDATA/EDITMEDIAINFOCONTROLS.UIX new file mode 100644 index 0000000..befff1d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/EDITMEDIAINFOCONTROLS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/EDITMEDIAINFODIALOG.UIX b/ZuneShell/Resources/RCDATA/EDITMEDIAINFODIALOG.UIX new file mode 100644 index 0000000..ad1fe81 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/EDITMEDIAINFODIALOG.UIX differ diff --git a/ZuneShell/Resources/RCDATA/EMPTYCOLLECTIONPANEL.UIX b/ZuneShell/Resources/RCDATA/EMPTYCOLLECTIONPANEL.UIX new file mode 100644 index 0000000..490f69f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/EMPTYCOLLECTIONPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ENERGYBAR.VERTICAL.PNG b/ZuneShell/Resources/RCDATA/ENERGYBAR.VERTICAL.PNG new file mode 100644 index 0000000..8089992 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ENERGYBAR.VERTICAL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ENERGYBARHD.HORIZONTAL.PNG b/ZuneShell/Resources/RCDATA/ENERGYBARHD.HORIZONTAL.PNG new file mode 100644 index 0000000..f297abd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ENERGYBARHD.HORIZONTAL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/EPISODESPANEL.UIX b/ZuneShell/Resources/RCDATA/EPISODESPANEL.UIX new file mode 100644 index 0000000..275f2d8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/EPISODESPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/ERRORDIALOG.UIX b/ZuneShell/Resources/RCDATA/ERRORDIALOG.UIX new file mode 100644 index 0000000..c2dbcb6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ERRORDIALOG.UIX differ diff --git a/ZuneShell/Resources/RCDATA/EULADIALOG.UIX b/ZuneShell/Resources/RCDATA/EULADIALOG.UIX new file mode 100644 index 0000000..3570cbe Binary files /dev/null and b/ZuneShell/Resources/RCDATA/EULADIALOG.UIX differ diff --git a/ZuneShell/Resources/RCDATA/EXPLICITWARNING.UIX b/ZuneShell/Resources/RCDATA/EXPLICITWARNING.UIX new file mode 100644 index 0000000..68ee3dd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/EXPLICITWARNING.UIX differ diff --git a/ZuneShell/Resources/RCDATA/FAKE.HIP.IMAGE.PNG b/ZuneShell/Resources/RCDATA/FAKE.HIP.IMAGE.PNG new file mode 100644 index 0000000..091f9cf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FAKE.HIP.IMAGE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FILTERLIST.UIX b/ZuneShell/Resources/RCDATA/FILTERLIST.UIX new file mode 100644 index 0000000..c88547e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FILTERLIST.UIX differ diff --git a/ZuneShell/Resources/RCDATA/FINDALBUMINFOCONTROLS.UIX b/ZuneShell/Resources/RCDATA/FINDALBUMINFOCONTROLS.UIX new file mode 100644 index 0000000..d8cc2a1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FINDALBUMINFOCONTROLS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/FINDALBUMINFODIALOG.UIX b/ZuneShell/Resources/RCDATA/FINDALBUMINFODIALOG.UIX new file mode 100644 index 0000000..b0c6cf0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FINDALBUMINFODIALOG.UIX differ diff --git a/ZuneShell/Resources/RCDATA/FINDALBUMINFOSONGMATCH.UIX b/ZuneShell/Resources/RCDATA/FINDALBUMINFOSONGMATCH.UIX new file mode 100644 index 0000000..308a047 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FINDALBUMINFOSONGMATCH.UIX differ diff --git a/ZuneShell/Resources/RCDATA/FIRSTCONNECT.UIX b/ZuneShell/Resources/RCDATA/FIRSTCONNECT.UIX new file mode 100644 index 0000000..b710795 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FIRSTCONNECT.UIX differ diff --git a/ZuneShell/Resources/RCDATA/FIRSTCONNECTBACKGROUND.PNG b/ZuneShell/Resources/RCDATA/FIRSTCONNECTBACKGROUND.PNG new file mode 100644 index 0000000..58a5894 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FIRSTCONNECTBACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FIRSTLAUNCH.UIX b/ZuneShell/Resources/RCDATA/FIRSTLAUNCH.UIX new file mode 100644 index 0000000..5691a77 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FIRSTLAUNCH.UIX differ diff --git a/ZuneShell/Resources/RCDATA/FIRSTRUNBACKGROUND.PNG b/ZuneShell/Resources/RCDATA/FIRSTRUNBACKGROUND.PNG new file mode 100644 index 0000000..58a5894 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FIRSTRUNBACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FOCUSRECT.HORIZONTAL.PNG b/ZuneShell/Resources/RCDATA/FOCUSRECT.HORIZONTAL.PNG new file mode 100644 index 0000000..e0416fc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FOCUSRECT.HORIZONTAL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FOCUSRECT.UIX b/ZuneShell/Resources/RCDATA/FOCUSRECT.UIX new file mode 100644 index 0000000..c1a55e6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FOCUSRECT.UIX differ diff --git a/ZuneShell/Resources/RCDATA/FOCUSRECT.VERTICAL.PNG b/ZuneShell/Resources/RCDATA/FOCUSRECT.VERTICAL.PNG new file mode 100644 index 0000000..1323113 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FOCUSRECT.VERTICAL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAME.UIX b/ZuneShell/Resources/RCDATA/FRAME.UIX new file mode 100644 index 0000000..fba045f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAME.UIX differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND00.PNG b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND00.PNG new file mode 100644 index 0000000..cc895e9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND00.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND01.PNG b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND01.PNG new file mode 100644 index 0000000..eb7d66a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND01.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND02.PNG b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND02.PNG new file mode 100644 index 0000000..b5a7348 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND02.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND03.PNG b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND03.PNG new file mode 100644 index 0000000..fdb3d25 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND03.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND04.PNG b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND04.PNG new file mode 100644 index 0000000..54fcc68 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND04.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND05.PNG b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND05.PNG new file mode 100644 index 0000000..844853c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND05.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND06.PNG b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND06.PNG new file mode 100644 index 0000000..63f511a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND06.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND07.PNG b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND07.PNG new file mode 100644 index 0000000..a18b5c7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND07.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND08.PNG b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND08.PNG new file mode 100644 index 0000000..6b5b2ee Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND08.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND09.PNG b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND09.PNG new file mode 100644 index 0000000..6b4f231 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND09.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND10.PNG b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND10.PNG new file mode 100644 index 0000000..21e8976 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBACKGROUND10.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBORDERLEFT.PNG b/ZuneShell/Resources/RCDATA/FRAMEBORDERLEFT.PNG new file mode 100644 index 0000000..aef113b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBORDERLEFT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBORDERRIGHT.PNG b/ZuneShell/Resources/RCDATA/FRAMEBORDERRIGHT.PNG new file mode 100644 index 0000000..db345a6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBORDERRIGHT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRAMEBORDERTOP.PNG b/ZuneShell/Resources/RCDATA/FRAMEBORDERTOP.PNG new file mode 100644 index 0000000..3b2eae7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRAMEBORDERTOP.PNG differ diff --git a/ZuneShell/Resources/RCDATA/FRIENDS.UIX b/ZuneShell/Resources/RCDATA/FRIENDS.UIX new file mode 100644 index 0000000..1492390 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRIENDS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/FRIENDSDIALOGS.UIX b/ZuneShell/Resources/RCDATA/FRIENDSDIALOGS.UIX new file mode 100644 index 0000000..440b949 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/FRIENDSDIALOGS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/GALLERYPANEL.UIX b/ZuneShell/Resources/RCDATA/GALLERYPANEL.UIX new file mode 100644 index 0000000..ad16ddd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/GALLERYPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/GALLERYVIEW.UIX b/ZuneShell/Resources/RCDATA/GALLERYVIEW.UIX new file mode 100644 index 0000000..f3f9184 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/GALLERYVIEW.UIX differ diff --git a/ZuneShell/Resources/RCDATA/GASGAUGE.UIX b/ZuneShell/Resources/RCDATA/GASGAUGE.UIX new file mode 100644 index 0000000..edcd04a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/GASGAUGE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/GASGAUGEGIGDIVIDER.PNG b/ZuneShell/Resources/RCDATA/GASGAUGEGIGDIVIDER.PNG new file mode 100644 index 0000000..88c9398 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/GASGAUGEGIGDIVIDER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/GASGAUGELEFT.PNG b/ZuneShell/Resources/RCDATA/GASGAUGELEFT.PNG new file mode 100644 index 0000000..044a04b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/GASGAUGELEFT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/GASGAUGERIGHT.PNG b/ZuneShell/Resources/RCDATA/GASGAUGERIGHT.PNG new file mode 100644 index 0000000..d8368d8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/GASGAUGERIGHT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/GASGAUGESHEEN.PNG b/ZuneShell/Resources/RCDATA/GASGAUGESHEEN.PNG new file mode 100644 index 0000000..897ef83 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/GASGAUGESHEEN.PNG differ diff --git a/ZuneShell/Resources/RCDATA/GENRESPANEL.UIX b/ZuneShell/Resources/RCDATA/GENRESPANEL.UIX new file mode 100644 index 0000000..024604f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/GENRESPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/GRABBER.PNG b/ZuneShell/Resources/RCDATA/GRABBER.PNG new file mode 100644 index 0000000..1c12cdd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/GRABBER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.BURN.DRAG.PNG b/ZuneShell/Resources/RCDATA/ICON.BURN.DRAG.PNG new file mode 100644 index 0000000..a441cbf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.BURN.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.BURN.EMPTY.DRAG.PNG b/ZuneShell/Resources/RCDATA/ICON.BURN.EMPTY.DRAG.PNG new file mode 100644 index 0000000..e36f21d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.BURN.EMPTY.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.BURN.EMPTY.HOVER.PNG b/ZuneShell/Resources/RCDATA/ICON.BURN.EMPTY.HOVER.PNG new file mode 100644 index 0000000..4dbfaf8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.BURN.EMPTY.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.BURN.EMPTY.PNG b/ZuneShell/Resources/RCDATA/ICON.BURN.EMPTY.PNG new file mode 100644 index 0000000..cec874e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.BURN.EMPTY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.BURN.EMPTY.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ICON.BURN.EMPTY.PRESSED.PNG new file mode 100644 index 0000000..c89a402 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.BURN.EMPTY.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.BURN.HOVER.PNG b/ZuneShell/Resources/RCDATA/ICON.BURN.HOVER.PNG new file mode 100644 index 0000000..dac2804 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.BURN.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.BURN.PNG b/ZuneShell/Resources/RCDATA/ICON.BURN.PNG new file mode 100644 index 0000000..ab69b68 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.BURN.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.BURN.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ICON.BURN.PRESSED.PNG new file mode 100644 index 0000000..961f317 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.BURN.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.EXTERNALLINK.LIGHT.PNG b/ZuneShell/Resources/RCDATA/ICON.EXTERNALLINK.LIGHT.PNG new file mode 100644 index 0000000..c0698a7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.EXTERNALLINK.LIGHT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.EXTERNALLINK.PNG b/ZuneShell/Resources/RCDATA/ICON.EXTERNALLINK.PNG new file mode 100644 index 0000000..cf99c20 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.EXTERNALLINK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.HD.PNG b/ZuneShell/Resources/RCDATA/ICON.HD.PNG new file mode 100644 index 0000000..da85d2a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.HD.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.MARKETPLACE.RADIO.PNG b/ZuneShell/Resources/RCDATA/ICON.MARKETPLACE.RADIO.PNG new file mode 100644 index 0000000..b71db29 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.MARKETPLACE.RADIO.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.ENTER.HOVER.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.ENTER.HOVER.PNG new file mode 100644 index 0000000..40247fc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.ENTER.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.ENTER.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.ENTER.PNG new file mode 100644 index 0000000..5be6021 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.ENTER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.ENTER.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.ENTER.PRESSED.PNG new file mode 100644 index 0000000..8447e79 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.ENTER.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME01.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME01.PNG new file mode 100644 index 0000000..bb0ef79 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME01.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME02.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME02.PNG new file mode 100644 index 0000000..b0fff36 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME02.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME03.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME03.PNG new file mode 100644 index 0000000..a633054 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME03.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME04.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME04.PNG new file mode 100644 index 0000000..7812d5a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME04.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME05.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME05.PNG new file mode 100644 index 0000000..df1fcd1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME05.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME06.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME06.PNG new file mode 100644 index 0000000..9f99595 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME06.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME07.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME07.PNG new file mode 100644 index 0000000..61f21c8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME07.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME08.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME08.PNG new file mode 100644 index 0000000..bffe140 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME08.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME09.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME09.PNG new file mode 100644 index 0000000..3dfb116 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME09.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME10.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME10.PNG new file mode 100644 index 0000000..5c614f3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.FRAME10.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME01.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME01.PNG new file mode 100644 index 0000000..859493c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME01.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME02.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME02.PNG new file mode 100644 index 0000000..873d82c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME02.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME03.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME03.PNG new file mode 100644 index 0000000..0a4549e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME03.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME04.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME04.PNG new file mode 100644 index 0000000..6ed4247 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME04.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME05.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME05.PNG new file mode 100644 index 0000000..c451daa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME05.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME06.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME06.PNG new file mode 100644 index 0000000..a7b25ce Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME06.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME07.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME07.PNG new file mode 100644 index 0000000..dd7b245 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME07.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME08.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME08.PNG new file mode 100644 index 0000000..73b7c09 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME08.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME09.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME09.PNG new file mode 100644 index 0000000..fb7cd04 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME09.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME10.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME10.PNG new file mode 100644 index 0000000..ad44cb1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.FRAME10.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.PNG new file mode 100644 index 0000000..40247fc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PNG new file mode 100644 index 0000000..71f011f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME01.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME01.PNG new file mode 100644 index 0000000..b312e73 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME01.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME02.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME02.PNG new file mode 100644 index 0000000..be9b6eb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME02.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME03.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME03.PNG new file mode 100644 index 0000000..0924bff Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME03.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME04.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME04.PNG new file mode 100644 index 0000000..8df4582 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME04.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME05.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME05.PNG new file mode 100644 index 0000000..9427cca Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME05.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME06.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME06.PNG new file mode 100644 index 0000000..c6f0bac Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME06.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME07.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME07.PNG new file mode 100644 index 0000000..689a87a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME07.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME08.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME08.PNG new file mode 100644 index 0000000..3221bd3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME08.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME09.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME09.PNG new file mode 100644 index 0000000..db45d6e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME09.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME10.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME10.PNG new file mode 100644 index 0000000..51dd908 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.FRAME10.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.PNG new file mode 100644 index 0000000..8447e79 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.NOWPLAYING.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PAGE.CURRENT.PNG b/ZuneShell/Resources/RCDATA/ICON.PAGE.CURRENT.PNG new file mode 100644 index 0000000..83c7bf6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PAGE.CURRENT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PAGE.OTHER.PNG b/ZuneShell/Resources/RCDATA/ICON.PAGE.OTHER.PNG new file mode 100644 index 0000000..f257e56 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PAGE.OTHER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PC.DRAG.PNG b/ZuneShell/Resources/RCDATA/ICON.PC.DRAG.PNG new file mode 100644 index 0000000..e08ec61 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PC.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PC.HOVER.PNG b/ZuneShell/Resources/RCDATA/ICON.PC.HOVER.PNG new file mode 100644 index 0000000..a65e21b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PC.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PC.LARGE.PNG b/ZuneShell/Resources/RCDATA/ICON.PC.LARGE.PNG new file mode 100644 index 0000000..b0ef653 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PC.LARGE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PC.PNG b/ZuneShell/Resources/RCDATA/ICON.PC.PNG new file mode 100644 index 0000000..0cf2957 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PC.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PC.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ICON.PC.PRESSED.PNG new file mode 100644 index 0000000..0cd31ba Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PC.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.DRAG.PNG b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.DRAG.PNG new file mode 100644 index 0000000..9407fe4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.EMPTY.DRAG.PNG b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.EMPTY.DRAG.PNG new file mode 100644 index 0000000..e3763c0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.EMPTY.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.EMPTY.HOVER.PNG b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.EMPTY.HOVER.PNG new file mode 100644 index 0000000..cf228b4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.EMPTY.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.EMPTY.PNG b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.EMPTY.PNG new file mode 100644 index 0000000..1b3fd16 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.EMPTY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.EMPTY.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.EMPTY.PRESSED.PNG new file mode 100644 index 0000000..73216ff Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.EMPTY.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.HOVER.PNG b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.HOVER.PNG new file mode 100644 index 0000000..9815d63 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.PNG b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.PNG new file mode 100644 index 0000000..443838c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.PRESSED.PNG new file mode 100644 index 0000000..2f89764 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.PLAYLIST.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.DRAG.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.DRAG.PNG new file mode 100644 index 0000000..7a419df Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.EMPTY.DRAG.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.EMPTY.DRAG.PNG new file mode 100644 index 0000000..83ad9b6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.EMPTY.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.EMPTY.HOVER.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.EMPTY.HOVER.PNG new file mode 100644 index 0000000..f148653 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.EMPTY.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.EMPTY.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.EMPTY.PNG new file mode 100644 index 0000000..7a61f99 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.EMPTY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.EMPTY.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.EMPTY.PRESSED.PNG new file mode 100644 index 0000000..c54a0f0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.EMPTY.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.HOVER.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.HOVER.PNG new file mode 100644 index 0000000..00939e5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.PNG new file mode 100644 index 0000000..577ac99 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.PRESSED.PNG new file mode 100644 index 0000000..3b6f962 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.BURN.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.COLLECTION.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.COLLECTION.PNG new file mode 100644 index 0000000..28d464c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.COLLECTION.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.MARKETPLACE.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.MARKETPLACE.PNG new file mode 100644 index 0000000..c535a4e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.MARKETPLACE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.MORE.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.MORE.PNG new file mode 100644 index 0000000..308a067 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.MORE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PASS.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PASS.PNG new file mode 100644 index 0000000..7906593 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PASS.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.DRAG.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.DRAG.PNG new file mode 100644 index 0000000..c9f8e0a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.EMPTY.DRAG.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.EMPTY.DRAG.PNG new file mode 100644 index 0000000..c854b03 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.EMPTY.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.EMPTY.HOVER.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.EMPTY.HOVER.PNG new file mode 100644 index 0000000..b4549d8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.EMPTY.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.EMPTY.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.EMPTY.PNG new file mode 100644 index 0000000..e6854c1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.EMPTY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.EMPTY.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.EMPTY.PRESSED.PNG new file mode 100644 index 0000000..b70678e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.EMPTY.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.HOVER.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.HOVER.PNG new file mode 100644 index 0000000..2b394ad Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.PNG new file mode 100644 index 0000000..7d4f958 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.PRESSED.PNG new file mode 100644 index 0000000..65dfa8a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.QUICKPLAY.PLAYLIST.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.VIDEO.HEADER.PNG b/ZuneShell/Resources/RCDATA/ICON.VIDEO.HEADER.PNG new file mode 100644 index 0000000..f61fed1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.VIDEO.HEADER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.VIDEO.NOWPLAYING.PNG b/ZuneShell/Resources/RCDATA/ICON.VIDEO.NOWPLAYING.PNG new file mode 100644 index 0000000..5423d70 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.VIDEO.NOWPLAYING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.VIDEO.PNG b/ZuneShell/Resources/RCDATA/ICON.VIDEO.PNG new file mode 100644 index 0000000..db8929e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.VIDEO.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICON.ZUNE.ABOUT.PNG b/ZuneShell/Resources/RCDATA/ICON.ZUNE.ABOUT.PNG new file mode 100644 index 0000000..6a75629 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICON.ZUNE.ABOUT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ICONMENUDROPSHADOW.PNG b/ZuneShell/Resources/RCDATA/ICONMENUDROPSHADOW.PNG new file mode 100644 index 0000000..e495b86 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ICONMENUDROPSHADOW.PNG differ diff --git a/ZuneShell/Resources/RCDATA/IMAGE.BUNNY.PNG b/ZuneShell/Resources/RCDATA/IMAGE.BUNNY.PNG new file mode 100644 index 0000000..0207976 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/IMAGE.BUNNY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/IMAGE.BUNNY.SOCIAL.PNG b/ZuneShell/Resources/RCDATA/IMAGE.BUNNY.SOCIAL.PNG new file mode 100644 index 0000000..a28814c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/IMAGE.BUNNY.SOCIAL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/IMAGESTYLE.UIX b/ZuneShell/Resources/RCDATA/IMAGESTYLE.UIX new file mode 100644 index 0000000..706911d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/IMAGESTYLE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/IMAGESTYLECONTROLS.UIX b/ZuneShell/Resources/RCDATA/IMAGESTYLECONTROLS.UIX new file mode 100644 index 0000000..04860dd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/IMAGESTYLECONTROLS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/INACTIVESHADOWBOTTOM.PNG b/ZuneShell/Resources/RCDATA/INACTIVESHADOWBOTTOM.PNG new file mode 100644 index 0000000..b6c5057 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INACTIVESHADOWBOTTOM.PNG differ diff --git a/ZuneShell/Resources/RCDATA/INACTIVESHADOWLEFT.PNG b/ZuneShell/Resources/RCDATA/INACTIVESHADOWLEFT.PNG new file mode 100644 index 0000000..81856a1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INACTIVESHADOWLEFT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/INACTIVESHADOWRIGHT.PNG b/ZuneShell/Resources/RCDATA/INACTIVESHADOWRIGHT.PNG new file mode 100644 index 0000000..1ea749d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INACTIVESHADOWRIGHT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/INACTIVESHADOWTOP.PNG b/ZuneShell/Resources/RCDATA/INACTIVESHADOWTOP.PNG new file mode 100644 index 0000000..6e89bb7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INACTIVESHADOWTOP.PNG differ diff --git a/ZuneShell/Resources/RCDATA/INBOXBASEDETAILS.UIX b/ZuneShell/Resources/RCDATA/INBOXBASEDETAILS.UIX new file mode 100644 index 0000000..550c34d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INBOXBASEDETAILS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/INBOXMAINPANEL.UIX b/ZuneShell/Resources/RCDATA/INBOXMAINPANEL.UIX new file mode 100644 index 0000000..caf1717 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INBOXMAINPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/INBOXPHOTODETAILS.UIX b/ZuneShell/Resources/RCDATA/INBOXPHOTODETAILS.UIX new file mode 100644 index 0000000..55b85f8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INBOXPHOTODETAILS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/INBOXPODCASTDETAILS.UIX b/ZuneShell/Resources/RCDATA/INBOXPODCASTDETAILS.UIX new file mode 100644 index 0000000..da18ff0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INBOXPODCASTDETAILS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/INBOXPROFILEDETAILS.UIX b/ZuneShell/Resources/RCDATA/INBOXPROFILEDETAILS.UIX new file mode 100644 index 0000000..ecb891f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INBOXPROFILEDETAILS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/INBOXTEXTDETAILS.UIX b/ZuneShell/Resources/RCDATA/INBOXTEXTDETAILS.UIX new file mode 100644 index 0000000..0177125 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INBOXTEXTDETAILS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/INBOXTRACKDETAILS.UIX b/ZuneShell/Resources/RCDATA/INBOXTRACKDETAILS.UIX new file mode 100644 index 0000000..92f1613 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INBOXTRACKDETAILS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/INBOXVIDEODETAILS.UIX b/ZuneShell/Resources/RCDATA/INBOXVIDEODETAILS.UIX new file mode 100644 index 0000000..a5423be Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INBOXVIDEODETAILS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/INFO.CLICK.PNG b/ZuneShell/Resources/RCDATA/INFO.CLICK.PNG new file mode 100644 index 0000000..b8b9df6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INFO.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/INFO.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/INFO.DEFAULT.PNG new file mode 100644 index 0000000..2204c97 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INFO.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/INFO.HOVER.PNG b/ZuneShell/Resources/RCDATA/INFO.HOVER.PNG new file mode 100644 index 0000000..dea87bd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INFO.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/INFO.NP.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/INFO.NP.DEFAULT.PNG new file mode 100644 index 0000000..8a964b3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INFO.NP.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/INFO.NP.HOVER.PNG b/ZuneShell/Resources/RCDATA/INFO.NP.HOVER.PNG new file mode 100644 index 0000000..d5df098 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INFO.NP.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/INFO.NP.PRESSED.PNG b/ZuneShell/Resources/RCDATA/INFO.NP.PRESSED.PNG new file mode 100644 index 0000000..dd17e5c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INFO.NP.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/INFO_SM_CLICK.PNG b/ZuneShell/Resources/RCDATA/INFO_SM_CLICK.PNG new file mode 100644 index 0000000..d43d494 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INFO_SM_CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/INFO_SM_DARK.PNG b/ZuneShell/Resources/RCDATA/INFO_SM_DARK.PNG new file mode 100644 index 0000000..419a5f8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INFO_SM_DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/INFO_SM_DEFAULT.PNG b/ZuneShell/Resources/RCDATA/INFO_SM_DEFAULT.PNG new file mode 100644 index 0000000..ad5fa63 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INFO_SM_DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/INFO_SM_HOVER.PNG b/ZuneShell/Resources/RCDATA/INFO_SM_HOVER.PNG new file mode 100644 index 0000000..bf93532 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/INFO_SM_HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/JUMPINBORDER.PNG b/ZuneShell/Resources/RCDATA/JUMPINBORDER.PNG new file mode 100644 index 0000000..c196f1e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/JUMPINBORDER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/JUMPINLIST.UIX b/ZuneShell/Resources/RCDATA/JUMPINLIST.UIX new file mode 100644 index 0000000..5906a90 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/JUMPINLIST.UIX differ diff --git a/ZuneShell/Resources/RCDATA/JUMPLIST.UIX b/ZuneShell/Resources/RCDATA/JUMPLIST.UIX new file mode 100644 index 0000000..9f577a7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/JUMPLIST.UIX differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BLACK.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/KEEL.BLACK.BACKGROUND.PNG new file mode 100644 index 0000000..bbe7212 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BLACK.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..5092ce4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..bf351b8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..a2a0a20 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..3572a6e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..94a1d4d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..75f1421 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..2e31a19 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..dfcce64 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..94a1d4d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..75f1421 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BLACK.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BLACK.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/KEEL.BLACK.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..6807e92 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BLACK.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BLACK.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/KEEL.BLACK.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..1e1d264 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BLACK.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BROWN.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/KEEL.BROWN.BACKGROUND.PNG new file mode 100644 index 0000000..21f0721 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BROWN.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..1f6fd7e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..1f6fd7e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..728a15a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..728a15a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..86d41f3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..86d41f3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..816be94 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..816be94 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..86d41f3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..86d41f3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BROWN.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BROWN.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/KEEL.BROWN.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..ee82e63 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BROWN.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.BROWN.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/KEEL.BROWN.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..660a5c8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.BROWN.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..4b44521 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.CLICK.PNG new file mode 100644 index 0000000..f8c41e6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..0ccf261 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..9593a25 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..91c01d3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.DRAG.PNG new file mode 100644 index 0000000..317d7bc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..ba53e55 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.HOVER.PNG new file mode 100644 index 0000000..41d2808 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.DISCONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.LARGE.DISCONNECTED.PNG b/ZuneShell/Resources/RCDATA/KEEL.LARGE.DISCONNECTED.PNG new file mode 100644 index 0000000..dbbc60c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.LARGE.DISCONNECTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.MEDIUM.UNSUPPORTED.PNG b/ZuneShell/Resources/RCDATA/KEEL.MEDIUM.UNSUPPORTED.PNG new file mode 100644 index 0000000..b19cc20 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.MEDIUM.UNSUPPORTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.WHITE.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/KEEL.WHITE.BACKGROUND.PNG new file mode 100644 index 0000000..78cc357 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.WHITE.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..f762b95 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..f762b95 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..de7becb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..de7becb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..f1f0008 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..f1f0008 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..d28ac76 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..d28ac76 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..aeda184 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..aeda184 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.WHITE.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.WHITE.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/KEEL.WHITE.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..3886b1c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.WHITE.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/KEEL.WHITE.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/KEEL.WHITE.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..38e4693 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/KEEL.WHITE.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LABELWITHARROW.UIX b/ZuneShell/Resources/RCDATA/LABELWITHARROW.UIX new file mode 100644 index 0000000..403f278 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LABELWITHARROW.UIX differ diff --git a/ZuneShell/Resources/RCDATA/LEFTMENU.ARROW.SELECTED.PNG b/ZuneShell/Resources/RCDATA/LEFTMENU.ARROW.SELECTED.PNG new file mode 100644 index 0000000..8ef77a7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LEFTMENU.ARROW.SELECTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LIBRARY.UIX b/ZuneShell/Resources/RCDATA/LIBRARY.UIX new file mode 100644 index 0000000..60f704a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LIBRARY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/LIBRARYCELLS.UIX b/ZuneShell/Resources/RCDATA/LIBRARYCELLS.UIX new file mode 100644 index 0000000..0b1c2ad Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LIBRARYCELLS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/LIBRARYCONTEXTMENU.UIX b/ZuneShell/Resources/RCDATA/LIBRARYCONTEXTMENU.UIX new file mode 100644 index 0000000..cfe9eaf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LIBRARYCONTEXTMENU.UIX differ diff --git a/ZuneShell/Resources/RCDATA/LIBRARYDATA.SCHEMA.XML b/ZuneShell/Resources/RCDATA/LIBRARYDATA.SCHEMA.XML new file mode 100644 index 0000000..2ad2413 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LIBRARYDATA.SCHEMA.XML differ diff --git a/ZuneShell/Resources/RCDATA/LIBRARYDATA.SCHEMA.mod.XML b/ZuneShell/Resources/RCDATA/LIBRARYDATA.SCHEMA.mod.XML new file mode 100644 index 0000000..55da000 --- /dev/null +++ b/ZuneShell/Resources/RCDATA/LIBRARYDATA.SCHEMA.mod.XML @@ -0,0 +1,634 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ZuneShell/Resources/RCDATA/LIBRARYDIALOGS.UIX b/ZuneShell/Resources/RCDATA/LIBRARYDIALOGS.UIX new file mode 100644 index 0000000..97e1b2a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LIBRARYDIALOGS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/LIBRARYPANELS.UIX b/ZuneShell/Resources/RCDATA/LIBRARYPANELS.UIX new file mode 100644 index 0000000..566b9fe Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LIBRARYPANELS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/LIBRARYTHUMBNAILOVERLAYS.UIX b/ZuneShell/Resources/RCDATA/LIBRARYTHUMBNAILOVERLAYS.UIX new file mode 100644 index 0000000..bcabf7d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LIBRARYTHUMBNAILOVERLAYS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/LINKBUTTONS.UIX b/ZuneShell/Resources/RCDATA/LINKBUTTONS.UIX new file mode 100644 index 0000000..df13463 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LINKBUTTONS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/LISTVIEWPANEL.UIX b/ZuneShell/Resources/RCDATA/LISTVIEWPANEL.UIX new file mode 100644 index 0000000..9f36997 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LISTVIEWPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/LOADING.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/LOADING.BACKGROUND.PNG new file mode 100644 index 0000000..276fe88 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADING.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADING.LOGO.01.PNG b/ZuneShell/Resources/RCDATA/LOADING.LOGO.01.PNG new file mode 100644 index 0000000..337ba39 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADING.LOGO.01.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADING.LOGO.02.PNG b/ZuneShell/Resources/RCDATA/LOADING.LOGO.02.PNG new file mode 100644 index 0000000..6db5bce Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADING.LOGO.02.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADING.LOGO.03.PNG b/ZuneShell/Resources/RCDATA/LOADING.LOGO.03.PNG new file mode 100644 index 0000000..13f4fd6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADING.LOGO.03.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADING.LOGO.04.PNG b/ZuneShell/Resources/RCDATA/LOADING.LOGO.04.PNG new file mode 100644 index 0000000..0a83ccc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADING.LOGO.04.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADING.LOGO.05.PNG b/ZuneShell/Resources/RCDATA/LOADING.LOGO.05.PNG new file mode 100644 index 0000000..cd10059 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADING.LOGO.05.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADING.LOGO.06.PNG b/ZuneShell/Resources/RCDATA/LOADING.LOGO.06.PNG new file mode 100644 index 0000000..e1706bc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADING.LOGO.06.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADING.LOGO.07.PNG b/ZuneShell/Resources/RCDATA/LOADING.LOGO.07.PNG new file mode 100644 index 0000000..8062c3a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADING.LOGO.07.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADING.LOGO.08.PNG b/ZuneShell/Resources/RCDATA/LOADING.LOGO.08.PNG new file mode 100644 index 0000000..63f2581 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADING.LOGO.08.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADING.LOGO.PNG b/ZuneShell/Resources/RCDATA/LOADING.LOGO.PNG new file mode 100644 index 0000000..026c3e6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADING.LOGO.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADSTATUS.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/LOADSTATUS.BACKGROUND.PNG new file mode 100644 index 0000000..5e7297c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADSTATUS.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADSTATUS.CANDYSTRIPE.PNG b/ZuneShell/Resources/RCDATA/LOADSTATUS.CANDYSTRIPE.PNG new file mode 100644 index 0000000..fe21115 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADSTATUS.CANDYSTRIPE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADSTATUS.NOWPLAYINGSEEKBAR.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/LOADSTATUS.NOWPLAYINGSEEKBAR.BACKGROUND.PNG new file mode 100644 index 0000000..f22aa8b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADSTATUS.NOWPLAYINGSEEKBAR.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADSTATUS.NOWPLAYINGSEEKBAR.CANDYSTRIPE.PNG b/ZuneShell/Resources/RCDATA/LOADSTATUS.NOWPLAYINGSEEKBAR.CANDYSTRIPE.PNG new file mode 100644 index 0000000..5afd960 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADSTATUS.NOWPLAYINGSEEKBAR.CANDYSTRIPE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADSTATUS.SEEKBAR.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/LOADSTATUS.SEEKBAR.BACKGROUND.PNG new file mode 100644 index 0000000..8f4ada7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADSTATUS.SEEKBAR.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADSTATUS.SEEKBAR.CANDYSTRIPE.PNG b/ZuneShell/Resources/RCDATA/LOADSTATUS.SEEKBAR.CANDYSTRIPE.PNG new file mode 100644 index 0000000..f304ead Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADSTATUS.SEEKBAR.CANDYSTRIPE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADSTATUS.UIX b/ZuneShell/Resources/RCDATA/LOADSTATUS.UIX new file mode 100644 index 0000000..1938a37 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADSTATUS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/LOADSTATUS.WIZARD.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/LOADSTATUS.WIZARD.BACKGROUND.PNG new file mode 100644 index 0000000..1f40b76 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADSTATUS.WIZARD.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/LOADSTATUS.WIZARD.CANDYSTRIPE.PNG b/ZuneShell/Resources/RCDATA/LOADSTATUS.WIZARD.CANDYSTRIPE.PNG new file mode 100644 index 0000000..b38ad23 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/LOADSTATUS.WIZARD.CANDYSTRIPE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENT.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENT.UIX new file mode 100644 index 0000000..2cf19ad Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENT.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTACCOUNT.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTACCOUNT.UIX new file mode 100644 index 0000000..783baec Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTACCOUNT.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTBURN.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTBURN.UIX new file mode 100644 index 0000000..ca5ecd0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTBURN.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTCOLLECTION.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTCOLLECTION.UIX new file mode 100644 index 0000000..062d829 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTCOLLECTION.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTDEVICELIST.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTDEVICELIST.UIX new file mode 100644 index 0000000..94cef8f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTDEVICELIST.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTDEVICES.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTDEVICES.UIX new file mode 100644 index 0000000..bc49cf6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTDEVICES.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTDISPLAY.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTDISPLAY.UIX new file mode 100644 index 0000000..988e9c7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTDISPLAY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTFILETYPES.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTFILETYPES.UIX new file mode 100644 index 0000000..a23bdc5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTFILETYPES.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTGENERAL.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTGENERAL.UIX new file mode 100644 index 0000000..35c0ec4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTGENERAL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTMETADATA.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTMETADATA.UIX new file mode 100644 index 0000000..546728e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTMETADATA.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTNAVIGATION.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTNAVIGATION.UIX new file mode 100644 index 0000000..019dc2c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTNAVIGATION.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTPHOTO.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTPHOTO.UIX new file mode 100644 index 0000000..4a93ed0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTPHOTO.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTPODCAST.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTPODCAST.UIX new file mode 100644 index 0000000..700ff25 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTPODCAST.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTPRIVACY.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTPRIVACY.UIX new file mode 100644 index 0000000..3c1250b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTPRIVACY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTPURCHASES.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTPURCHASES.UIX new file mode 100644 index 0000000..e6a420c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTPURCHASES.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTRENTALS.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTRENTALS.UIX new file mode 100644 index 0000000..57a8109 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTRENTALS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTRIP.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTRIP.UIX new file mode 100644 index 0000000..de03db7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTRIP.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTSHARING.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTSHARING.UIX new file mode 100644 index 0000000..06e94d4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTSHARING.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MANAGEMENTSUBSCRIPTION.UIX b/ZuneShell/Resources/RCDATA/MANAGEMENTSUBSCRIPTION.UIX new file mode 100644 index 0000000..b5f756e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MANAGEMENTSUBSCRIPTION.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MEDIA.DETAILS.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/MEDIA.DETAILS.BACKGROUND.PNG new file mode 100644 index 0000000..a512fb8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MEDIA.DETAILS.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MESSAGINGDATA.SCHEMA.XML b/ZuneShell/Resources/RCDATA/MESSAGINGDATA.SCHEMA.XML new file mode 100644 index 0000000..a87d810 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MESSAGINGDATA.SCHEMA.XML differ diff --git a/ZuneShell/Resources/RCDATA/MESSAGINGHELPER.UIX b/ZuneShell/Resources/RCDATA/MESSAGINGHELPER.UIX new file mode 100644 index 0000000..77b3e5e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MESSAGINGHELPER.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MINIGASGAUGE.UIX b/ZuneShell/Resources/RCDATA/MINIGASGAUGE.UIX new file mode 100644 index 0000000..eb38640 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIGASGAUGE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODE.BACKBUTTON.DISABLED.PNG b/ZuneShell/Resources/RCDATA/MINIMODE.BACKBUTTON.DISABLED.PNG new file mode 100644 index 0000000..4d8f788 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODE.BACKBUTTON.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODE.BACKBUTTON.HOVER.PNG b/ZuneShell/Resources/RCDATA/MINIMODE.BACKBUTTON.HOVER.PNG new file mode 100644 index 0000000..cbdd5c3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODE.BACKBUTTON.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODE.BACKBUTTON.PNG b/ZuneShell/Resources/RCDATA/MINIMODE.BACKBUTTON.PNG new file mode 100644 index 0000000..4d8f788 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODE.BACKBUTTON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODE.BACKBUTTON.PRESSED.PNG b/ZuneShell/Resources/RCDATA/MINIMODE.BACKBUTTON.PRESSED.PNG new file mode 100644 index 0000000..8007cc4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODE.BACKBUTTON.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODE.JUMPLIST.HOVER.PNG b/ZuneShell/Resources/RCDATA/MINIMODE.JUMPLIST.HOVER.PNG new file mode 100644 index 0000000..fab52b0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODE.JUMPLIST.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODE.JUMPLIST.PNG b/ZuneShell/Resources/RCDATA/MINIMODE.JUMPLIST.PNG new file mode 100644 index 0000000..001d90e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODE.JUMPLIST.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODE.JUMPLIST.PRESSED.PNG b/ZuneShell/Resources/RCDATA/MINIMODE.JUMPLIST.PRESSED.PNG new file mode 100644 index 0000000..e33b8ae Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODE.JUMPLIST.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODE.QUICKMIX.HOVER.PNG b/ZuneShell/Resources/RCDATA/MINIMODE.QUICKMIX.HOVER.PNG new file mode 100644 index 0000000..827aa0b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODE.QUICKMIX.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODE.QUICKMIX.PNG b/ZuneShell/Resources/RCDATA/MINIMODE.QUICKMIX.PNG new file mode 100644 index 0000000..1767aa8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODE.QUICKMIX.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODE.QUICKMIX.PRESSED.PNG b/ZuneShell/Resources/RCDATA/MINIMODE.QUICKMIX.PRESSED.PNG new file mode 100644 index 0000000..827aa0b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODE.QUICKMIX.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODE.UIX b/ZuneShell/Resources/RCDATA/MINIMODE.UIX new file mode 100644 index 0000000..444bca1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODEAUDIO.UIX b/ZuneShell/Resources/RCDATA/MINIMODEAUDIO.UIX new file mode 100644 index 0000000..a0ba76c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODEAUDIO.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODEJUMPLIST.UIX b/ZuneShell/Resources/RCDATA/MINIMODEJUMPLIST.UIX new file mode 100644 index 0000000..3f5e01c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODEJUMPLIST.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MINIMODEVIDEO.UIX b/ZuneShell/Resources/RCDATA/MINIMODEVIDEO.UIX new file mode 100644 index 0000000..ca81722 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MINIMODEVIDEO.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MIX.ADD.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/MIX.ADD.DEFAULT.PNG new file mode 100644 index 0000000..a64fb3f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.ADD.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.ADD.HOVER.PNG b/ZuneShell/Resources/RCDATA/MIX.ADD.HOVER.PNG new file mode 100644 index 0000000..6c3e628 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.ADD.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.ADD.PRESSED.PNG b/ZuneShell/Resources/RCDATA/MIX.ADD.PRESSED.PNG new file mode 100644 index 0000000..1822605 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.ADD.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.HATEIT.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/MIX.HATEIT.DEFAULT.PNG new file mode 100644 index 0000000..419e99b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.HATEIT.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.HATEIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/MIX.HATEIT.HOVER.PNG new file mode 100644 index 0000000..517bbfb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.HATEIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.HATEIT.PRESSED.PNG b/ZuneShell/Resources/RCDATA/MIX.HATEIT.PRESSED.PNG new file mode 100644 index 0000000..4ba4874 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.HATEIT.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.INFO.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/MIX.INFO.DEFAULT.PNG new file mode 100644 index 0000000..c017f71 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.INFO.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.INFO.HOVER.PNG b/ZuneShell/Resources/RCDATA/MIX.INFO.HOVER.PNG new file mode 100644 index 0000000..0dae3a5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.INFO.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.INFO.PRESSED.PNG b/ZuneShell/Resources/RCDATA/MIX.INFO.PRESSED.PNG new file mode 100644 index 0000000..d3b1b68 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.INFO.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.LIKEIT.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/MIX.LIKEIT.DEFAULT.PNG new file mode 100644 index 0000000..b92e32d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.LIKEIT.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.LIKEIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/MIX.LIKEIT.HOVER.PNG new file mode 100644 index 0000000..b550d2d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.LIKEIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.LIKEIT.PRESSED.PNG b/ZuneShell/Resources/RCDATA/MIX.LIKEIT.PRESSED.PNG new file mode 100644 index 0000000..72be950 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.LIKEIT.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.MIX.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/MIX.MIX.DEFAULT.PNG new file mode 100644 index 0000000..1a13941 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.MIX.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.MIX.HOVER.PNG b/ZuneShell/Resources/RCDATA/MIX.MIX.HOVER.PNG new file mode 100644 index 0000000..e7dd36b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.MIX.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.MIX.PRESSED.PNG b/ZuneShell/Resources/RCDATA/MIX.MIX.PRESSED.PNG new file mode 100644 index 0000000..2509f60 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.MIX.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.PERIPHERYTILE.OUTLINE.PNG b/ZuneShell/Resources/RCDATA/MIX.PERIPHERYTILE.OUTLINE.PNG new file mode 100644 index 0000000..17496e1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.PERIPHERYTILE.OUTLINE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.PERIPHERYTILE.OUTLINEDARK.PNG b/ZuneShell/Resources/RCDATA/MIX.PERIPHERYTILE.OUTLINEDARK.PNG new file mode 100644 index 0000000..fd9585a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.PERIPHERYTILE.OUTLINEDARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.PLAY.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/MIX.PLAY.DEFAULT.PNG new file mode 100644 index 0000000..e9d48d9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.PLAY.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.PLAY.HOVER.PNG b/ZuneShell/Resources/RCDATA/MIX.PLAY.HOVER.PNG new file mode 100644 index 0000000..5f18cb5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.PLAY.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.PLAY.PRESSED.PNG b/ZuneShell/Resources/RCDATA/MIX.PLAY.PRESSED.PNG new file mode 100644 index 0000000..6420994 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.PLAY.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.SEEDTILESHADOW.NOWPLAYING.PNG b/ZuneShell/Resources/RCDATA/MIX.SEEDTILESHADOW.NOWPLAYING.PNG new file mode 100644 index 0000000..9dcc4be Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.SEEDTILESHADOW.NOWPLAYING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.SEEDTILESHADOW.PNG b/ZuneShell/Resources/RCDATA/MIX.SEEDTILESHADOW.PNG new file mode 100644 index 0000000..723b769 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.SEEDTILESHADOW.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.TILE.ACTION.GLOW.PNG b/ZuneShell/Resources/RCDATA/MIX.TILE.ACTION.GLOW.PNG new file mode 100644 index 0000000..996c95a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.TILE.ACTION.GLOW.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.TILE.ROLLOVER.FILL.NOWPLAYING.PNG b/ZuneShell/Resources/RCDATA/MIX.TILE.ROLLOVER.FILL.NOWPLAYING.PNG new file mode 100644 index 0000000..2825f81 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.TILE.ROLLOVER.FILL.NOWPLAYING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.TILE.ROLLOVER.FILL.PNG b/ZuneShell/Resources/RCDATA/MIX.TILE.ROLLOVER.FILL.PNG new file mode 100644 index 0000000..6a60b6b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.TILE.ROLLOVER.FILL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.UNRATED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/MIX.UNRATED.DEFAULT.PNG new file mode 100644 index 0000000..a018fb2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.UNRATED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.UNRATED.HOVER.PNG b/ZuneShell/Resources/RCDATA/MIX.UNRATED.HOVER.PNG new file mode 100644 index 0000000..de83372 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.UNRATED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIX.UNRATED.PRESSED.PNG b/ZuneShell/Resources/RCDATA/MIX.UNRATED.PRESSED.PNG new file mode 100644 index 0000000..6bdfee4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIX.UNRATED.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIXCONTROLS.UIX b/ZuneShell/Resources/RCDATA/MIXCONTROLS.UIX new file mode 100644 index 0000000..6017502 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIXCONTROLS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MIXLAYER.UIX b/ZuneShell/Resources/RCDATA/MIXLAYER.UIX new file mode 100644 index 0000000..07e4a89 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIXLAYER.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MIXLAYOUT.UIX b/ZuneShell/Resources/RCDATA/MIXLAYOUT.UIX new file mode 100644 index 0000000..f6a4372 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIXLAYOUT.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MIXMANAGER.UIX b/ZuneShell/Resources/RCDATA/MIXMANAGER.UIX new file mode 100644 index 0000000..8b2399b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIXMANAGER.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MIXMELDICON.PNG b/ZuneShell/Resources/RCDATA/MIXMELDICON.PNG new file mode 100644 index 0000000..22c525e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIXMELDICON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MIXQUERY.UIX b/ZuneShell/Resources/RCDATA/MIXQUERY.UIX new file mode 100644 index 0000000..d7f12ef Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MIXQUERY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/MOBILE.BACKGROUND.PNG new file mode 100644 index 0000000..0207599 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..ba2dac9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..84f3d34 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..7204427 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..18282f1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..098a18c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..ec423ba Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..7ff4638 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..f64215e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..098a18c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..ec423ba Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..10c04d7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.CLICK.PNG new file mode 100644 index 0000000..a3c5b1e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..170a2b8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..126fc19 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..9f6b2da Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.DRAG.PNG new file mode 100644 index 0000000..af472d6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..35a3c2e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.HOVER.PNG new file mode 100644 index 0000000..df560b7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.DISCONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/MOBILE.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..ac229ec Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.LARGE.DISCONNECTED.PNG b/ZuneShell/Resources/RCDATA/MOBILE.LARGE.DISCONNECTED.PNG new file mode 100644 index 0000000..7d1c0a6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.LARGE.DISCONNECTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/MOBILE.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..76f8b28 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILE.MEDIUM.UNSUPPORTED.PNG b/ZuneShell/Resources/RCDATA/MOBILE.MEDIUM.UNSUPPORTED.PNG new file mode 100644 index 0000000..9e30996 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILE.MEDIUM.UNSUPPORTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MOBILEWIRELESSSYNC.UIX b/ZuneShell/Resources/RCDATA/MOBILEWIRELESSSYNC.UIX new file mode 100644 index 0000000..73a6175 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOBILEWIRELESSSYNC.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MOREINFOACTIONS.UIX b/ZuneShell/Resources/RCDATA/MOREINFOACTIONS.UIX new file mode 100644 index 0000000..2580c68 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MOREINFOACTIONS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/MP3OVERLAY.PNG b/ZuneShell/Resources/RCDATA/MP3OVERLAY.PNG new file mode 100644 index 0000000..99b7694 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MP3OVERLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/MUSICLIBRARY.UIX b/ZuneShell/Resources/RCDATA/MUSICLIBRARY.UIX new file mode 100644 index 0000000..f41abab Binary files /dev/null and b/ZuneShell/Resources/RCDATA/MUSICLIBRARY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/NEXT.CLICK.PNG b/ZuneShell/Resources/RCDATA/NEXT.CLICK.PNG new file mode 100644 index 0000000..d6100f6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NEXT.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NEXT.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/NEXT.DEFAULT.PNG new file mode 100644 index 0000000..d12da57 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NEXT.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NEXT.HOVER.PNG b/ZuneShell/Resources/RCDATA/NEXT.HOVER.PNG new file mode 100644 index 0000000..1a0a724 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NEXT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NEXTDEVICE.HOVER.PNG b/ZuneShell/Resources/RCDATA/NEXTDEVICE.HOVER.PNG new file mode 100644 index 0000000..6f139f3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NEXTDEVICE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NEXTDEVICE.PNG b/ZuneShell/Resources/RCDATA/NEXTDEVICE.PNG new file mode 100644 index 0000000..57a0280 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NEXTDEVICE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NEXTDEVICE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/NEXTDEVICE.PRESSED.PNG new file mode 100644 index 0000000..e80b7ed Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NEXTDEVICE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOART.BIG.PNG b/ZuneShell/Resources/RCDATA/NOART.BIG.PNG new file mode 100644 index 0000000..07d15cd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOART.BIG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOART.BURN.PNG b/ZuneShell/Resources/RCDATA/NOART.BURN.PNG new file mode 100644 index 0000000..4a145e7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOART.BURN.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOART.COLLECTION.WIDE.PNG b/ZuneShell/Resources/RCDATA/NOART.COLLECTION.WIDE.PNG new file mode 100644 index 0000000..1ed6d98 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOART.COLLECTION.WIDE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOART.METADATA.BIG.PNG b/ZuneShell/Resources/RCDATA/NOART.METADATA.BIG.PNG new file mode 100644 index 0000000..bdf316b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOART.METADATA.BIG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOART.MULTIPLEALBUMS.PNG b/ZuneShell/Resources/RCDATA/NOART.MULTIPLEALBUMS.PNG new file mode 100644 index 0000000..7e148ee Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOART.MULTIPLEALBUMS.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOART.NOWPLAYING.BIG.PNG b/ZuneShell/Resources/RCDATA/NOART.NOWPLAYING.BIG.PNG new file mode 100644 index 0000000..816526b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOART.NOWPLAYING.BIG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOART.NOWPLAYING.TINY.PNG b/ZuneShell/Resources/RCDATA/NOART.NOWPLAYING.TINY.PNG new file mode 100644 index 0000000..298213d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOART.NOWPLAYING.TINY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOART.NOWPLAYING.TINY.WIDE.PNG b/ZuneShell/Resources/RCDATA/NOART.NOWPLAYING.TINY.WIDE.PNG new file mode 100644 index 0000000..b4120e5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOART.NOWPLAYING.TINY.WIDE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOART.PNG b/ZuneShell/Resources/RCDATA/NOART.PNG new file mode 100644 index 0000000..1bc44a1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOART.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOART.RIP.PNG b/ZuneShell/Resources/RCDATA/NOART.RIP.PNG new file mode 100644 index 0000000..e2e2984 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOART.RIP.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOART.WIDE.INVERSE.PNG b/ZuneShell/Resources/RCDATA/NOART.WIDE.INVERSE.PNG new file mode 100644 index 0000000..a2c8ae0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOART.WIDE.INVERSE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOART.WIDE.PNG b/ZuneShell/Resources/RCDATA/NOART.WIDE.PNG new file mode 100644 index 0000000..fd86978 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOART.WIDE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOART.WIDER.PNG b/ZuneShell/Resources/RCDATA/NOART.WIDER.PNG new file mode 100644 index 0000000..c0073f0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOART.WIDER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NONCLIENTCONTROLS.UIX b/ZuneShell/Resources/RCDATA/NONCLIENTCONTROLS.UIX new file mode 100644 index 0000000..0aedf73 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NONCLIENTCONTROLS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/NOTAVAILABLEOVERLAY.PNG b/ZuneShell/Resources/RCDATA/NOTAVAILABLEOVERLAY.PNG new file mode 100644 index 0000000..956e45d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOTAVAILABLEOVERLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOTIFICATIONAREA.UIX b/ZuneShell/Resources/RCDATA/NOTIFICATIONAREA.UIX new file mode 100644 index 0000000..f874010 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOTIFICATIONAREA.UIX differ diff --git a/ZuneShell/Resources/RCDATA/NOUSERTILE.SMALL.PNG b/ZuneShell/Resources/RCDATA/NOUSERTILE.SMALL.PNG new file mode 100644 index 0000000..a413b78 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOUSERTILE.SMALL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYING.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYING.BACKGROUND.PNG new file mode 100644 index 0000000..1709746 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYING.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYING.BUTTON.DISABLED.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYING.BUTTON.DISABLED.PNG new file mode 100644 index 0000000..8b0d7fd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYING.BUTTON.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYING.BUTTON.HOVER.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYING.BUTTON.HOVER.PNG new file mode 100644 index 0000000..1e483d5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYING.BUTTON.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYING.BUTTON.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYING.BUTTON.PNG new file mode 100644 index 0000000..e971319 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYING.BUTTON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYING.BUTTON.PRESSED.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYING.BUTTON.PRESSED.PNG new file mode 100644 index 0000000..1dd99c9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYING.BUTTON.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYING.RADIOICON.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYING.RADIOICON.PNG new file mode 100644 index 0000000..509626c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYING.RADIOICON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGALBUMGRIDDEFS.UIX b/ZuneShell/Resources/RCDATA/NOWPLAYINGALBUMGRIDDEFS.UIX new file mode 100644 index 0000000..dc57a05 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGALBUMGRIDDEFS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGANIMATIONORANGE1.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGANIMATIONORANGE1.PNG new file mode 100644 index 0000000..1fe1fc2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGANIMATIONORANGE1.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGANIMATIONPINK1.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGANIMATIONPINK1.PNG new file mode 100644 index 0000000..a840d79 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGANIMATIONPINK1.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_01.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_01.PNG new file mode 100644 index 0000000..55eba42 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_01.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_02.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_02.PNG new file mode 100644 index 0000000..bed3158 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_02.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_03.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_03.PNG new file mode 100644 index 0000000..da75ab1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_03.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_04.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_04.PNG new file mode 100644 index 0000000..55eba42 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_04.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_05.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_05.PNG new file mode 100644 index 0000000..23bc266 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_05.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_06.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_06.PNG new file mode 100644 index 0000000..b470cef Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTLOGO_06.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_01A.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_01A.PNG new file mode 100644 index 0000000..530219c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_01A.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_01B.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_01B.PNG new file mode 100644 index 0000000..f211bb2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_01B.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_01C.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_01C.PNG new file mode 100644 index 0000000..58662d5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_01C.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_01D.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_01D.PNG new file mode 100644 index 0000000..4da7954 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_01D.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_02A.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_02A.PNG new file mode 100644 index 0000000..0b499b0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_02A.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_02B.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_02B.PNG new file mode 100644 index 0000000..a4dcb94 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_02B.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_02C.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_02C.PNG new file mode 100644 index 0000000..e2c1ea8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_02C.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_02D.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_02D.PNG new file mode 100644 index 0000000..f740c8d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_02D.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_03A.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_03A.PNG new file mode 100644 index 0000000..41fb142 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_03A.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_03B.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_03B.PNG new file mode 100644 index 0000000..015ffbd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_03B.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_03C.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_03C.PNG new file mode 100644 index 0000000..330ee63 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_03C.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_03D.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_03D.PNG new file mode 100644 index 0000000..05869d3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGARTSHAPE_03D.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGBOXSHADOW.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGBOXSHADOW.PNG new file mode 100644 index 0000000..e88850e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGBOXSHADOW.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGCLIPS.UIX b/ZuneShell/Resources/RCDATA/NOWPLAYINGCLIPS.UIX new file mode 100644 index 0000000..a233299 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGCLIPS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGEFFECTS.UIX b/ZuneShell/Resources/RCDATA/NOWPLAYINGEFFECTS.UIX new file mode 100644 index 0000000..14f1a23 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGEFFECTS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGFADE.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGFADE.PNG new file mode 100644 index 0000000..5db0460 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGFADE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGLAND.UIX b/ZuneShell/Resources/RCDATA/NOWPLAYINGLAND.UIX new file mode 100644 index 0000000..68ef4e9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGLAND.UIX differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGLISTTRIANGLE.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGLISTTRIANGLE.PNG new file mode 100644 index 0000000..3c10740 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGLISTTRIANGLE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGMUSICBACKGROUND.UIX b/ZuneShell/Resources/RCDATA/NOWPLAYINGMUSICBACKGROUND.UIX new file mode 100644 index 0000000..3ca4e5a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGMUSICBACKGROUND.UIX differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGNOTIFICATION.UIX b/ZuneShell/Resources/RCDATA/NOWPLAYINGNOTIFICATION.UIX new file mode 100644 index 0000000..cc0c04e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGNOTIFICATION.UIX differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGSHADOW.PNG b/ZuneShell/Resources/RCDATA/NOWPLAYINGSHADOW.PNG new file mode 100644 index 0000000..ba40605 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGSHADOW.PNG differ diff --git a/ZuneShell/Resources/RCDATA/NOWPLAYINGSTYLES.UIX b/ZuneShell/Resources/RCDATA/NOWPLAYINGSTYLES.UIX new file mode 100644 index 0000000..fad447f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/NOWPLAYINGSTYLES.UIX differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.ADDTOCART.CLICK.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.ADDTOCART.CLICK.PNG new file mode 100644 index 0000000..01b728c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.ADDTOCART.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.ADDTOCART.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.ADDTOCART.DEFAULT.PNG new file mode 100644 index 0000000..13312e9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.ADDTOCART.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.ADDTOCART.HOVER.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.ADDTOCART.HOVER.PNG new file mode 100644 index 0000000..a3f36c7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.ADDTOCART.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.DOWNLOAD.CLICK.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.DOWNLOAD.CLICK.PNG new file mode 100644 index 0000000..9db7ddf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.DOWNLOAD.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.DOWNLOAD.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.DOWNLOAD.DEFAULT.PNG new file mode 100644 index 0000000..bd17f30 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.DOWNLOAD.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.DOWNLOAD.HOVER.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.DOWNLOAD.HOVER.PNG new file mode 100644 index 0000000..314d67f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.DOWNLOAD.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.GRADIENT.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.GRADIENT.PNG new file mode 100644 index 0000000..f318d0b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.GRADIENT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.HOVER.OVERLAY.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.HOVER.OVERLAY.PNG new file mode 100644 index 0000000..118a78d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.HOVER.OVERLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.INCOLLECTION.CLICK.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.INCOLLECTION.CLICK.PNG new file mode 100644 index 0000000..f86fd3a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.INCOLLECTION.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.INCOLLECTION.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.INCOLLECTION.DEFAULT.PNG new file mode 100644 index 0000000..29c4cc5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.INCOLLECTION.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.INCOLLECTION.HOVER.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.INCOLLECTION.HOVER.PNG new file mode 100644 index 0000000..a0560c2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.INCOLLECTION.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.MIX.CLICK.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.MIX.CLICK.PNG new file mode 100644 index 0000000..77abd39 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.MIX.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.MIX.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.MIX.DEFAULT.PNG new file mode 100644 index 0000000..c6b15db Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.MIX.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.MIX.HOVER.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.MIX.HOVER.PNG new file mode 100644 index 0000000..25255fd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.MIX.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.PHOTOGALLERY.CLICK.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.PHOTOGALLERY.CLICK.PNG new file mode 100644 index 0000000..768ecc3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.PHOTOGALLERY.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.PHOTOGALLERY.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.PHOTOGALLERY.DEFAULT.PNG new file mode 100644 index 0000000..884a619 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.PHOTOGALLERY.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.PHOTOGALLERY.HOVER.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.PHOTOGALLERY.HOVER.PNG new file mode 100644 index 0000000..29a8b04 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.PHOTOGALLERY.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.QUICKMIX.CLICK.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.QUICKMIX.CLICK.PNG new file mode 100644 index 0000000..eb8cb8a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.QUICKMIX.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.QUICKMIX.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.QUICKMIX.DEFAULT.PNG new file mode 100644 index 0000000..cb47899 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.QUICKMIX.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/OVERLAY.QUICKMIX.HOVER.PNG b/ZuneShell/Resources/RCDATA/OVERLAY.QUICKMIX.HOVER.PNG new file mode 100644 index 0000000..ba6433f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/OVERLAY.QUICKMIX.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAGE.NEXT.DARK.DISABLED.PNG b/ZuneShell/Resources/RCDATA/PAGE.NEXT.DARK.DISABLED.PNG new file mode 100644 index 0000000..7a09480 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGE.NEXT.DARK.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAGE.NEXT.DARK.HOVER.PNG b/ZuneShell/Resources/RCDATA/PAGE.NEXT.DARK.HOVER.PNG new file mode 100644 index 0000000..935cf42 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGE.NEXT.DARK.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAGE.NEXT.DARK.PNG b/ZuneShell/Resources/RCDATA/PAGE.NEXT.DARK.PNG new file mode 100644 index 0000000..41a02ec Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGE.NEXT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAGE.NEXT.DARK.PRESSED.PNG b/ZuneShell/Resources/RCDATA/PAGE.NEXT.DARK.PRESSED.PNG new file mode 100644 index 0000000..a5a485f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGE.NEXT.DARK.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAGE.NEXT.DISABLED.PNG b/ZuneShell/Resources/RCDATA/PAGE.NEXT.DISABLED.PNG new file mode 100644 index 0000000..ab56b33 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGE.NEXT.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAGE.NEXT.HOVER.PNG b/ZuneShell/Resources/RCDATA/PAGE.NEXT.HOVER.PNG new file mode 100644 index 0000000..41a2587 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGE.NEXT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAGE.NEXT.PNG b/ZuneShell/Resources/RCDATA/PAGE.NEXT.PNG new file mode 100644 index 0000000..daeebd1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGE.NEXT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAGE.NEXT.PRESSED.PNG b/ZuneShell/Resources/RCDATA/PAGE.NEXT.PRESSED.PNG new file mode 100644 index 0000000..be5e080 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGE.NEXT.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAGE.PREV.DISABLED.PNG b/ZuneShell/Resources/RCDATA/PAGE.PREV.DISABLED.PNG new file mode 100644 index 0000000..93a5756 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGE.PREV.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAGE.PREV.HOVER.PNG b/ZuneShell/Resources/RCDATA/PAGE.PREV.HOVER.PNG new file mode 100644 index 0000000..c17fc01 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGE.PREV.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAGE.PREV.PNG b/ZuneShell/Resources/RCDATA/PAGE.PREV.PNG new file mode 100644 index 0000000..79f1a36 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGE.PREV.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAGE.PREV.PRESSED.PNG b/ZuneShell/Resources/RCDATA/PAGE.PREV.PRESSED.PNG new file mode 100644 index 0000000..62c799c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGE.PREV.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAGESTACK.UIX b/ZuneShell/Resources/RCDATA/PAGESTACK.UIX new file mode 100644 index 0000000..d5809ec Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGESTACK.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PAGINGCONTROL.UIX b/ZuneShell/Resources/RCDATA/PAGINGCONTROL.UIX new file mode 100644 index 0000000..556227b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAGINGCONTROL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PANELRESIZER.UIX b/ZuneShell/Resources/RCDATA/PANELRESIZER.UIX new file mode 100644 index 0000000..39cee3d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PANELRESIZER.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.BACKGROUND.PNG new file mode 100644 index 0000000..870a570 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..36e8343 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..85cf823 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..3c1916e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..050ba49 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..0543034 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..34fb483 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..fc99c1d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..f036672 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..0543034 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..d594816 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..1a32f1e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..cc060db Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.ATOMIC.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLACK.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLACK.BACKGROUND.PNG new file mode 100644 index 0000000..059d5b3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLACK.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..b24778c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..f652bc6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..c0725b1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..4115a88 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..60c8ef4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..5bcd648 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..903f7fe Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..7b93f04 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..8a34426 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..cfa5ea9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLACK.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLACK.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLACK.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..81edef8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLACK.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLACK.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLACK.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..f0a4fec Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLACK.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLUE.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLUE.BACKGROUND.PNG new file mode 100644 index 0000000..b9d560d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLUE.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..65fd19b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..53eec0f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..975c27b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..180d2f5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..edce07a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..0b3a240 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..39c9e46 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..7033ef7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..edce07a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..1e1396f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLUE.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLUE.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLUE.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..5dff28e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLUE.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.BLUE.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.BLUE.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..e595d99 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.BLUE.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.CITRON.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/PAVO.CITRON.BACKGROUND.PNG new file mode 100644 index 0000000..b6daf19 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.CITRON.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..62b54f1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..a45482a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..6817dfd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..26df1b8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..19ba56f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..54dfffc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..1664d21 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..90cc092 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..19ba56f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..460dd92 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.CITRON.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.CITRON.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.CITRON.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..30d30ca Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.CITRON.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.CITRON.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.CITRON.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..913b7ce Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.CITRON.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..4c5804d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.CLICK.PNG new file mode 100644 index 0000000..ac1e1c2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..db596b0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..f3d5487 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..dfe4a13 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.DRAG.PNG new file mode 100644 index 0000000..efe6db3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..4fe9f8f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.HOVER.PNG new file mode 100644 index 0000000..775aa4c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.DISCONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.LARGE.DISCONNECTED.PNG b/ZuneShell/Resources/RCDATA/PAVO.LARGE.DISCONNECTED.PNG new file mode 100644 index 0000000..ab6a431 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.LARGE.DISCONNECTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.BACKGROUND.PNG new file mode 100644 index 0000000..57b0ca6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..61a600e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..2b21ac1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..2deeec9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..f7d3050 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..30caf4b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..f822319 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..2016507 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..cd91535 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..30caf4b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..0fbdfbc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..1eabd31 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..6deaeef Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MAGENTA.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.MEDIUM.UNSUPPORTED.PNG b/ZuneShell/Resources/RCDATA/PAVO.MEDIUM.UNSUPPORTED.PNG new file mode 100644 index 0000000..a65b5fa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.MEDIUM.UNSUPPORTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PINK.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/PAVO.PINK.BACKGROUND.PNG new file mode 100644 index 0000000..4a5321f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PINK.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..59de899 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..7ac0766 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..e54f596 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..9555309 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..a8f775a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..71be69d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..714807b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..46a8a84 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..a8f775a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..fa64b40 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PINK.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PINK.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.PINK.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..f52b100 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PINK.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PINK.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.PINK.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..eae34c4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PINK.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.BACKGROUND.PNG new file mode 100644 index 0000000..bcba295 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..3bb49ac Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..d1593c9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..4ff5592 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..b34d1cc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..9116964 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..83b4645 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..ed83eda Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..55850de Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..9116964 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..fa154db Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..1373a3d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..14fc62c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PLATINUM.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PURPLE.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.BACKGROUND.PNG new file mode 100644 index 0000000..3520a71 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..214569d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..203502f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..007573a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..37cb634 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..5ba7187 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..5aa5f9c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..4f6b075 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..d45bf3b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..5ba7187 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..d3bdd43 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PURPLE.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..118d833 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.PURPLE.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..3e9739f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.PURPLE.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.RED.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/PAVO.RED.BACKGROUND.PNG new file mode 100644 index 0000000..97d2c59 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.RED.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..8e2ae3f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..bc2ece9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..e69f22c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..d88078d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..8d23bc1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..5089057 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..a5534af Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..758cd04 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..8d23bc1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..30a6304 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.RED.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.RED.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.RED.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..24d35d0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.RED.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAVO.RED.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PAVO.RED.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..a464b31 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAVO.RED.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PAYMENTINSTRUMENT.UIX b/ZuneShell/Resources/RCDATA/PAYMENTINSTRUMENT.UIX new file mode 100644 index 0000000..48f0351 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PAYMENTINSTRUMENT.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PERCENTAGEICON.UIX b/ZuneShell/Resources/RCDATA/PERCENTAGEICON.UIX new file mode 100644 index 0000000..508945a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PERCENTAGEICON.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PHONEINTRO.UIX b/ZuneShell/Resources/RCDATA/PHONEINTRO.UIX new file mode 100644 index 0000000..c94076a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PHONEINTRO.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PHOTOFOLDERTREEPANEL.UIX b/ZuneShell/Resources/RCDATA/PHOTOFOLDERTREEPANEL.UIX new file mode 100644 index 0000000..e136116 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PHOTOFOLDERTREEPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PHOTOLIBRARY.UIX b/ZuneShell/Resources/RCDATA/PHOTOLIBRARY.UIX new file mode 100644 index 0000000..8fccf1f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PHOTOLIBRARY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PHOTOSLIDESHOW.UIX b/ZuneShell/Resources/RCDATA/PHOTOSLIDESHOW.UIX new file mode 100644 index 0000000..259718e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PHOTOSLIDESHOW.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.BACK.DISABLED.PNG b/ZuneShell/Resources/RCDATA/PICTURES.BACK.DISABLED.PNG new file mode 100644 index 0000000..6712dad Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.BACK.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.BACK.HOVER.PNG b/ZuneShell/Resources/RCDATA/PICTURES.BACK.HOVER.PNG new file mode 100644 index 0000000..b0f887a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.BACK.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.BACK.PNG b/ZuneShell/Resources/RCDATA/PICTURES.BACK.PNG new file mode 100644 index 0000000..57722b7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.BACK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.BACK.PRESSED.PNG b/ZuneShell/Resources/RCDATA/PICTURES.BACK.PRESSED.PNG new file mode 100644 index 0000000..e62ca5a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.BACK.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.NEXT.DISABLED.PNG b/ZuneShell/Resources/RCDATA/PICTURES.NEXT.DISABLED.PNG new file mode 100644 index 0000000..b8864e6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.NEXT.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.NEXT.HOVER.PNG b/ZuneShell/Resources/RCDATA/PICTURES.NEXT.HOVER.PNG new file mode 100644 index 0000000..e4d9e0c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.NEXT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.NEXT.PNG b/ZuneShell/Resources/RCDATA/PICTURES.NEXT.PNG new file mode 100644 index 0000000..2edffc1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.NEXT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.NEXT.PRESSED.PNG b/ZuneShell/Resources/RCDATA/PICTURES.NEXT.PRESSED.PNG new file mode 100644 index 0000000..690f751 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.NEXT.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.PAUSE.DISABLED.PNG b/ZuneShell/Resources/RCDATA/PICTURES.PAUSE.DISABLED.PNG new file mode 100644 index 0000000..7c05a10 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.PAUSE.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.PAUSE.HOVER.PNG b/ZuneShell/Resources/RCDATA/PICTURES.PAUSE.HOVER.PNG new file mode 100644 index 0000000..1d276dd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.PAUSE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.PAUSE.PNG b/ZuneShell/Resources/RCDATA/PICTURES.PAUSE.PNG new file mode 100644 index 0000000..d3e120b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.PAUSE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.PAUSE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/PICTURES.PAUSE.PRESSED.PNG new file mode 100644 index 0000000..5aba0f2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.PAUSE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.PLAY.DISABLED.PNG b/ZuneShell/Resources/RCDATA/PICTURES.PLAY.DISABLED.PNG new file mode 100644 index 0000000..5709c9e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.PLAY.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.PLAY.HOVER.PNG b/ZuneShell/Resources/RCDATA/PICTURES.PLAY.HOVER.PNG new file mode 100644 index 0000000..f91c172 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.PLAY.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.PLAY.PNG b/ZuneShell/Resources/RCDATA/PICTURES.PLAY.PNG new file mode 100644 index 0000000..6b35012 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.PLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PICTURES.PLAY.PRESSED.PNG b/ZuneShell/Resources/RCDATA/PICTURES.PLAY.PRESSED.PNG new file mode 100644 index 0000000..76ec666 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PICTURES.PLAY.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.LEFT.CLICK.PNG b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.LEFT.CLICK.PNG new file mode 100644 index 0000000..a16d345 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.LEFT.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.LEFT.HOVER.PNG b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.LEFT.HOVER.PNG new file mode 100644 index 0000000..85f5b37 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.LEFT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.LEFT.PNG b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.LEFT.PNG new file mode 100644 index 0000000..233f8da Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.LEFT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.LEFT.CLICK.PNG b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.LEFT.CLICK.PNG new file mode 100644 index 0000000..55efd3e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.LEFT.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.LEFT.HOVER.PNG b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.LEFT.HOVER.PNG new file mode 100644 index 0000000..e3461c7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.LEFT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.LEFT.PNG b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.LEFT.PNG new file mode 100644 index 0000000..ddef7cc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.LEFT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.RIGHT.CLICK.PNG b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.RIGHT.CLICK.PNG new file mode 100644 index 0000000..57851ef Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.RIGHT.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.RIGHT.HOVER.PNG b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.RIGHT.HOVER.PNG new file mode 100644 index 0000000..a7465a3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.RIGHT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.RIGHT.PNG b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.RIGHT.PNG new file mode 100644 index 0000000..20ec81f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.QUICKPLAY.RIGHT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.RIGHT.CLICK.PNG b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.RIGHT.CLICK.PNG new file mode 100644 index 0000000..327ba2b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.RIGHT.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.RIGHT.HOVER.PNG b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.RIGHT.HOVER.PNG new file mode 100644 index 0000000..f9e9680 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.RIGHT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.RIGHT.PNG b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.RIGHT.PNG new file mode 100644 index 0000000..496b282 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOT.SCROLL.RIGHT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PIVOTHELPER.UIX b/ZuneShell/Resources/RCDATA/PIVOTHELPER.UIX new file mode 100644 index 0000000..7b197af Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOTHELPER.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PIVOTLIST.UIX b/ZuneShell/Resources/RCDATA/PIVOTLIST.UIX new file mode 100644 index 0000000..e681643 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PIVOTLIST.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PLAY.CLICK.PNG b/ZuneShell/Resources/RCDATA/PLAY.CLICK.PNG new file mode 100644 index 0000000..5652294 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PLAY.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PLAY.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/PLAY.DEFAULT.PNG new file mode 100644 index 0000000..2717ee0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PLAY.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PLAY.HOVER.PNG b/ZuneShell/Resources/RCDATA/PLAY.HOVER.PNG new file mode 100644 index 0000000..b505404 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PLAY.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PLAYALL.UIX b/ZuneShell/Resources/RCDATA/PLAYALL.UIX new file mode 100644 index 0000000..73098b1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PLAYALL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PLAYLISTCONTENTSPANEL.UIX b/ZuneShell/Resources/RCDATA/PLAYLISTCONTENTSPANEL.UIX new file mode 100644 index 0000000..bbdd1d1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PLAYLISTCONTENTSPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PLAYLISTCONTENTSPANELCOLUMNS.UIX b/ZuneShell/Resources/RCDATA/PLAYLISTCONTENTSPANELCOLUMNS.UIX new file mode 100644 index 0000000..be44012 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PLAYLISTCONTENTSPANELCOLUMNS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PLAYLISTDETAILSPANEL.UIX b/ZuneShell/Resources/RCDATA/PLAYLISTDETAILSPANEL.UIX new file mode 100644 index 0000000..7052544 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PLAYLISTDETAILSPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PLAYLISTDIALOG.UIX b/ZuneShell/Resources/RCDATA/PLAYLISTDIALOG.UIX new file mode 100644 index 0000000..17f10bb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PLAYLISTDIALOG.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PLAYLISTICON.UIX b/ZuneShell/Resources/RCDATA/PLAYLISTICON.UIX new file mode 100644 index 0000000..da57faf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PLAYLISTICON.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PLAYLISTPOPUP.UIX b/ZuneShell/Resources/RCDATA/PLAYLISTPOPUP.UIX new file mode 100644 index 0000000..a278970 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PLAYLISTPOPUP.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PLAYLISTSPANEL.UIX b/ZuneShell/Resources/RCDATA/PLAYLISTSPANEL.UIX new file mode 100644 index 0000000..72d72bf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PLAYLISTSPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PODCASTDETAILSPANEL.UIX b/ZuneShell/Resources/RCDATA/PODCASTDETAILSPANEL.UIX new file mode 100644 index 0000000..d35730d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PODCASTDETAILSPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PODCASTDIALOGS.UIX b/ZuneShell/Resources/RCDATA/PODCASTDIALOGS.UIX new file mode 100644 index 0000000..3ad37f5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PODCASTDIALOGS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PODCASTEPISODESCOLUMNS.UIX b/ZuneShell/Resources/RCDATA/PODCASTEPISODESCOLUMNS.UIX new file mode 100644 index 0000000..8ef76ff Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PODCASTEPISODESCOLUMNS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PODCASTEPISODESPANEL.UIX b/ZuneShell/Resources/RCDATA/PODCASTEPISODESPANEL.UIX new file mode 100644 index 0000000..9b7c599 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PODCASTEPISODESPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PODCASTLIBRARY.UIX b/ZuneShell/Resources/RCDATA/PODCASTLIBRARY.UIX new file mode 100644 index 0000000..4b29239 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PODCASTLIBRARY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PODCASTS.EMPTY.PNG b/ZuneShell/Resources/RCDATA/PODCASTS.EMPTY.PNG new file mode 100644 index 0000000..4d451ec Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PODCASTS.EMPTY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PODCASTSERIESPANEL.UIX b/ZuneShell/Resources/RCDATA/PODCASTSERIESPANEL.UIX new file mode 100644 index 0000000..f38934a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PODCASTSERIESPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/POINTS.BUTTON.PNG b/ZuneShell/Resources/RCDATA/POINTS.BUTTON.PNG new file mode 100644 index 0000000..7a7f39c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/POINTS.BUTTON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/POINTS.INLINE.PNG b/ZuneShell/Resources/RCDATA/POINTS.INLINE.PNG new file mode 100644 index 0000000..537528a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/POINTS.INLINE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/POINTS.TOP.PNG b/ZuneShell/Resources/RCDATA/POINTS.TOP.PNG new file mode 100644 index 0000000..88d208e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/POINTS.TOP.PNG differ diff --git a/ZuneShell/Resources/RCDATA/POPUP.UIX b/ZuneShell/Resources/RCDATA/POPUP.UIX new file mode 100644 index 0000000..aecc25e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/POPUP.UIX differ diff --git a/ZuneShell/Resources/RCDATA/POPUPICON.UIX b/ZuneShell/Resources/RCDATA/POPUPICON.UIX new file mode 100644 index 0000000..d2577ac Binary files /dev/null and b/ZuneShell/Resources/RCDATA/POPUPICON.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PREMIUMOVERLAY.PNG b/ZuneShell/Resources/RCDATA/PREMIUMOVERLAY.PNG new file mode 100644 index 0000000..f26dee9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PREMIUMOVERLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PREVIOUSDEVICE.HOVER.PNG b/ZuneShell/Resources/RCDATA/PREVIOUSDEVICE.HOVER.PNG new file mode 100644 index 0000000..3b0c03d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PREVIOUSDEVICE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PREVIOUSDEVICE.PNG b/ZuneShell/Resources/RCDATA/PREVIOUSDEVICE.PNG new file mode 100644 index 0000000..5b43f98 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PREVIOUSDEVICE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PREVIOUSDEVICE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/PREVIOUSDEVICE.PRESSED.PNG new file mode 100644 index 0000000..615b746 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PREVIOUSDEVICE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PROFILE.BADGE.SEAL.PNG b/ZuneShell/Resources/RCDATA/PROFILE.BADGE.SEAL.PNG new file mode 100644 index 0000000..8d7a64e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PROFILE.BADGE.SEAL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PROFILE.DEFAULT.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/PROFILE.DEFAULT.BACKGROUND.PNG new file mode 100644 index 0000000..a6350fe Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PROFILE.DEFAULT.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PROFILE.DEFAULT.TILE.PNG b/ZuneShell/Resources/RCDATA/PROFILE.DEFAULT.TILE.PNG new file mode 100644 index 0000000..aadecd5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PROFILE.DEFAULT.TILE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/PROFILE.UIX b/ZuneShell/Resources/RCDATA/PROFILE.UIX new file mode 100644 index 0000000..54c0d08 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PROFILE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PROFILECATEGORIES.UIX b/ZuneShell/Resources/RCDATA/PROFILECATEGORIES.UIX new file mode 100644 index 0000000..302f348 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PROFILECATEGORIES.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PROFILEEDIT.UIX b/ZuneShell/Resources/RCDATA/PROFILEEDIT.UIX new file mode 100644 index 0000000..554d105 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PROFILEEDIT.UIX differ diff --git a/ZuneShell/Resources/RCDATA/PURCHASEFORBURN.UIX b/ZuneShell/Resources/RCDATA/PURCHASEFORBURN.UIX new file mode 100644 index 0000000..9c1b3b0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/PURCHASEFORBURN.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.BACK.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.BACK.DEFAULT.PNG new file mode 100644 index 0000000..6a31dac Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.BACK.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.BACK.HOVER.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.BACK.HOVER.PNG new file mode 100644 index 0000000..32ba767 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.BACK.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.BACK.PRESSED.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.BACK.PRESSED.PNG new file mode 100644 index 0000000..e30421d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.BACK.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.BORDER.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.BORDER.DEFAULT.PNG new file mode 100644 index 0000000..855cf63 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.BORDER.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.BORDER.HOVER.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.BORDER.HOVER.PNG new file mode 100644 index 0000000..11658f7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.BORDER.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.DONE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.DONE.DEFAULT.PNG new file mode 100644 index 0000000..0b0fa11 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.DONE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.DONE.DISABLED.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.DONE.DISABLED.PNG new file mode 100644 index 0000000..0581b3d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.DONE.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.DONE.HOVER.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.DONE.HOVER.PNG new file mode 100644 index 0000000..1c685ab Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.DONE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.DONE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.DONE.PRESSED.PNG new file mode 100644 index 0000000..d14e6ea Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.DONE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.EDIT.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.EDIT.DEFAULT.PNG new file mode 100644 index 0000000..c2ef44f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.EDIT.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.EDIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.EDIT.HOVER.PNG new file mode 100644 index 0000000..bb6a63f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.EDIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.EDIT.PRESSED.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.EDIT.PRESSED.PNG new file mode 100644 index 0000000..3e9b132 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.EDIT.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.RADIO.DARK.HOVER.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.RADIO.DARK.HOVER.PNG new file mode 100644 index 0000000..6054632 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.RADIO.DARK.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.RADIO.DARK.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.RADIO.DARK.PNG new file mode 100644 index 0000000..5fa4631 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.RADIO.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.RADIO.DARK.PRESSED.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.RADIO.DARK.PRESSED.PNG new file mode 100644 index 0000000..fd4b493 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.RADIO.DARK.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.RADIO.PNG b/ZuneShell/Resources/RCDATA/QUICKMIX.RADIO.PNG new file mode 100644 index 0000000..091d144 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.RADIO.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIX.UIX b/ZuneShell/Resources/RCDATA/QUICKMIX.UIX new file mode 100644 index 0000000..fd03011 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIX.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIXHELPER.UIX b/ZuneShell/Resources/RCDATA/QUICKMIXHELPER.UIX new file mode 100644 index 0000000..59db52f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIXHELPER.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIXICON.PNG b/ZuneShell/Resources/RCDATA/QUICKMIXICON.PNG new file mode 100644 index 0000000..5164f4f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIXICON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKMIXPLAYLISTDIALOG.UIX b/ZuneShell/Resources/RCDATA/QUICKMIXPLAYLISTDIALOG.UIX new file mode 100644 index 0000000..8bdff30 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKMIXPLAYLISTDIALOG.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAY.DEFAULT.TILE.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/QUICKPLAY.DEFAULT.TILE.BACKGROUND.PNG new file mode 100644 index 0000000..780699c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAY.DEFAULT.TILE.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAY.PLAYLIST.TILE.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/QUICKPLAY.PLAYLIST.TILE.BACKGROUND.PNG new file mode 100644 index 0000000..3c5a7ca Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAY.PLAYLIST.TILE.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAY.UIX b/ZuneShell/Resources/RCDATA/QUICKPLAY.UIX new file mode 100644 index 0000000..2e5ed26 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAYACTIONS.UIX b/ZuneShell/Resources/RCDATA/QUICKPLAYACTIONS.UIX new file mode 100644 index 0000000..90c38cd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAYACTIONS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAYLISTMODEL.UIX b/ZuneShell/Resources/RCDATA/QUICKPLAYLISTMODEL.UIX new file mode 100644 index 0000000..f1f52c0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAYLISTMODEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAYMETHODS.UIX b/ZuneShell/Resources/RCDATA/QUICKPLAYMETHODS.UIX new file mode 100644 index 0000000..0ac0b74 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAYMETHODS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAYMODULE.UIX b/ZuneShell/Resources/RCDATA/QUICKPLAYMODULE.UIX new file mode 100644 index 0000000..171bad1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAYMODULE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAYMODULESTRIP.UIX b/ZuneShell/Resources/RCDATA/QUICKPLAYMODULESTRIP.UIX new file mode 100644 index 0000000..126b0bd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAYMODULESTRIP.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAYNAVIGATION.UIX b/ZuneShell/Resources/RCDATA/QUICKPLAYNAVIGATION.UIX new file mode 100644 index 0000000..cfefdf0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAYNAVIGATION.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAYPLAYHELPER.UIX b/ZuneShell/Resources/RCDATA/QUICKPLAYPLAYHELPER.UIX new file mode 100644 index 0000000..d882f5e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAYPLAYHELPER.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAYQUERIES.UIX b/ZuneShell/Resources/RCDATA/QUICKPLAYQUERIES.UIX new file mode 100644 index 0000000..8dc6381 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAYQUERIES.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAYSTRIP.UIX b/ZuneShell/Resources/RCDATA/QUICKPLAYSTRIP.UIX new file mode 100644 index 0000000..0d3064d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAYSTRIP.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAYSTYLES.UIX b/ZuneShell/Resources/RCDATA/QUICKPLAYSTYLES.UIX new file mode 100644 index 0000000..4f3637f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAYSTYLES.UIX differ diff --git a/ZuneShell/Resources/RCDATA/QUICKPLAYTHUMBNAIL.UIX b/ZuneShell/Resources/RCDATA/QUICKPLAYTHUMBNAIL.UIX new file mode 100644 index 0000000..3d520c8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/QUICKPLAYTHUMBNAIL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/RADIOBUTTON.UIX b/ZuneShell/Resources/RCDATA/RADIOBUTTON.UIX new file mode 100644 index 0000000..9b4ff71 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RADIOBUTTON.UIX differ diff --git a/ZuneShell/Resources/RCDATA/RADIOBUTTONCHECKED.DARK.PNG b/ZuneShell/Resources/RCDATA/RADIOBUTTONCHECKED.DARK.PNG new file mode 100644 index 0000000..c2efeed Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RADIOBUTTONCHECKED.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RADIOBUTTONCHECKEDHOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/RADIOBUTTONCHECKEDHOVER.DARK.PNG new file mode 100644 index 0000000..fbadab1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RADIOBUTTONCHECKEDHOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RADIOBUTTONDISABLED.DARK.PNG b/ZuneShell/Resources/RCDATA/RADIOBUTTONDISABLED.DARK.PNG new file mode 100644 index 0000000..fefcfae Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RADIOBUTTONDISABLED.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RADIOBUTTONFOCUS.DARK.PNG b/ZuneShell/Resources/RCDATA/RADIOBUTTONFOCUS.DARK.PNG new file mode 100644 index 0000000..6eb957d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RADIOBUTTONFOCUS.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RADIOBUTTONNONFOCUS.DARK.PNG b/ZuneShell/Resources/RCDATA/RADIOBUTTONNONFOCUS.DARK.PNG new file mode 100644 index 0000000..e20608e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RADIOBUTTONNONFOCUS.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RADIOPANEL.UIX b/ZuneShell/Resources/RCDATA/RADIOPANEL.UIX new file mode 100644 index 0000000..81c6379 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RADIOPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/RATING.DARK.HATEIT.CLICK.PNG b/ZuneShell/Resources/RCDATA/RATING.DARK.HATEIT.CLICK.PNG new file mode 100644 index 0000000..cf37fad Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.DARK.HATEIT.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.DARK.HATEIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.DARK.HATEIT.HOVER.PNG new file mode 100644 index 0000000..264c13c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.DARK.HATEIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.DARK.HATEIT.PNG b/ZuneShell/Resources/RCDATA/RATING.DARK.HATEIT.PNG new file mode 100644 index 0000000..c33eb9d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.DARK.HATEIT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.DARK.LIKEIT.CLICK.PNG b/ZuneShell/Resources/RCDATA/RATING.DARK.LIKEIT.CLICK.PNG new file mode 100644 index 0000000..e5d8283 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.DARK.LIKEIT.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.DARK.LIKEIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.DARK.LIKEIT.HOVER.PNG new file mode 100644 index 0000000..db50f90 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.DARK.LIKEIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.DARK.LIKEIT.PNG b/ZuneShell/Resources/RCDATA/RATING.DARK.LIKEIT.PNG new file mode 100644 index 0000000..a1e0030 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.DARK.LIKEIT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.DARK.NOTRATED.CLICK.PNG b/ZuneShell/Resources/RCDATA/RATING.DARK.NOTRATED.CLICK.PNG new file mode 100644 index 0000000..abbf075 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.DARK.NOTRATED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.DARK.NOTRATED.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.DARK.NOTRATED.HOVER.PNG new file mode 100644 index 0000000..30eba24 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.DARK.NOTRATED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.DARK.NOTRATED.PNG b/ZuneShell/Resources/RCDATA/RATING.DARK.NOTRATED.PNG new file mode 100644 index 0000000..8cdacb5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.DARK.NOTRATED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/RATING.DEFAULT.PNG new file mode 100644 index 0000000..f286a09 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.HATEIT.CLICK.PNG b/ZuneShell/Resources/RCDATA/RATING.HATEIT.CLICK.PNG new file mode 100644 index 0000000..e330fa0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.HATEIT.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.HATEIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.HATEIT.HOVER.PNG new file mode 100644 index 0000000..d8dd632 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.HATEIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.HATEIT.PNG b/ZuneShell/Resources/RCDATA/RATING.HATEIT.PNG new file mode 100644 index 0000000..ccb4255 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.HATEIT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.HATEIT.SELECTED.PNG b/ZuneShell/Resources/RCDATA/RATING.HATEIT.SELECTED.PNG new file mode 100644 index 0000000..29d7b77 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.HATEIT.SELECTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.HEADER.PNG b/ZuneShell/Resources/RCDATA/RATING.HEADER.PNG new file mode 100644 index 0000000..3e84efd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.HEADER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.LIKEIT.CLICK.PNG b/ZuneShell/Resources/RCDATA/RATING.LIKEIT.CLICK.PNG new file mode 100644 index 0000000..1ac754d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.LIKEIT.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.LIKEIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.LIKEIT.HOVER.PNG new file mode 100644 index 0000000..3e84efd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.LIKEIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.LIKEIT.PNG b/ZuneShell/Resources/RCDATA/RATING.LIKEIT.PNG new file mode 100644 index 0000000..529aa1a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.LIKEIT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.LIKEIT.SELECTED.PNG b/ZuneShell/Resources/RCDATA/RATING.LIKEIT.SELECTED.PNG new file mode 100644 index 0000000..da02162 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.LIKEIT.SELECTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.LIKEORUNRATED.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.LIKEORUNRATED.HOVER.PNG new file mode 100644 index 0000000..387e084 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.LIKEORUNRATED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.LIKEORUNRATED.PNG b/ZuneShell/Resources/RCDATA/RATING.LIKEORUNRATED.PNG new file mode 100644 index 0000000..adfc472 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.LIKEORUNRATED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NOTRATED.CLICK.PNG b/ZuneShell/Resources/RCDATA/RATING.NOTRATED.CLICK.PNG new file mode 100644 index 0000000..dda6780 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NOTRATED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NOTRATED.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.NOTRATED.HOVER.PNG new file mode 100644 index 0000000..3c954b7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NOTRATED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NOTRATED.PNG b/ZuneShell/Resources/RCDATA/RATING.NOTRATED.PNG new file mode 100644 index 0000000..94d4d6e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NOTRATED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.HATEIT.CLICK.PNG b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.HATEIT.CLICK.PNG new file mode 100644 index 0000000..a3ab9cd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.HATEIT.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.HATEIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.HATEIT.HOVER.PNG new file mode 100644 index 0000000..97f6f9e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.HATEIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.HATEIT.PNG b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.HATEIT.PNG new file mode 100644 index 0000000..5401787 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.HATEIT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.LIKEIT.CLICK.PNG b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.LIKEIT.CLICK.PNG new file mode 100644 index 0000000..a38213b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.LIKEIT.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.LIKEIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.LIKEIT.HOVER.PNG new file mode 100644 index 0000000..64db852 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.LIKEIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.LIKEIT.PNG b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.LIKEIT.PNG new file mode 100644 index 0000000..886c0e6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.LIKEIT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.NOTRATED.CLICK.PNG b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.NOTRATED.CLICK.PNG new file mode 100644 index 0000000..abfe541 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.NOTRATED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.NOTRATED.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.NOTRATED.HOVER.PNG new file mode 100644 index 0000000..e6d21cc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.NOTRATED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.NOTRATED.PNG b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.NOTRATED.PNG new file mode 100644 index 0000000..890fd4d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NOWPLAYING.NOTRATED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.HATEIT.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.HATEIT.DEFAULT.PNG new file mode 100644 index 0000000..379728b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.HATEIT.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.HATEIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.HATEIT.HOVER.PNG new file mode 100644 index 0000000..4497301 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.HATEIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.HATEIT.PRESSED.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.HATEIT.PRESSED.PNG new file mode 100644 index 0000000..297199f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.HATEIT.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.LIKEIT.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.LIKEIT.DEFAULT.PNG new file mode 100644 index 0000000..a6ac09d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.LIKEIT.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.LIKEIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.LIKEIT.HOVER.PNG new file mode 100644 index 0000000..be29d12 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.LIKEIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.LIKEIT.PRESSED.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.LIKEIT.PRESSED.PNG new file mode 100644 index 0000000..0339f14 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.LIKEIT.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.NOTRATED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.NOTRATED.DEFAULT.PNG new file mode 100644 index 0000000..cd9d00d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.NOTRATED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.NOTRATED.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.NOTRATED.HOVER.PNG new file mode 100644 index 0000000..ea73a80 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.NOTRATED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.NOTRATED.PRESSED.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.NOTRATED.PRESSED.PNG new file mode 100644 index 0000000..4cd6ef3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.NOTRATED.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.HATEIT.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.HATEIT.DEFAULT.PNG new file mode 100644 index 0000000..07954f0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.HATEIT.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.HATEIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.HATEIT.HOVER.PNG new file mode 100644 index 0000000..2455c03 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.HATEIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.HATEIT.PRESSED.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.HATEIT.PRESSED.PNG new file mode 100644 index 0000000..d6587e5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.HATEIT.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.LIKEIT.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.LIKEIT.DEFAULT.PNG new file mode 100644 index 0000000..6aa6565 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.LIKEIT.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.LIKEIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.LIKEIT.HOVER.PNG new file mode 100644 index 0000000..600ca45 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.LIKEIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.LIKEIT.PRESSED.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.LIKEIT.PRESSED.PNG new file mode 100644 index 0000000..0afacc9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.LIKEIT.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.NOTRATED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.NOTRATED.DEFAULT.PNG new file mode 100644 index 0000000..8797211 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.NOTRATED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.NOTRATED.HOVER.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.NOTRATED.HOVER.PNG new file mode 100644 index 0000000..a8a1c30 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.NOTRATED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.NOTRATED.PRESSED.PNG b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.NOTRATED.PRESSED.PNG new file mode 100644 index 0000000..35ce976 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RATING.NP.NOWPLAYING.NOTRATED.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RECOMMENDATIONS.EMPTY.PNG b/ZuneShell/Resources/RCDATA/RECOMMENDATIONS.EMPTY.PNG new file mode 100644 index 0000000..7c383f5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RECOMMENDATIONS.EMPTY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/REFRESH.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/REFRESH.DEFAULT.PNG new file mode 100644 index 0000000..6c9b866 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/REFRESH.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/REFRESH.HOVER.PNG b/ZuneShell/Resources/RCDATA/REFRESH.HOVER.PNG new file mode 100644 index 0000000..fbd0c28 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/REFRESH.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/REFRESH.PRESSED.PNG b/ZuneShell/Resources/RCDATA/REFRESH.PRESSED.PNG new file mode 100644 index 0000000..ef1554a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/REFRESH.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/REMOVE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/REMOVE.DEFAULT.PNG new file mode 100644 index 0000000..33a2de5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/REMOVE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/REMOVE.HOVER.PNG b/ZuneShell/Resources/RCDATA/REMOVE.HOVER.PNG new file mode 100644 index 0000000..b5deadc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/REMOVE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/REMOVE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/REMOVE.PRESSED.PNG new file mode 100644 index 0000000..dbac9f1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/REMOVE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RENTALPURCHASEDEVICE.PNG b/ZuneShell/Resources/RCDATA/RENTALPURCHASEDEVICE.PNG new file mode 100644 index 0000000..96dd2e6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RENTALPURCHASEDEVICE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/RENTALPURCHASEPC.PNG b/ZuneShell/Resources/RCDATA/RENTALPURCHASEPC.PNG new file mode 100644 index 0000000..d08f15b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/RENTALPURCHASEPC.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCHEMADATA.REG.UIX b/ZuneShell/Resources/RCDATA/SCHEMADATA.REG.UIX new file mode 100644 index 0000000..c12b224 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCHEMADATA.REG.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.BACKGROUND.PNG new file mode 100644 index 0000000..4e5c104 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..4fcf3f5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..ca43b8b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..3f83938 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..f88f6b2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..b417ac7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..61bb0d9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..18af213 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..31c7809 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..b417ac7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..338ed4c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..24eab19 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..4d7f775 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACK.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.BACKGROUND.PNG new file mode 100644 index 0000000..9bfcc7b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..5e90164 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..15b6275 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..87b2c19 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..f4161bf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..66cfc9d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..b918760 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..a07d630 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..cac1396 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..66cfc9d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..802fbfc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..4735594 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..a2d8336 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLACKBLACK.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.BACKGROUND.PNG new file mode 100644 index 0000000..532726e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..452e808 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..452e808 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..10fb31a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..10fb31a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..ceba16c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..ceba16c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..8f559e0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..8f559e0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..ceba16c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..ceba16c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..e561e51 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..2ab99d0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.BLUE.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.BACKGROUND.PNG new file mode 100644 index 0000000..b6cf509 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..3df34f4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..3df34f4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..c038bb5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..c038bb5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..bc23cdb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..bc23cdb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..be4e9e6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..be4e9e6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..bc23cdb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..bc23cdb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..c746fe3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..4fef698 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CAMO.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.BACKGROUND.PNG new file mode 100644 index 0000000..8aac03a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..3453d5d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..3453d5d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..746e043 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..746e043 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..cc888a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..cc888a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..c0b612d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..c0b612d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..cc888a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..cc888a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..3c04f29 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..baedc6e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.CITRON.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..43f34ed Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.CLICK.PNG new file mode 100644 index 0000000..adb92fd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..7b14071 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..ac489f2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..db64af0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.DRAG.PNG new file mode 100644 index 0000000..0405e09 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..d78d379 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.HOVER.PNG new file mode 100644 index 0000000..70f24a7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.DISCONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.LARGE.DISCONNECTED.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.LARGE.DISCONNECTED.PNG new file mode 100644 index 0000000..97f8f83 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.LARGE.DISCONNECTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.MEDIUM.UNSUPPORTED.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.MEDIUM.UNSUPPORTED.PNG new file mode 100644 index 0000000..8570dc7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.MEDIUM.UNSUPPORTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.BACKGROUND.PNG new file mode 100644 index 0000000..71f8671 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..4d95810 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..4d95810 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..ad43e23 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..ad43e23 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..caa842e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..caa842e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..4aca591 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..4aca591 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..caa842e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..caa842e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..574a43e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..c509b60 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.PINK.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.RED.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.BACKGROUND.PNG new file mode 100644 index 0000000..3465dcf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..1d7034d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..1d7034d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..32d280f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..32d280f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..9d9a8dc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..9d9a8dc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..9369683 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..9369683 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..9d9a8dc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..9d9a8dc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.RED.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..d95fd240 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.RED.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..7349a5b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.RED.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.BACKGROUND.PNG new file mode 100644 index 0000000..3a40282 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..1a0664d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..1a0664d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..413abe5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..413abe5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..da3f388 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..da3f388 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..a604933 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..a604933 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..da3f388 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..da3f388 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..0b937a8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..96916e7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.REDBLACKBACK.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.BACKGROUND.PNG new file mode 100644 index 0000000..9cb09ef Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..2d21318 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..2d21318 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..27ec64a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..27ec64a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..4f5c302 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..4f5c302 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..a44dc64 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..a44dc64 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..4f5c302 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..4f5c302 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..0ae301b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..3e71380 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCORPIUS.WHITE.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCREENSHOT.CLOSE.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCREENSHOT.CLOSE.HOVER.PNG new file mode 100644 index 0000000..b5deadc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCREENSHOT.CLOSE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCREENSHOT.CLOSE.PNG b/ZuneShell/Resources/RCDATA/SCREENSHOT.CLOSE.PNG new file mode 100644 index 0000000..33a2de5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCREENSHOT.CLOSE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCREENSHOT.CLOSE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/SCREENSHOT.CLOSE.PRESSED.PNG new file mode 100644 index 0000000..dbac9f1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCREENSHOT.CLOSE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCREENSHOT.POINTER.PNG b/ZuneShell/Resources/RCDATA/SCREENSHOT.POINTER.PNG new file mode 100644 index 0000000..ee36685 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCREENSHOT.POINTER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.DOWN.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.DOWN.CLICK.PNG new file mode 100644 index 0000000..2bc4e23 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.DOWN.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.DOWN.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.DOWN.HOVER.PNG new file mode 100644 index 0000000..898d2b5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.DOWN.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.DOWN.PNG b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.DOWN.PNG new file mode 100644 index 0000000..7553cdf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.DOWN.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.LEFT.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.LEFT.CLICK.PNG new file mode 100644 index 0000000..b15eb9a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.LEFT.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.LEFT.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.LEFT.HOVER.PNG new file mode 100644 index 0000000..04c18b9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.LEFT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.LEFT.PNG b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.LEFT.PNG new file mode 100644 index 0000000..1c890b4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.LEFT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.RIGHT.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.RIGHT.CLICK.PNG new file mode 100644 index 0000000..66432c6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.RIGHT.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.RIGHT.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.RIGHT.HOVER.PNG new file mode 100644 index 0000000..29407ac Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.RIGHT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.RIGHT.PNG b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.RIGHT.PNG new file mode 100644 index 0000000..f8265ee Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.RIGHT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.UP.CLICK.PNG b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.UP.CLICK.PNG new file mode 100644 index 0000000..bfc7a04 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.UP.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.UP.HOVER.PNG b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.UP.HOVER.PNG new file mode 100644 index 0000000..bb74d3b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.UP.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.UP.PNG b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.UP.PNG new file mode 100644 index 0000000..5226f51 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SCROLLBAR.DARK.ARROW.UP.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SEARCH.ICON.CLICKED.PNG b/ZuneShell/Resources/RCDATA/SEARCH.ICON.CLICKED.PNG new file mode 100644 index 0000000..bbe107c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SEARCH.ICON.CLICKED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SEARCH.ICON.DISABLED.PNG b/ZuneShell/Resources/RCDATA/SEARCH.ICON.DISABLED.PNG new file mode 100644 index 0000000..9893b11 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SEARCH.ICON.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SEARCH.ICON.HOVER.PNG b/ZuneShell/Resources/RCDATA/SEARCH.ICON.HOVER.PNG new file mode 100644 index 0000000..02a804a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SEARCH.ICON.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SEARCH.ICON.PNG b/ZuneShell/Resources/RCDATA/SEARCH.ICON.PNG new file mode 100644 index 0000000..5f04679 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SEARCH.ICON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SEARCH.UIX b/ZuneShell/Resources/RCDATA/SEARCH.UIX new file mode 100644 index 0000000..3549253 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SEARCH.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SEARCHBOX.BACKGROUND.ACTIVE.PNG b/ZuneShell/Resources/RCDATA/SEARCHBOX.BACKGROUND.ACTIVE.PNG new file mode 100644 index 0000000..46feb57 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SEARCHBOX.BACKGROUND.ACTIVE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SEARCHBOX.BACKGROUND.DISABLED.PNG b/ZuneShell/Resources/RCDATA/SEARCHBOX.BACKGROUND.DISABLED.PNG new file mode 100644 index 0000000..9beffbd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SEARCHBOX.BACKGROUND.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SEARCHBOX.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SEARCHBOX.BACKGROUND.PNG new file mode 100644 index 0000000..2bdd847 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SEARCHBOX.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SECURITY.PNG b/ZuneShell/Resources/RCDATA/SECURITY.PNG new file mode 100644 index 0000000..6332efe Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SECURITY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SEGOEZ-LIGHT.TTC b/ZuneShell/Resources/RCDATA/SEGOEZ-LIGHT.TTC new file mode 100644 index 0000000..619524f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SEGOEZ-LIGHT.TTC differ diff --git a/ZuneShell/Resources/RCDATA/SERIESPANEL.UIX b/ZuneShell/Resources/RCDATA/SERIESPANEL.UIX new file mode 100644 index 0000000..ae10b1e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SERIESPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SETUPLAND.UIX b/ZuneShell/Resources/RCDATA/SETUPLAND.UIX new file mode 100644 index 0000000..5eb512b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SETUPLAND.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SHORTCUT.PNG b/ZuneShell/Resources/RCDATA/SHORTCUT.PNG new file mode 100644 index 0000000..abee194 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SHORTCUT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SHORTCUTKEYS.UIX b/ZuneShell/Resources/RCDATA/SHORTCUTKEYS.UIX new file mode 100644 index 0000000..8176687 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SHORTCUTKEYS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SIGNIN.TILE.OVERLAY.PNG b/ZuneShell/Resources/RCDATA/SIGNIN.TILE.OVERLAY.PNG new file mode 100644 index 0000000..43dd851 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SIGNIN.TILE.OVERLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SIGNIN.USERNAME.HOVER.PNG b/ZuneShell/Resources/RCDATA/SIGNIN.USERNAME.HOVER.PNG new file mode 100644 index 0000000..b375bc2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SIGNIN.USERNAME.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SIGNINDIALOG.UIX b/ZuneShell/Resources/RCDATA/SIGNINDIALOG.UIX new file mode 100644 index 0000000..6611dec Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SIGNINDIALOG.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SLIDER.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SLIDER.BACKGROUND.PNG new file mode 100644 index 0000000..079994a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDER.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDER.BLANKBACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SLIDER.BLANKBACKGROUND.PNG new file mode 100644 index 0000000..578ddcf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDER.BLANKBACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDER.FILLED.PNG b/ZuneShell/Resources/RCDATA/SLIDER.FILLED.PNG new file mode 100644 index 0000000..ce426fa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDER.FILLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDER.SLIDESHOW.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SLIDER.SLIDESHOW.BACKGROUND.PNG new file mode 100644 index 0000000..6e30759 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDER.SLIDESHOW.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDER.SLIDESHOW.FILLED.PNG b/ZuneShell/Resources/RCDATA/SLIDER.SLIDESHOW.FILLED.PNG new file mode 100644 index 0000000..67dd595 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDER.SLIDESHOW.FILLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDER.SLIDESHOW.TINKERBELL.HOVER.PNG b/ZuneShell/Resources/RCDATA/SLIDER.SLIDESHOW.TINKERBELL.HOVER.PNG new file mode 100644 index 0000000..262276c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDER.SLIDESHOW.TINKERBELL.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDER.SLIDESHOW.TINKERBELL.PNG b/ZuneShell/Resources/RCDATA/SLIDER.SLIDESHOW.TINKERBELL.PNG new file mode 100644 index 0000000..7c33da8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDER.SLIDESHOW.TINKERBELL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDER.TINKERBELL.HOVER.PNG b/ZuneShell/Resources/RCDATA/SLIDER.TINKERBELL.HOVER.PNG new file mode 100644 index 0000000..79b01a4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDER.TINKERBELL.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDER.TINKERBELL.PNG b/ZuneShell/Resources/RCDATA/SLIDER.TINKERBELL.PNG new file mode 100644 index 0000000..f87a77d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDER.TINKERBELL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDER.UIX b/ZuneShell/Resources/RCDATA/SLIDER.UIX new file mode 100644 index 0000000..073f2b1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDER.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SLIDER.VOLUME.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SLIDER.VOLUME.BACKGROUND.PNG new file mode 100644 index 0000000..5c78b9e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDER.VOLUME.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.BACK.DISABLED.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.BACK.DISABLED.PNG new file mode 100644 index 0000000..61f8391 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.BACK.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.BACK.HOVER.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.BACK.HOVER.PNG new file mode 100644 index 0000000..b95d6f7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.BACK.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.BACK.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.BACK.PNG new file mode 100644 index 0000000..c1eec7b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.BACK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.BACK.PRESSED.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.BACK.PRESSED.PNG new file mode 100644 index 0000000..bfbc2c8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.BACK.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.NEXT.DISABLED.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.NEXT.DISABLED.PNG new file mode 100644 index 0000000..f9f50e1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.NEXT.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.NEXT.HOVER.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.NEXT.HOVER.PNG new file mode 100644 index 0000000..20990b2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.NEXT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.NEXT.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.NEXT.PNG new file mode 100644 index 0000000..a6fd401 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.NEXT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.NEXT.PRESSED.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.NEXT.PRESSED.PNG new file mode 100644 index 0000000..370ad3c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.NEXT.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.PAUSE.DISABLED.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.PAUSE.DISABLED.PNG new file mode 100644 index 0000000..e5285e5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.PAUSE.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.PAUSE.HOVER.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.PAUSE.HOVER.PNG new file mode 100644 index 0000000..acbbf67 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.PAUSE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.PAUSE.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.PAUSE.PNG new file mode 100644 index 0000000..9fa85c0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.PAUSE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.PAUSE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.PAUSE.PRESSED.PNG new file mode 100644 index 0000000..5bf93cc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.PAUSE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.PLAY.DISABLED.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.PLAY.DISABLED.PNG new file mode 100644 index 0000000..bb7c41b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.PLAY.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.PLAY.HOVER.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.PLAY.HOVER.PNG new file mode 100644 index 0000000..e44c313 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.PLAY.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.PLAY.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.PLAY.PNG new file mode 100644 index 0000000..bd40f81 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.PLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SLIDESHOW.PLAY.PRESSED.PNG b/ZuneShell/Resources/RCDATA/SLIDESHOW.PLAY.PRESSED.PNG new file mode 100644 index 0000000..ff1a69a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SLIDESHOW.PLAY.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SMALLDOWNLOADICON.PNG b/ZuneShell/Resources/RCDATA/SMALLDOWNLOADICON.PNG new file mode 100644 index 0000000..05fa0f2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SMALLDOWNLOADICON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SMALLRIPBURNICON.PNG b/ZuneShell/Resources/RCDATA/SMALLRIPBURNICON.PNG new file mode 100644 index 0000000..c45e080 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SMALLRIPBURNICON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SOCIAL.EMPTY.PNG b/ZuneShell/Resources/RCDATA/SOCIAL.EMPTY.PNG new file mode 100644 index 0000000..4d06db9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SOCIAL.EMPTY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SOCIALCOMPOSER.UIX b/ZuneShell/Resources/RCDATA/SOCIALCOMPOSER.UIX new file mode 100644 index 0000000..a5dc9d4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SOCIALCOMPOSER.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SOCIALDATA.SCHEMA.XML b/ZuneShell/Resources/RCDATA/SOCIALDATA.SCHEMA.XML new file mode 100644 index 0000000..9ab55c5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SOCIALDATA.SCHEMA.XML differ diff --git a/ZuneShell/Resources/RCDATA/SOCIALEMPTY.UIX b/ZuneShell/Resources/RCDATA/SOCIALEMPTY.UIX new file mode 100644 index 0000000..38ebabf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SOCIALEMPTY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SOCIALNAVIGATION.UIX b/ZuneShell/Resources/RCDATA/SOCIALNAVIGATION.UIX new file mode 100644 index 0000000..eb3f494 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SOCIALNAVIGATION.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SONGSFORYOU.PNG b/ZuneShell/Resources/RCDATA/SONGSFORYOU.PNG new file mode 100644 index 0000000..6188ec1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SONGSFORYOU.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SPLITTER.UIX b/ZuneShell/Resources/RCDATA/SPLITTER.UIX new file mode 100644 index 0000000..f7bb97d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SPLITTER.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SPREADSHEET.UIX b/ZuneShell/Resources/RCDATA/SPREADSHEET.UIX new file mode 100644 index 0000000..b780116 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SPREADSHEET.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SPREADSHEETCELLS.UIX b/ZuneShell/Resources/RCDATA/SPREADSHEETCELLS.UIX new file mode 100644 index 0000000..1d76c3b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SPREADSHEETCELLS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.DISABLED.PNG b/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.DISABLED.PNG new file mode 100644 index 0000000..e7ef13f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.HOVER.PNG b/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.HOVER.PNG new file mode 100644 index 0000000..e7ef13f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.PNG b/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.PNG new file mode 100644 index 0000000..e7ef13f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.PRESSED.PNG b/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.PRESSED.PNG new file mode 100644 index 0000000..e7ef13f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.SMALL.PNG b/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.SMALL.PNG new file mode 100644 index 0000000..61e9da4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/STARRATINGEMPTY.SMALL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/STARRATINGFULL.DISABLED.PNG b/ZuneShell/Resources/RCDATA/STARRATINGFULL.DISABLED.PNG new file mode 100644 index 0000000..34f8425 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/STARRATINGFULL.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/STARRATINGFULL.HOVER.PNG b/ZuneShell/Resources/RCDATA/STARRATINGFULL.HOVER.PNG new file mode 100644 index 0000000..e703d84 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/STARRATINGFULL.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/STARRATINGFULL.PNG b/ZuneShell/Resources/RCDATA/STARRATINGFULL.PNG new file mode 100644 index 0000000..e703d84 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/STARRATINGFULL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/STARRATINGFULL.PRESSED.PNG b/ZuneShell/Resources/RCDATA/STARRATINGFULL.PRESSED.PNG new file mode 100644 index 0000000..34f8425 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/STARRATINGFULL.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/STARRATINGFULL.SMALL.PNG b/ZuneShell/Resources/RCDATA/STARRATINGFULL.SMALL.PNG new file mode 100644 index 0000000..022ced3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/STARRATINGFULL.SMALL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/STARRATINGHALF.SMALL.PNG b/ZuneShell/Resources/RCDATA/STARRATINGHALF.SMALL.PNG new file mode 100644 index 0000000..50105ad Binary files /dev/null and b/ZuneShell/Resources/RCDATA/STARRATINGHALF.SMALL.PNG differ diff --git a/ZuneShell/Resources/RCDATA/STARRATINGS.UIX b/ZuneShell/Resources/RCDATA/STARRATINGS.UIX new file mode 100644 index 0000000..9807d8a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/STARRATINGS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/STYLES.UIX b/ZuneShell/Resources/RCDATA/STYLES.UIX new file mode 100644 index 0000000..02bd02f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/STYLES.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SYNC.ACTIVELYSYNCING.NOWPLAYING.PNG b/ZuneShell/Resources/RCDATA/SYNC.ACTIVELYSYNCING.NOWPLAYING.PNG new file mode 100644 index 0000000..b1be248 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNC.ACTIVELYSYNCING.NOWPLAYING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SYNC.ACTIVELYSYNCING.PNG b/ZuneShell/Resources/RCDATA/SYNC.ACTIVELYSYNCING.PNG new file mode 100644 index 0000000..4245a5f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNC.ACTIVELYSYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SYNC.EXCLUDED.HOVER.PNG b/ZuneShell/Resources/RCDATA/SYNC.EXCLUDED.HOVER.PNG new file mode 100644 index 0000000..9e08cb4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNC.EXCLUDED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SYNC.EXCLUDED.NOWPLAYING.PNG b/ZuneShell/Resources/RCDATA/SYNC.EXCLUDED.NOWPLAYING.PNG new file mode 100644 index 0000000..01f6d33 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNC.EXCLUDED.NOWPLAYING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SYNC.EXCLUDED.PNG b/ZuneShell/Resources/RCDATA/SYNC.EXCLUDED.PNG new file mode 100644 index 0000000..909263f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNC.EXCLUDED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SYNC.FUE.PNG b/ZuneShell/Resources/RCDATA/SYNC.FUE.PNG new file mode 100644 index 0000000..8f68618 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNC.FUE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SYNC.HEADER.PNG b/ZuneShell/Resources/RCDATA/SYNC.HEADER.PNG new file mode 100644 index 0000000..25f811b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNC.HEADER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SYNC.ONDEVICE.HOVER.PNG b/ZuneShell/Resources/RCDATA/SYNC.ONDEVICE.HOVER.PNG new file mode 100644 index 0000000..be96185 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNC.ONDEVICE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SYNC.ONDEVICE.NOWPLAYING.PNG b/ZuneShell/Resources/RCDATA/SYNC.ONDEVICE.NOWPLAYING.PNG new file mode 100644 index 0000000..ed5acea Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNC.ONDEVICE.NOWPLAYING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SYNC.ONDEVICE.PNG b/ZuneShell/Resources/RCDATA/SYNC.ONDEVICE.PNG new file mode 100644 index 0000000..d137ba4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNC.ONDEVICE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SYNC.TOASTARROW.PNG b/ZuneShell/Resources/RCDATA/SYNC.TOASTARROW.PNG new file mode 100644 index 0000000..196bc5a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNC.TOASTARROW.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SYNCANIMATION.UIX b/ZuneShell/Resources/RCDATA/SYNCANIMATION.UIX new file mode 100644 index 0000000..06c0c1f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNCANIMATION.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SYNCGLOW.PNG b/ZuneShell/Resources/RCDATA/SYNCGLOW.PNG new file mode 100644 index 0000000..064b49c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNCGLOW.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SYNCICONANIMATIONBACKGROUND.PNG b/ZuneShell/Resources/RCDATA/SYNCICONANIMATIONBACKGROUND.PNG new file mode 100644 index 0000000..398b244 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNCICONANIMATIONBACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/SYNCINSTRUCTIONTOAST.UIX b/ZuneShell/Resources/RCDATA/SYNCINSTRUCTIONTOAST.UIX new file mode 100644 index 0000000..29172d8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNCINSTRUCTIONTOAST.UIX differ diff --git a/ZuneShell/Resources/RCDATA/SYNCNOTIFICATION.UIX b/ZuneShell/Resources/RCDATA/SYNCNOTIFICATION.UIX new file mode 100644 index 0000000..5e288a7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/SYNCNOTIFICATION.UIX differ diff --git a/ZuneShell/Resources/RCDATA/TALKBUBBLEDROPSHADOW.BOTTOM.LEFT.PNG b/ZuneShell/Resources/RCDATA/TALKBUBBLEDROPSHADOW.BOTTOM.LEFT.PNG new file mode 100644 index 0000000..d659859 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TALKBUBBLEDROPSHADOW.BOTTOM.LEFT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TALKBUBBLEDROPSHADOW.BOTTOM.RIGHT.PNG b/ZuneShell/Resources/RCDATA/TALKBUBBLEDROPSHADOW.BOTTOM.RIGHT.PNG new file mode 100644 index 0000000..3eeee36 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TALKBUBBLEDROPSHADOW.BOTTOM.RIGHT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TALKBUBBLEDROPSHADOW.LEFT.PNG b/ZuneShell/Resources/RCDATA/TALKBUBBLEDROPSHADOW.LEFT.PNG new file mode 100644 index 0000000..327c6b3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TALKBUBBLEDROPSHADOW.LEFT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TALKBUBBLEDROPSHADOW.RIGHT.PNG b/ZuneShell/Resources/RCDATA/TALKBUBBLEDROPSHADOW.RIGHT.PNG new file mode 100644 index 0000000..ea25063 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TALKBUBBLEDROPSHADOW.RIGHT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TASKBARPLAYER.VISTA.PNG b/ZuneShell/Resources/RCDATA/TASKBARPLAYER.VISTA.PNG new file mode 100644 index 0000000..e21bb19 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TASKBARPLAYER.VISTA.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TASKBARPLAYER.XP.HOWTO.PNG b/ZuneShell/Resources/RCDATA/TASKBARPLAYER.XP.HOWTO.PNG new file mode 100644 index 0000000..ccc786c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TASKBARPLAYER.XP.HOWTO.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TASKBARPLAYER.XP.PNG b/ZuneShell/Resources/RCDATA/TASKBARPLAYER.XP.PNG new file mode 100644 index 0000000..f426c3f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TASKBARPLAYER.XP.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TESTLAND.UIX b/ZuneShell/Resources/RCDATA/TESTLAND.UIX new file mode 100644 index 0000000..9b52644 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TESTLAND.UIX differ diff --git a/ZuneShell/Resources/RCDATA/TESTNAVIGATION.UIX b/ZuneShell/Resources/RCDATA/TESTNAVIGATION.UIX new file mode 100644 index 0000000..7565525 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TESTNAVIGATION.UIX differ diff --git a/ZuneShell/Resources/RCDATA/TESTWEBHOST.UIX b/ZuneShell/Resources/RCDATA/TESTWEBHOST.UIX new file mode 100644 index 0000000..dd6020f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TESTWEBHOST.UIX differ diff --git a/ZuneShell/Resources/RCDATA/THUMBNAILBACKWHITE.PNG b/ZuneShell/Resources/RCDATA/THUMBNAILBACKWHITE.PNG new file mode 100644 index 0000000..2049192 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/THUMBNAILBACKWHITE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/THUMBNAILBUTTON.UIX b/ZuneShell/Resources/RCDATA/THUMBNAILBUTTON.UIX new file mode 100644 index 0000000..bb91879 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/THUMBNAILBUTTON.UIX differ diff --git a/ZuneShell/Resources/RCDATA/THUMBNAILBUTTONOVERLAY.UIX b/ZuneShell/Resources/RCDATA/THUMBNAILBUTTONOVERLAY.UIX new file mode 100644 index 0000000..e39e66b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/THUMBNAILBUTTONOVERLAY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/THUMBNAILCLICKOVERLAY.PNG b/ZuneShell/Resources/RCDATA/THUMBNAILCLICKOVERLAY.PNG new file mode 100644 index 0000000..37167e7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/THUMBNAILCLICKOVERLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/THUMBNAILCLICKSHADOW.PNG b/ZuneShell/Resources/RCDATA/THUMBNAILCLICKSHADOW.PNG new file mode 100644 index 0000000..51c938b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/THUMBNAILCLICKSHADOW.PNG differ diff --git a/ZuneShell/Resources/RCDATA/THUMBNAILHOVEROVERLAY.PNG b/ZuneShell/Resources/RCDATA/THUMBNAILHOVEROVERLAY.PNG new file mode 100644 index 0000000..118a78d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/THUMBNAILHOVEROVERLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/THUMBNAILHOVERSHADOW.PNG b/ZuneShell/Resources/RCDATA/THUMBNAILHOVERSHADOW.PNG new file mode 100644 index 0000000..e108d21 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/THUMBNAILHOVERSHADOW.PNG differ diff --git a/ZuneShell/Resources/RCDATA/THUMBNAILROLLOVER.PNG b/ZuneShell/Resources/RCDATA/THUMBNAILROLLOVER.PNG new file mode 100644 index 0000000..2b76a50 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/THUMBNAILROLLOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/THUMBNAILSHADOW.PNG b/ZuneShell/Resources/RCDATA/THUMBNAILSHADOW.PNG new file mode 100644 index 0000000..4d0841b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/THUMBNAILSHADOW.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TOOLBARICON.UIX b/ZuneShell/Resources/RCDATA/TOOLBARICON.UIX new file mode 100644 index 0000000..04c91de Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TOOLBARICON.UIX differ diff --git a/ZuneShell/Resources/RCDATA/TOOLTIP.UIX b/ZuneShell/Resources/RCDATA/TOOLTIP.UIX new file mode 100644 index 0000000..4d4a5b0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TOOLTIP.UIX differ diff --git a/ZuneShell/Resources/RCDATA/TOPTOOLBAR.UIX b/ZuneShell/Resources/RCDATA/TOPTOOLBAR.UIX new file mode 100644 index 0000000..402c39e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TOPTOOLBAR.UIX differ diff --git a/ZuneShell/Resources/RCDATA/TOPTOOLBARSIGNIN.UIX b/ZuneShell/Resources/RCDATA/TOPTOOLBARSIGNIN.UIX new file mode 100644 index 0000000..3dea105 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TOPTOOLBARSIGNIN.UIX differ diff --git a/ZuneShell/Resources/RCDATA/TRACKSPANEL.UIX b/ZuneShell/Resources/RCDATA/TRACKSPANEL.UIX new file mode 100644 index 0000000..71c7e91 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRACKSPANEL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/TRACKSPANELCOLUMNS.UIX b/ZuneShell/Resources/RCDATA/TRACKSPANELCOLUMNS.UIX new file mode 100644 index 0000000..38d5346 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRACKSPANELCOLUMNS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPARENT.PNG b/ZuneShell/Resources/RCDATA/TRANSPARENT.PNG new file mode 100644 index 0000000..b9d310c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPARENT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.ACTIONBUTTON.DISABLED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.ACTIONBUTTON.DISABLED.PNG new file mode 100644 index 0000000..549e3ed Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.ACTIONBUTTON.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.ACTIONBUTTON.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.ACTIONBUTTON.HOVER.PNG new file mode 100644 index 0000000..55b0b52 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.ACTIONBUTTON.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.ACTIONBUTTON.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.ACTIONBUTTON.PNG new file mode 100644 index 0000000..d5b79dc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.ACTIONBUTTON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.ACTIONBUTTON.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.ACTIONBUTTON.PRESSED.PNG new file mode 100644 index 0000000..40617fc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.ACTIONBUTTON.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.BACK.DISABLED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.BACK.DISABLED.PNG new file mode 100644 index 0000000..5ed546f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.BACK.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.BACK.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.BACK.HOVER.PNG new file mode 100644 index 0000000..64beebe Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.BACK.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.BACK.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.BACK.PNG new file mode 100644 index 0000000..ea20938 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.BACK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.BACK.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.BACK.PRESSED.PNG new file mode 100644 index 0000000..c9da6c7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.BACK.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.FORWARD.DISABLED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.FORWARD.DISABLED.PNG new file mode 100644 index 0000000..2cfd8a6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.FORWARD.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.FORWARD.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.FORWARD.HOVER.PNG new file mode 100644 index 0000000..0cdc8dc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.FORWARD.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.FORWARD.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.FORWARD.PNG new file mode 100644 index 0000000..8dcd1ec Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.FORWARD.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.FORWARD.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.FORWARD.PRESSED.PNG new file mode 100644 index 0000000..c63874c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.FORWARD.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.EXIT.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.EXIT.HOVER.PNG new file mode 100644 index 0000000..abee14d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.EXIT.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.EXIT.OFF.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.EXIT.OFF.PNG new file mode 100644 index 0000000..371d78b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.EXIT.OFF.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.EXIT.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.EXIT.PRESSED.PNG new file mode 100644 index 0000000..3b418fa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.EXIT.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.HOVER.PNG new file mode 100644 index 0000000..a4d7faf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.OFF.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.OFF.PNG new file mode 100644 index 0000000..6e34d9c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.OFF.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.PRESSED.PNG new file mode 100644 index 0000000..a247104 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.FULLSCREEN.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.OFF.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.OFF.HOVER.PNG new file mode 100644 index 0000000..32b15b0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.OFF.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.OFF.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.OFF.PNG new file mode 100644 index 0000000..46ab99a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.OFF.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.OFF.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.OFF.PRESSED.PNG new file mode 100644 index 0000000..7013438 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.OFF.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.ON.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.ON.HOVER.PNG new file mode 100644 index 0000000..1dd2faa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.ON.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.ON.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.ON.PNG new file mode 100644 index 0000000..d301141 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.ON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.ON.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.ON.PRESSED.PNG new file mode 100644 index 0000000..5abfa2e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.MUTE.ON.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.PAUSE.DISABLED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.PAUSE.DISABLED.PNG new file mode 100644 index 0000000..18040de Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.PAUSE.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.PAUSE.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.PAUSE.HOVER.PNG new file mode 100644 index 0000000..1c17ae5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.PAUSE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.PAUSE.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.PAUSE.PNG new file mode 100644 index 0000000..11bcf2d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.PAUSE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.PAUSE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.PAUSE.PRESSED.PNG new file mode 100644 index 0000000..e7a1e75 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.PAUSE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.PLAY.DISABLED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.PLAY.DISABLED.PNG new file mode 100644 index 0000000..dd243fe Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.PLAY.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.PLAY.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.PLAY.HOVER.PNG new file mode 100644 index 0000000..9d411de Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.PLAY.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.PLAY.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.PLAY.PNG new file mode 100644 index 0000000..44083b1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.PLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.PLAY.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.PLAY.PRESSED.PNG new file mode 100644 index 0000000..927fff0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.PLAY.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.OFF.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.OFF.HOVER.PNG new file mode 100644 index 0000000..811d91c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.OFF.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.OFF.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.OFF.PNG new file mode 100644 index 0000000..4e653de Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.OFF.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.OFF.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.OFF.PRESSED.PNG new file mode 100644 index 0000000..5f6bc41 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.OFF.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.ON.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.ON.HOVER.PNG new file mode 100644 index 0000000..363d6b3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.ON.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.ON.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.ON.PNG new file mode 100644 index 0000000..049f1f6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.ON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.ON.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.ON.PRESSED.PNG new file mode 100644 index 0000000..eb128d6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.REPEAT.ON.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.OFF.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.OFF.HOVER.PNG new file mode 100644 index 0000000..f0a45f8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.OFF.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.OFF.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.OFF.PNG new file mode 100644 index 0000000..256f661 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.OFF.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.OFF.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.OFF.PRESSED.PNG new file mode 100644 index 0000000..dcd7e89 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.OFF.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.ON.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.ON.HOVER.PNG new file mode 100644 index 0000000..895823b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.ON.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.ON.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.ON.PNG new file mode 100644 index 0000000..e10724c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.ON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.ON.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.ON.PRESSED.PNG new file mode 100644 index 0000000..e84735b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SHOWLIST.ON.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.OFF.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.OFF.HOVER.PNG new file mode 100644 index 0000000..6bc99ef Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.OFF.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.OFF.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.OFF.PNG new file mode 100644 index 0000000..ed7c79b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.OFF.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.OFF.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.OFF.PRESSED.PNG new file mode 100644 index 0000000..d75e816 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.OFF.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.ON.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.ON.HOVER.PNG new file mode 100644 index 0000000..adb8382 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.ON.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.ON.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.ON.PNG new file mode 100644 index 0000000..ee23cb8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.ON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.ON.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.ON.PRESSED.PNG new file mode 100644 index 0000000..34b79a9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SHUFFLE.ON.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.BACK.DISABLED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.BACK.DISABLED.PNG new file mode 100644 index 0000000..468342a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.BACK.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.BACK.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.BACK.HOVER.PNG new file mode 100644 index 0000000..60783ea Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.BACK.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.BACK.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.BACK.PNG new file mode 100644 index 0000000..1026c0d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.BACK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.BACK.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.BACK.PRESSED.PNG new file mode 100644 index 0000000..bfbc2c8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.BACK.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.CLOSE.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.CLOSE.HOVER.PNG new file mode 100644 index 0000000..1a362cc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.CLOSE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.CLOSE.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.CLOSE.PNG new file mode 100644 index 0000000..a16dd80 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.CLOSE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.CLOSE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.CLOSE.PRESSED.PNG new file mode 100644 index 0000000..d37d856 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.CLOSE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.FORWARD.DISABLED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.FORWARD.DISABLED.PNG new file mode 100644 index 0000000..a63f3af Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.FORWARD.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.FORWARD.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.FORWARD.HOVER.PNG new file mode 100644 index 0000000..20990b2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.FORWARD.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.FORWARD.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.FORWARD.PNG new file mode 100644 index 0000000..41f79c3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.FORWARD.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.FORWARD.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.FORWARD.PRESSED.PNG new file mode 100644 index 0000000..1953fe8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.FORWARD.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.OFF.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.OFF.HOVER.PNG new file mode 100644 index 0000000..866ac26 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.OFF.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.OFF.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.OFF.PNG new file mode 100644 index 0000000..7cdf142 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.OFF.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.OFF.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.OFF.PRESSED.PNG new file mode 100644 index 0000000..d49a338 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.OFF.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.ON.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.ON.HOVER.PNG new file mode 100644 index 0000000..1dd2faa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.ON.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.ON.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.ON.PNG new file mode 100644 index 0000000..9fb69db Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.ON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.ON.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.ON.PRESSED.PNG new file mode 100644 index 0000000..5abfa2e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.MUTE.ON.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PAUSE.DISABLED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PAUSE.DISABLED.PNG new file mode 100644 index 0000000..c800781 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PAUSE.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PAUSE.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PAUSE.HOVER.PNG new file mode 100644 index 0000000..617fd8f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PAUSE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PAUSE.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PAUSE.PNG new file mode 100644 index 0000000..7e446e7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PAUSE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PAUSE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PAUSE.PRESSED.PNG new file mode 100644 index 0000000..33273db Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PAUSE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PLAY.DISABLED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PLAY.DISABLED.PNG new file mode 100644 index 0000000..3137fd3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PLAY.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PLAY.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PLAY.HOVER.PNG new file mode 100644 index 0000000..a7d8842 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PLAY.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PLAY.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PLAY.PNG new file mode 100644 index 0000000..68c6647 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PLAY.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PLAY.PRESSED.PNG new file mode 100644 index 0000000..70a9e4f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.PLAY.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.OFF.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.OFF.HOVER.PNG new file mode 100644 index 0000000..8ffbb7d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.OFF.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.OFF.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.OFF.PNG new file mode 100644 index 0000000..3c1dcd0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.OFF.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.OFF.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.OFF.PRESSED.PNG new file mode 100644 index 0000000..1f2749d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.OFF.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.ON.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.ON.HOVER.PNG new file mode 100644 index 0000000..363d6b3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.ON.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.ON.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.ON.PNG new file mode 100644 index 0000000..b128840 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.ON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.ON.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.ON.PRESSED.PNG new file mode 100644 index 0000000..eb128d6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.REPEAT.ON.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.OFF.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.OFF.HOVER.PNG new file mode 100644 index 0000000..ff3ae10 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.OFF.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.OFF.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.OFF.PNG new file mode 100644 index 0000000..843a358 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.OFF.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.OFF.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.OFF.PRESSED.PNG new file mode 100644 index 0000000..1372a5b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.OFF.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.ON.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.ON.HOVER.PNG new file mode 100644 index 0000000..adb8382 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.ON.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.ON.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.ON.PNG new file mode 100644 index 0000000..ee23cb8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.ON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.ON.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.ON.PRESSED.PNG new file mode 100644 index 0000000..8a752e9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.SHUFFLE.ON.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.STOP.DISABLED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.STOP.DISABLED.PNG new file mode 100644 index 0000000..a061da8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.STOP.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.STOP.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.STOP.HOVER.PNG new file mode 100644 index 0000000..c5d0232 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.STOP.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.STOP.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.STOP.PNG new file mode 100644 index 0000000..59e8a1a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.STOP.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.STOP.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.STOP.PRESSED.PNG new file mode 100644 index 0000000..ed4ed26 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SLIDESHOW.STOP.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.STOP.DISABLED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.STOP.DISABLED.PNG new file mode 100644 index 0000000..096691a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.STOP.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.STOP.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.STOP.HOVER.PNG new file mode 100644 index 0000000..5004573 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.STOP.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.STOP.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.STOP.PNG new file mode 100644 index 0000000..aa1c8a4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.STOP.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.STOP.PRESSED.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.STOP.PRESSED.PNG new file mode 100644 index 0000000..888aa42 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.STOP.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SWITCH.TOMUSIC.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SWITCH.TOMUSIC.HOVER.PNG new file mode 100644 index 0000000..524180a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SWITCH.TOMUSIC.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SWITCH.TOMUSIC.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SWITCH.TOMUSIC.PNG new file mode 100644 index 0000000..98b35fd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SWITCH.TOMUSIC.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SWITCH.TOPHOTO.HOVER.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SWITCH.TOPHOTO.HOVER.PNG new file mode 100644 index 0000000..a361ee0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SWITCH.TOPHOTO.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORT.SWITCH.TOPHOTO.PNG b/ZuneShell/Resources/RCDATA/TRANSPORT.SWITCH.TOPHOTO.PNG new file mode 100644 index 0000000..46e90d8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORT.SWITCH.TOPHOTO.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORTCONTROLS.DOWNLOADPROGRESS.PNG b/ZuneShell/Resources/RCDATA/TRANSPORTCONTROLS.DOWNLOADPROGRESS.PNG new file mode 100644 index 0000000..a7522cd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORTCONTROLS.DOWNLOADPROGRESS.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TRANSPORTCONTROLS.UIX b/ZuneShell/Resources/RCDATA/TRANSPORTCONTROLS.UIX new file mode 100644 index 0000000..81a2490 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TRANSPORTCONTROLS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLE.FRAME1.PNG b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLE.FRAME1.PNG new file mode 100644 index 0000000..103e021 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLE.FRAME1.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLE.FRAME2.PNG b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLE.FRAME2.PNG new file mode 100644 index 0000000..8f3c2bc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLE.FRAME2.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLE.FRAME3.PNG b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLE.FRAME3.PNG new file mode 100644 index 0000000..44ce341 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLE.FRAME3.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLECLOSED.HOVER.PNG b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLECLOSED.HOVER.PNG new file mode 100644 index 0000000..a350211 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLECLOSED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLECLOSED.PNG b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLECLOSED.PNG new file mode 100644 index 0000000..9f268d8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLECLOSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLEOPEN.HOVER.PNG b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLEOPEN.HOVER.PNG new file mode 100644 index 0000000..490676c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLEOPEN.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLEOPEN.PNG b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLEOPEN.PNG new file mode 100644 index 0000000..4040ea7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/TREECONTROL.TRIANGLEOPEN.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.BACKGROUND.PNG new file mode 100644 index 0000000..ebee5f1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..4962abb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.CLICK.PNG new file mode 100644 index 0000000..4962abb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..4962abb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..4962abb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..4962abb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.DRAG.PNG new file mode 100644 index 0000000..72e6a04 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..4962abb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.HOVER.PNG new file mode 100644 index 0000000..4962abb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.SYNCING.DARK.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.SYNCING.DARK.PNG new file mode 100644 index 0000000..4962abb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.SYNCING.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.SYNCING.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.SYNCING.PNG new file mode 100644 index 0000000..4962abb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.CONNECTED.SYNCING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.CLICK.DARK.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.CLICK.DARK.PNG new file mode 100644 index 0000000..9cdc163 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.CLICK.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.CLICK.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.CLICK.PNG new file mode 100644 index 0000000..9cdc163 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.CLICK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.DEFAULT.DARK.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.DEFAULT.DARK.PNG new file mode 100644 index 0000000..9cdc163 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.DEFAULT.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.DEFAULT.PNG new file mode 100644 index 0000000..9cdc163 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.DRAG.DARK.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.DRAG.DARK.PNG new file mode 100644 index 0000000..9cdc163 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.DRAG.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.DRAG.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.DRAG.PNG new file mode 100644 index 0000000..9cdc163 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.DRAG.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.HOVER.DARK.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.HOVER.DARK.PNG new file mode 100644 index 0000000..9cdc163 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.HOVER.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.HOVER.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.HOVER.PNG new file mode 100644 index 0000000..9cdc163 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.DISCONNECTED.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.LARGE.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.LARGE.DEFAULT.PNG new file mode 100644 index 0000000..ed2a02a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.LARGE.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.LARGE.DISCONNECTED.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.LARGE.DISCONNECTED.PNG new file mode 100644 index 0000000..55f9ca9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.LARGE.DISCONNECTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.MEDIUM.DEFAULT.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.MEDIUM.DEFAULT.PNG new file mode 100644 index 0000000..b6ffa1d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.MEDIUM.DEFAULT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UNLOADED.MEDIUM.UNSUPPORTED.PNG b/ZuneShell/Resources/RCDATA/UNLOADED.MEDIUM.UNSUPPORTED.PNG new file mode 100644 index 0000000..b6ffa1d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UNLOADED.MEDIUM.UNSUPPORTED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-10.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-10.JPG new file mode 100644 index 0000000..018b824 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-10.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-11.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-11.JPG new file mode 100644 index 0000000..6c332ec Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-11.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-12.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-12.JPG new file mode 100644 index 0000000..7d1cdfe Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-12.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-13.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-13.JPG new file mode 100644 index 0000000..401de17 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-13.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-14.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-14.JPG new file mode 100644 index 0000000..e71d607 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-14.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-15.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-15.JPG new file mode 100644 index 0000000..2744bac Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-15.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-16.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-16.JPG new file mode 100644 index 0000000..5d5d8a5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-16.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-17.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-17.JPG new file mode 100644 index 0000000..a13c545 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-17.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-18.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-18.JPG new file mode 100644 index 0000000..a1002c2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-18.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-19.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-19.JPG new file mode 100644 index 0000000..0f632a6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-19.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-2.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-2.JPG new file mode 100644 index 0000000..e28ea55 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-2.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-20.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-20.JPG new file mode 100644 index 0000000..48e7d3b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-20.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-21.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-21.JPG new file mode 100644 index 0000000..4d2028d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-21.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-22.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-22.JPG new file mode 100644 index 0000000..452d249 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-22.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-23.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-23.JPG new file mode 100644 index 0000000..249ae32 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-23.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-24.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-24.JPG new file mode 100644 index 0000000..7f34395 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-24.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-25.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-25.JPG new file mode 100644 index 0000000..12e6e71 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-25.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-26.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-26.JPG new file mode 100644 index 0000000..5125984 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-26.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-28.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-28.JPG new file mode 100644 index 0000000..021eb95 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-28.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-29.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-29.JPG new file mode 100644 index 0000000..d2878fb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-29.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-3.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-3.JPG new file mode 100644 index 0000000..1214b5a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-3.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-30.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-30.JPG new file mode 100644 index 0000000..12eb2cb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-30.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-31.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-31.JPG new file mode 100644 index 0000000..c831cc1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-31.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-32.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-32.JPG new file mode 100644 index 0000000..dc2bcb8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-32.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-33.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-33.JPG new file mode 100644 index 0000000..2d700e7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-33.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-34.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-34.JPG new file mode 100644 index 0000000..67b053d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-34.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-35.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-35.JPG new file mode 100644 index 0000000..8670cf2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-35.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-36.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-36.JPG new file mode 100644 index 0000000..51b71ab Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-36.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-37.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-37.JPG new file mode 100644 index 0000000..f500ca2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-37.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-38.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-38.JPG new file mode 100644 index 0000000..3b07d94 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-38.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-4.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-4.JPG new file mode 100644 index 0000000..86a6fdb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-4.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-40.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-40.JPG new file mode 100644 index 0000000..f67f1a1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-40.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-41.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-41.JPG new file mode 100644 index 0000000..dc44be6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-41.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-42.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-42.JPG new file mode 100644 index 0000000..3a2041b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-42.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-43.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-43.JPG new file mode 100644 index 0000000..9af3f94 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-43.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-44.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-44.JPG new file mode 100644 index 0000000..1736960 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-44.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-45.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-45.JPG new file mode 100644 index 0000000..5fb34dc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-45.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-46.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-46.JPG new file mode 100644 index 0000000..b7cec07 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-46.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-47.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-47.JPG new file mode 100644 index 0000000..17532d6 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-47.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-5.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-5.JPG new file mode 100644 index 0000000..80a17ab Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-5.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-6.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-6.JPG new file mode 100644 index 0000000..3fc40fe Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-6.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-7.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-7.JPG new file mode 100644 index 0000000..9544cc3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-7.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-8.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-8.JPG new file mode 100644 index 0000000..6f054ce Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-8.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-9.JPG b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-9.JPG new file mode 100644 index 0000000..72d5dff Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERBACKGROUND-ART-536X196-9.JPG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-10.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-10.PNG new file mode 100644 index 0000000..cfd5a6d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-10.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-11.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-11.PNG new file mode 100644 index 0000000..9c3bceb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-11.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-12.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-12.PNG new file mode 100644 index 0000000..ff7cf0c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-12.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-13.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-13.PNG new file mode 100644 index 0000000..3c265f9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-13.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-14.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-14.PNG new file mode 100644 index 0000000..5f63ebe Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-14.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-15.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-15.PNG new file mode 100644 index 0000000..55c5008 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-15.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-16.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-16.PNG new file mode 100644 index 0000000..bf84580 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-16.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-17.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-17.PNG new file mode 100644 index 0000000..8a615ef Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-17.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-18.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-18.PNG new file mode 100644 index 0000000..0102912 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-18.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-19.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-19.PNG new file mode 100644 index 0000000..51b4cb5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-19.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-2.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-2.PNG new file mode 100644 index 0000000..151a127 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-2.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-20.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-20.PNG new file mode 100644 index 0000000..6d836f1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-20.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-21.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-21.PNG new file mode 100644 index 0000000..000afd4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-21.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-22.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-22.PNG new file mode 100644 index 0000000..8e7d765 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-22.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-23.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-23.PNG new file mode 100644 index 0000000..baf0ad7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-23.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-24.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-24.PNG new file mode 100644 index 0000000..8d082f9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-24.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-25.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-25.PNG new file mode 100644 index 0000000..844c70c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-25.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-26.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-26.PNG new file mode 100644 index 0000000..d8f5318 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-26.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-27.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-27.PNG new file mode 100644 index 0000000..9a870fb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-27.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-28.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-28.PNG new file mode 100644 index 0000000..3f5902d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-28.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-29.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-29.PNG new file mode 100644 index 0000000..5740950 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-29.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-3.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-3.PNG new file mode 100644 index 0000000..0052be7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-3.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-30.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-30.PNG new file mode 100644 index 0000000..8c4ec09 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-30.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-31.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-31.PNG new file mode 100644 index 0000000..d89382f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-31.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-32.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-32.PNG new file mode 100644 index 0000000..7286b41 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-32.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-33.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-33.PNG new file mode 100644 index 0000000..7ff52df Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-33.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-34.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-34.PNG new file mode 100644 index 0000000..cf24213 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-34.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-35.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-35.PNG new file mode 100644 index 0000000..4581cef Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-35.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-36.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-36.PNG new file mode 100644 index 0000000..44ae690 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-36.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-37.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-37.PNG new file mode 100644 index 0000000..71f8237 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-37.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-38.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-38.PNG new file mode 100644 index 0000000..3131b54 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-38.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-39.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-39.PNG new file mode 100644 index 0000000..c110601 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-39.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-4.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-4.PNG new file mode 100644 index 0000000..50ca1f9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-4.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-40.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-40.PNG new file mode 100644 index 0000000..2688286 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-40.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-41.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-41.PNG new file mode 100644 index 0000000..f50a591 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-41.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-42.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-42.PNG new file mode 100644 index 0000000..d7cb5b5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-42.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-43.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-43.PNG new file mode 100644 index 0000000..671acd2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-43.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-44.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-44.PNG new file mode 100644 index 0000000..ac66ce7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-44.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-45.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-45.PNG new file mode 100644 index 0000000..a996af5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-45.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-46.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-46.PNG new file mode 100644 index 0000000..7f134a3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-46.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-47.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-47.PNG new file mode 100644 index 0000000..b37a078 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-47.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-5.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-5.PNG new file mode 100644 index 0000000..7ef5109 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-5.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-6.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-6.PNG new file mode 100644 index 0000000..37fac8b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-6.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-7.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-7.PNG new file mode 100644 index 0000000..35d7af1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-7.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-8.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-8.PNG new file mode 100644 index 0000000..1fac681 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-8.PNG differ diff --git a/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-9.PNG b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-9.PNG new file mode 100644 index 0000000..8577740 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/USERTILE-ART-64X64-9.PNG differ diff --git a/ZuneShell/Resources/RCDATA/UTILITY.UIX b/ZuneShell/Resources/RCDATA/UTILITY.UIX new file mode 100644 index 0000000..67cde6e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/UTILITY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/VIDEOLIBRARY.UIX b/ZuneShell/Resources/RCDATA/VIDEOLIBRARY.UIX new file mode 100644 index 0000000..f74c77a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/VIDEOLIBRARY.UIX differ diff --git a/ZuneShell/Resources/RCDATA/VIDEOOVERLAY.PNG b/ZuneShell/Resources/RCDATA/VIDEOOVERLAY.PNG new file mode 100644 index 0000000..11ab514 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/VIDEOOVERLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/VIDEOS.EMPTY.PNG b/ZuneShell/Resources/RCDATA/VIDEOS.EMPTY.PNG new file mode 100644 index 0000000..ae01a28 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/VIDEOS.EMPTY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WARNINGBACKGROUND.PNG b/ZuneShell/Resources/RCDATA/WARNINGBACKGROUND.PNG new file mode 100644 index 0000000..42a32cc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WARNINGBACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WEBHOSTCONTROL.UIX b/ZuneShell/Resources/RCDATA/WEBHOSTCONTROL.UIX new file mode 100644 index 0000000..c7141fd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WEBHOSTCONTROL.UIX differ diff --git a/ZuneShell/Resources/RCDATA/WEBHOSTDIALOG.UIX b/ZuneShell/Resources/RCDATA/WEBHOSTDIALOG.UIX new file mode 100644 index 0000000..475a1ae Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WEBHOSTDIALOG.UIX differ diff --git a/ZuneShell/Resources/RCDATA/WHATSNEW.UIX b/ZuneShell/Resources/RCDATA/WHATSNEW.UIX new file mode 100644 index 0000000..63b3887 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WHATSNEW.UIX differ diff --git a/ZuneShell/Resources/RCDATA/WHATSNEWBACKGROUND.PNG b/ZuneShell/Resources/RCDATA/WHATSNEWBACKGROUND.PNG new file mode 100644 index 0000000..2e63e8e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WHATSNEWBACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WHATSNEWIMAGE.PNG b/ZuneShell/Resources/RCDATA/WHATSNEWIMAGE.PNG new file mode 100644 index 0000000..fc60fdb Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WHATSNEWIMAGE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.DISABLED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.DISABLED.PNG new file mode 100644 index 0000000..3d1729e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.HOVER.NOWPLAYING.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.HOVER.NOWPLAYING.PNG new file mode 100644 index 0000000..ee76de2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.HOVER.NOWPLAYING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.HOVER.PNG new file mode 100644 index 0000000..39090aa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.LARGE.DARK.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.LARGE.DARK.HOVER.PNG new file mode 100644 index 0000000..6fa3ba7 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.LARGE.DARK.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.LARGE.DARK.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.LARGE.DARK.PNG new file mode 100644 index 0000000..7d542cf Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.LARGE.DARK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.LARGE.DARK.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.LARGE.DARK.PRESSED.PNG new file mode 100644 index 0000000..b7b34b2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.LARGE.DARK.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.NOWPLAYING.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.NOWPLAYING.PNG new file mode 100644 index 0000000..b148b19 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.NOWPLAYING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.PNG new file mode 100644 index 0000000..6d754b9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.PRESSED.NOWPLAYING.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.PRESSED.NOWPLAYING.PNG new file mode 100644 index 0000000..03f30f0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.PRESSED.NOWPLAYING.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.PRESSED.PNG new file mode 100644 index 0000000..dff75a1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.QUICKPLAY.DISABLED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.QUICKPLAY.DISABLED.PNG new file mode 100644 index 0000000..4913da9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.QUICKPLAY.DISABLED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.QUICKPLAY.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.QUICKPLAY.HOVER.PNG new file mode 100644 index 0000000..8f04d4b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.QUICKPLAY.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.QUICKPLAY.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.QUICKPLAY.PNG new file mode 100644 index 0000000..4dafb08 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.QUICKPLAY.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.BACK.QUICKPLAY.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.BACK.QUICKPLAY.PRESSED.PNG new file mode 100644 index 0000000..66fc00d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.BACK.QUICKPLAY.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.CLOSE.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.CLOSE.HOVER.PNG new file mode 100644 index 0000000..2abcf38 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.CLOSE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.CLOSE.PNG b/ZuneShell/Resources/RCDATA/WINDOW.CLOSE.PNG new file mode 100644 index 0000000..368c055 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.CLOSE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.CLOSE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.CLOSE.PRESSED.PNG new file mode 100644 index 0000000..c6ecd8b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.CLOSE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.COMPACTMODE.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.COMPACTMODE.HOVER.PNG new file mode 100644 index 0000000..ca679aa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.COMPACTMODE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.COMPACTMODE.PNG b/ZuneShell/Resources/RCDATA/WINDOW.COMPACTMODE.PNG new file mode 100644 index 0000000..85681e4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.COMPACTMODE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.COMPACTMODE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.COMPACTMODE.PRESSED.PNG new file mode 100644 index 0000000..1ad6c46 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.COMPACTMODE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.HELP.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.HELP.HOVER.PNG new file mode 100644 index 0000000..a09cadd Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.HELP.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.HELP.PNG b/ZuneShell/Resources/RCDATA/WINDOW.HELP.PNG new file mode 100644 index 0000000..0cc2eac Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.HELP.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.HELP.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.HELP.PRESSED.PNG new file mode 100644 index 0000000..37cb1a3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.HELP.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.MAXIMIZE.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.MAXIMIZE.HOVER.PNG new file mode 100644 index 0000000..96994fa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.MAXIMIZE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.MAXIMIZE.PNG b/ZuneShell/Resources/RCDATA/WINDOW.MAXIMIZE.PNG new file mode 100644 index 0000000..ad44344 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.MAXIMIZE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.MAXIMIZE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.MAXIMIZE.PRESSED.PNG new file mode 100644 index 0000000..132de00 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.MAXIMIZE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.MINIMIZE.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.MINIMIZE.HOVER.PNG new file mode 100644 index 0000000..15c5c9b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.MINIMIZE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.MINIMIZE.PNG b/ZuneShell/Resources/RCDATA/WINDOW.MINIMIZE.PNG new file mode 100644 index 0000000..d3c4f93 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.MINIMIZE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.MINIMIZE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.MINIMIZE.PRESSED.PNG new file mode 100644 index 0000000..63c6f33 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.MINIMIZE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.RESTORE.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.RESTORE.HOVER.PNG new file mode 100644 index 0000000..eff7f49 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.RESTORE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.RESTORE.PNG b/ZuneShell/Resources/RCDATA/WINDOW.RESTORE.PNG new file mode 100644 index 0000000..05ce00b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.RESTORE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.RESTORE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.RESTORE.PRESSED.PNG new file mode 100644 index 0000000..21f24b9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.RESTORE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.CLOSE.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.CLOSE.HOVER.PNG new file mode 100644 index 0000000..6db0f22 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.CLOSE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.CLOSE.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.CLOSE.PNG new file mode 100644 index 0000000..cd15e19 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.CLOSE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.CLOSE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.CLOSE.PRESSED.PNG new file mode 100644 index 0000000..fc906bc Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.CLOSE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.COMPACTMODE.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.COMPACTMODE.HOVER.PNG new file mode 100644 index 0000000..eb8217b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.COMPACTMODE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.COMPACTMODE.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.COMPACTMODE.PNG new file mode 100644 index 0000000..dc3a2aa Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.COMPACTMODE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.COMPACTMODE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.COMPACTMODE.PRESSED.PNG new file mode 100644 index 0000000..74eb710 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.COMPACTMODE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.HELP.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.HELP.HOVER.PNG new file mode 100644 index 0000000..4c44f70 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.HELP.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.HELP.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.HELP.PNG new file mode 100644 index 0000000..b8e97d4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.HELP.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.HELP.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.HELP.PRESSED.PNG new file mode 100644 index 0000000..2e62e11 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.HELP.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MAXIMIZE.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MAXIMIZE.HOVER.PNG new file mode 100644 index 0000000..c442d48 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MAXIMIZE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MAXIMIZE.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MAXIMIZE.PNG new file mode 100644 index 0000000..2333861 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MAXIMIZE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MAXIMIZE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MAXIMIZE.PRESSED.PNG new file mode 100644 index 0000000..24464a5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MAXIMIZE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MINIMIZE.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MINIMIZE.HOVER.PNG new file mode 100644 index 0000000..d2d66a2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MINIMIZE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MINIMIZE.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MINIMIZE.PNG new file mode 100644 index 0000000..6017bc4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MINIMIZE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MINIMIZE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MINIMIZE.PRESSED.PNG new file mode 100644 index 0000000..2c2e10f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.MINIMIZE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.RESTORE.HOVER.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.RESTORE.HOVER.PNG new file mode 100644 index 0000000..0d11de3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.RESTORE.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.RESTORE.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.RESTORE.PNG new file mode 100644 index 0000000..43a4f6d Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.RESTORE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.RESTORE.PRESSED.PNG b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.RESTORE.PRESSED.PNG new file mode 100644 index 0000000..6204ff8 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOW.SLIDESHOW.RESTORE.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOWSLIVE.UIX b/ZuneShell/Resources/RCDATA/WINDOWSLIVE.UIX new file mode 100644 index 0000000..f75a55b Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOWSLIVE.UIX differ diff --git a/ZuneShell/Resources/RCDATA/WINDOWSPHONE.DEVICEHORIZON.PNG b/ZuneShell/Resources/RCDATA/WINDOWSPHONE.DEVICEHORIZON.PNG new file mode 100644 index 0000000..4d564c0 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOWSPHONE.DEVICEHORIZON.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOWSPHONE.LOADSTATUS.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/WINDOWSPHONE.LOADSTATUS.BACKGROUND.PNG new file mode 100644 index 0000000..521b60e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOWSPHONE.LOADSTATUS.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOWSPHONE.LOADSTATUS.WIZARD.BACKGROUND.PNG b/ZuneShell/Resources/RCDATA/WINDOWSPHONE.LOADSTATUS.WIZARD.BACKGROUND.PNG new file mode 100644 index 0000000..3b3a1ac Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOWSPHONE.LOADSTATUS.WIZARD.BACKGROUND.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOWSPHONEAPPLIST.PNG b/ZuneShell/Resources/RCDATA/WINDOWSPHONEAPPLIST.PNG new file mode 100644 index 0000000..7f1b544 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOWSPHONEAPPLIST.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOWSPHONEENERGYBAR.PNG b/ZuneShell/Resources/RCDATA/WINDOWSPHONEENERGYBAR.PNG new file mode 100644 index 0000000..ef1c7c3 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOWSPHONEENERGYBAR.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOWSPHONELOGO.SMALL.BLACK.PNG b/ZuneShell/Resources/RCDATA/WINDOWSPHONELOGO.SMALL.BLACK.PNG new file mode 100644 index 0000000..e2f38b1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOWSPHONELOGO.SMALL.BLACK.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOWSPHONELOGO.STACKED.PNG b/ZuneShell/Resources/RCDATA/WINDOWSPHONELOGO.STACKED.PNG new file mode 100644 index 0000000..5ecbbad Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOWSPHONELOGO.STACKED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WINDOWSPHONELOGO.WHITE.PNG b/ZuneShell/Resources/RCDATA/WINDOWSPHONELOGO.WHITE.PNG new file mode 100644 index 0000000..b54522f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WINDOWSPHONELOGO.WHITE.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WIRELESSSYNC.UIX b/ZuneShell/Resources/RCDATA/WIRELESSSYNC.UIX new file mode 100644 index 0000000..5e4f36c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WIRELESSSYNC.UIX differ diff --git a/ZuneShell/Resources/RCDATA/WIZARD.BACKGROUND.HIGHLIGHT.PNG b/ZuneShell/Resources/RCDATA/WIZARD.BACKGROUND.HIGHLIGHT.PNG new file mode 100644 index 0000000..db2cd00 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WIZARD.BACKGROUND.HIGHLIGHT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WIZARD.DEVICE.BACKDROP.PNG b/ZuneShell/Resources/RCDATA/WIZARD.DEVICE.BACKDROP.PNG new file mode 100644 index 0000000..32c680a Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WIZARD.DEVICE.BACKDROP.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WIZARD.UIX b/ZuneShell/Resources/RCDATA/WIZARD.UIX new file mode 100644 index 0000000..ab016d1 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WIZARD.UIX differ diff --git a/ZuneShell/Resources/RCDATA/WIZARDCONTROLS.UIX b/ZuneShell/Resources/RCDATA/WIZARDCONTROLS.UIX new file mode 100644 index 0000000..9117f5e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WIZARDCONTROLS.UIX differ diff --git a/ZuneShell/Resources/RCDATA/WIZARDDROPSHADOW.LEFT.PNG b/ZuneShell/Resources/RCDATA/WIZARDDROPSHADOW.LEFT.PNG new file mode 100644 index 0000000..ef7e12c Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WIZARDDROPSHADOW.LEFT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/WIZARDDROPSHADOW.RIGHT.PNG b/ZuneShell/Resources/RCDATA/WIZARDDROPSHADOW.RIGHT.PNG new file mode 100644 index 0000000..f320af2 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/WIZARDDROPSHADOW.RIGHT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ZUNECOLORLOGO.PNG b/ZuneShell/Resources/RCDATA/ZUNECOLORLOGO.PNG new file mode 100644 index 0000000..81d9ab9 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ZUNECOLORLOGO.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ZUNEHDDEVICES.PNG b/ZuneShell/Resources/RCDATA/ZUNEHDDEVICES.PNG new file mode 100644 index 0000000..41de33f Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ZUNEHDDEVICES.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ZUNELOGO.HOVER.PNG b/ZuneShell/Resources/RCDATA/ZUNELOGO.HOVER.PNG new file mode 100644 index 0000000..ba61467 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ZUNELOGO.HOVER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ZUNELOGO.PNG b/ZuneShell/Resources/RCDATA/ZUNELOGO.PNG new file mode 100644 index 0000000..ba61467 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ZUNELOGO.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ZUNELOGO.PRESSED.PNG b/ZuneShell/Resources/RCDATA/ZUNELOGO.PRESSED.PNG new file mode 100644 index 0000000..1ceb3a5 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ZUNELOGO.PRESSED.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ZUNELOGOTEXT.PNG b/ZuneShell/Resources/RCDATA/ZUNELOGOTEXT.PNG new file mode 100644 index 0000000..5357cd4 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ZUNELOGOTEXT.PNG differ diff --git a/ZuneShell/Resources/RCDATA/ZUNEUSER.PNG b/ZuneShell/Resources/RCDATA/ZUNEUSER.PNG new file mode 100644 index 0000000..dbe7c82 Binary files /dev/null and b/ZuneShell/Resources/RCDATA/ZUNEUSER.PNG differ diff --git a/ZuneShell/Resources/RCDATA/_DATATABLE.UIB b/ZuneShell/Resources/RCDATA/_DATATABLE.UIB new file mode 100644 index 0000000..23a556e Binary files /dev/null and b/ZuneShell/Resources/RCDATA/_DATATABLE.UIB differ diff --git a/ZuneShell/Resources/WAVE/COMPLETEDRIPREVERSESYNC.WAV b/ZuneShell/Resources/WAVE/COMPLETEDRIPREVERSESYNC.WAV new file mode 100644 index 0000000..309850d Binary files /dev/null and b/ZuneShell/Resources/WAVE/COMPLETEDRIPREVERSESYNC.WAV differ diff --git a/ZuneShell/Resources/WAVE/COMPLETEDSYNCBURNCD.WAV b/ZuneShell/Resources/WAVE/COMPLETEDSYNCBURNCD.WAV new file mode 100644 index 0000000..cd2a1a3 Binary files /dev/null and b/ZuneShell/Resources/WAVE/COMPLETEDSYNCBURNCD.WAV differ diff --git a/ZuneShell/Resources/WAVE/DOWNLOAD.WAV b/ZuneShell/Resources/WAVE/DOWNLOAD.WAV new file mode 100644 index 0000000..9d468b7 Binary files /dev/null and b/ZuneShell/Resources/WAVE/DOWNLOAD.WAV differ diff --git a/ZuneShell/Resources/WAVE/INBOX.WAV b/ZuneShell/Resources/WAVE/INBOX.WAV new file mode 100644 index 0000000..0adaad0 Binary files /dev/null and b/ZuneShell/Resources/WAVE/INBOX.WAV differ diff --git a/ZuneShell/StrixMusic/AbstractStorage/FileDataProperties.cs b/ZuneShell/StrixMusic/AbstractStorage/FileDataProperties.cs new file mode 100644 index 0000000..3fdff17 --- /dev/null +++ b/ZuneShell/StrixMusic/AbstractStorage/FileDataProperties.cs @@ -0,0 +1,32 @@ +#if OPENZUNE + +using System; +using System.IO; +using System.Linq; +using System.Threading.Tasks; + +namespace OwlCore.AbstractStorage +{ + /// + public class FileDataProperties : IFileDataProperties + { + private readonly FileInfo _file; + + /// + /// Initializes a new instance of the class. + /// + /// The file to get properties from. + public FileDataProperties(FileInfo file) + { + _file = file; + } + + /// + public async Task GetMusicPropertiesAsync() + { + throw new NotImplementedException(); + } + } +} + +#endif \ No newline at end of file diff --git a/ZuneShell/StrixMusic/AbstractStorage/NewtonsoftStreamSerializer.cs b/ZuneShell/StrixMusic/AbstractStorage/NewtonsoftStreamSerializer.cs new file mode 100644 index 0000000..3a7f794 --- /dev/null +++ b/ZuneShell/StrixMusic/AbstractStorage/NewtonsoftStreamSerializer.cs @@ -0,0 +1,71 @@ +#if OPENZUNE + +// Copyright (c) Arlo Godfrey. All Rights Reserved. +// Licensed under the GNU Lesser General Public License, Version 3.0 with additional terms. +// See the LICENSE, LICENSE.LESSER and LICENSE.ADDITIONAL files in the project root for more information. + +using System; +using System.IO; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Newtonsoft.Json; +using OwlCore.Extensions; + +namespace OwlCore.Services +{ + /// + /// An and implementation for serializing and deserializing streams using System.Text.Json. + /// + public class NewtonsoftStreamSerializer : IAsyncSerializer, ISerializer + { + /// + /// A singleton instance for . + /// + public static NewtonsoftStreamSerializer Singleton { get; } = new(); + + /// + public Task SerializeAsync(T data, CancellationToken? cancellationToken = null) => Task.Run(() => Serialize(data), cancellationToken ?? CancellationToken.None); + + /// + public Task SerializeAsync(Type inputType, object data, CancellationToken? cancellationToken = null) => Task.Run(() => Serialize(inputType, data), cancellationToken ?? CancellationToken.None); + + /// + public Task DeserializeAsync(Stream serialized, CancellationToken? cancellationToken = null) => Task.Run(() => Deserialize(serialized), cancellationToken ?? CancellationToken.None); + + /// + public Task DeserializeAsync(Type returnType, Stream serialized, CancellationToken? cancellationToken = null) => Task.Run(() => Deserialize(returnType, serialized), cancellationToken ?? CancellationToken.None); + + /// + public Stream Serialize(T data) + { + var res = JsonConvert.SerializeObject(data, typeof(T), null); + return new MemoryStream(Encoding.UTF8.GetBytes(res)); + } + + /// + public Stream Serialize(Type type, object data) + { + var res = JsonConvert.SerializeObject(data, type, null); + return new MemoryStream(Encoding.UTF8.GetBytes(res)); + } + + /// + public TResult Deserialize(Stream serialized) + { + serialized.Position = 0; + var str = Encoding.UTF8.GetString(serialized.ToBytes()); + return (TResult)JsonConvert.DeserializeObject(str, typeof(TResult))!; + } + + /// + public object Deserialize(Type type, Stream serialized) + { + serialized.Position = 0; + var str = Encoding.UTF8.GetString(serialized.ToBytes()); + return JsonConvert.DeserializeObject(str, type)!; + } + } +} + +#endif diff --git a/ZuneShell/StrixMusic/AbstractStorage/SystemIOFileData.cs b/ZuneShell/StrixMusic/AbstractStorage/SystemIOFileData.cs new file mode 100644 index 0000000..d6b31ab --- /dev/null +++ b/ZuneShell/StrixMusic/AbstractStorage/SystemIOFileData.cs @@ -0,0 +1,89 @@ +#if OPENZUNE + +using System; +using System.IO; +using System.Threading.Tasks; + +namespace OwlCore.AbstractStorage +{ + /// + public class SystemIOFileData : IFileData + { + /// + /// The underlying instance in use. + /// + internal FileInfo File { get; } + + /// + /// Creates a new instance of . + /// + /// The to wrap. + public SystemIOFileData(FileInfo file) + { + File = file; + Properties = new FileDataProperties(file); + } + + /// + /// Creates a new instance of . + /// + /// The path of the file to wrap. + public SystemIOFileData(string filePath) : this(new FileInfo(filePath)) + { + + } + + /// + public string Path => File.FullName; + + /// + public string Name => File.Name; + + /// + public string DisplayName => File.Name; + + /// + public string FileExtension => File.Extension; + + /// + public string Id => Extensions.StringExtensions.HashMD5Fast(Path); + + /// + public IFileDataProperties Properties { get; set; } + + /// + public Task GetParentAsync() + { + return Task.FromResult(new SystemIOFolderData(File.Directory)); + } + + /// + public Task Delete() + { + return Task.Run(File.Delete); + } + + /// + public Task GetStreamAsync(FileAccessMode accessMode = FileAccessMode.Read) + { + return Task.Run(() => File.Open( + FileMode.Open, + accessMode == FileAccessMode.ReadWrite ? FileAccess.ReadWrite : FileAccess.Read)); + } + + /// + public Task WriteAllBytesAsync(byte[] bytes) + { + return System.IO.File.WriteAllBytesAsync(File.FullName, bytes); + } + + /// + public async Task GetThumbnailAsync(ThumbnailMode thumbnailMode, uint requiredSize) + { + throw new NotImplementedException(); + } + } + +} + +#endif diff --git a/ZuneShell/StrixMusic/AbstractStorage/SystemIOFolderData.cs b/ZuneShell/StrixMusic/AbstractStorage/SystemIOFolderData.cs new file mode 100644 index 0000000..fb0dde8 --- /dev/null +++ b/ZuneShell/StrixMusic/AbstractStorage/SystemIOFolderData.cs @@ -0,0 +1,167 @@ +#if OPENZUNE + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Threading.Tasks; + +namespace OwlCore.AbstractStorage +{ + /// + /// Represents a folder backed by System.IO. + /// + public class SystemIOFolderData : IFolderData + { + /// + /// The underlying instance in use. + /// + public DirectoryInfo Directory { get; private set; } + + /// + /// Constructs a new instance of . + /// + public SystemIOFolderData(DirectoryInfo folder) + { + Directory = folder; + } + + /// + /// Constructs a new instance of . + /// + public SystemIOFolderData(string folderPath) : this(new DirectoryInfo(folderPath)) + { + + } + + /// + public string Name => Directory.Name; + + /// + public string Path => Directory.FullName; + + /// + public string Id => Extensions.StringExtensions.HashMD5Fast(Path); + + /// + public Task> GetFilesAsync() + { + return Task.Run>(() => Directory.GetFiles().Select(x => new SystemIOFileData(x))); + } + + /// + public Task DeleteAsync() => Task.Run(Directory.Delete); + + /// + public Task GetParentAsync() + { + return Task.FromResult(new SystemIOFolderData(Directory.Parent)); + } + + /// + public Task CreateFolderAsync(string desiredName) + { + return Task.Run(() => new SystemIOFolderData(Directory.CreateSubdirectory(desiredName))); + } + + /// + public async Task CreateFolderAsync(string desiredName, CreationCollisionOption options) + { + if (options == CreationCollisionOption.OpenIfExists) + { + SystemIOFolderData folder = new(System.IO.Path.Combine(Path, desiredName)); + await folder.EnsureExists(); + return folder; + } + else if (options == CreationCollisionOption.FailIfExists) + { + throw new NotImplementedException(); + } + return await CreateFolderAsync(desiredName); + } + + /// + public Task CreateFileAsync(string desiredName) + { + return Task.Run(delegate + { + SystemIOFileData file = new(System.IO.Path.Combine(Path, desiredName)); + file.File.Create().Dispose(); + + return file; + }); + } + + /// + public Task CreateFileAsync(string desiredName, CreationCollisionOption options) + { + return Task.Run(delegate + { + string name = desiredName; + FileMode mode = FileMode.CreateNew; + + if (options == CreationCollisionOption.OpenIfExists) + { + mode = FileMode.OpenOrCreate; + } + else if (options == CreationCollisionOption.GenerateUniqueName) + { + string nameNoExt = System.IO.Path.GetFileNameWithoutExtension(name); + string ext = System.IO.Path.GetExtension(name); + int i = 0; + while (File.Exists(System.IO.Path.Combine(Path, name))) + { + name = $"{nameNoExt} ({++i}){ext}"; + } + } + else if (options == CreationCollisionOption.ReplaceExisting) + { + mode = FileMode.Create; + } + + SystemIOFileData file = new(System.IO.Path.Combine(Path, name)); + file.File.Open(mode).Dispose(); + + return file; + }); + } + + /// + public Task GetFolderAsync(string name) + { + return Task.Run(delegate + { + SystemIOFolderData folder = new(System.IO.Path.Combine(Path, name)); + return folder.Directory.Exists ? folder : null; + }); + } + + /// + public Task GetFileAsync(string name) + { + return Task.Run(delegate + { + SystemIOFileData file = new(System.IO.Path.Combine(Path, name)); + return file.File.Exists ? file : null; + }); + } + + /// + public Task> GetFoldersAsync() + { + return Task.Run>(() => Directory.GetDirectories().Select(x => new SystemIOFolderData(x))); + } + + /// + public Task EnsureExists() + { + return Task.Run(delegate + { + if (Directory.Exists) return; + Directory.Create(); + }); + } + } +} + +#endif diff --git a/ZuneShell/StrixMusic/AbstractStorage/Win32FileSystemService.cs b/ZuneShell/StrixMusic/AbstractStorage/Win32FileSystemService.cs new file mode 100644 index 0000000..87f2183 --- /dev/null +++ b/ZuneShell/StrixMusic/AbstractStorage/Win32FileSystemService.cs @@ -0,0 +1,49 @@ +#if OPENZUNE + +using System.Collections.Generic; +using System.IO; +using System.Threading; +using System.Threading.Tasks; + +namespace OwlCore.AbstractStorage; + +public class Win32FileSystemService : IFileSystemService +{ + public Win32FileSystemService(string rootFolder) + { + RootFolder = new SystemIOFolderData(rootFolder); + } + + public IFolderData RootFolder { get; } + + public bool IsInitialized => true; + + public Task CreateDirectoryAsync(string folderName) + => RootFolder.CreateFolderAsync(folderName); + + public Task DirectoryExistsAsync(string path) => Task.FromResult(Directory.Exists(path)); + + public Task FileExistsAsync(string path) => Task.FromResult(File.Exists(path)); + + public Task GetFileFromPathAsync(string path) + => Task.FromResult(new SystemIOFileData(path)); + + public Task GetFolderFromPathAsync(string path) + => Task.FromResult(new SystemIOFolderData(path)); + + public Task> GetPickedFolders() + { + throw new System.NotImplementedException(); + } + + public Task InitAsync(CancellationToken cancellationToken = default) => Task.CompletedTask; + + public Task PickFolder() + { + return Task.FromResult(RootFolder); + } + + public Task RevokeAccess(IFolderData folder) => Task.CompletedTask; +} + +#endif \ No newline at end of file diff --git a/ZuneShell/ZuneShell.csproj b/ZuneShell/ZuneShell.csproj index 0d3accf..d409a56 100644 --- a/ZuneShell/ZuneShell.csproj +++ b/ZuneShell/ZuneShell.csproj @@ -2,24 +2,50 @@ - Debug - x64 {E93CFFA3-1EEB-4E71-9E83-7377C1422119} Library ZuneShell - 4.7.0.0 - net35;net40;net6.0 + net6.0;net6.0-windows10.0.22000;net35;net40 x64;x86 512 true false - True - ..\libs\MicrosoftIris\36MSApp1024.snk - True + + + + + C:\Program Files\Zune\UIXcontrols.dll + + + + + + + C:\Program Files\Zune\ZuneDBApi.dll + + + + + + + + + + + + + v3.5 3.5 @@ -35,13 +61,17 @@ - - - C:\Program Files\Zune\ZuneDBApi.dll - - - C:\Program Files\Zune\UIXcontrols.dll - - + + + + + + + + + + + + \ No newline at end of file diff --git a/ZuneShell/ZuneUI/ArtistHelper.cs b/ZuneShell/ZuneUI/ArtistHelper.cs index b8b9c1d..b260336 100644 --- a/ZuneShell/ZuneUI/ArtistHelper.cs +++ b/ZuneShell/ZuneUI/ArtistHelper.cs @@ -16,7 +16,7 @@ namespace ZuneUI { int dbMediaId = -1; bool fHidden = false; - return !ZuneApplication.Service.InCompleteCollection(serviceMediaId, EContentType.Artist, out dbMediaId, out fHidden) ? -1 : dbMediaId; + return !ZuneApplication.Service2.InCompleteCollection(serviceMediaId, EContentType.Artist, out dbMediaId, out fHidden) ? -1 : dbMediaId; } } } diff --git a/ZuneShell/ZuneUI/BandwidthTest.cs b/ZuneShell/ZuneUI/BandwidthTest.cs index dc710c4..34077b1 100644 --- a/ZuneShell/ZuneUI/BandwidthTest.cs +++ b/ZuneShell/ZuneUI/BandwidthTest.cs @@ -169,10 +169,10 @@ namespace ZuneUI string uriOut = null; if (this.m_videoOffers[0] is VideoOffer videoOffer) { - if (!ZuneApplication.Service.InCompleteCollection(videoOffer.Id, EContentType.Video) && !string.IsNullOrEmpty(this.m_uri)) + if (!ZuneApplication.Service2.InCompleteCollection(videoOffer.Id, EContentType.Video) && !string.IsNullOrEmpty(this.m_uri)) uriOut = this.m_uri; else - ZuneApplication.Service.GetContentUri(videoOffer.Id, EContentType.Video, EContentUriFlags.BypassLicense | EContentUriFlags.IgnoreCollection, videoOffer.IsHD, videoOffer.IsRental, out uriOut); + ZuneApplication.Service2.GetContentUri(videoOffer.Id, EContentType.Video, EContentUriFlags.BypassLicense | EContentUriFlags.IgnoreCollection, videoOffer.IsHD, videoOffer.IsRental, out uriOut); } return uriOut; } diff --git a/ZuneShell/ZuneUI/BillingOfferHelper.cs b/ZuneShell/ZuneUI/BillingOfferHelper.cs index 5b29c89..8a46478 100644 --- a/ZuneShell/ZuneUI/BillingOfferHelper.cs +++ b/ZuneShell/ZuneUI/BillingOfferHelper.cs @@ -29,20 +29,20 @@ namespace ZuneUI public void GetSubscriptionOffers() { this.ErrorCode = HRESULT._S_OK; - ZuneApplication.Service.GetSubscriptionOffers(new GetBillingOffersCompleteCallback(this.OnGetSubscriptionsComplete), new GetBillingOffersErrorCallback(this.OnGetSubscriptionsError)); + ZuneApplication.Service2.GetSubscriptionOffers(new GetBillingOffersCompleteCallback(this.OnGetSubscriptionsComplete), new GetBillingOffersErrorCallback(this.OnGetSubscriptionsError)); } public void GetPointsOffers() { this.ErrorCode = HRESULT._S_OK; - ZuneApplication.Service.GetPointsOffers(new GetBillingOffersCompleteCallback(this.OnGetPointsOffersComplete), new GetBillingOffersErrorCallback(this.OnGetPointsOffersError)); + ZuneApplication.Service2.GetPointsOffers(new GetBillingOffersCompleteCallback(this.OnGetPointsOffersComplete), new GetBillingOffersErrorCallback(this.OnGetPointsOffersError)); } public void GetCurrentSubscription() { this.ErrorCode = HRESULT._S_OK; if (SignIn.Instance.SignedInWithSubscription) - ZuneApplication.Service.GetSubscriptionDetails(SignIn.Instance.SubscriptionId, new GetBillingOffersCompleteCallback(this.OnGetCurrentSubscriptionComplete), new GetBillingOffersErrorCallback(this.OnGetCurrentSubscriptionError)); + ZuneApplication.Service2.GetSubscriptionDetails(SignIn.Instance.SubscriptionId, new GetBillingOffersCompleteCallback(this.OnGetCurrentSubscriptionComplete), new GetBillingOffersErrorCallback(this.OnGetCurrentSubscriptionError)); else this.CurrentSubscription = null; } @@ -52,7 +52,7 @@ namespace ZuneUI this.ErrorCode = HRESULT._S_OK; ulong subscriptionRenewalId = SignIn.Instance.SubscriptionRenewalId; if (SignIn.Instance.SignedInWithSubscription && subscriptionRenewalId != 0UL) - ZuneApplication.Service.GetSubscriptionDetails(subscriptionRenewalId, new GetBillingOffersCompleteCallback(this.OnGetRenewalSubscriptionComplete), new GetBillingOffersErrorCallback(this.OnGetRenewalSubscriptionError)); + ZuneApplication.Service2.GetSubscriptionDetails(subscriptionRenewalId, new GetBillingOffersCompleteCallback(this.OnGetRenewalSubscriptionComplete), new GetBillingOffersErrorCallback(this.OnGetRenewalSubscriptionError)); else this.RenewalSubscription = null; } @@ -63,13 +63,13 @@ namespace ZuneUI if (billingOffer == null) return; AsyncCompleteHandler callback = billingOffer.OfferType != EBillingOfferType.Points ? new AsyncCompleteHandler(this.OnPurchaseSubscriptionComplete) : new AsyncCompleteHandler(this.OnPurchasePointsComplete); - ZuneApplication.Service.PurchaseBillingOffer(billingOffer, paymentInstrument, callback); + ZuneApplication.Service2.PurchaseBillingOffer(billingOffer, paymentInstrument, callback); } public static bool IsSubscribed(BillingOffer offer) { bool flag = false; - if (offer != null && ZuneApplication.Service.IsSignedInWithSubscription()) + if (offer != null && ZuneApplication.Service2.IsSignedInWithSubscription()) flag = (long)SignIn.Instance.SubscriptionId == (long)offer.Id; return flag; } @@ -77,7 +77,7 @@ namespace ZuneUI public static bool IsSubscriptionChanging() { bool flag = false; - if (ZuneApplication.Service.IsSignedInWithSubscription()) + if (ZuneApplication.Service2.IsSignedInWithSubscription()) flag = (long)SignIn.Instance.SubscriptionRenewalId != (long)SignIn.Instance.SubscriptionId; return flag; } diff --git a/ZuneShell/ZuneUI/ChannelTrackActionCommand.cs b/ZuneShell/ZuneUI/ChannelTrackActionCommand.cs index eecf224..852899e 100644 --- a/ZuneShell/ZuneUI/ChannelTrackActionCommand.cs +++ b/ZuneShell/ZuneUI/ChannelTrackActionCommand.cs @@ -40,7 +40,7 @@ namespace ZuneUI this.Description = Shell.LoadString(StringId.IDS_INCOLLECTION); this.Available = true; } - else if (ZuneApplication.Service.IsDownloading(this.Id, EContentType.MusicTrack, out fIsDownloadPending, out fIsHidden)) + else if (ZuneApplication.Service2.IsDownloading(this.Id, EContentType.MusicTrack, out fIsDownloadPending, out fIsHidden)) { this.Description = Shell.LoadString(StringId.IDS_PENDING); this.Downloading = true; @@ -64,7 +64,7 @@ namespace ZuneUI public override void FindInCollection() => MusicLibraryPage.FindInCollection(-1, -1, this.CollectionId); - public bool CanAddToCollection => this._lastSignedInUserHadActiveSubscription && ZuneApplication.Service.InHiddenCollection(this.Id, EContentType.MusicTrack); + public bool CanAddToCollection => this._lastSignedInUserHadActiveSubscription && ZuneApplication.Service2.InHiddenCollection(this.Id, EContentType.MusicTrack); public bool CanDownload => this._lastSignedInUserHadActiveSubscription && !this.CanFindInCollection && (!this.CanAddToCollection && !this.Downloading) && this.Id != Guid.Empty && Download.Instance.GetErrorCode(this.Id) != HRESULT._ZUNE_E_NO_SUBSCRIPTION_DOWNLOAD_RIGHTS.Int; diff --git a/ZuneShell/ZuneUI/ComposerHelper.cs b/ZuneShell/ZuneUI/ComposerHelper.cs index 5267797..a30cc16 100644 --- a/ZuneShell/ZuneUI/ComposerHelper.cs +++ b/ZuneShell/ZuneUI/ComposerHelper.cs @@ -40,7 +40,7 @@ namespace ZuneUI public bool Send(Attachment attachment) { - string endPointUri = Microsoft.Zune.Service.Service2.GetEndPointUri(Microsoft.Zune.Service.EServiceEndpointId.SEID_Messaging); + string endPointUri = Microsoft.Zune.Shell.ZuneApplication.Service2.GetEndPointUri(Microsoft.Zune.Service.EServiceEndpointId.SEID_Messaging); string zuneTag = SignIn.Instance.ZuneTag; Uri.EscapeDataString(","); string errorMessage = null; @@ -211,7 +211,8 @@ namespace ZuneUI { if (string.IsNullOrEmpty(zuneTagOrGuid)) return null; - string endPointUri = Microsoft.Zune.Service.Service2.GetEndPointUri(operation == "comments" ? Microsoft.Zune.Service.EServiceEndpointId.SEID_Comments : Microsoft.Zune.Service.EServiceEndpointId.SEID_SocialApi); + string endPointUri = Microsoft.Zune.Shell.ZuneApplication.Service2.GetEndPointUri( + operation == "comments" ? Microsoft.Zune.Service.EServiceEndpointId.SEID_Comments : Microsoft.Zune.Service.EServiceEndpointId.SEID_SocialApi); if (string.IsNullOrEmpty(endPointUri)) return null; zuneTagOrGuid = Uri.EscapeUriString(zuneTagOrGuid); diff --git a/ZuneShell/ZuneUI/DeleteSubscriptionDownloadsDialog.cs b/ZuneShell/ZuneUI/DeleteSubscriptionDownloadsDialog.cs index 1b4d270..632512d 100644 --- a/ZuneShell/ZuneUI/DeleteSubscriptionDownloadsDialog.cs +++ b/ZuneShell/ZuneUI/DeleteSubscriptionDownloadsDialog.cs @@ -20,7 +20,7 @@ namespace ZuneUI public static void ShowDialog() { - string subscriptionDirectory = ZuneApplication.Service.GetSubscriptionDirectory(); + string subscriptionDirectory = ZuneApplication.Service2.GetSubscriptionDirectory(); if (string.IsNullOrEmpty(subscriptionDirectory)) MessageBox.Show(Shell.LoadString(StringId.IDS_ACCOUNT_CLEAR_SUB_FAIL_TITLE), Shell.LoadString(StringId.IDS_ACCOUNT_CLEAR_SUB_NO_DIRECTORY), null); else @@ -62,7 +62,7 @@ namespace ZuneUI if (!this.Enabled) return; this.Enabled = false; - ZuneApplication.Service.DeleteSubscriptionDownloads(new AsyncCompleteHandler(this.OnDeleteComplete)); + ZuneApplication.Service2.DeleteSubscriptionDownloads(new AsyncCompleteHandler(this.OnDeleteComplete)); } private void OnDeleteComplete(HRESULT hr) => Application.DeferredInvoke(new DeferredInvokeHandler(this.DeferredDeleteCompleteEvent), hr); diff --git a/ZuneShell/ZuneUI/Download.cs b/ZuneShell/ZuneUI/Download.cs index fc6e1cc..a9638b5 100644 --- a/ZuneShell/ZuneUI/Download.cs +++ b/ZuneShell/ZuneUI/Download.cs @@ -76,7 +76,7 @@ namespace ZuneUI string deviceEndpointId, EventHandler onAllPending) { - ZuneApplication.Service.Download(items, eDownloadFlags, deviceEndpointId, this.ClientContextEvent, this.ClientContextEventValue, new DownloadEventHandler(this.OnDownloadEvent), new DownloadEventProgressHandler(this.OnDownloadProgressEvent), onAllPending); + ZuneApplication.Service2.Download(items, eDownloadFlags, deviceEndpointId, this.ClientContextEvent, this.ClientContextEventValue, new DownloadEventHandler(this.OnDownloadEvent), new DownloadEventProgressHandler(this.OnDownloadProgressEvent), onAllPending); if ((eDownloadFlags & ~(EDownloadFlags.CanBeOffline | EDownloadFlags.Subscription)) != EDownloadFlags.None) return; bool flag = ZuneShell.DefaultInstance.CurrentPage is InboxPage; @@ -88,7 +88,7 @@ namespace ZuneUI public void AddToCollection(IList items) { - ZuneApplication.Service.Download(items, EDownloadFlags.Subscription, null, this.ClientContextEvent, this.ClientContextEventValue, new DownloadEventHandler(this.OnDownloadEvent), new DownloadEventProgressHandler(this.OnDownloadProgressEvent), new EventHandler(this.OnAllPending)); + ZuneApplication.Service2.Download(items, EDownloadFlags.Subscription, null, this.ClientContextEvent, this.ClientContextEventValue, new DownloadEventHandler(this.OnDownloadEvent), new DownloadEventProgressHandler(this.OnDownloadProgressEvent), new EventHandler(this.OnAllPending)); foreach (object obj in items) { if (obj is DataProviderObject) @@ -117,10 +117,10 @@ namespace ZuneUI public bool IsDownloading(Guid mediaId, EContentType eContentType, out bool fPending) { bool fIsHidden = false; - return ZuneApplication.Service.IsDownloading(mediaId, eContentType, out fPending, out fIsHidden); + return ZuneApplication.Service2.IsDownloading(mediaId, eContentType, out fPending, out fIsHidden); } - public void CancelDownload(Guid mediaId) => ZuneApplication.Service.CancelDownload(mediaId, EContentType.MusicTrack); + public void CancelDownload(Guid mediaId) => ZuneApplication.Service2.CancelDownload(mediaId, EContentType.MusicTrack); public int ErrorCount => this.m_errors.Count; @@ -143,7 +143,7 @@ namespace ZuneUI internal void Phase3Init() { DownloadManager.Instance.OnProgressChanged += new DownloadManagerUpdateHandler(this.OnProgressChanged); - ZuneApplication.Service.RegisterForDownloadNotification(new DownloadEventHandler(this.OnDownloadEvent), new DownloadEventProgressHandler(this.OnDownloadProgressEvent), new EventHandler(this.OnAllPending)); + ZuneApplication.Service2.RegisterForDownloadNotification(new DownloadEventHandler(this.OnDownloadEvent), new DownloadEventProgressHandler(this.OnDownloadProgressEvent), new EventHandler(this.OnAllPending)); SingletonModelItem.Instance.PropertyChanged += new PropertyChangedEventHandler(this.OnTransportControlPropertyChanged); } diff --git a/ZuneShell/ZuneUI/DrmHelper.cs b/ZuneShell/ZuneUI/DrmHelper.cs index a501fe4..8ed3307 100644 --- a/ZuneShell/ZuneUI/DrmHelper.cs +++ b/ZuneShell/ZuneUI/DrmHelper.cs @@ -34,7 +34,7 @@ namespace ZuneUI flag = true; break; case DrmState.Expiring: - DRMInfo fileDrmInfo = ZuneApplication.Service.GetFileDRMInfo(filename); + DRMInfo fileDrmInfo = ZuneApplication.Service2.GetFileDRMInfo(filename); if (fileDrmInfo != null && (fileDrmInfo.NoLicense || fileDrmInfo.LicenseExpired)) { flag = true; @@ -54,7 +54,7 @@ namespace ZuneUI flag = true; break; case DrmState.Expiring: - DRMInfo mediaDrmInfo = ZuneApplication.Service.GetMediaDRMInfo(mediaId, EContentType.Video); + DRMInfo mediaDrmInfo = ZuneApplication.Service2.GetMediaDRMInfo(mediaId, EContentType.Video); if (mediaDrmInfo != null && (mediaDrmInfo.NoLicense || mediaDrmInfo.LicenseExpired)) { flag = true; diff --git a/ZuneShell/ZuneUI/EpisodeDownloadCommand.cs b/ZuneShell/ZuneUI/EpisodeDownloadCommand.cs index f31ce88..46440d1 100644 --- a/ZuneShell/ZuneUI/EpisodeDownloadCommand.cs +++ b/ZuneShell/ZuneUI/EpisodeDownloadCommand.cs @@ -59,7 +59,7 @@ namespace ZuneUI PodcastLibraryPage.FindInCollection((int)this.m_episode.GetProperty("SeriesId"), (int)this.m_episode.GetProperty("LibraryId")); break; default: - if (this.m_requireSignIn && !SignIn.Instance.SignedIn || this.m_explicit && ZuneApplication.Service.BlockExplicitContent()) + if (this.m_requireSignIn && !SignIn.Instance.SignedIn || this.m_explicit && ZuneApplication.Service2.BlockExplicitContent()) break; DownloadEpisode(this.m_episode); this.Refresh(); diff --git a/ZuneShell/ZuneUI/FieldAtom.cs b/ZuneShell/ZuneUI/FieldAtom.cs new file mode 100644 index 0000000..6aff82c --- /dev/null +++ b/ZuneShell/ZuneUI/FieldAtom.cs @@ -0,0 +1,14 @@ +namespace ZuneUI +{ + public enum FieldAtom + { + TrackList_PodcastEpisodeArtistName = 24, + TrackList_ArtistName = 138, + TrackList_UnkIsVideo = 177, + TrackList_Title = 244, + TrackList_PodcastEpisodeAlbumName = 312, + TrackList_Url = 317, + TrackList_AlbumName = 382, + TrackList_TrackNumber = 437, + } +} diff --git a/ZuneShell/ZuneUI/GuidHelper.cs b/ZuneShell/ZuneUI/GuidHelper.cs index 8ba7022..31bcd64 100644 --- a/ZuneShell/ZuneUI/GuidHelper.cs +++ b/ZuneShell/ZuneUI/GuidHelper.cs @@ -12,8 +12,15 @@ namespace ZuneUI { public static Guid CreateFromString(string value) { +#if NET40_OR_GREATER || OPENZUNE + if (Guid.TryParse(value, out var guid)) + return guid; + + return Guid.Empty; +#else if (string.IsNullOrEmpty(value)) return Guid.Empty; + Guid guid = Guid.Empty; try { @@ -23,6 +30,7 @@ namespace ZuneUI { } return guid; +#endif } public static bool IsEmpty(Guid guid) => guid == Guid.Empty; diff --git a/ZuneShell/ZuneUI/HelpCommandHandler.cs b/ZuneShell/ZuneUI/HelpCommandHandler.cs index 20e7393..bf90358 100644 --- a/ZuneShell/ZuneUI/HelpCommandHandler.cs +++ b/ZuneShell/ZuneUI/HelpCommandHandler.cs @@ -13,6 +13,6 @@ namespace ZuneUI { public class HelpCommandHandler : ICommandHandler { - public void Execute(string command, IDictionary commandArgs) => ZuneApplication.Service.LaunchBrowserForExternalUrl((string)Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Zune").GetValue("Installation Directory") + command, EPassportPolicyId.None); + public void Execute(string command, IDictionary commandArgs) => ZuneApplication.Service2.LaunchBrowserForExternalUrl((string)Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Zune").GetValue("Installation Directory") + command, EPassportPolicyId.None); } } diff --git a/ZuneShell/ZuneUI/LibraryPlaybackTrack.cs b/ZuneShell/ZuneUI/LibraryPlaybackTrack.cs index d6eec72..c46d0dc 100644 --- a/ZuneShell/ZuneUI/LibraryPlaybackTrack.cs +++ b/ZuneShell/ZuneUI/LibraryPlaybackTrack.cs @@ -13,10 +13,21 @@ using MicrosoftZunePlayback; using System; using System.Threading; +#if OPENZUNE +using StrixMusic.Sdk.AppModels; +using StrixMusic.Sdk.BaseModels; +using StrixMusic.Sdk.MediaPlayback; +using System.Globalization; +using System.Threading.Tasks; +#endif + namespace ZuneUI { [Serializable] public class LibraryPlaybackTrack : PlaybackTrack +#if OPENZUNE + , ITrackBase +#endif { private const long c_bookmarkInterval = 10000000; private int _mediaId; @@ -105,11 +116,11 @@ namespace ZuneUI } } - public override string Title => PlaylistManager.GetFieldValue(this._mediaId, this._listType, 344, string.Empty); + public override string Title => PlaylistManager.GetFieldValue(_mediaId, _listType, 344, string.Empty); - public override TimeSpan Duration => PlaylistManager.GetFieldValue(this._mediaId, this._listType, 151, TimeSpan.Zero); + public override TimeSpan Duration => PlaylistManager.GetFieldValue(_mediaId, _listType, 151, TimeSpan.Zero); - public int AlbumLibraryId => PlaylistManager.GetFieldValue(this._mediaId, this._listType, 11, -1); + public int AlbumLibraryId => PlaylistManager.GetFieldValue(_mediaId, _listType, 11, -1); public int AlbumArtistLibraryId { @@ -156,11 +167,14 @@ namespace ZuneUI public override bool IsInVisibleCollection => PlaylistManager.IsInVisibleCollection(this._mediaId, this._mediaType); - private long Bookmark => this._mediaType == MediaType.PodcastEpisode || this._mediaType == MediaType.Video ? PlaylistManager.GetFieldValue(this._mediaId, this._listType, 35, 0L) : 0L; + private long Bookmark => this._mediaType == MediaType.PodcastEpisode || this._mediaType == MediaType.Video + ? PlaylistManager.GetFieldValue(_mediaId, _listType, 35, 0L) : 0L; - private string Album => PlaylistManager.GetFieldValue(this._mediaId, this._listType, this._mediaType == MediaType.PodcastEpisode ? 312 : 382, string.Empty); + private string Album => PlaylistManager.GetFieldValue(_mediaId, _listType, _mediaType == MediaType.PodcastEpisode + ? FieldAtom.TrackList_PodcastEpisodeAlbumName : FieldAtom.TrackList_AlbumName, string.Empty); - public string DisplayArtist => PlaylistManager.GetFieldValue(this._mediaId, this._listType, this._mediaType == MediaType.PodcastEpisode ? 24 : 138, string.Empty); + public string DisplayArtist => PlaylistManager.GetFieldValue(_mediaId, _listType, _mediaType == MediaType.PodcastEpisode + ? FieldAtom.TrackList_PodcastEpisodeArtistName : FieldAtom.TrackList_ArtistName, string.Empty); public override string ServiceContext { @@ -173,14 +187,15 @@ namespace ZuneUI } } - private int TrackNumber => this._mediaType != MediaType.PodcastEpisode ? PlaylistManager.GetFieldValue(this._mediaId, this._listType, 437, 0) : 0; + private int TrackNumber => _mediaType != MediaType.PodcastEpisode ? + PlaylistManager.GetFieldValue(_mediaId, _listType, FieldAtom.TrackList_TrackNumber, 0) : 0; public override HRESULT GetURI(out string uri) { string uriOut = null; HRESULT hresult = HRESULT._S_OK; Microsoft.Zune.Service.EContentType eContentType; - if (PlaylistManager.GetFieldValue(this._mediaId, this._listType, 177, -1) == 43) + if (PlaylistManager.GetFieldValue(this._mediaId, this._listType, FieldAtom.TrackList_UnkIsVideo, -1) == 43) { eContentType = Microsoft.Zune.Service.EContentType.Video; } @@ -204,7 +219,7 @@ namespace ZuneUI } } if (string.IsNullOrEmpty(uriOut) && this.ZuneMediaId != Guid.Empty) - hresult = ZuneApplication.Service.GetContentUri(this.ZuneMediaId, eContentType, Microsoft.Zune.Service.EContentUriFlags.None, out uriOut, out this._zuneMediaInstanceId); + hresult = ZuneApplication.Service2.GetContentUri(this.ZuneMediaId, eContentType, Microsoft.Zune.Service.EContentUriFlags.None, out uriOut, out this._zuneMediaInstanceId); uri = uriOut; return hresult; } @@ -258,6 +273,11 @@ namespace ZuneUI break; } Microsoft.Zune.Util.Notification.BroadcastNowPlaying(MediaType, this.Album, this.DisplayArtist, this.Title, this.TrackNumber, this.ZuneMediaId); + +#if OPENZUNE + m_playbackState = PlaybackState.Playing; + PlaybackStateChanged?.Invoke(this, m_playbackState); +#endif } internal override void OnPositionChanged(long position) @@ -504,5 +524,181 @@ namespace ZuneUI Medium, Long, } + +#if OPENZUNE + private PlaybackState m_playbackState = PlaybackState.None; + + public event EventHandler TrackNumberChanged; + public event EventHandler LanguageChanged; + public event EventHandler IsExplicitChanged; + public event EventHandler IsPlayArtistCollectionAsyncAvailableChanged; + public event EventHandler IsPauseArtistCollectionAsyncAvailableChanged; + public event EventHandler ArtistItemsCountChanged; + public event EventHandler PlaybackStateChanged; + public event EventHandler NameChanged; + public event EventHandler DescriptionChanged; + public event EventHandler DurationChanged; + public event EventHandler LastPlayedChanged; + public event EventHandler IsChangeNameAsyncAvailableChanged; + public event EventHandler IsChangeDescriptionAsyncAvailableChanged; + public event EventHandler IsChangeDurationAsyncAvailableChanged; + public event EventHandler ImagesCountChanged; + public event EventHandler UrlsCountChanged; + public event EventHandler GenresCountChanged; + + TrackType ITrackBase.Type => MediaType switch + { + MediaType.Podcast or + MediaType.PodcastEpisode => TrackType.PodcastEpisode, + + MediaType.PlaylistChannel => TrackType.RadioOrStream, + + _ => TrackType.Song + }; + + int? ITrackBase.TrackNumber => TrackNumber; + + int? ITrackBase.DiscNumber => null; + + CultureInfo ITrackBase.Language => CultureInfo.CurrentCulture; + + bool ITrackBase.IsExplicit => false; + + bool ITrackBase.IsChangeAlbumAsyncAvailable => false; + bool ITrackBase.IsChangeTrackNumberAsyncAvailable => false; + bool ITrackBase.IsChangeLanguageAsyncAvailable => false; + bool ITrackBase.IsChangeLyricsAsyncAvailable => false; + bool ITrackBase.IsChangeIsExplicitAsyncAvailable => false; + + int IArtistCollectionBase.TotalArtistItemsCount => DisplayArtist != null ? 1 : 0; + + bool IArtistCollectionBase.IsPlayArtistCollectionAsyncAvailable => false; + bool IArtistCollectionBase.IsPauseArtistCollectionAsyncAvailable => false; + + DateTime? IPlayableCollectionItem.AddedAt => null; + + string IPlayableBase.Id => ZuneMediaId.ToString(); + + string IPlayableBase.Name => Title; + + string IPlayableBase.Description => null; + + DateTime? IPlayableBase.LastPlayed => null; + + PlaybackState IPlayableBase.PlaybackState => m_playbackState; + + bool IPlayableBase.IsChangeNameAsyncAvailable => false; + + bool IPlayableBase.IsChangeDescriptionAsyncAvailable => false; + + bool IPlayableBase.IsChangeDurationAsyncAvailable => false; + + int IImageCollectionBase.TotalImageCount => 0; + + int IUrlCollectionBase.TotalUrlCount => 1; + + int IGenreCollectionBase.TotalGenreCount => 0; + + Task ITrackBase.ChangeTrackNumberAsync(int? trackNumber, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task ITrackBase.ChangeLanguageAsync(CultureInfo language, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task ITrackBase.ChangeIsExplicitAsync(bool isExplicit, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task IArtistCollectionBase.PlayArtistCollectionAsync(CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task IArtistCollectionBase.PauseArtistCollectionAsync(CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task IArtistCollectionBase.RemoveArtistItemAsync(int index, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task IArtistCollectionBase.IsAddArtistItemAvailableAsync(int index, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task IArtistCollectionBase.IsRemoveArtistItemAvailableAsync(int index, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task IPlayableBase.ChangeNameAsync(string name, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task IPlayableBase.ChangeDescriptionAsync(string description, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task IPlayableBase.ChangeDurationAsync(TimeSpan duration, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task IImageCollectionBase.IsAddImageAvailableAsync(int index, CancellationToken cancellationToken) + { + return Task.FromResult(false); + } + + Task IImageCollectionBase.IsRemoveImageAvailableAsync(int index, CancellationToken cancellationToken) + { + return Task.FromResult(false); + } + + Task IImageCollectionBase.RemoveImageAsync(int index, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task IUrlCollectionBase.RemoveUrlAsync(int index, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task IUrlCollectionBase.IsAddUrlAvailableAsync(int index, CancellationToken cancellationToken) + { + return Task.FromResult(false); + } + + Task IUrlCollectionBase.IsRemoveUrlAvailableAsync(int index, CancellationToken cancellationToken) + { + return Task.FromResult(false); + } + + Task IGenreCollectionBase.RemoveGenreAsync(int index, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + Task IGenreCollectionBase.IsAddGenreAvailableAsync(int index, CancellationToken cancellationToken) + { + return Task.FromResult(false); + } + + Task IGenreCollectionBase.IsRemoveGenreAvailableAsync(int index, CancellationToken cancellationToken) + { + return Task.FromResult(false); + } +#endif + } } diff --git a/ZuneShell/ZuneUI/LibraryVideoActionCommand.cs b/ZuneShell/ZuneUI/LibraryVideoActionCommand.cs index a7fc352..9bcd2f2 100644 --- a/ZuneShell/ZuneUI/LibraryVideoActionCommand.cs +++ b/ZuneShell/ZuneUI/LibraryVideoActionCommand.cs @@ -30,7 +30,7 @@ namespace ZuneUI bool fIsHidden = false; if (this.AllowDownload) { - if (ZuneApplication.Service.IsDownloading(this.Id, this.ContentType, out fIsDownloadPending, out fIsHidden)) + if (ZuneApplication.Service2.IsDownloading(this.Id, this.ContentType, out fIsDownloadPending, out fIsHidden)) { this.Downloading = true; if (fIsDownloadPending) diff --git a/ZuneShell/ZuneUI/MarketplaceActionCommand.cs b/ZuneShell/ZuneUI/MarketplaceActionCommand.cs index 200f15f..435a2f3 100644 --- a/ZuneShell/ZuneUI/MarketplaceActionCommand.cs +++ b/ZuneShell/ZuneUI/MarketplaceActionCommand.cs @@ -35,11 +35,11 @@ namespace ZuneUI public virtual bool CanFindInCollection => this.m_collectionId >= 0; - public virtual bool CanFindInCollectionShortcut => this.m_collectionId >= 0 && ZuneApplication.Service.GetMediaStatus(this.Id, this.ContentType) == EMediaStatus.StatusInCollectionShortcut; + public virtual bool CanFindInCollectionShortcut => this.m_collectionId >= 0 && ZuneApplication.Service2.GetMediaStatus(this.Id, this.ContentType) == EMediaStatus.StatusInCollectionShortcut; - public virtual bool CanFindInCollectionOwned => this.m_collectionId >= 0 && ZuneApplication.Service.GetMediaStatus(this.Id, this.ContentType) == EMediaStatus.StatusInCollectionOwned; + public virtual bool CanFindInCollectionOwned => this.m_collectionId >= 0 && ZuneApplication.Service2.GetMediaStatus(this.Id, this.ContentType) == EMediaStatus.StatusInCollectionOwned; - public virtual bool CanFindInHiddenCollection => ZuneApplication.Service.InHiddenCollection(this.Id, this.ContentType); + public virtual bool CanFindInHiddenCollection => ZuneApplication.Service2.InHiddenCollection(this.Id, this.ContentType); public virtual bool ShowHiddenProgress { @@ -132,18 +132,18 @@ namespace ZuneUI if (this.AllowDownload) { int dbMediaId; - if (ZuneApplication.Service.InVisibleCollection(this.Id, this.ContentType, out dbMediaId)) + if (ZuneApplication.Service2.InVisibleCollection(this.Id, this.ContentType, out dbMediaId)) { this.Description = Shell.LoadString(StringId.IDS_INCOLLECTION); this.Available = true; this.CollectionId = dbMediaId; } - else if (ZuneApplication.Service.InHiddenCollection(this.Id, this.ContentType)) + else if (ZuneApplication.Service2.InHiddenCollection(this.Id, this.ContentType)) { this.Description = Shell.LoadString(this.AddToCollectionStringId); this.Available = true; } - else if (ZuneApplication.Service.IsDownloading(this.Id, this.ContentType, out fIsDownloadPending, out fIsHidden) && (!fIsHidden || this.ShowHiddenProgress)) + else if (ZuneApplication.Service2.IsDownloading(this.Id, this.ContentType, out fIsDownloadPending, out fIsHidden) && (!fIsHidden || this.ShowHiddenProgress)) { this.Downloading = true; this.Available = true; diff --git a/ZuneShell/ZuneUI/MarketplacePlaybackTrack.cs b/ZuneShell/ZuneUI/MarketplacePlaybackTrack.cs index 273cbe2..c7c9a5c 100644 --- a/ZuneShell/ZuneUI/MarketplacePlaybackTrack.cs +++ b/ZuneShell/ZuneUI/MarketplacePlaybackTrack.cs @@ -57,10 +57,11 @@ namespace ZuneUI public override HRESULT GetURI(out string uri) { string uriOut = null; - if (ZuneApplication.Service.InCompleteCollection(this._zuneMediaId, Microsoft.Zune.Service.EContentType.MusicTrack)) - ZuneApplication.Service.GetContentUri(this._zuneMediaId, Microsoft.Zune.Service.EContentType.MusicTrack, Microsoft.Zune.Service.EContentUriFlags.FallbackToPreview, out uriOut, out Guid _); + if (ZuneApplication.Service2.InCompleteCollection(this._zuneMediaId, Microsoft.Zune.Service.EContentType.MusicTrack)) + ZuneApplication.Service2.GetContentUri(this._zuneMediaId, Microsoft.Zune.Service.EContentType.MusicTrack, Microsoft.Zune.Service.EContentUriFlags.FallbackToPreview, out uriOut, out Guid _); if (string.IsNullOrEmpty(uriOut)) - uriOut = "vnd.ms.zunecp://CP/?ContentPartnerKeyName=zune&StreamType=Music&TrackID=" + this._zuneMediaId.ToString(); + uriOut = "http://catalog.zunes.me/stream/music/" + this._zuneMediaId.ToString(); + //uriOut = "vnd.ms.zunecp://CP/?ContentPartnerKeyName=zune&StreamType=Music&TrackID=" + this._zuneMediaId.ToString(); uri = uriOut; return HRESULT._S_OK; } diff --git a/ZuneShell/ZuneUI/OSVersion.cs b/ZuneShell/ZuneUI/OSVersion.cs index 4dd7d04..15f45d1 100644 --- a/ZuneShell/ZuneUI/OSVersion.cs +++ b/ZuneShell/ZuneUI/OSVersion.cs @@ -20,5 +20,13 @@ namespace ZuneUI return true; return Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor >= 1; } + +#if NET6_0_OR_GREATER + public static bool IsLessThanWin8() => !OperatingSystem.IsWindowsVersionAtLeast(6, 2); + + public static bool IsLessThanWin81() => !OperatingSystem.IsWindowsVersionAtLeast(6, 3); + + public static bool IsLessThanWin10() => !OperatingSystem.IsWindowsVersionAtLeast(10, 0); +#endif } } diff --git a/ZuneShell/ZuneUI/PaymentInstrumentHelper.cs b/ZuneShell/ZuneUI/PaymentInstrumentHelper.cs index fab66c3..7797550 100644 --- a/ZuneShell/ZuneUI/PaymentInstrumentHelper.cs +++ b/ZuneShell/ZuneUI/PaymentInstrumentHelper.cs @@ -24,13 +24,13 @@ namespace ZuneUI this.m_defaultPaymentInstrument = null; this.m_creditCards = null; this.ErrorCode = HRESULT._S_OK; - ZuneApplication.Service.GetPaymentInstruments(new GetPaymentInstrumentsCompleteCallback(this.OnGetPaymentInstrumentsSuccess), new GetPaymentInstrumentsErrorCallback(this.OnGetPaymentInstrumnetsError)); + ZuneApplication.Service2.GetPaymentInstruments(new GetPaymentInstrumentsCompleteCallback(this.OnGetPaymentInstrumentsSuccess), new GetPaymentInstrumentsErrorCallback(this.OnGetPaymentInstrumnetsError)); } public void AddPaymentInstrument(PaymentInstrument paymentInstrument) { this.ErrorCode = HRESULT._S_OK; - ZuneApplication.Service.AddPaymentInstrument(paymentInstrument, new AddPaymentInstrumentCompleteCallback(this.OnAddPaymentInstrumentSuccess), new AddPaymentInstrumentErrorCallback(this.OnAddPaymentInstrumnetError)); + ZuneApplication.Service2.AddPaymentInstrument(paymentInstrument, new AddPaymentInstrumentCompleteCallback(this.OnAddPaymentInstrumentSuccess), new AddPaymentInstrumentErrorCallback(this.OnAddPaymentInstrumnetError)); } public IList CreditCards => this.m_creditCards == null ? null : this.m_creditCards.Items; diff --git a/ZuneShell/ZuneUI/PlaylistManager.cs b/ZuneShell/ZuneUI/PlaylistManager.cs index aeaad67..4fd5a98 100644 --- a/ZuneShell/ZuneUI/PlaylistManager.cs +++ b/ZuneShell/ZuneUI/PlaylistManager.cs @@ -583,7 +583,7 @@ namespace ZuneUI } else { - if (!ZuneApplication.Service.InCompleteCollection(track.Id, Microsoft.Zune.Service.EContentType.MusicTrack, out dbMediaId, out bool _) && materializeMarketplaceTracks && (track.IsDownloading || track.CanDownload || track.CanPurchase)) + if (!ZuneApplication.Service2.InCompleteCollection(track.Id, Microsoft.Zune.Service.EContentType.MusicTrack, out dbMediaId, out bool _) && materializeMarketplaceTracks && (track.IsDownloading || track.CanDownload || track.CanPurchase)) dbMediaId = ZuneApplication.ZuneLibrary.AddTrack(track.Id, track.AlbumId, track.TrackNumber, track.Title, track.Duration, track.AlbumTitle, track.Artist, track.PrimaryGenre.Title); if (dbMediaId >= 0) { @@ -675,7 +675,7 @@ namespace ZuneUI if (marketplacePlaybackTrack == null) return; int dbMediaId; - if (!ZuneApplication.Service.InCompleteCollection(marketplacePlaybackTrack.ZuneMediaId, Microsoft.Zune.Service.EContentType.MusicTrack, out dbMediaId, out bool _)) + if (!ZuneApplication.Service2.InCompleteCollection(marketplacePlaybackTrack.ZuneMediaId, Microsoft.Zune.Service.EContentType.MusicTrack, out dbMediaId, out bool _)) dbMediaId = ZuneApplication.ZuneLibrary.AddTrack(marketplacePlaybackTrack.ZuneMediaId, marketplacePlaybackTrack.AlbumId, marketplacePlaybackTrack.TrackNumber, marketplacePlaybackTrack.Title, marketplacePlaybackTrack.Duration, marketplacePlaybackTrack.Album, marketplacePlaybackTrack.Artist, marketplacePlaybackTrack.Genre); if (dbMediaId < 0) return; @@ -713,6 +713,9 @@ namespace ZuneUI return (T)fieldValues[0]; } + public static T GetFieldValue(int mediaId, EListType listType, FieldAtom atom, T defaultValue) + => GetFieldValue(mediaId, listType, (int)atom, defaultValue); + public static void SetFieldValue(int mediaId, EListType listType, int atom, T value) { int[] columnIndexes = new int[1] { atom }; diff --git a/ZuneShell/ZuneUI/Purchase.cs b/ZuneShell/ZuneUI/Purchase.cs index fb39395..56495de 100644 --- a/ZuneShell/ZuneUI/Purchase.cs +++ b/ZuneShell/ZuneUI/Purchase.cs @@ -108,7 +108,7 @@ namespace ZuneUI eGetOffersFlags |= EGetOffersFlags.SeasonPurchase; if (subscriptionFreeTracksOnly) eGetOffersFlags |= EGetOffersFlags.SubscriptionFreeTracks; - ZuneApplication.Service.GetOffers(guidAlbumIds, guidTrackIds, guidVideoIds, guidAppIds, mapIdToContext, eGetOffersFlags, deviceEndpointId, new GetOffersCompleteCallback(this.OnGetOffersComplete), new GetOffersErrorCallback(this.OnGetOffersError)); + ZuneApplication.Service2.GetOffers(guidAlbumIds, guidTrackIds, guidVideoIds, guidAppIds, mapIdToContext, eGetOffersFlags, deviceEndpointId, new GetOffersCompleteCallback(this.OnGetOffersComplete), new GetOffersErrorCallback(this.OnGetOffersError)); } private void UpdateContextMap( @@ -151,26 +151,26 @@ namespace ZuneUI if (!this.m_fRequestingBalances) { this.m_fRequestingBalances = true; - ZuneApplication.Service.GetBalances(new GetBalancesCompleteCallback(this.OnGetBalancesComplete), new GetBalancesErrorCallback(this.OnGetBalancesError)); + ZuneApplication.Service2.GetBalances(new GetBalancesCompleteCallback(this.OnGetBalancesComplete), new GetBalancesErrorCallback(this.OnGetBalancesError)); } if (this.m_fRequestingPointsOffers || this.m_pointsOffers != null) return; this.m_fRequestingPointsOffers = true; - ZuneApplication.Service.GetPointsOffers(new GetBillingOffersCompleteCallback(this.OnGetPointsOffersComplete), new GetBillingOffersErrorCallback(this.OnGetPointsOffersError)); + ZuneApplication.Service2.GetPointsOffers(new GetBillingOffersCompleteCallback(this.OnGetPointsOffersComplete), new GetBillingOffersErrorCallback(this.OnGetPointsOffersError)); } public void PurchaseOffers(PaymentInstrument payment) { this.ErrorMessage = null; this.ErrorWebHelpUrl = null; - ZuneApplication.Service.PurchaseOffers(payment, this.m_albumOfferCollection, this.m_trackOfferCollection, this.m_videoOfferCollection, this.m_appOfferCollection, this.PurchaseOffersFlags, new PurchaseOffersCompleteHandler(this.OnPurchaseOffersComplete)); + ZuneApplication.Service2.PurchaseOffers(payment, this.m_albumOfferCollection, this.m_trackOfferCollection, this.m_videoOfferCollection, this.m_appOfferCollection, this.PurchaseOffersFlags, new PurchaseOffersCompleteHandler(this.OnPurchaseOffersComplete)); if (this.RentVideos) this.Status = Shell.LoadString(StringId.IDS_PURCHASE_RENTAL_IN_PROGRESS); else this.Status = Shell.LoadString(StringId.IDS_PURCHASE_IN_PROGRESS); } - public void ResumePurchase(string purchaseHandle, string token) => ZuneApplication.Service.ResumePurchase(purchaseHandle, token, new AsyncCompleteHandler(this.OnResumePurchaseComplete)); + public void ResumePurchase(string purchaseHandle, string token) => ZuneApplication.Service2.ResumePurchase(purchaseHandle, token, new AsyncCompleteHandler(this.OnResumePurchaseComplete)); public void PurchaseBestPointsOffer(PaymentInstrument paymentInstrument) { diff --git a/ZuneShell/ZuneUI/RecommendationsHelper.cs b/ZuneShell/ZuneUI/RecommendationsHelper.cs index b37a67f..608c756 100644 --- a/ZuneShell/ZuneUI/RecommendationsHelper.cs +++ b/ZuneShell/ZuneUI/RecommendationsHelper.cs @@ -32,7 +32,7 @@ namespace ZuneUI { if (!(track.Id == Guid.Empty)) { - bool flag2 = ZuneApplication.Service.InVisibleCollection(track.Id, EContentType.MusicTrack); + bool flag2 = ZuneApplication.Service2.InVisibleCollection(track.Id, EContentType.MusicTrack); if (filterType == TrackCollectionFilterType.IncludeIfAnyTrackNotInCollection) { if (!flag2) @@ -60,7 +60,7 @@ namespace ZuneUI { bool flag = false; if (artistId != Guid.Empty) - flag = ZuneApplication.Service.InVisibleCollection(artistId, EContentType.Artist); + flag = ZuneApplication.Service2.InVisibleCollection(artistId, EContentType.Artist); return flag; } @@ -121,7 +121,7 @@ namespace ZuneUI if (id != Guid.Empty) { int piRating = 0; - if (ZuneApplication.Service.GetUserRating(SignIn.Instance.LastSignedInUserId, id, EContentType.MusicTrack, ref piRating)) + if (ZuneApplication.Service2.GetUserRating(SignIn.Instance.LastSignedInUserId, id, EContentType.MusicTrack, ref piRating)) num = piRating; } } @@ -134,14 +134,14 @@ namespace ZuneUI if (item is Track) { Track track = (Track)item; - flag = ZuneApplication.Service.SetUserTrackRating(SignIn.Instance.LastSignedInUserId, rating, track.Id, track.AlbumId, track.TrackNumber, track.Title, track.Duration.Milliseconds, track.AlbumTitle, track.Artist, track.PrimaryGenre.Title, (string)track.GetProperty("ReferrerContext")); + flag = ZuneApplication.Service2.SetUserTrackRating(SignIn.Instance.LastSignedInUserId, rating, track.Id, track.AlbumId, track.TrackNumber, track.Title, track.Duration.Milliseconds, track.AlbumTitle, track.Artist, track.PrimaryGenre.Title, (string)track.GetProperty("ReferrerContext")); if (flag) track.UserRating = rating; } return flag; } - public static bool SetArtistUserRating(Guid id, string name, int rating) => ZuneApplication.Service.SetUserArtistRating(SignIn.Instance.LastSignedInUserId, rating, id, name); + public static bool SetArtistUserRating(Guid id, string name, int rating) => ZuneApplication.Service2.SetUserArtistRating(SignIn.Instance.LastSignedInUserId, rating, id, name); public static string GetRecommendationsEndpoint() => Service.GetEndPointUri(EServiceEndpointId.SEID_Recommendations); diff --git a/ZuneShell/ZuneUI/SignIn.cs b/ZuneShell/ZuneUI/SignIn.cs index c93e4ec..a5be802 100644 --- a/ZuneShell/ZuneUI/SignIn.cs +++ b/ZuneShell/ZuneUI/SignIn.cs @@ -297,7 +297,7 @@ namespace ZuneUI private void UpdatePointsBalance() { - int pointsBalance = ZuneApplication.Service.GetPointsBalance(); + int pointsBalance = ZuneApplication.Service2.GetPointsBalance(); if (pointsBalance == this.m_pointsBalance) return; this.m_pointsBalance = pointsBalance; @@ -360,14 +360,14 @@ namespace ZuneUI } } - public void UpdateSubscriptionFreeTrackBalance() => this.SubscriptionFreeTrackBalance = ZuneApplication.Service.GetSubscriptionFreeTrackBalance(); + public void UpdateSubscriptionFreeTrackBalance() => this.SubscriptionFreeTrackBalance = ZuneApplication.Service2.GetSubscriptionFreeTrackBalance(); public IList PersistedUsernames { get { if (this.m_persistedUsernames == null) - this.m_persistedUsernames = ZuneApplication.Service.GetPersistedUsernames(); + this.m_persistedUsernames = ZuneApplication.Service2.GetPersistedUsernames(); return this.m_persistedUsernames; } set @@ -751,9 +751,9 @@ namespace ZuneUI this.UpdateMaxWindowsPhoneVersion(); } - public bool PasswordRequired(string strUsername) => ZuneApplication.Service.SignInPasswordRequired(strUsername); + public bool PasswordRequired(string strUsername) => ZuneApplication.Service2.SignInPasswordRequired(strUsername); - public bool SignInAtStartup(string strUsername) => ZuneApplication.Service.SignInAtStartup(strUsername); + public bool SignInAtStartup(string strUsername) => ZuneApplication.Service2.SignInAtStartup(strUsername); public bool RememberUsername(string strUsername) { @@ -765,9 +765,9 @@ namespace ZuneUI public void RefreshAccount() { - if (!ZuneApplication.Service.IsSignedIn()) + if (!ZuneApplication.Service2.IsSignedIn()) return; - ZuneApplication.Service.RefreshAccount(new AsyncCompleteHandler(this.OnManualSignIn)); + ZuneApplication.Service2.RefreshAccount(new AsyncCompleteHandler(this.OnManualSignIn)); } public void SignInUser(string strUsername, string strPassword) @@ -786,12 +786,12 @@ namespace ZuneUI bool fSignInAtStartup) { if (this.SigningIn) - ZuneApplication.Service.CancelSignIn(); + ZuneApplication.Service2.CancelSignIn(); else if (this.SignedIn) - ZuneApplication.Service.SignOut(); + ZuneApplication.Service2.SignOut(); if (strPassword == null || strPassword == this.PseudoPassword) strPassword = string.Empty; - ZuneApplication.Service.SignIn(strUsername, strPassword, fRememberUsername, fRememberPassword, fSignInAtStartup, new AsyncCompleteHandler(this.OnManualSignIn)); + ZuneApplication.Service2.SignIn(strUsername, strPassword, fRememberUsername, fRememberPassword, fSignInAtStartup, new AsyncCompleteHandler(this.OnManualSignIn)); this.UpdateState(); } @@ -799,12 +799,12 @@ namespace ZuneUI { Guid guidFromPassportId = GetGuidFromPassportId(strUsername); int iUserId = 0; - if (!ZuneApplication.Service.SetLastSignedInUserGuid(ref guidFromPassportId, out iUserId)) + if (!ZuneApplication.Service2.SetLastSignedInUserGuid(ref guidFromPassportId, out iUserId)) return; if (this.SigningIn) - ZuneApplication.Service.CancelSignIn(); + ZuneApplication.Service2.CancelSignIn(); else if (this.SignedIn) - ZuneApplication.Service.SignOut(); + ZuneApplication.Service2.SignOut(); this.LastSignedInUserId = iUserId; this.LastSignedInUserGuid = guidFromPassportId; this.UpdateState(); @@ -812,7 +812,7 @@ namespace ZuneUI public void CancelSignIn() { - ZuneApplication.Service.CancelSignIn(); + ZuneApplication.Service2.CancelSignIn(); this.UpdateState(); } @@ -820,7 +820,7 @@ namespace ZuneUI private void SignOut(bool forget) { - ZuneApplication.Service.SignOut(); + ZuneApplication.Service2.SignOut(); if (forget) this.ClearLastSignedIdUser(); this.UpdateState(); @@ -830,7 +830,7 @@ namespace ZuneUI public void RemovePersistedUsername(string persistedUsername) { - ZuneApplication.Service.RemovePersistedUsername(persistedUsername); + ZuneApplication.Service2.RemovePersistedUsername(persistedUsername); int idFromPassportId = GetUserIdFromPassportId(persistedUsername); if (idFromPassportId > 0) UserManager.Instance.CleanupUserData(idFromPassportId); @@ -953,13 +953,13 @@ namespace ZuneUI internal void UpdateState() { - this.SubscriptionMachineCountExceeded = ZuneApplication.Service.IsSignedInWithSubscription() && !ZuneApplication.Service.CanDownloadSubscriptionContent(); - this.SubscriptionBillingViolation = ZuneApplication.Service.IsSignedInWithSubscription() && ZuneApplication.Service.HasSignInBillingViolation(); - this.ShowLabelTakedownWarning = ZuneApplication.Service.HasSignInLabelTakedown(); - this.SignedIn = ZuneApplication.Service.IsSignedIn(); - this.SigningIn = !this.SignedIn && ZuneApplication.Service.IsSigningIn(); - this.SignedInUsername = ZuneApplication.Service.GetSignedInUsername(); - this.SignedInGeoId = ZuneApplication.Service.GetSignedInGeoId(); + this.SubscriptionMachineCountExceeded = ZuneApplication.Service2.IsSignedInWithSubscription() && !ZuneApplication.Service2.CanDownloadSubscriptionContent(); + this.SubscriptionBillingViolation = ZuneApplication.Service2.IsSignedInWithSubscription() && ZuneApplication.Service2.HasSignInBillingViolation(); + this.ShowLabelTakedownWarning = ZuneApplication.Service2.HasSignInLabelTakedown(); + this.SignedIn = ZuneApplication.Service2.IsSignedIn(); + this.SigningIn = !this.SignedIn && ZuneApplication.Service2.IsSigningIn(); + this.SignedInUsername = ZuneApplication.Service2.GetSignedInUsername(); + this.SignedInGeoId = ZuneApplication.Service2.GetSignedInGeoId(); this.SignInErrorMessage = null; this.SignInErrorWebHelpUrl = null; this.SignInError = HRESULT._S_OK; @@ -969,7 +969,7 @@ namespace ZuneUI this.SignInHttpGoneError = false; this.SignInCredentialsError = false; this.SignInNoZuneAccountError = false; - this.UserGuid = (Guid)ZuneApplication.Service.GetUserGuid(); + this.UserGuid = (Guid)ZuneApplication.Service2.GetUserGuid(); this.UpdatePointsBalance(); this.UpdateSubscriptionFreeTrackBalance(); this.UpdateSubscriptionFreeTrackExpiration(); @@ -980,13 +980,13 @@ namespace ZuneUI { int iUserId; Guid guidUserGuid; - ZuneApplication.Service.GetLastSignedInUserGuid(out iUserId, out guidUserGuid); + ZuneApplication.Service2.GetLastSignedInUserGuid(out iUserId, out guidUserGuid); this.LastSignedInUserId = iUserId; this.LastSignedInUserGuid = guidUserGuid; - this.ZuneTag = ZuneApplication.Service.GetZuneTag(); - this.IsParentallyControlled = ZuneApplication.Service.IsParentallyControlled(); - this.IsLightWeight = ZuneApplication.Service.IsLightWeight(); - string locale = ZuneApplication.Service.GetLocale(); + this.ZuneTag = ZuneApplication.Service2.GetZuneTag(); + this.IsParentallyControlled = ZuneApplication.Service2.IsParentallyControlled(); + this.IsLightWeight = ZuneApplication.Service2.IsLightWeight(); + string locale = ZuneApplication.Service2.GetLocale(); if (!string.IsNullOrEmpty(locale)) { string[] strArray = locale.Split('-'); @@ -1058,7 +1058,7 @@ namespace ZuneUI DateTime maxValue2 = DateTime.MaxValue; if (this.SignedIn) { - dateTime1 = ZuneApplication.Service.GetSubscriptionFreeTrackExpiration(); + dateTime1 = ZuneApplication.Service2.GetSubscriptionFreeTrackExpiration(); DateTime dateTime2 = !(dateTime1 >= DateTime.MinValue.Add(s_subscriptionFreeTrackFirstExpireWarning)) ? DateTime.MinValue : dateTime1.Subtract(s_subscriptionFreeTrackFirstExpireWarning); DateTime dateTime3 = !(dateTime1 >= DateTime.MinValue.Add(s_subscriptionFreeTrackSecondExpireWarning)) ? DateTime.MinValue : dateTime1.Subtract(s_subscriptionFreeTrackSecondExpireWarning); flag1 = dateTime2 <= DateTime.UtcNow; @@ -1074,14 +1074,14 @@ namespace ZuneUI bool flag1 = false; bool flag2 = false; DateTime dateTime = DateTime.MaxValue; - this.SignedInWithSubscription = ZuneApplication.Service.IsSignedInWithSubscription(); + this.SignedInWithSubscription = ZuneApplication.Service2.IsSignedInWithSubscription(); if (this.SignedIn) { this.LastSignedInUserHadActiveSubscription = this.SignedInWithSubscription; - this.SubscriptionEndDate = ZuneApplication.Service.GetSubscriptionEndDate(); - this.SubscriptionId = ZuneApplication.Service.GetSubscriptionOfferId(); - this.SubscriptionRenewalId = ZuneApplication.Service.GetSubscriptionRenewalOfferId(); - if (ZuneApplication.Service.SubscriptionPendingCancel() || this.SubscriptionRenewalId == 0UL) + this.SubscriptionEndDate = ZuneApplication.Service2.GetSubscriptionEndDate(); + this.SubscriptionId = ZuneApplication.Service2.GetSubscriptionOfferId(); + this.SubscriptionRenewalId = ZuneApplication.Service2.GetSubscriptionRenewalOfferId(); + if (ZuneApplication.Service2.SubscriptionPendingCancel() || this.SubscriptionRenewalId == 0UL) { dateTime = !(this.SubscriptionEndDate >= DateTime.MinValue.Add(s_subscriptionEndingWarning)) ? DateTime.MinValue : this.SubscriptionEndDate.Subtract(s_subscriptionEndingWarning); flag1 = !this.SignedInWithSubscription && this.SubscriptionHasEndDate && this.SubscriptionEndDate <= DateTime.Today; @@ -1092,7 +1092,7 @@ namespace ZuneUI { bool activeSubscription; ulong subscriptionId; - ZuneApplication.Service.GetLastSignedInUserSubscriptionState(out activeSubscription, out subscriptionId); + ZuneApplication.Service2.GetLastSignedInUserSubscriptionState(out activeSubscription, out subscriptionId); this.LastSignedInUserHadActiveSubscription = activeSubscription; this.SubscriptionId = subscriptionId; this.SubscriptionEndDate = DateTime.MaxValue; @@ -1147,11 +1147,11 @@ namespace ZuneUI private bool AutomaticSignIn() { bool flag = false; - string atStartupUsername = ZuneApplication.Service.GetSignInAtStartupUsername(); + string atStartupUsername = ZuneApplication.Service2.GetSignInAtStartupUsername(); if (atStartupUsername != null) { flag = true; - ZuneApplication.Service.SignIn(atStartupUsername, "", true, true, true, new AsyncCompleteHandler(this.OnAutomaticSignIn)); + ZuneApplication.Service2.SignIn(atStartupUsername, "", true, true, true, new AsyncCompleteHandler(this.OnAutomaticSignIn)); } return flag; } @@ -1166,12 +1166,12 @@ namespace ZuneUI { if (!(this.m_lastSignedInUserGuid == Guid.Empty) && this.m_iLastSignedInUserId != 0) return; - ZuneApplication.Service.GetLastSignedInUserGuid(out this.m_iLastSignedInUserId, out this.m_lastSignedInUserGuid); + ZuneApplication.Service2.GetLastSignedInUserGuid(out this.m_iLastSignedInUserId, out this.m_lastSignedInUserGuid); } private void ClearLastSignedIdUser() { - if (!ZuneApplication.Service.ClearLastSignedInUser()) + if (!ZuneApplication.Service2.ClearLastSignedInUser()) return; this.m_lastSignedInUserGuid = Guid.Empty; this.m_iLastSignedInUserId = 0; diff --git a/ZuneShell/ZuneUI/TransportControlStyle.cs b/ZuneShell/ZuneUI/TransportControls/TransportControlStyle.cs similarity index 100% rename from ZuneShell/ZuneUI/TransportControlStyle.cs rename to ZuneShell/ZuneUI/TransportControls/TransportControlStyle.cs diff --git a/ZuneShell/ZuneUI/TransportControls.cs b/ZuneShell/ZuneUI/TransportControls/TransportControls.cs similarity index 89% rename from ZuneShell/ZuneUI/TransportControls.cs rename to ZuneShell/ZuneUI/TransportControls/TransportControls.cs index 7756282..a273e68 100644 --- a/ZuneShell/ZuneUI/TransportControls.cs +++ b/ZuneShell/ZuneUI/TransportControls/TransportControls.cs @@ -24,7 +24,7 @@ using UIXControls; namespace ZuneUI { - public class TransportControls : SingletonModelItem + public partial class TransportControls : SingletonModelItem { internal const long c_TicksPerSecond = 10000000; private const long _rewindDelay = 50000000; @@ -109,30 +109,30 @@ namespace ZuneUI this._taskbarPlayer = TaskbarPlayer.Instance; this._videoStream = new VideoStream(); if (!this.CanRender3DVideo) - this._videoStream.DisplayDetailsChanged += new EventHandler(this.OnVideoDetailsChanged); + this._videoStream.DisplayDetailsChanged += OnVideoDetailsChanged; this._shuffling = new BooleanChoice(this); this._shuffling.Value = ClientConfiguration.Playback.ModeShuffle; - this._shuffling.ChosenChanged += new EventHandler(this.OnShufflingChanged); + this._shuffling.ChosenChanged += OnShufflingChanged; this.UpdateShufflingDescription(); this._repeating = new BooleanChoice(this); this._repeating.Value = ClientConfiguration.Playback.ModeLoop; - this._repeating.ChosenChanged += new EventHandler(this.OnRepeatingChanged); + this._repeating.ChosenChanged += OnRepeatingChanged; this.UpdateRepeatingDescription(); this._muted = new BooleanChoice(this); this._muted.Value = ClientConfiguration.Playback.Mute; - this._muted.ChosenChanged += new EventHandler(this.OnMutingChanged); + this._muted.ChosenChanged += OnMutingChanged; this.UpdateMutingDescription(); this._showTotalTime = new BooleanChoice(this); this._showTotalTime.Value = ClientConfiguration.Playback.ShowTotalTime; - this._showTotalTime.ChosenChanged += new EventHandler(this.OnShowTotalTimeChanged); + this._showTotalTime.ChosenChanged += OnShowTotalTimeChanged; this._showNowPlayingList = new BooleanChoice(this); this._showNowPlayingList.Value = ClientConfiguration.Playback.ShowNowPlayingList; - this._showNowPlayingList.ChosenChanged += new EventHandler(this.OnShowNowPlayingListChanged); + this._showNowPlayingList.ChosenChanged += OnShowNowPlayingListChanged; this.UpdateShowNowPlayingListDescription(); this._fastforwarding = new BooleanChoice(this); - this._fastforwarding.ChosenChanged += new EventHandler(this.OnFastforwardingChanged); + this._fastforwarding.ChosenChanged += OnFastforwardingChanged; this._rewinding = new BooleanChoice(this); - this._rewinding.ChosenChanged += new EventHandler(this.OnRewindingChanged); + this._rewinding.ChosenChanged += OnRewindingChanged; float num = ClientConfiguration.Playback.Volume; if (num < 0.0 || num > 100.0) num = 50f; @@ -140,47 +140,47 @@ namespace ZuneUI this._volume.MinValue = 0.0f; this._volume.MaxValue = 100f; this._volume.Value = num; - this._volume.PropertyChanged += new PropertyChangedEventHandler(this.OnVolumeControlChanged); - this._play = new Command(this, Shell.LoadString(StringId.IDS_PLAY), new EventHandler(this.OnPlayClicked)); + this._volume.PropertyChanged += OnVolumeControlChanged; + this._play = new Command(this, Shell.LoadString(StringId.IDS_PLAY), OnPlayClicked); this._play.Available = false; - this._pause = new Command(this, Shell.LoadString(StringId.IDS_PAUSE), new EventHandler(this.OnPauseClicked)); + this._pause = new Command(this, Shell.LoadString(StringId.IDS_PAUSE), OnPauseClicked); this._pause.Available = false; - this._back = new Command(this, Shell.LoadString(StringId.IDS_PREVIOUS), new EventHandler(this.OnBackClicked)); + this._back = new Command(this, Shell.LoadString(StringId.IDS_PREVIOUS), OnBackClicked); this._back.Available = false; - this._forward = new Command(this, Shell.LoadString(StringId.IDS_NEXT), new EventHandler(this.OnForwardClicked)); + this._forward = new Command(this, Shell.LoadString(StringId.IDS_NEXT), OnForwardClicked); this._forward.Available = false; - this._stop = new Command(this, Shell.LoadString(StringId.IDS_STOP), new EventHandler(this.OnStopClicked)); + this._stop = new Command(this, Shell.LoadString(StringId.IDS_STOP), OnStopClicked); this._stop.Available = false; this._fastforwardhotkey = new Command(this, new EventHandler(this.OnFastforwardHotkeyPressed)); this._rewindhotkey = new Command(this, new EventHandler(this.OnRewindHotkeyPressed)); - this._playbackWrapper.StatusChanged += new EventHandler(this.OnPlaybackStatusChanged); - this._playbackWrapper.TransportStatusChanged += new EventHandler(this.OnTransportStatusChanged); - this._playbackWrapper.TransportPositionChanged += new EventHandler(this.OnTransportPositionChanged); - this._playbackWrapper.UriSet += new EventHandler(this.OnUriSet); - this._playbackWrapper.AlertSent += new AnnouncementHandler(this.OnAlertSent); - this._playbackWrapper.PlayerPropertyChanged += new PlayerPropertyChangedEventHandler(this.OnPlayerPropertyChanged); - this._playbackWrapper.PlayerBandwithUpdate += new PlayerBandwithUpdateEventHandler(this.OnBandwidthCapacityUpdate); + this._playbackWrapper.StatusChanged += OnPlaybackStatusChanged; + this._playbackWrapper.TransportStatusChanged += OnTransportStatusChanged; + this._playbackWrapper.TransportPositionChanged += OnTransportPositionChanged; + this._playbackWrapper.UriSet += OnUriSet; + this._playbackWrapper.AlertSent += OnAlertSent; + this._playbackWrapper.PlayerPropertyChanged += OnPlayerPropertyChanged; + this._playbackWrapper.PlayerBandwithUpdate += OnBandwidthCapacityUpdate; this._lastKnownPlayerState = this._playbackWrapper.State; this._lastKnownTransportState = this._playbackWrapper.TransportState; this._lastKnownPosition = this._playbackWrapper.Position; this._shellInstance = (Shell)ZuneShell.DefaultInstance; - this._shellInstance.PropertyChanged += new PropertyChangedEventHandler(this.OnShellPropertyChanged); + this._shellInstance.PropertyChanged += OnShellPropertyChanged; this._timerDelayedConfigPersist = new Microsoft.Iris.Timer(); this._timerDelayedConfigPersist.Interval = 500; this._timerDelayedConfigPersist.AutoRepeat = false; - this._timerDelayedConfigPersist.Tick += new EventHandler(this.OnDelayedConfigPersistTimerTick); + this._timerDelayedConfigPersist.Tick += OnDelayedConfigPersistTimerTick; this._playerState = PlayerState.Stopped; this._spectrumConfigList = new List(); this._isSpectrumAvailable = false; this.IsSeekEnabled = this._playbackWrapper.CanSeek; - Download.Instance.DownloadProgressEvent += new DownloadEventProgressHandler(this.OnDownloadProgressed); + Download.Instance.DownloadProgressEvent += OnDownloadProgressed; this._lastKnownCurrentTrackRating = -1; - this._currentTrackRatingChangedEventHandler = new EventHandler(this.OnCurrentTrackRatingChanged); + this._currentTrackRatingChangedEventHandler = OnCurrentTrackRatingChanged; this._isStreamingTimeoutTimer = new Microsoft.Iris.Timer(this); this._isStreamingTimeoutTimer.Interval = 30000; this._isStreamingTimeoutTimer.AutoRepeat = false; - this._isStreamingTimeoutTimer.Tick += new EventHandler(this.OnIsStreamingTimeout); - SignIn.Instance.SignInStatusUpdatedEvent += new EventHandler(this.OnSignInEvent); + this._isStreamingTimeoutTimer.Tick += OnIsStreamingTimeout; + SignIn.Instance.SignInStatusUpdatedEvent += OnSignInEvent; } protected override void OnDispose(bool fDisposing) @@ -214,14 +214,14 @@ namespace ZuneUI } if (this._lastKnownPlaybackTrack != null) this._lastKnownPlaybackTrack.OnEndPlayback(false); - this._playbackWrapper.StatusChanged -= new EventHandler(this.OnPlaybackStatusChanged); - this._playbackWrapper.TransportStatusChanged -= new EventHandler(this.OnTransportStatusChanged); - this._playbackWrapper.TransportPositionChanged -= new EventHandler(this.OnTransportPositionChanged); - this._playbackWrapper.UriSet -= new EventHandler(this.OnUriSet); - this._playbackWrapper.AlertSent -= new AnnouncementHandler(this.OnAlertSent); - this._playbackWrapper.PlayerPropertyChanged -= new PlayerPropertyChangedEventHandler(this.OnPlayerPropertyChanged); + this._playbackWrapper.StatusChanged -= OnPlaybackStatusChanged; + this._playbackWrapper.TransportStatusChanged -= OnTransportStatusChanged; + this._playbackWrapper.TransportPositionChanged -= OnTransportPositionChanged; + this._playbackWrapper.UriSet -= OnUriSet; + this._playbackWrapper.AlertSent -= OnAlertSent; + this._playbackWrapper.PlayerPropertyChanged -= OnPlayerPropertyChanged; if (this._videoStream != null && !this.CanRender3DVideo) - this._videoStream.DisplayDetailsChanged -= new EventHandler(this.OnVideoDetailsChanged); + this._videoStream.DisplayDetailsChanged -= OnVideoDetailsChanged; PlayerInterop.Instance.Dispose(); if (this._videoStream != null) { @@ -230,15 +230,15 @@ namespace ZuneUI } if (this._timerDelayedConfigPersist != null) { - this._timerDelayedConfigPersist.Tick -= new EventHandler(this.OnDelayedConfigPersistTimerTick); + this._timerDelayedConfigPersist.Tick -= OnDelayedConfigPersistTimerTick; this._timerDelayedConfigPersist.Dispose(); this._timerDelayedConfigPersist = null; } - this._shellInstance.PropertyChanged -= new PropertyChangedEventHandler(this.OnShellPropertyChanged); - Download.Instance.DownloadProgressEvent -= new DownloadEventProgressHandler(this.OnDownloadProgressed); + this._shellInstance.PropertyChanged -= OnShellPropertyChanged; + Download.Instance.DownloadProgressEvent -= OnDownloadProgressed; if (this._currentTrack != null) this._currentTrack.RatingChanged.Invoked -= this._currentTrackRatingChangedEventHandler; - SignIn.Instance.SignInStatusUpdatedEvent -= new EventHandler(this.OnSignInEvent); + SignIn.Instance.SignInStatusUpdatedEvent -= OnSignInEvent; } private void OnSignInEvent(object sender, EventArgs args) @@ -824,6 +824,8 @@ namespace ZuneUI if (this.PlaybackStopped != null) this.PlaybackStopped(this, null); } + + UpdateSmtcState(stateNew); } this.UpdatePropertiesAndCommands(); this.ReportStreamingAction(playerState); @@ -1360,98 +1362,6 @@ namespace ZuneUI { } - private void OnPlayClicked(object sender, EventArgs e) - { - if (!this._play.Available) - return; - SQMLog.Log(SQMDataId.PlayClicks, 1); - if (this.Playing || this._playlistCurrent == null) - return; - if (this._lastKnownPlayerState != MCPlayerState.Closed) - { - this.SetPlayerState(PlayerState.Playing); - this._playbackWrapper.Play(); - if (!this.PlayingVideo || this._playlistCurrent.PlayNavigationOptions != PlayNavigationOptions.NavigateVideosToNowPlaying) - return; - NowPlayingLand.NavigateToLand(); - } - else - { - if (this._playlistPending != null) - this._playlistPending.Dispose(); - this._playlistPending = this._playlistCurrent; - this.PlayPendingList(); - } - } - - private void OnPauseClicked(object sender, EventArgs e) - { - if (!this._pause.Available) - return; - SQMLog.Log(SQMDataId.PauseClicks, 1); - if (!this.Playing) - return; - this.SetPlayerState(PlayerState.Paused); - this._playbackWrapper.Pause(); - } - - private void OnStopClicked(object sender, EventArgs e) - { - if (!this._stop.Available) - return; - SQMLog.Log(SQMDataId.StopClicks, 1); - if (this._playlistPending != null) - this._playlistPending.Dispose(); - this._playlistPending = null; - if (this._playlistCurrent != null) - this._playlistCurrent.Dispose(); - this._playlistCurrent = null; - if (this._playerState != PlayerState.Stopped) - { - this.SetPlayerState(PlayerState.Stopped); - this._playbackWrapper.Stop(); - } - else - this.UpdatePropertiesAndCommands(); - } - - private void OnBackClicked(object sender, EventArgs e) - { - if (!this._back.Available || this._playlistCurrent == null) - return; - SQMLog.Log(SQMDataId.SkipBackwardClicks, 1); - if (this._lastKnownPosition > 50000000L || !this._playlistCurrent.CanRetreat) - { - this._playbackWrapper.SeekToAbsolutePosition(0L); - } - else - { - this._playlistCurrent.Retreat(); - this.SetUriOnPlayer(); - } - } - - private void OnForwardClicked(object sender, EventArgs e) - { - if (!this._forward.Available || this._playlistCurrent == null) - return; - SQMLog.Log(SQMDataId.SkipForwardClicks, 1); - if (this._currentTrack != null && this._currentTrack.IsVideo) - return; - if (this._lastKnownPlaybackTrack != null) - this._lastKnownPlaybackTrack.OnSkip(); - if (this._playlistCurrent.CanAdvance) - { - this._playlistCurrent.Advance(); - this.SetUriOnPlayer(); - } - else - { - this.SetPlayerState(PlayerState.Stopped); - this._playbackWrapper.Stop(); - } - } - private void OnFastforwardingChanged(object sender, EventArgs e) { if ((this._currentTrack == null || !this._currentTrack.IsVideo || this._playbackWrapper.CanChangeVideoRate) && this._fastforwarding.Value) @@ -1674,12 +1584,92 @@ namespace ZuneUI break; case MCTransportState.Playing: PerfTrace.TraceUICollectionEvent(UICollectionEvent.PlayRequestComplete, ""); + UseSmtc(); break; } } this._lastKnownTransportState = mcTransportState; } + bool isInit = false; + private void UseSmtc() + { + // Use SMTC when available +#if WINDOWS + if (Microsoft.WinRT.ApiInformation.IsTypePresent("Windows.Media.SystemMediaTransportControls") + && !OSVersion.IsLessThanWin10()) + { + // On Windows 8.1 / 10 / 11 + var _systemMediaTransportControls = Windows.Media.SystemMediaTransportControlsInterop.GetForWindow(Application.Window.Handle); + _systemMediaTransportControls.IsPlayEnabled = true; + _systemMediaTransportControls.IsPauseEnabled = true; + _systemMediaTransportControls.IsStopEnabled = true; + _systemMediaTransportControls.IsNextEnabled = true; + _systemMediaTransportControls.IsPreviousEnabled = true; + + if (!isInit) + { + isInit = true; + _systemMediaTransportControls.ButtonPressed += (e, args) => + { + Action method = args.Button switch + { + Windows.Media.SystemMediaTransportControlsButton.Play => OnPlayClicked, + Windows.Media.SystemMediaTransportControlsButton.Pause => OnPauseClicked, + Windows.Media.SystemMediaTransportControlsButton.Stop => OnStopClicked, + Windows.Media.SystemMediaTransportControlsButton.Next => OnForwardClicked, + Windows.Media.SystemMediaTransportControlsButton.Previous => OnBackClicked, + + _ => throw new NotImplementedException() + }; + + Application.DeferredInvoke(_ => method(null, null), null); + }; + } + + // Get the updater + Windows.Media.SystemMediaTransportControlsDisplayUpdater updater = _systemMediaTransportControls.DisplayUpdater; + + // Music metadata + if (_lastKnownPlaybackTrack != null) + { + updater.Type = _lastKnownPlaybackTrack.MediaType == MediaType.Video + ? Windows.Media.MediaPlaybackType.Video + : Windows.Media.MediaPlaybackType.Music; + updater.MusicProperties.Title = _lastKnownPlaybackTrack.Title; + + if (_lastKnownPlaybackTrack is LibraryPlaybackTrack track) + { + updater.MusicProperties.Artist = track.DisplayArtist; + } + } + + updater.Update(); + } +#endif + } + + private void UpdateSmtcState(PlayerState stateNew) + { +#if WINDOWS + if (Microsoft.WinRT.ApiInformation.IsTypePresent("Windows.Media.SystemMediaTransportControls") + && !OSVersion.IsLessThanWin10()) + { + // Windows 8.1 doesn't seem to support non-Metro apps using this API. + + // On Windows 8.1 / 10 / 11 + var _systemMediaTransportControls = Windows.Media.SystemMediaTransportControlsInterop.GetForWindow(Application.Window.Handle); + _systemMediaTransportControls.PlaybackStatus = stateNew switch + { + PlayerState.Stopped => Windows.Media.MediaPlaybackStatus.Stopped, + PlayerState.Playing => Windows.Media.MediaPlaybackStatus.Playing, + PlayerState.Paused => Windows.Media.MediaPlaybackStatus.Paused, + _ => throw new NotImplementedException(), + }; + } +#endif + } + private void DeferredTransportPositionChanged(object obj) { if (this.IsDisposed) @@ -1832,52 +1822,52 @@ namespace ZuneUI { int myID = ++this._lastKnownSetUriCallID; ThreadPool.QueueUserWorkItem(args => - { - if (track != null) - { - string trackUri; - HRESULT uri = track.GetURI(out trackUri); - if (string.IsNullOrEmpty(trackUri)) - trackUri = ".:* INVALID URI *:."; - if (uri.IsSuccess) - Application.DeferredInvoke(delegate - { - if (this.IsDisposed || myID != this._lastKnownSetUriCallID) - return; - this._playbackWrapper.SetUri(trackUri, 0L, track.PlaybackID); - this.ReportStreamingAction(PlayerState.Stopped); - this._tracksSubmittedToPlayer.Remove(track); - this._tracksSubmittedToPlayer.Add(track); - if (nextTrack != null) - return; - this._playbackWrapper.CancelNext(); - this.UpdatePropertiesAndCommands(); - }, null); - else - this.OnAlertSent(new Announcement() - { - HResult = uri.Int, - PlaybackID = track.PlaybackID - }); - } - if (nextTrack == null) - return; - string nextTrackUri; - HRESULT uri1 = nextTrack.GetURI(out nextTrackUri); - if (string.IsNullOrEmpty(nextTrackUri)) - nextTrackUri = ".:* INVALID URI *:."; - if (!uri1.IsSuccess) - return; - Application.DeferredInvoke(delegate - { - if (this.IsDisposed || myID != this._lastKnownSetUriCallID) - return; - this._playbackWrapper.SetNextUri(nextTrackUri, 0L, nextTrack.PlaybackID); - this._tracksSubmittedToPlayer.Remove(nextTrack); - this._tracksSubmittedToPlayer.Add(nextTrack); - this.UpdatePropertiesAndCommands(); - }, null); - }, null); + { + if (track != null) + { + string trackUri; + HRESULT uri = track.GetURI(out trackUri); + if (string.IsNullOrEmpty(trackUri)) + trackUri = ".:* INVALID URI *:."; + if (uri.IsSuccess) + Application.DeferredInvoke(delegate + { + if (this.IsDisposed || myID != this._lastKnownSetUriCallID) + return; + this._playbackWrapper.SetUri(trackUri, 0L, track.PlaybackID); + this.ReportStreamingAction(PlayerState.Stopped); + this._tracksSubmittedToPlayer.Remove(track); + this._tracksSubmittedToPlayer.Add(track); + if (nextTrack != null) + return; + this._playbackWrapper.CancelNext(); + this.UpdatePropertiesAndCommands(); + }, null); + else + this.OnAlertSent(new Announcement() + { + HResult = uri.Int, + PlaybackID = track.PlaybackID + }); + } + if (nextTrack == null) + return; + string nextTrackUri; + HRESULT uri1 = nextTrack.GetURI(out nextTrackUri); + if (string.IsNullOrEmpty(nextTrackUri)) + nextTrackUri = ".:* INVALID URI *:."; + if (!uri1.IsSuccess) + return; + Application.DeferredInvoke(delegate + { + if (this.IsDisposed || myID != this._lastKnownSetUriCallID) + return; + this._playbackWrapper.SetNextUri(nextTrackUri, 0L, nextTrack.PlaybackID); + this._tracksSubmittedToPlayer.Remove(nextTrack); + this._tracksSubmittedToPlayer.Add(nextTrack); + this.UpdatePropertiesAndCommands(); + }, null); + }, null); } private void UpdateNextTrack() diff --git a/ZuneShell/ZuneUI/TransportControls/TransportControls.lg.cs b/ZuneShell/ZuneUI/TransportControls/TransportControls.lg.cs new file mode 100644 index 0000000..7f9bf35 --- /dev/null +++ b/ZuneShell/ZuneUI/TransportControls/TransportControls.lg.cs @@ -0,0 +1,107 @@ +using Microsoft.Zune.Util; +using MicrosoftZunePlayback; +using System; + +namespace ZuneUI +{ + partial class TransportControls + { + private void OnPlayClicked(object sender, EventArgs e) + { + if (!this._play.Available) + return; + SQMLog.Log(SQMDataId.PlayClicks, 1); + + if (this.Playing || this._playlistCurrent == null) + return; + if (this._lastKnownPlayerState != MCPlayerState.Closed) + { + this.SetPlayerState(PlayerState.Playing); + this._playbackWrapper.Play(); + + if (!this.PlayingVideo || this._playlistCurrent.PlayNavigationOptions != PlayNavigationOptions.NavigateVideosToNowPlaying) + return; + NowPlayingLand.NavigateToLand(); + } + else + { + if (this._playlistPending != null) + this._playlistPending.Dispose(); + this._playlistPending = this._playlistCurrent; + this.PlayPendingList(); + } + } + + private void OnPauseClicked(object sender, EventArgs e) + { + if (!this._pause.Available) + return; + SQMLog.Log(SQMDataId.PauseClicks, 1); + + if (!this.Playing) + return; + + this.SetPlayerState(PlayerState.Paused); + this._playbackWrapper.Pause(); + } + + private void OnStopClicked(object sender, EventArgs e) + { + if (!this._stop.Available) + return; + SQMLog.Log(SQMDataId.StopClicks, 1); + if (this._playlistPending != null) + this._playlistPending.Dispose(); + this._playlistPending = null; + if (this._playlistCurrent != null) + this._playlistCurrent.Dispose(); + this._playlistCurrent = null; + if (this._playerState != PlayerState.Stopped) + { + this.SetPlayerState(PlayerState.Stopped); + this._playbackWrapper.Stop(); + } + else + this.UpdatePropertiesAndCommands(); + } + + private void OnBackClicked(object sender, EventArgs e) + { + if (!this._back.Available || this._playlistCurrent == null) + return; + SQMLog.Log(SQMDataId.SkipBackwardClicks, 1); + + if (this._lastKnownPosition > 50000000L || !this._playlistCurrent.CanRetreat) + { + this._playbackWrapper.SeekToAbsolutePosition(0L); + } + else + { + this._playlistCurrent.Retreat(); + this.SetUriOnPlayer(); + } + } + + private void OnForwardClicked(object sender, EventArgs e) + { + if (!this._forward.Available || this._playlistCurrent == null) + return; + SQMLog.Log(SQMDataId.SkipForwardClicks, 1); + + if (this._currentTrack != null && this._currentTrack.IsVideo) + return; + if (this._lastKnownPlaybackTrack != null) + this._lastKnownPlaybackTrack.OnSkip(); + if (this._playlistCurrent.CanAdvance) + { + this._playlistCurrent.Advance(); + this.SetUriOnPlayer(); + } + else + { + this.SetPlayerState(PlayerState.Stopped); + this._playbackWrapper.Stop(); + } + } + } +} diff --git a/ZuneShell/ZuneUI/TransportControls/TransportControls.oz.cs b/ZuneShell/ZuneUI/TransportControls/TransportControls.oz.cs new file mode 100644 index 0000000..31b570d --- /dev/null +++ b/ZuneShell/ZuneUI/TransportControls/TransportControls.oz.cs @@ -0,0 +1,135 @@ +using Microsoft.Zune.Util; +using MicrosoftZunePlayback; +using StrixMusic.Sdk.MediaPlayback; +using System; + +namespace ZuneUI +{ + partial class TransportControls + { + private readonly IPlaybackHandlerService _playbackHandler = Microsoft.Zune.Shell.ZuneApplication.PlaybackHandler; + + private async void OnPlayClicked(object sender, EventArgs e) + { + if (!_play.Available) + return; + SQMLog.Log(SQMDataId.PlayClicks, 1); + + if (Playing || _playlistCurrent == null) + return; + if (_lastKnownPlayerState != MCPlayerState.Closed) + { + SetPlayerState(PlayerState.Playing); + + if (_playbackHandler != null) + { + await _playbackHandler.ResumeAsync(); + } + + if (!PlayingVideo || _playlistCurrent.PlayNavigationOptions != PlayNavigationOptions.NavigateVideosToNowPlaying) + return; + NowPlayingLand.NavigateToLand(); + } + else + { + if (_playlistPending != null) + _playlistPending.Dispose(); + _playlistPending = _playlistCurrent; + PlayPendingList(); + } + } + + private async void OnPauseClicked(object sender, EventArgs e) + { + if (!_pause.Available) + return; + SQMLog.Log(SQMDataId.PauseClicks, 1); + + if (!Playing) + return; + + SetPlayerState(PlayerState.Paused); + + if (_playbackHandler != null) + { + await _playbackHandler.PauseAsync(); + } + } + + private async void OnStopClicked(object sender, EventArgs e) + { + if (!_stop.Available) + return; + SQMLog.Log(SQMDataId.StopClicks, 1); + if (_playlistPending != null) + _playlistPending.Dispose(); + _playlistPending = null; + if (_playlistCurrent != null) + _playlistCurrent.Dispose(); + _playlistCurrent = null; + if (_playerState != PlayerState.Stopped) + { + SetPlayerState(PlayerState.Stopped); + + if (_playbackHandler != null) + { + await _playbackHandler.PauseAsync(); + await _playbackHandler.SeekAsync(TimeSpan.Zero); + } + } + else + UpdatePropertiesAndCommands(); + } + + private async void OnBackClicked(object sender, EventArgs e) + { + if (!_back.Available || _playlistCurrent == null) + return; + SQMLog.Log(SQMDataId.SkipBackwardClicks, 1); + + if (_lastKnownPosition > 50000000L || !_playlistCurrent.CanRetreat) + { + await _playbackHandler.SeekAsync(TimeSpan.Zero); + } + else + { + if (_playbackHandler != null) + { + await _playbackHandler.PreviousAsync(); + } + SetUriOnPlayer(); + } + } + + private async void OnForwardClicked(object sender, EventArgs e) + { + if (!_forward.Available || _playlistCurrent == null) + return; + SQMLog.Log(SQMDataId.SkipForwardClicks, 1); + + if (_currentTrack != null && _currentTrack.IsVideo) + return; + if (_lastKnownPlaybackTrack != null) + _lastKnownPlaybackTrack.OnSkip(); + if (_playlistCurrent.CanAdvance) + { + if (_playbackHandler != null && _playbackHandler.NextItems.Count > 0) + { + await _playbackHandler.NextAsync(); + } + + SetUriOnPlayer(); + } + else + { + SetPlayerState(PlayerState.Stopped); + + if (_playbackHandler != null) + { + await _playbackHandler.PauseAsync(); + await _playbackHandler.SeekAsync(TimeSpan.Zero); + } + } + } + } +} diff --git a/ZuneShell/ZuneUI/UIDevice.cs b/ZuneShell/ZuneUI/UIDevice.cs index 1fb8944..d75abe3 100644 --- a/ZuneShell/ZuneUI/UIDevice.cs +++ b/ZuneShell/ZuneUI/UIDevice.cs @@ -1749,7 +1749,7 @@ namespace ZuneUI case Track _: Track track = (Track)dataProviderObject; int dbMediaId1 = -1; - if (!ZuneApplication.Service.InCompleteCollection(track.Id, Microsoft.Zune.Service.EContentType.MusicTrack, out dbMediaId1, out bool _) && (track.IsDownloading || track.CanDownload || track.CanPurchase)) + if (!ZuneApplication.Service2.InCompleteCollection(track.Id, Microsoft.Zune.Service.EContentType.MusicTrack, out dbMediaId1, out bool _) && (track.IsDownloading || track.CanDownload || track.CanPurchase)) dbMediaId1 = ZuneApplication.ZuneLibrary.AddTrack(track.Id, track.AlbumId, track.TrackNumber, track.Title, track.Duration, track.AlbumTitle, track.Artist, track.PrimaryGenre.Title); if (dbMediaId1 >= 0) { @@ -1783,7 +1783,7 @@ namespace ZuneUI case MusicVideo _: MusicVideo musicVideo = (MusicVideo)dataProviderObject; int dbMediaId2 = -1; - if (!ZuneApplication.Service.InCompleteCollection(musicVideo.Id, Microsoft.Zune.Service.EContentType.Video, out dbMediaId2, out bool _) && (musicVideo.IsDownloading || musicVideo.CanPurchase)) + if (!ZuneApplication.Service2.InCompleteCollection(musicVideo.Id, Microsoft.Zune.Service.EContentType.Video, out dbMediaId2, out bool _) && (musicVideo.IsDownloading || musicVideo.CanPurchase)) dbMediaId2 = ZuneApplication.ZuneLibrary.AddVideo(musicVideo.Id, musicVideo.Title, musicVideo.Duration); if (dbMediaId2 >= 0) { diff --git a/ZuneShell/ZuneUI/VideoDetails.cs b/ZuneShell/ZuneUI/VideoDetails.cs index dbb8b76..55caaed 100644 --- a/ZuneShell/ZuneUI/VideoDetails.cs +++ b/ZuneShell/ZuneUI/VideoDetails.cs @@ -78,7 +78,7 @@ namespace ZuneUI IList list = new List(); foreach (UIDevice uiDevice in SingletonModelItem.Instance) { - if (ZuneApplication.Service.InCompleteCollection(zuneMediaId, EContentType.Video, uiDevice.EndpointId)) + if (ZuneApplication.Service2.InCompleteCollection(zuneMediaId, EContentType.Video, uiDevice.EndpointId)) list.Add(string.Format(_deviceRentalFormat, uiDevice.Name.ToUpper())); } return list; @@ -99,7 +99,7 @@ namespace ZuneUI case 26: if (!string.IsNullOrEmpty(fileName)) { - DRMInfo drmInfo = fileType != 43 ? ZuneApplication.Service.GetFileDRMInfo(fileName) : ZuneApplication.Service.GetMediaDRMInfo(zuneMediaId, EContentType.Video); + DRMInfo drmInfo = fileType != 43 ? ZuneApplication.Service2.GetFileDRMInfo(fileName) : ZuneApplication.Service2.GetMediaDRMInfo(zuneMediaId, EContentType.Video); if (drmInfo != null) { if (drmInfo.ValidLicense && drmInfo.HasExpiryDate) diff --git a/ZuneShell/ZuneUI/VideoPlaybackTrack.cs b/ZuneShell/ZuneUI/VideoPlaybackTrack.cs index 1f739d9..d6d8b1e 100644 --- a/ZuneShell/ZuneUI/VideoPlaybackTrack.cs +++ b/ZuneShell/ZuneUI/VideoPlaybackTrack.cs @@ -56,7 +56,7 @@ namespace ZuneUI { HRESULT hresult = HRESULT._S_OK; string uriOut = null; - if (!ZuneApplication.Service.InCompleteCollection(this._zuneMediaId, EContentType.Video) && !string.IsNullOrEmpty(this._uri)) + if (!ZuneApplication.Service2.InCompleteCollection(this._zuneMediaId, EContentType.Video) && !string.IsNullOrEmpty(this._uri)) { uriOut = this._uri; } @@ -69,7 +69,7 @@ namespace ZuneUI eContentUriFlags |= EContentUriFlags.FallbackToPreview; if (this.ForcePreview) eContentUriFlags |= EContentUriFlags.ForcePreview; - hresult = ZuneApplication.Service.GetContentUri(this._zuneMediaId, EContentType.Video, eContentUriFlags, out uriOut, out this._zuneMediaInstanceId); + hresult = ZuneApplication.Service2.GetContentUri(this._zuneMediaId, EContentType.Video, eContentUriFlags, out uriOut, out this._zuneMediaInstanceId); } if (!string.IsNullOrEmpty(uriOut) && uriOut.Contains(".ism/manifest")) this._isStreaming = true; diff --git a/ZuneShell/ZuneUI/WebUrlCommandHandler.cs b/ZuneShell/ZuneUI/WebUrlCommandHandler.cs index 0f28299..e496095 100644 --- a/ZuneShell/ZuneUI/WebUrlCommandHandler.cs +++ b/ZuneShell/ZuneUI/WebUrlCommandHandler.cs @@ -29,7 +29,7 @@ namespace ZuneUI ePassportPolicy = EPassportPolicyId.MBI_SSL; } } - ZuneApplication.Service.LaunchBrowserForExternalUrl(command, ePassportPolicy); + ZuneApplication.Service2.LaunchBrowserForExternalUrl(command, ePassportPolicy); } } } diff --git a/ZuneShell/ZuneUI/ZuneDotNet.cs b/ZuneShell/ZuneUI/ZuneDotNet.cs index 4da54a3..19c82d8 100644 --- a/ZuneShell/ZuneUI/ZuneDotNet.cs +++ b/ZuneShell/ZuneUI/ZuneDotNet.cs @@ -30,7 +30,7 @@ namespace ZuneUI private static string GetViewUri(string id, string type) { - string endPointUri = Microsoft.Zune.Service.Service2.GetEndPointUri(Microsoft.Zune.Service.EServiceEndpointId.SEID_Lynx); + string endPointUri = Microsoft.Zune.Shell.ZuneApplication.Service2.GetEndPointUri(Microsoft.Zune.Service.EServiceEndpointId.SEID_Lynx); string str = FeatureEnablement.IsFeatureEnabled(Features.eSocial) ? "View" : "ViewUnsupportedMarket"; return "Web\\" + UrlHelper.MakeUrlEx(endPointUri + "/redirect", nameof(type), type, nameof(id), id, "target", "web", "action", str); } diff --git a/ZuneShell/ZuneUI/ZuneShell.cs b/ZuneShell/ZuneUI/ZuneShell.cs index 7db9e89..586310a 100644 --- a/ZuneShell/ZuneUI/ZuneShell.cs +++ b/ZuneShell/ZuneUI/ZuneShell.cs @@ -74,7 +74,7 @@ namespace ZuneUI public ZunePage CurrentPage => (ZunePage)this._pageStack.CurrentPage; public bool CanNavigateBack => this._pageStack.CanNavigateBack; - + public bool NavigationLocked { get => this._navigationLocked; diff --git a/ZuneShell/ZuneXml/Album.cs b/ZuneShell/ZuneXml/Album.cs index 92b0dd7..475ba04 100644 --- a/ZuneShell/ZuneXml/Album.cs +++ b/ZuneShell/ZuneXml/Album.cs @@ -47,7 +47,7 @@ namespace ZuneXml { bool flag = false; if (this.Id != Guid.Empty) - flag = ZuneApplication.Service.InVisibleCollection(this.Id, EContentType.MusicAlbum, out int _); + flag = ZuneApplication.Service2.InVisibleCollection(this.Id, EContentType.MusicAlbum, out int _); return flag; } } @@ -59,7 +59,7 @@ namespace ZuneXml int dbMediaId = -1; if (this.Id != Guid.Empty) { - ZuneApplication.Service.InVisibleCollection(this.Id, EContentType.MusicAlbum, out dbMediaId); + ZuneApplication.Service2.InVisibleCollection(this.Id, EContentType.MusicAlbum, out dbMediaId); if (dbMediaId == -1) dbMediaId = this._dbMediaId; } diff --git a/ZuneShell/ZuneXml/CatalogPrefixSearchQueryHelper.cs b/ZuneShell/ZuneXml/CatalogPrefixSearchQueryHelper.cs index 6c33917..d5fedb1 100644 --- a/ZuneShell/ZuneXml/CatalogPrefixSearchQueryHelper.cs +++ b/ZuneShell/ZuneXml/CatalogPrefixSearchQueryHelper.cs @@ -29,7 +29,7 @@ namespace ZuneXml string property1 = (string)this.Query.GetProperty("Prefix"); if (!Search.Instance.IsValidKeyword(property1)) return null; - string endPointUri = Microsoft.Zune.Service.Service2.GetEndPointUri(this._endPoint); + string endPointUri = Microsoft.Zune.Shell.ZuneApplication.Service2.GetEndPointUri(this._endPoint); StringBuilder stringBuilder = new StringBuilder(128); stringBuilder.Append(endPointUri); stringBuilder.Append("/?prefix="); diff --git a/ZuneShell/ZuneXml/CatalogSearchQueryHelper.cs b/ZuneShell/ZuneXml/CatalogSearchQueryHelper.cs index c9c95d1..dc546bf 100644 --- a/ZuneShell/ZuneXml/CatalogSearchQueryHelper.cs +++ b/ZuneShell/ZuneXml/CatalogSearchQueryHelper.cs @@ -30,7 +30,7 @@ namespace ZuneXml string property2 = (string)this.Query.GetProperty("Keywords"); if (string.IsNullOrEmpty(property1) || string.IsNullOrEmpty(property2)) return null; - string endPointUri = Microsoft.Zune.Service.Service2.GetEndPointUri(this._endPoint); + string endPointUri = ZuneApplication.Service2.GetEndPointUri(this._endPoint); StringBuilder stringBuilder = new StringBuilder(128); stringBuilder.Append(endPointUri); stringBuilder.Append("/"); @@ -50,7 +50,7 @@ namespace ZuneXml stringBuilder.Append(property4); } string timeTravel = ClientConfiguration.Service.TimeTravel; - if (!string.IsNullOrEmpty(timeTravel) && ZuneApplication.Service.IsSignedIn()) + if (!string.IsNullOrEmpty(timeTravel) && ZuneApplication.Service2.IsSignedIn()) { stringBuilder.Append("&instant="); stringBuilder.Append(Uri.EscapeDataString(timeTravel)); diff --git a/ZuneShell/ZuneXml/CatalogServiceQueryHelper.cs b/ZuneShell/ZuneXml/CatalogServiceQueryHelper.cs index 17d02ac..1877cec 100644 --- a/ZuneShell/ZuneXml/CatalogServiceQueryHelper.cs +++ b/ZuneShell/ZuneXml/CatalogServiceQueryHelper.cs @@ -26,7 +26,7 @@ namespace ZuneXml : base(query) { this._endPoint = EServiceEndpointId.SEID_RootCatalog; - if (string.IsNullOrEmpty(ClientConfiguration.Service.TimeTravel) || !ZuneApplication.Service.IsSignedIn()) + if (string.IsNullOrEmpty(ClientConfiguration.Service.TimeTravel) || !ZuneApplication.Service2.IsSignedIn()) return; query.PassportTicketType = EPassportPolicyId.MBI; } @@ -65,7 +65,7 @@ namespace ZuneXml string representation = (string)this.Query.GetProperty("Representation"); if (this.RequireResource && resourceType == null || this.RequireRepresentation && representation == null) return null; - string endPointUri = Service.GetEndPointUri(this._endPoint); + string endPointUri = ZuneApplication.Service2.GetEndPointUri(this._endPoint); requestUri.Append(endPointUri); requestUri.Append("/"); if (!string.IsNullOrEmpty(resourceType)) @@ -116,7 +116,7 @@ namespace ZuneXml if (!string.IsNullOrEmpty(requestSortBy)) AppendParam(requestUri, "orderby", requestSortBy, ref fFirst); string timeTravel = ClientConfiguration.Service.TimeTravel; - if (!string.IsNullOrEmpty(timeTravel) && ZuneApplication.Service.IsSignedIn()) + if (!string.IsNullOrEmpty(timeTravel) && ZuneApplication.Service2.IsSignedIn()) AppendParam(requestUri, "instant", Uri.EscapeDataString(timeTravel), ref fFirst); return requestUri.ToString(); } diff --git a/ZuneShell/ZuneXml/MusicVideo.cs b/ZuneShell/ZuneXml/MusicVideo.cs index 2fbff44..d99017d 100644 --- a/ZuneShell/ZuneXml/MusicVideo.cs +++ b/ZuneShell/ZuneXml/MusicVideo.cs @@ -74,7 +74,7 @@ namespace ZuneXml internal override bool IsDownloading => this.GetIsDownloading(); - internal override bool IsParentallyBlocked => this.Explicit && ZuneApplication.Service.BlockExplicitContent(); + internal override bool IsParentallyBlocked => this.Explicit && ZuneApplication.Service2.BlockExplicitContent(); internal static XmlDataProviderObject ConstructMusicVideoObject( DataProviderQuery owner, diff --git a/ZuneShell/ZuneXml/PodcastSeries.cs b/ZuneShell/ZuneXml/PodcastSeries.cs index d5f6eaa..a37306e 100644 --- a/ZuneShell/ZuneXml/PodcastSeries.cs +++ b/ZuneShell/ZuneXml/PodcastSeries.cs @@ -40,7 +40,7 @@ namespace ZuneXml { int dbMediaId = -1; if (this.Id != Guid.Empty) - ZuneApplication.Service.InVisibleCollection(this.Id, EContentType.PodcastSeries, out dbMediaId); + ZuneApplication.Service2.InVisibleCollection(this.Id, EContentType.PodcastSeries, out dbMediaId); return dbMediaId; } diff --git a/ZuneShell/ZuneXml/Track.cs b/ZuneShell/ZuneXml/Track.cs index 7dd4397..69e2718 100644 --- a/ZuneShell/ZuneXml/Track.cs +++ b/ZuneShell/ZuneXml/Track.cs @@ -27,25 +27,25 @@ namespace ZuneXml if (!flag) flag = this.CanSubscriptionPlay; if (!flag && this.Id != Guid.Empty) - flag = ZuneApplication.Service.InVisibleCollection(this.Id, EContentType.MusicTrack); + flag = ZuneApplication.Service2.InVisibleCollection(this.Id, EContentType.MusicTrack); return flag; } } internal virtual bool CanPreview => this.Rights.HasRights(MediaRightsEnum.Preview, AudioEncodingEnum.WMA); - internal virtual bool CanSubscriptionPlay => this.Rights.HasRights(MediaRightsEnum.SubscriptionStream, AudioEncodingEnum.WMA) && ZuneApplication.Service.IsSignedInWithSubscription(); + internal virtual bool CanSubscriptionPlay => this.Rights.HasRights(MediaRightsEnum.SubscriptionStream, AudioEncodingEnum.WMA) && ZuneApplication.Service2.IsSignedInWithSubscription(); internal virtual bool CanDownload { get { bool flag = false; - if (ZuneApplication.Service.CanDownloadSubscriptionContent()) + if (ZuneApplication.Service2.CanDownloadSubscriptionContent()) { bool fIsDownloadPending = false; bool fIsHidden = false; - if (this.Id != Guid.Empty && (!ZuneApplication.Service.IsDownloading(this.Id, EContentType.MusicTrack, out fIsDownloadPending, out fIsHidden) || fIsHidden) && !ZuneApplication.Service.InVisibleCollection(this.Id, EContentType.MusicTrack)) + if (this.Id != Guid.Empty && (!ZuneApplication.Service2.IsDownloading(this.Id, EContentType.MusicTrack, out fIsDownloadPending, out fIsHidden) || fIsHidden) && !ZuneApplication.Service2.InVisibleCollection(this.Id, EContentType.MusicTrack)) flag = this.Rights.HasRights(MediaRightsEnum.SubscriptionDownload, AudioEncodingEnum.WMA); } return flag && !this.IsParentallyBlocked; @@ -95,7 +95,7 @@ namespace ZuneXml get { Right offer; - return ZuneApplication.Service.GetSubscriptionFreeTrackBalance() > 0 && (this.Rights.HasOfferRights(MediaRightsEnum.SubscriptionFreePurchase, AudioEncodingEnum.WMA, PriceTypeEnum.Points, out offer) || this.Rights.HasOfferRights(MediaRightsEnum.SubscriptionFreePurchase, AudioEncodingEnum.MP3, PriceTypeEnum.Points, out offer)); + return ZuneApplication.Service2.GetSubscriptionFreeTrackBalance() > 0 && (this.Rights.HasOfferRights(MediaRightsEnum.SubscriptionFreePurchase, AudioEncodingEnum.WMA, PriceTypeEnum.Points, out offer) || this.Rights.HasOfferRights(MediaRightsEnum.SubscriptionFreePurchase, AudioEncodingEnum.MP3, PriceTypeEnum.Points, out offer)); } } @@ -179,13 +179,13 @@ namespace ZuneXml } } - internal virtual bool IsParentallyBlocked => this.Explicit && ZuneApplication.Service.BlockExplicitContent(); + internal virtual bool IsParentallyBlocked => this.Explicit && ZuneApplication.Service2.BlockExplicitContent(); protected bool GetInCollection() { bool flag = false; if (this.Id != Guid.Empty) - flag = ZuneApplication.Service.InVisibleCollection(this.Id, EContentType.MusicTrack, out int _); + flag = ZuneApplication.Service2.InVisibleCollection(this.Id, EContentType.MusicTrack, out int _); return flag; } @@ -196,7 +196,7 @@ namespace ZuneXml { bool fIsDownloadPending = false; bool fIsHidden = false; - flag = ZuneApplication.Service.IsDownloading(this.Id, EContentType.MusicTrack, out fIsDownloadPending, out fIsHidden); + flag = ZuneApplication.Service2.IsDownloading(this.Id, EContentType.MusicTrack, out fIsDownloadPending, out fIsHidden); } return flag; } @@ -205,7 +205,7 @@ namespace ZuneXml { int dbMediaId = -1; if (this.Id != Guid.Empty) - ZuneApplication.Service.InVisibleCollection(this.Id, EContentType.MusicTrack, out dbMediaId); + ZuneApplication.Service2.InVisibleCollection(this.Id, EContentType.MusicTrack, out dbMediaId); return dbMediaId; } diff --git a/ZuneShell/ZuneXml/Video.cs b/ZuneShell/ZuneXml/Video.cs index 0bc2450..fc417fa 100644 --- a/ZuneShell/ZuneXml/Video.cs +++ b/ZuneShell/ZuneXml/Video.cs @@ -28,7 +28,7 @@ namespace ZuneXml { int dbMediaId = -1; if (this.Id != Guid.Empty) - ZuneApplication.Service.InVisibleCollection(this.Id, EContentType.Video, out dbMediaId); + ZuneApplication.Service2.InVisibleCollection(this.Id, EContentType.Video, out dbMediaId); return dbMediaId; } @@ -76,7 +76,7 @@ namespace ZuneXml internal bool GetCanPreview() => (this.Rights.HasRights(MediaRightsEnum.Preview, VideoDefinitionEnum.None, PriceTypeEnum.None) || this.Rights.HasRights(MediaRightsEnum.PreviewStream, VideoDefinitionEnum.None, PriceTypeEnum.None)) && !this.IsParentallyBlocked; - internal bool GetCanSubscriptionPlay() => this.Rights.HasRights(MediaRightsEnum.SubscriptionStream, VideoDefinitionEnum.None, PriceTypeEnum.None) && ZuneApplication.Service.IsSignedInWithSubscription() && !this.IsParentallyBlocked; + internal bool GetCanSubscriptionPlay() => this.Rights.HasRights(MediaRightsEnum.SubscriptionStream, VideoDefinitionEnum.None, PriceTypeEnum.None) && ZuneApplication.Service2.IsSignedInWithSubscription() && !this.IsParentallyBlocked; internal bool GetCanPurchase() => this.GetCanPurchaseHD() || this.GetCanPurchaseSD(); @@ -102,7 +102,7 @@ namespace ZuneXml { bool flag = false; if (this.Id != Guid.Empty) - flag = ZuneApplication.Service.InVisibleCollection(this.Id, EContentType.Video); + flag = ZuneApplication.Service2.InVisibleCollection(this.Id, EContentType.Video); return flag; } @@ -110,7 +110,7 @@ namespace ZuneXml { bool flag = false; if (this.Id != Guid.Empty) - flag = ZuneApplication.Service.GetMediaStatus(this.Id, EContentType.Video) == EMediaStatus.StatusInCollectionShortcut; + flag = ZuneApplication.Service2.GetMediaStatus(this.Id, EContentType.Video) == EMediaStatus.StatusInCollectionShortcut; return flag; } @@ -120,7 +120,7 @@ namespace ZuneXml if (this.Id != Guid.Empty) { bool fIsHidden = false; - flag = ZuneApplication.Service.IsDownloading(this.Id, EContentType.Video, out bool _, out fIsHidden); + flag = ZuneApplication.Service2.IsDownloading(this.Id, EContentType.Video, out bool _, out fIsHidden); } return flag; } @@ -140,7 +140,7 @@ namespace ZuneXml default: return false; } - return ZuneApplication.Service.BlockRatedContent(system, rating); + return ZuneApplication.Service2.BlockRatedContent(system, rating); } protected Video(DataProviderQuery owner, object resultTypeCookie) diff --git a/ZuneShell/ZuneXml/WMISServiceDataProviderQuery.cs b/ZuneShell/ZuneXml/WMISServiceDataProviderQuery.cs index 34e7098..17c8774 100644 --- a/ZuneShell/ZuneXml/WMISServiceDataProviderQuery.cs +++ b/ZuneShell/ZuneXml/WMISServiceDataProviderQuery.cs @@ -36,7 +36,7 @@ namespace ZuneXml private void BackgroundInitializeWMISEndpointCollection(object unused) { - HRESULT hresult = ZuneApplication.Service.InitializeWMISEndpointCollection(); + HRESULT hresult = ZuneApplication.Service2.InitializeWMISEndpointCollection(); if (hresult.IsSuccess) { this._endpointsInitialized = true; @@ -87,7 +87,7 @@ namespace ZuneXml Guid.NewGuid(); this.m_strPostBody = string.Empty; } - string wmisEndPointUri = ZuneApplication.Service.GetWMISEndPointUri(strEndPointName); + string wmisEndPointUri = ZuneApplication.Service2.GetWMISEndPointUri(strEndPointName); if (string.IsNullOrEmpty(wmisEndPointUri)) return null; UriBuilder uriBuilder = new UriBuilder(wmisEndPointUri); diff --git a/ZuneShell/ZuneXml/WebRequestHelper.cs b/ZuneShell/ZuneXml/WebRequestHelper.cs index 23058c9..f99aaf1 100644 --- a/ZuneShell/ZuneXml/WebRequestHelper.cs +++ b/ZuneShell/ZuneXml/WebRequestHelper.cs @@ -25,7 +25,7 @@ namespace ZuneXml request.CachePolicy = cachePolicy; if (passportTicketType != EPassportPolicyId.None) { - string passportTicket = ZuneApplication.Service.GetPassportTicket(passportTicketType); + string passportTicket = ZuneApplication.Service2.GetPassportTicket(passportTicketType); if (!string.IsNullOrEmpty(passportTicket)) request.Authorization = "WLID1.0 " + passportTicket; } diff --git a/libs/Meziantou.Framework.Win32.CredentialManager/Credential.cs b/libs/Meziantou.Framework.Win32.CredentialManager/Credential.cs new file mode 100644 index 0000000..9791d06 --- /dev/null +++ b/libs/Meziantou.Framework.Win32.CredentialManager/Credential.cs @@ -0,0 +1,25 @@ +namespace Meziantou.Framework.Win32 +{ + public class Credential + { + public CredentialType CredentialType { get; } + public string ApplicationName { get; } + public string UserName { get; } + public string Password { get; } + public string Comment { get; } + + public Credential(CredentialType credentialType, string applicationName, string userName, string password, string comment) + { + ApplicationName = applicationName; + UserName = userName; + Password = password; + CredentialType = credentialType; + Comment = comment; + } + + public override string ToString() + { + return $"CredentialType: {CredentialType}, ApplicationName: {ApplicationName}, UserName: {UserName}, Password: {Password}, Comment: {Comment}"; + } + } +} \ No newline at end of file diff --git a/libs/Meziantou.Framework.Win32.CredentialManager/CredentialManager.cs b/libs/Meziantou.Framework.Win32.CredentialManager/CredentialManager.cs new file mode 100644 index 0000000..b0684eb --- /dev/null +++ b/libs/Meziantou.Framework.Win32.CredentialManager/CredentialManager.cs @@ -0,0 +1,189 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Runtime.InteropServices; +using System.Text; +using Meziantou.Framework.Win32.Natives; + +namespace Meziantou.Framework.Win32 +{ + public static class CredentialManager + { + public static Credential ReadCredential(string applicationName) + { + var read = Advapi32.CredRead(applicationName, CredentialType.Generic, 0, out var nCredPtr); + if (read) + { + using (var critCred = new CriticalCredentialHandle(nCredPtr)) + { + var cred = critCred.GetCredential(); + return ReadCredential(cred); + } + } + + return null; + } + + private static Credential ReadCredential(CREDENTIAL credential) + { + var applicationName = Marshal.PtrToStringUni(credential.TargetName); + var userName = Marshal.PtrToStringUni(credential.UserName); + string secret = null; + if (credential.CredentialBlob != IntPtr.Zero) + { + secret = Marshal.PtrToStringUni(credential.CredentialBlob, (int)credential.CredentialBlobSize / 2); + } + + string comment = null; + if (credential.Comment != IntPtr.Zero) + { + comment = Marshal.PtrToStringUni(credential.Comment); + } + + return new Credential(credential.Type, applicationName, userName, secret, comment); + } + + public static void WriteCredential(string applicationName, string userName, string secret, CredentialPersistence persistence) + { + WriteCredential(applicationName, userName, secret, null, persistence); + } + + public static void WriteCredential(string applicationName, string userName, string secret, string comment, CredentialPersistence persistence) + { + if (applicationName == null) + throw new ArgumentNullException(nameof(applicationName)); + + if (userName == null) + throw new ArgumentNullException(nameof(userName)); + + if (secret == null) + throw new ArgumentNullException(nameof(secret)); + + // CRED_MAX_CREDENTIAL_BLOB_SIZE + // XP and Vista: 512; + // 7 and above: 5*512 + var secretLength = secret.Length * UnicodeEncoding.CharSize; + if (Environment.OSVersion.Version < new Version(6, 1) /* Windows 7 */) + { + if (secretLength > 512) + throw new ArgumentOutOfRangeException(nameof(secret), "The secret message has exceeded 512 bytes."); + } + else + { + if (secretLength > 2560) + throw new ArgumentOutOfRangeException(nameof(secret), "The secret message has exceeded 2560 bytes."); + } + + if (comment != null) + { + // CRED_MAX_STRING_LENGTH 256 + if (comment.Length > 255) + throw new ArgumentOutOfRangeException(nameof(comment), "The comment message has exceeded 256 characters."); + } + + var commentPtr = IntPtr.Zero; + var targetNamePtr = IntPtr.Zero; + var credentialBlobPtr = IntPtr.Zero; + var userNamePtr = IntPtr.Zero; + try + { + commentPtr = comment != null ? Marshal.StringToCoTaskMemUni(comment) : IntPtr.Zero; + targetNamePtr = Marshal.StringToCoTaskMemUni(applicationName); + credentialBlobPtr = Marshal.StringToCoTaskMemUni(secret); + userNamePtr = Marshal.StringToCoTaskMemUni(userName); + + var credential = new CREDENTIAL + { + AttributeCount = 0, + Attributes = IntPtr.Zero, + Comment = commentPtr, + TargetAlias = IntPtr.Zero, + Type = CredentialType.Generic, + Persist = persistence, + CredentialBlobSize = (uint)secretLength, + TargetName = targetNamePtr, + CredentialBlob = credentialBlobPtr, + UserName = userNamePtr + }; + + var written = Advapi32.CredWrite(ref credential, 0); + var lastError = Marshal.GetLastWin32Error(); + if (!written) + throw new Win32Exception(lastError, $"CredWrite failed with the error code {lastError}."); + } + finally + { + FreeCoTaskMem(commentPtr); + FreeCoTaskMem(targetNamePtr); + FreeCoTaskMem(credentialBlobPtr); + FreeCoTaskMem(userNamePtr); + } + } + + public static void DeleteCredential(string applicationName) + { + if (applicationName == null) + throw new ArgumentNullException(nameof(applicationName)); + + var success = Advapi32.CredDelete(applicationName, CredentialType.Generic, 0); + if (!success) + { + var lastError = Marshal.GetLastWin32Error(); + throw new Win32Exception(lastError); + } + } + + public static +#if NETSTANDARD1_0_OR_GREATER + IReadOnlyList +#else + IList +#endif + EnumerateCrendentials() + { + return EnumerateCrendentials(null); + } + + public static +#if NETSTANDARD1_0_OR_GREATER + IReadOnlyList +#else + IList +#endif + EnumerateCrendentials(string filter) + { + var result = new List(); + var ret = Advapi32.CredEnumerate(filter, 0, out var count, out var pCredentials); + try + { + if (ret) + { + for (var n = 0; n < count; n++) + { + var credential = Marshal.ReadIntPtr(pCredentials, n * MarshalEx.SizeOf()); + result.Add(ReadCredential(MarshalEx.PtrToStructure(credential))); + } + } + else + { + var lastError = Marshal.GetLastWin32Error(); + throw new Win32Exception(lastError); + } + } + finally + { + Advapi32.CredFree(pCredentials); + } + + return result; + } + + private static void FreeCoTaskMem(IntPtr ptr) + { + if (ptr == IntPtr.Zero) + return; + + Marshal.FreeCoTaskMem(ptr); + } + } +} \ No newline at end of file diff --git a/libs/Meziantou.Framework.Win32.CredentialManager/CredentialPersistence.cs b/libs/Meziantou.Framework.Win32.CredentialManager/CredentialPersistence.cs new file mode 100644 index 0000000..13580c7 --- /dev/null +++ b/libs/Meziantou.Framework.Win32.CredentialManager/CredentialPersistence.cs @@ -0,0 +1,9 @@ +namespace Meziantou.Framework.Win32 +{ + public enum CredentialPersistence : uint + { + Session = 1, + LocalMachine, + Enterprise + } +} \ No newline at end of file diff --git a/libs/Meziantou.Framework.Win32.CredentialManager/CredentialType.cs b/libs/Meziantou.Framework.Win32.CredentialManager/CredentialType.cs new file mode 100644 index 0000000..52459e2 --- /dev/null +++ b/libs/Meziantou.Framework.Win32.CredentialManager/CredentialType.cs @@ -0,0 +1,14 @@ +namespace Meziantou.Framework.Win32 +{ + public enum CredentialType + { + Generic = 1, + DomainPassword, + DomainCertificate, + DomainVisiblePassword, + GenericCertificate, + DomainExtended, + Maximum, + MaximumEx = Maximum + 1000, + } +} \ No newline at end of file diff --git a/libs/Meziantou.Framework.Win32.CredentialManager/CriticalCredentialHandle.cs b/libs/Meziantou.Framework.Win32.CredentialManager/CriticalCredentialHandle.cs new file mode 100644 index 0000000..cecb0d0 --- /dev/null +++ b/libs/Meziantou.Framework.Win32.CredentialManager/CriticalCredentialHandle.cs @@ -0,0 +1,34 @@ +using System; +using System.Runtime.InteropServices; +using Meziantou.Framework.Win32.Natives; + +namespace Meziantou.Framework.Win32 +{ + internal sealed class CriticalCredentialHandle : CriticalHandleZeroOrMinusOneIsInvalid + { + public CriticalCredentialHandle(IntPtr preexistingHandle) + { + SetHandle(preexistingHandle); + } + + public CREDENTIAL GetCredential() + { + if (!IsInvalid) + return MarshalEx.PtrToStructure(handle); + + throw new InvalidOperationException("Invalid CriticalHandle!"); + } + + protected override bool ReleaseHandle() + { + if (!IsInvalid) + { + Advapi32.CredFree(handle); + SetHandleAsInvalid(); + return true; + } + + return false; + } + } +} \ No newline at end of file diff --git a/libs/Meziantou.Framework.Win32.CredentialManager/CriticalHandleZeroOrMinusOneIsInvalid.cs b/libs/Meziantou.Framework.Win32.CredentialManager/CriticalHandleZeroOrMinusOneIsInvalid.cs new file mode 100644 index 0000000..e2db967 --- /dev/null +++ b/libs/Meziantou.Framework.Win32.CredentialManager/CriticalHandleZeroOrMinusOneIsInvalid.cs @@ -0,0 +1,17 @@ +using System; +using System.Runtime.InteropServices; + +namespace Meziantou.Framework.Win32 +{ + /// + /// Original code: https://github.com/dotnet/corefx/blob/d0dc5fc099946adc1035b34a8b1f6042eddb0c75/src/Common/src/Microsoft/Win32/SafeHandles/CriticalHandleZeroOrMinusOneIsInvalid.cs + /// + internal abstract class CriticalHandleZeroOrMinusOneIsInvalid : CriticalHandle + { + protected CriticalHandleZeroOrMinusOneIsInvalid() : base(IntPtr.Zero) + { + } + + public override bool IsInvalid => handle == new IntPtr(0) || handle == new IntPtr(-1); + } +} diff --git a/libs/Meziantou.Framework.Win32.CredentialManager/MarshalEx.cs b/libs/Meziantou.Framework.Win32.CredentialManager/MarshalEx.cs new file mode 100644 index 0000000..375ffc2 --- /dev/null +++ b/libs/Meziantou.Framework.Win32.CredentialManager/MarshalEx.cs @@ -0,0 +1,23 @@ +namespace System.Runtime.InteropServices +{ + internal static class MarshalEx + { + public static int SizeOf() + { +#if NETSTANDARD1_0_OR_GREATER + return Marshal.SizeOf(); +#else + return Marshal.SizeOf(typeof(T)); +#endif + } + + public static T PtrToStructure(IntPtr ptr) + { +#if NETSTANDARD1_0_OR_GREATER + return Marshal.PtrToStructure(ptr); +#else + return (T)Marshal.PtrToStructure(ptr, typeof(T)); +#endif + } + } +} diff --git a/libs/Meziantou.Framework.Win32.CredentialManager/Meziantou.Framework.Win32.CredentialManager.csproj b/libs/Meziantou.Framework.Win32.CredentialManager/Meziantou.Framework.Win32.CredentialManager.csproj new file mode 100644 index 0000000..029003d --- /dev/null +++ b/libs/Meziantou.Framework.Win32.CredentialManager/Meziantou.Framework.Win32.CredentialManager.csproj @@ -0,0 +1,15 @@ + + + + netstandard2.0;net35;net40;net461;net6.0 + C# wrapper around CredWrite/CredRead/CredDelete functions to store and retrieve from Windows Credential Store + Meziantou.Framework.Win32 + 1.1.1 + AnyCPU;x64;x86 + + + + $(DefineConstants);NETSTANDARD1_0_OR_GREATER;NETSTANDARD2_0_OR_GREATER + + + diff --git a/libs/Meziantou.Framework.Win32.CredentialManager/Natives/Advapi32.cs b/libs/Meziantou.Framework.Win32.CredentialManager/Natives/Advapi32.cs new file mode 100644 index 0000000..70ec69c --- /dev/null +++ b/libs/Meziantou.Framework.Win32.CredentialManager/Natives/Advapi32.cs @@ -0,0 +1,23 @@ +using System; +using System.Runtime.InteropServices; + +namespace Meziantou.Framework.Win32.Natives +{ + internal static class Advapi32 + { + [DllImport("Advapi32.dll", EntryPoint = "CredReadW", CharSet = CharSet.Unicode, SetLastError = true)] + public static extern bool CredRead(string target, CredentialType type, int reservedFlag, out IntPtr credentialPtr); + + [DllImport("Advapi32.dll", EntryPoint = "CredDeleteW", CharSet = CharSet.Unicode, SetLastError = true)] + public static extern bool CredDelete(string target, CredentialType type, int reservedFlag); + + [DllImport("Advapi32.dll", EntryPoint = "CredWriteW", CharSet = CharSet.Unicode, SetLastError = true)] + public static extern bool CredWrite([In] ref CREDENTIAL userCredential, [In] uint flags); + + [DllImport("advapi32", SetLastError = true, CharSet = CharSet.Unicode)] + public static extern bool CredEnumerate(string filter, int flag, out int count, out IntPtr pCredentials); + + [DllImport("Advapi32.dll", EntryPoint = "CredFree", SetLastError = true)] + public static extern bool CredFree([In] IntPtr cred); + } +} diff --git a/libs/Meziantou.Framework.Win32.CredentialManager/Natives/Credential.cs b/libs/Meziantou.Framework.Win32.CredentialManager/Natives/Credential.cs new file mode 100644 index 0000000..4484eb4 --- /dev/null +++ b/libs/Meziantou.Framework.Win32.CredentialManager/Natives/Credential.cs @@ -0,0 +1,22 @@ +using System; +using System.Runtime.InteropServices; + +namespace Meziantou.Framework.Win32.Natives +{ + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + internal struct CREDENTIAL + { + public uint Flags; + public CredentialType Type; + public IntPtr TargetName; + public IntPtr Comment; + public System.Runtime.InteropServices.ComTypes.FILETIME LastWritten; + public uint CredentialBlobSize; + public IntPtr CredentialBlob; + public CredentialPersistence Persist; + public uint AttributeCount; + public IntPtr Attributes; + public IntPtr TargetAlias; + public IntPtr UserName; + } +} \ No newline at end of file diff --git a/libs/MicrosoftIris b/libs/MicrosoftIris index c1fe122..83d2a71 160000 --- a/libs/MicrosoftIris +++ b/libs/MicrosoftIris @@ -1 +1 @@ -Subproject commit c1fe12288c7630d06ad06f4ec9ce86422bd95705 +Subproject commit 83d2a717c0a7f567563d966bc52c42a8aaf30112