martpie / museeks Goto Github PK
View Code? Open in Web Editor NEW๐ต A simple, clean and cross-platform music player
Home Page: https://museeks.io
License: MIT License
๐ต A simple, clean and cross-platform music player
Home Page: https://museeks.io
License: MIT License
When a first version will be released, dev tools should not be shown, we could do a toggle or something, to show the dev tools.when needed.
That's important. Many friends told me it would be great.
It shouldn't be done right now as some major changes are on the road.
Currently, the track search feature is called with an onchange event on the search input. With 100 tracks it's ok, but when you have 3000 of them, the search being synchronous take a huge amount of time and resources.
Search should be async. Something like:
or
just ideas.
It implicates a new view, and contextmenus changes and a kinda heavy work to create reusable component.
TracksList
to be usable elsewhereDeleting a folder from the library is not correctly done
Hey man, I'm interested, what language are you going to use ? :)
What kind of player will it be, do you have any source of inspiration ?
๐
and all that stuff. Use SCSS just for nesting is ridiculous.
We're having problem wiith big libraries, TracksList render time is getting longer and longer, >3000 tracks make the render update noticeable with the eye.
We should implement what Atom has done with the editor view: render tracks in group (tiles), and only show the tiles needed when scrolling.
onScroll
on .tracks-list-body
instead of onWheel
chunkArray
to Store to improve performance even more ?helpers:
http://blog.atom.io/2015/06/24/rendering-improvements.html
http://blog.atom.io/2014/07/02/moving-atom-to-react.html
It may happen, e.g. using git-annex, that in the music directory are symlinks that point in or out of the music library. It would be nice to be able to ignore symlinks pointing inside|outside the music library. Another option would be to be able to ignore certain directories (the .git in the case of git-annex).
Migrating to es6, mixins could not be used, and shortcuts were ripped out.
Chrome can read them, but I'm not sure that musicmetadata can parse them.
edit: Uncaught Error: Could not find metadata header
including Babel and scss compilation. (Use Babel only for the jsx compilation, do not rewrite everything in es6, not for the moment)
In < Playlist / >, create a drag&drop management system to rearrange tracks.
Just an idea. (e.g. now, the primary color is blue)
Ideally, at each release, 3 apps should be built:
Here are some tools:
https://github.com/maxogden/electron-packager
https://www.npmjs.com/package/electron-builder
And a related issue on Electron electron/electron#673
Here are how the build "should" be. All of this can be done in a script, preferably in JavaScript rather than in bash or something.
ignore
parameter worksNow we're close from a first pre-release, It's now time do discuss about distribution through a website.
As the app is getting bigger, the app has to be rewritten with Flux in mind. Otherwise the code will be unreadable. es6 is a good option too.
After that we should be able to launch a first beta or someting.
We can't click on overflows to scroll down the page cause it's too thin. Keep a cool design but be able to scroll clicking on the overflow.
Someting is getting wrong when we rollback a shuffle. There are duplicates, and other wrong stuff.
There is a problem to investigate, but the track nยฐ are incorrect.
Only occurs when using ReactCSSTransitionGroup to animate notifications
After triggering some notifications, I get this warning for an unknown reason. When caught, a notification does not disappear.
There must be a problem in alert.js
, they react keys seem correct.
Warning: transition(): tried to perform an animation without an animationend or transitionend event after timeout (5000ms). You should either disable this transition in JS or add a CSS animation/transition.
It is said here it's supposed to work, but it doesn't https://www.chromium.org/audio-video
edit/tl;dr: 21/11/2016: Flac codecs shipped with Chromium 56 (January 31st, 2017), Electron may follow a few weeks later
nothing to say more.
Currently, when a song is over, the src
of the audio tag is changed, but the tag has to preload the file a bit. So there is a micro interruption of a few miliseconds.
Instead of having a single Audio object, need to have an array of 3: not working :[[previous, current, next]
. Then when playing next or previous, it should be faster, cause tracks will already be loaded + Pop/Shift audio when needed.
The longer is the library list, the more performances are poor, just by selecting a track for exemple. (With like, 5000 tracks).
See what we can do.
https://facebook.github.io/react/docs/advanced-performance.html
Tracks with a #
or something.
App icon is missing.
That's so stupid I didn't even think about that.
or another name more explicit, cause playlist will be another thing.
Hey there, great job you doing on this. I really like it.
I was looking into the CSS codebase and wanted to ask what you link about using SASS (+ components) ?
As from now you are using the Bootstrap 3 grid, how about using a pre existing or an own build flexbox based grid ?
If we can improve as much as possible the app consistency, that'd be great.
Add tabs to settings view, otherwise we'll get a mess
The app should remember some things when reopening.
notice: localStorage
does not work in main.js
This project looks great. If you have a chance, do you mind adding installation instructions?
As the features are almost all there, and the code is getting terrible to read, we have to refactor the whole stuff.
gulp
to webpack
routie.js
to react-router
nconf
to localStorage
Other interesting stuff to considered/discussed:
The branch used for that is full-refactoring
.
probably more to come, it's gonna be a heavy work.
Library stop refresh signal is sent while entering in "the last folder" instead of "the last track of the last folder"
without destroying design, that'd be great.
<input type={'range'} min={'0'} max={'100'} onChange={ this.setVolume } />
is ok.
But I'd like the volume at 100 at start. But when setting the value parameter:
<input type={'range'} min={'0'} max={'100'} value={'100'} onChange={ this.setVolume } />
, then, even if the change event is triggered while changing volume, the selector stay at the same place.
I think it is related to Electron and not React, but I'm not sure.
Currently, it is an array of integers. It should be an array of track IDs.
localStorage is not accessible in the main process, and it's a problem for some features, for example for remmembering the window position. Take a look at Level https://www.npmjs.com/package/level
level
?)A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.