Skip to content

UWP application for Windows 10 that uses Microsoft Fluent Design System

License

Notifications You must be signed in to change notification settings

kundanhere/SoftdocMusic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Softdoc Music Player

GitHub release (latest by date including pre-releases) GitHub GitHub repo size

This project was originally started as a closed-source and everything was done in-house. Later I decided to move the project on to a new vision: a free and open-source modding platform.

preview


Contents

Introduction

SoftdocMusic is an end-to-end sample built to learn and implement the Microsoft Fluent Design System as well as other capabilities of the Universal Windows Platform. It has features such as fullscreen view, background media playback, system transport controls, theme support etc.

"Suggestion are more than welcome, not only for feature requests but also for coding style improvements."

Features

At a high level this sample demonstrates usage of:

  • Fluent design system (Acrylic material, Reveal highlight, Connected animations etc)
  • XAML controls and features (NavigationView, context menu with icons and SVG assets, LiveTiles, ThemeSelectorService, conditional XAML etc)
  • Media playback including System Media Transport Controls and fullscreen views
  • Background task, and SQLite database
  • Windows composition APIs (ExpressionNode, Coordinated and Implicit animations)
  • System files accessibility
  • Notifications
  • Dynamic colors using ColorThief

Compatibility:

Operating System Architecture Supported Version
Windows 10 x86, x64, ARM, ARM64 Yes 1809 or higher
Windows 8.1 x86, x64 No
Windows 8 x86, x64 No
Windows 7 x86, x64 No

Code at a glance

The table below shows the platform features used in the application and where abouts to find them in the sample.

Design

Inspired by Microsoft Groove Music

Frameworks

Framework Usage Code file
SQLite in UWP Primary mechanism for persistence DataAccess.cs
.NET Standard 2.0 Provides System.Tuple N/A

App features

App feature Description Code file
Acrylic material Acrylic material usage
Acrylic material image
Colors.xaml
Adaptive state triggers UI optimizations for assorted screen sizes
Adaptive layout image
ShellView.xaml
Media file access permissions File access permissions usage
File access permissions image
ChooseFolderDialogViewModel.cs
Connected animations Connected page animation usage
Connected animation image
AlbumsView.xaml.cs
Coordinated animations Used in connected transitions between pages DetailedAlbumsView.xaml.cs
Context menus with icons Context menus with icons
Context menus image
ShellView.xaml
Data Sorting Sort music
Data sorting image
SortingHelper.cs
ColorThief Base controls changes colors dynamically
Dynamic colors image
MediaViewModel.cs
Composition expression language Input-driven animation usage
Inpur-driven animation image
DetailedAlbumsView.xaml.cs
Implicit animations More info on DetailedAlbums fade out when window starts scrolling DetailedAlbumsView.xaml.cs
Full screen mode Full screen mode for app
Full screen mode image
ShellView.xaml.cs
Interaction tracker Timeline tracker
Interaction tracker image
ShellView.xaml.cs
NavigationView NavigationView usage
NavigationView image
Shell.xaml
Reveal highlight Reveal highlight usage
Reveal highlight image
CustomXamlControls.xaml
Media Transport Controls System Media Transport Controls
System controls image
MediaViewModel.cs
Template studio Settings model
Settings image
SettingsView.xaml
Template studio Theming model
Theme supported image
ThemeSelectorService.cs
Template studio User login model
User Login image
SettingsViewModel.cs

System requirements

  • Windows 10

How to use SoftdocMusic

Prepare your environment

This sample requires Visual Studio and the Windows 10 Software Development Kit (SDK) version 1809, Windows 10 OS - October 2018 Update.

Additionally, to receive the latest updates to Windows and the development tools, and to help shape their development, join the Windows Insider Program.

Build the sample

  1. If you download the sample, be sure to unzip the entire archive, not just the folder you want to build.
  2. Start Microsoft Visual Studio and select File > Open > Project/Solution.
  3. Starting in the folder where you unzipped the sample, go to the src subfolder. Double-click the Visual Studio Solution (.sln) file.
  4. Press Ctrl+Shift+B, or select Build > Build Solution.

Run the sample

After opening the Visual Studio solution, set your startup project as SoftdocMusicPlayer, the architecture to x64 or x86. The next steps depend on whether you just want to deploy the sample or you want to both deploy and run it.

  1. Deploying the sample

    • Select Build > Deploy Solution.
  2. Deploying and running the sample

    • To debug the sample and then run it, press F5 or select Debug > Start Debugging.
    • To run the sample without debugging, press Ctrl+F5 or select Debug > Start Without Debugging.

Resources

Reporting issues

If you've identified an issue, first search through the list of existing issues on the repo. If you are unable to find a similar issue, then create a new one. Supply as much information you can to reproduce the problematic behavior. Also, include any additional insights like the behavior you expect.

Known Issues

  • A number of warnings have not been addressed
  • Things that didn't make it from the design:
    • Artists detailed page
    • Search bar
    • Your groove and Explore section: this will come in a future update to the app

Contributing

Thank you for your interest in contributing to SoftdocMusic! Before you begin writing code, it is important that you share your intention, based on the type of contribution:

  1. You want to propose a new feature and implement it.
    • Post about your intended feature in an issue, and we shall discuss the design and implementation. Once we agree that the plan looks good, go ahead and implement it.
  2. You want to implement a feature or bug-fix for an outstanding issue.
    • Search for your issue in the issue list.
    • Pick an issue and comment that you'd like to work on the feature or bug-fix.
    • If you need more context on a particular issue, please ask and I will provide.

Once you implement and test your feature or bug-fix, please submit a Pull Request to https://github.com/kundanhere/SoftdocMusic.

If you have any feedback or questions, please open an Issue on GitHub. Contact at [email protected] with any additional questions or comments.

License

This program/project is and its use is subject to the MIT License

About

UWP application for Windows 10 that uses Microsoft Fluent Design System

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages