Code Monkey home page Code Monkey logo

softdocmusic's Introduction

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

softdocmusic's People

Contributors

kundanhere avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

softdocmusic's Issues

Share the assembled program

Good afternoon. Your application looks awesome, but unfortunately I don't know how to build programs from source. Could you please share a ready to install file?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.