Skip to content

cmsc388T-winter22/Moosync

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

944 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moosync

All Contributors

Moosync is an Electron based simple music player with a primary goal to provide a clean and easy interface. Through Moosync you can easily listen songs from your desktop or through Youtube and Spotify.

Table of contents

Features

  • Play audio files on your desktop.
  • Seamlessly integrate your Spotify and Youtube playlists.
  • Add Spotify and Youtube tracks and playlists by URLs.
  • Play songs directly from youtube using youtube embed
  • Scrobble your tracks on LastFM.
  • Get music recommendations directly from Spotify, Youtube and LastFM
  • Mix and match songs from different providers in a single playlist
  • Easy to use interface
  • Customizable theme engine
  • Develop own apps on top of Moosync Extension API
  • Available on Windows and Linux

Download latest release

The latest release can be found under Releases section

Enabling Spotify integration

Due to restrictions from Spotify, a public api key could not be integrated into the app. Due to this, each user will be required to generate an API key for themselves

Creating an app on Spotify developer portal

Head over to the Spotify developer dashboard and create a new application

After creating a new app, click on the newly created app and you will be taken to a new page listing your Client ID and Client Secret. Note these down as they will be used later.

Click on Edit Settings button on top-right and add the following URLs into Redirect URI field:

These URLs are required to allow fetching a token from the Spotify OAuth2 code.

If you feel moosync.app is suspicious, don't worry you can check out its code here

Now you can head over to Moosync app and click on Settings. Under Settings > System you will find text fields for Spotify Client ID and Spotify Client Secret.

Paste the string you copied earlier into these fields. Now you should be able to log in to your Spotify account.

You can add your alternate accounts under Users and Access and use the same Client ID and Client Secret for multiple users.

Extensions

Functionnality of Moosync can be extended through Third party extensions. Extensions usually are archives with an extension of .msox. To install an extension, simply head over to Settings > Extensions > Install Extension. Here are some known extensions.

Discord Integration

Building from source

Requirements

Setting up the project

Clone the project from github

git clone https://github.com/Moosync/moosync-app

Downloading dependencies

Use yarn or npm to install dependencies inside the project root

yarn install

Setting up environment variables

  • Add appropriate values inside sample.config.env
  • Rename sample.config.env to config.env

Post installation

Native dependencies need to be compiled for electron separately.

Incase this does not work, you can run

yarn native

To compile native dependencies.

Running in development environment

To serve the app, run

yarn electron:serve

Building a production build

Before generating a production build, take a look at vue.config.js and change the builder options as required.

To generate a production optimized version run

yarn electron:build

Developing extensions

It is recommended to write your extensions using Typescript.

Typescript is Javascript but with strict typechecking which helps in preventing some (but not all) runtime errors.

Types for Extension API can be found here

A sample extension can be found here

More details about extension lifecycle can be found in the sample template

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Ohm

🎨

Anirudh

🎨

Sahil Gupte

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

About

A simple music player capable of playing local audio or from Youtube or Spotify

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Vue 53.5%
  • TypeScript 44.5%
  • JavaScript 0.9%
  • Sass 0.9%
  • Shell 0.1%
  • HTML 0.1%