Git Product home page Git Product logo

entropy's Introduction

entropy

A highly opinionated electron music player

features

  • Dynamic playlists with code
  • Global keyboard shortcuts
  • Chromecast audio support
  • Able to handle streamed music (youtube, soundcloud, etc.)
  • Configs all through JSON
  • 'Up next' playlist
  • Menu and shortcuts configured from JSON file
  • Use CSS grids for layout, electron/electron#4565
  • remember layout and music selection between sessions

streamed music

  • Stored as a separate JSON
  • Store the entries exactly like what is generated from library generation
  • Easily download and add to library
  • Maintain the metadata: playcount, any classifications

tags & metadata

  • in the config, have a list of tags (with associated colors). use mood
    • intense
    • no vocals
    • calm
    • concentration
    • upbeat
  • Able to edit the metadata directly
  • Tags fields we need
    • Date added to Entropy
    • Unique ID to entropy? (probably not needed)
    • Playcount?
    • mood
    • last played

playlists

Intersting playlsit idea

  • Each playlist is it's own js file
  • Have a few static playlists (All, Up next)
  • Expose some utils, duration, last_played, etc.
module.exports = {
	name : 'test playlist',
	songs : {
		"47314f0a-46f5-4e07-b094-567cfba906bb" : "Shawn Wasabi - Spicy Boyfriend",
		"199cc472-ecfa-45ca-85fd-b0033c13cc9b" : "The Neighbourhood - Daddy Issues"

	},

	code : (songs)=>{
		return _.chain(songs)
			.filter((song)=>song.duration < 5 * MINUTES)
			.sortBy((song)=>song.dateAdded)
			.take(25)
			.value()
	}
}
  • static Playlists: All, Stream, Up next, search

Actions

  • change play mode: shuffle, single repeat.
  • play/pause
  • next/previous
  • add to up_next
  • rescan library
  • recalculate playlists
  • Open playlist from edit
  • open settings for edit
  • init
  • set active playlist
  • create playlsit
  • delete song (?)
  • modify mood

extra screens

  • Search
  • Song editor
  • History of events?
  • chromecast
  • playlist view

settings

{
	"library" : ["C:/Dropbox/root/Programming/Javascript/entropy/test_lib"],

	"shortcuts" : {
		"global": {
			"CommandOrControl+X" : "play",
			"CommandOrControl+Y" : "pause",
			"CommandOrControl+Z" : "next"
		},
		"local" : {
			"CommandOrControl+R" : "rescan",
			"CommandOrControl+L" : "mode:repeat"
		}
	},

	"moods" : {
		"intense" : "#e74c3c",
		"no_vocals": "#bdc3c7",
		"calm" : "#1abc9c",
		"concentration" : "#8e44ad"
		"upbeat" : "##f1c40f"
	}
}

search

  • basic search using title and artist
  • using colons will add property access, eg. mood:calm, title:fancy

desings

http://media02.hongkiat.com/music-app-mobile-designs/2-music-app-designs-for-mobile.jpg http://media02.hongkiat.com/music-app-mobile-designs/14-music-app-designs-for-mobile.jpg

entropy's People

Contributors

stolksdorf avatar

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.