archived-web-music-manager's People
archived-web-music-manager's Issues
Improve /yt-data format and make a corresponding UI to organize videos in collections
The default /yt-data
should be stored on the server. /yt-data
should contain a JSON object like this:
{
"collections": [
{ "name": "collection1", "id": 1 },
{ "name": "collection2", "id": 2, "children": [
{ "name": "subcollection", "id": 3 },
{ "name": "subcollection", "id": 4 },
...
] }
],
"videos": [
{ "id": "2HMJhIxG47o", "service": "YouTube", "collections": [2] },
{ "id": "rwelE8yyY0U", "service": "YouTube", "collections": [3, 4] },
...
]
}
Notes:
- Collection ID 0 means the root collection.
- When the user is entering a video that already exists in the data:
- offer a notification to the user that the video already exists and specify its path/folder;
- implement a feature for searching for duplicates and easily moving/deleting them.
- Later we should rename
/yt-data
so it will not refer to a specific online media service like YouTube, because we will be supporting other services too, like the JSON above suggests through theservice
property.
For the UI of the tree of collections we can use FancyTree or a simple <ul>
with some buttons and maybe some CSS.
If you have any suggestions related the things written above, please leave a comment.
Use a package.json file (for npm dependencies etc.)
Currently, the user must manually install npm dependencies before using the program and this is inconvenient.
After creating a package.json file, we must also update the README.md file, and I am talking about the Usage section of the README.md file.
Import/export YouTube/... music collection
Import/export YouTube/Trilulilu/etc. music collection, maybe as a JSON file.
Can we replace tabs with spaces?
It's really difficult to edit in VIM such files containing tabs instead of spaces.
I'd do:
:%s/\t/\ \ \ \ /g
We should choose a license for the project
FancyTree does not display well inside the flex-box layout
I do not think there is a jQuery tree plugin that supports the flex-box layout currently, but I might be wrong.
Maybe we could use the classic layout, not the flex-box layout although the flex-box layout is more easy to maintain in my opinion.
The server does not run because it needs `sudo` permissions
Running npm start
or node app.js
in the project directory results in the following output:
Listening on port 80.
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EACCES
at errnoException (net.js:904:11)
at Server._listen2 (net.js:1023:19)
at listen (net.js:1064:10)
at Server.listen (net.js:1138:5)
at Object.<anonymous> (/home/silviu/git/web-music-manager/app.js:90:35)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
Running the same commands through sudo
results in a working server.
<audio> element waits the browser to finish downloading the audio file before showing the total duration of the melody
Maybe setting headers like this would fix the bug?
'Content-Type': 'audio/mpeg',
'Content-Length': stat.size
Probably relevant links:
http://stackoverflow.com/questions/3955103/streaming-audio-from-a-node-js-server-to-html5-audio-tag/3980508#3980508
Another solution would be to use a flash based audio player.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.