Code Monkey home page Code Monkey logo

stretto's People

Contributors

benkaiser avatar dependabot[bot] avatar

Stargazers

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

Watchers

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

stretto's Issues

not properly working in windows

bugs found:

  • When scanning it loops infinitely through all the files
  • images and MP3's paths are resolved to "C:\C:"

I may have missed some things

Cannot easily access detailed info when song title is long

When a song title is short, I can click the [+] button next to it to access detailed info. E.g.

image

But when the title is long enough to get shortened on hover, I can no longer click the [+] button. My cursor goes into the I text-selection mode. To access the detailed info in these cases, I have to play the song and then hit the [+] in the footer where it shows the currently playing song.

Installation according to readme fails on armv6 (node-gyp)

I followed the instructions on this site. But when doing npm install:

[email protected] install /root/node-music-player/node_modules/express.io/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
(node-gyp rebuild 2> builderror.log) || (exit 0)

this is on
Linux stereo 3.12.28+ #709 PREEMPT Mon Sep 8 15:28:00 BST 2014 armv6l GNU/Linux
with node version 0.12.0 and npm 2.5.1.

I'm completely new to NPM so I'm not sure if this is an issue with the code or the setup or what. So, I'm assuming that some module is not properly installed. Starting the app does open a webpage at the address, but the page is corupted some how (there are two clkicable links that do nothing called "node music player" and "music"

Issues with Electron

So I decided to try and play around with Electron and nodejs.
I created this branch to try and experiment.

I cloned that branch and then followed the typical setup (ie, npm install then grunt).

However, I get a bunch of errors like the following:
screen shot 2015-10-08 at 8 40 13 pm

Are these caused by Electron not loading the files properly, or is node-music-player loading files in a way that isn't supported?

I notice that none of the files in /static/libs seem to be explicitly loaded. Could this be the issue?

ID3

Hi, Really cool player but for a proper use i would add this following functions:

Edit tagID3, the best solution would be to use things like shazam. You send a stream he returns id3 tag but i have no idea how to do it :p
Else, just open a window to edit tag manually and save it.

Another thing: try to add music file to database even if they don't have ID3 tags. The title would be the name of the file rest would be unknown. (and editable with ID3).
That's what i added to do this: (file library_functions.js)

parser.on('done', function (err) {
if (meta == false)
{
var ext = item.split(".");
ext = ext[ext.length - 1];
if (ext == "mp3")
{
var song = {
title: item.substr(item.lastIndexOf("/") + 1, item.length),
album: "Album inconnu",
artist: "Artiste inconnu",
albumartist: "Album inconnuArtiste inconnu",
display_artist: "",
genre: "Inconnu",
year: "",
duration: "",
location: item
};
if(doc == null){
// insert the song
app.db.songs.insert(song, function (err, newDoc){
taglib_fetch(item, newDoc._id);
// update the browser the song has been added
broadcast("update", {
count: song_list.length,
completed: cnt,
details: "Added: " + newDoc["title"] + " - " + newDoc["albumartist"]
});
});
} else if (hard_rescan){
app.db.songs.update({location: item}, song, {}, function(err, numRplaced){
taglib_fetch(item, doc._id);
broadcast("update", {
count: song_list.length,
completed: cnt,
details: "Updated: " + song["title"] + " - " + song["artist"]
});
})
}
}
}

Really cool program though, if i didn't see yours i would have to code one :)

Number of connected clients

Hi,

Would it be possible to list the IP addresses from which the clients are connected? Would like to host this app on the intranet and would like to limit number of clients to "X" users at one time.

[email protected] deprecated

Hi just installing the project and got a warning from NPM regarding the deprecated MD5 module with instructions that [email protected] should be used. Not sure if this a major issue but figured it was worth an issue report. :)

Smartphone

It's me again !

The view of the app is not suited yet for android, the screen is too small and the left panel tae almost all the place + impossible to read a music

Installation failed at Taglib

Hi there,
I am unable to install the node-music-player on my system (Mac OS X Yosemite). Whenever I run npm install I get the following.

$ npm install

> [email protected] install /Users/amandogra/Work/playground/node-music-player/node_modules/taglib
> node-gyp rebuild

/bin/sh: taglib-config: command not found
gyp: Call to 'taglib-config --cflags' returned exit status 127. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:343:16)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:810:12)
gyp ERR! System Darwin 14.0.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/amandogra/Work/playground/node-music-player/node_modules/taglib
gyp ERR! node -v v0.10.32
gyp ERR! node-gyp -v v1.0.1
gyp ERR! not ok 

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the taglib package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls taglib
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 14.0.0
npm ERR! command "node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Users/amandogra/Work/playground/node-music-player
npm ERR! node -v v0.10.32
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0

Please help.

Regards,
Aman Dogra
[email protected]

got error

node app.js

root@obrt:~/test/mp# node app.js
connect.multipart() will be removed in connect 3.0
visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives
connect.limit() will be removed in connect 3.0

/root/test/mp/node_modules/taglib/node_modules/bindings/bindings.js:79
        throw e
              ^
Error: /root/test/mp/node_modules/taglib/build/Release/taglib.node: undefined symbol: _ZN6TagLib8IOStreamD2Ev
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at bindings (/root/test/mp/node_modules/taglib/node_modules/bindings/bindings.js:74:15)
    at Object.<anonymous> (/root/test/mp/node_modules/taglib/index.js:1:99)
    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 Module.require (module.js:364:17)
    at require (module.js:380:17)

index.js:108 TypeError when scanning for music

stephen@Stephen-Laptop:~/node-music-player$ node app.js
connect.multipart() will be removed in connect 3.0
visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives
connect.limit() will be removed in connect 3.0
Express server listening on port 2000
0 tracks deleted
/home/stephen/node-music-player/node_modules/musicmetadata/lib/index.js:108
    callback(exception, metadata)
    ^
TypeError: undefined is not a function
    at done (/home/stephen/node-music-player/node_modules/musicmetadata/lib/index.js:108:5)
    at /home/stephen/node-music-player/node_modules/musicmetadata/lib/id3v2.js:174:16
    at emitData (/home/stephen/node-music-player/node_modules/musicmetadata/node_modules/strtok2/lib/strtok.js:351:20)
    at Stream.dataListener (/home/stephen/node-music-player/node_modules/musicmetadata/node_modules/strtok2/lib/strtok.js:414:11)
    at Stream.emit (events.js:107:17)
    at Stream.<anonymous> (/home/stephen/node-music-player/node_modules/musicmetadata/lib/index.js:69:13)
    at Stream.g (events.js:199:16)
    at Stream.emit (events.js:107:17)
    at drain (/home/stephen/node-music-player/node_modules/musicmetadata/node_modules/through/index.js:36:16)
    at Stream.stream.queue.stream.push (/home/stephen/node-music-player/node_modules/musicmetadata/node_modules/through/index.js:45:5)
stephen@Stephen-Laptop:~/node-music-player

I'm not sure if I did something wrong during the install (Ubuntu Gnome 14.10 and Windows 8.1), but I'm getting this error when I do a regular scan on my library folder. It will add one song and then the application throws an error and stops. The song that does get added plays without issue, except that the art doesn't seem to get added.

Change url

How we can share a music to others by url?

Trying to install on Ubuntu

[email protected] install /home/user/Projects/node-music-player/node_modules/express.io/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
(node-gyp rebuild 2> builderror.log) || (exit 0)

make: Entering directory /home/user/Projects/node-music-player/node_modules/express.io/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/build' CXX(target) Release/obj.target/bufferutil/src/bufferutil.o SOLINK_MODULE(target) Release/obj.target/bufferutil.node SOLINK_MODULE(target) Release/obj.target/bufferutil.node: Finished COPY Release/bufferutil.node CXX(target) Release/obj.target/validation/src/validation.o SOLINK_MODULE(target) Release/obj.target/validation.node SOLINK_MODULE(target) Release/obj.target/validation.node: Finished COPY Release/validation.node make: Leaving directory/home/user/Projects/node-music-player/node_modules/express.io/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/build'

Trying to install on OSX

I have node 10.26 installed.

getting this log:

dhcp-10-14-116-179:node-music-player bbonner$ npm install
npm http GET https://registry.npmjs.org/taglib
npm http 304 https://registry.npmjs.org/taglib
npm http GET https://registry.npmjs.org/bindings/1.0.0
npm http 304 https://registry.npmjs.org/bindings/1.0.0

[email protected] install /Users/bbonner/temp/node-music-player/node_modules/taglib
node-gyp rebuild

gyp http GET http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz
gyp http 200 http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz
/bin/sh: taglib-config: command not found
gyp: Call to 'taglib-config --cflags' returned exit status 127.
gyp ERR! configure error
gyp ERR! stack Error: gyp failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:337:16)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Darwin 12.5.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/bbonner/temp/node-music-player/node_modules/taglib
gyp ERR! node -v v0.10.26
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the taglib package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls taglib
npm ERR! There is likely additional logging output above.

npm ERR! System Darwin 12.5.0
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Users/bbonner/temp/node-music-player
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/bbonner/temp/node-music-player/npm-debug.log
npm ERR! not ok code 0

I included it on the post in G+, but realized this is probably a better spot.

youtube playlist download fails

neat project!
one thing:
click on "fetch new music" -> youtube
enter playlist url. It gets the first song and then dies:

Express server listening on port 2000
https://www.youtube.com/watch?v=4wgrzp1DCs4&list=PLdvAo5zrwY6iqn2DWdRobnbsW_FV9MMwp
Started converting Youtube movie to mp3
finished!
node-music-player/library_functions.js:654
              finalCallback();
TypeError: finalCallback is not a function
    at  node-music-player/library_functions.js:654:15
    at callback (node-music-player/node_modules/nedb/lib/executor.js:30:17)
    at node-music-player/node_modules/nedb/lib/datastore.js:299:12
    at node-music-player/node_modules/nedb/lib/persistence.js:197:12
    at FSReqWrap.oncomplete (fs.js:82:15)

any ideas?

Live Audio Streaming

Can this project give me facility to play audio tracks on a port and listeners from all over the world can listen same music from there. And also the server must be play 24/7.

dynamic scrolling not working 100%

The dynamic scrolling has a bug where when you get close to the bottom of a songview (seen best with 2 * numberDrawn songs) it freezes on the same view while it adds in more to the bottom (making the window taller than it should be.

Delete file

Hi,

First, thanks for this great project, I just downloaded it and it works great on my system :)

It would be nice to allow deleting file, i forked the project but I can't see where I can do that, any advise ?

It need to access the filesystem and delete it by file path, eg:

fs.unlink("C:/music/file.mp3");

Not all songs are rendered on mobile

On mobile (in my case, on a Nexus 4 and 10), not all songs are rendered.

Here's an example where only 32 songs are drawn. The rest of the page is blank.
image

The number 32 is calculated by this line

this.how_many_drawn = Math.ceil(window.innerHeight / this.individual_height) * 2;

and that value is then assigned to max in the renderSong function.

Edit: A temporary fix I'm using is this.how_many_drawn = player.songs.length;

Removing settings button or toggling it off.

Hello,

I am thinking of using the player but since it will be accessed by several friends I wouldn't like for it to be possible to change the music directory. So it would be nice if the settings button could be hidden.

Cheers

remove git requirement by npm i'ing tar

To install a github repo with npm it's easier to do

npm i https://github.com/benkaiser/node-music-player/archive/master.tar.gz

So you don't need git installed. and it just takes 1 command :)

Feature request: Allow an option to control the host player

I want to use this as a music bot for voip through discord, so instead of serving the music to the person's computer, could it be adjusted so the music would be played through the server it is hosted on? Like the webpage with controls and such is still served to clients, but it controls the host server? I'm a total noob to node, so I don't know how much of a change or effort this would be.

Server died when syncing libraries

Crash report:

/home/benkaiser/HD/GIT/node-music-player/library_functions.js:596
  if(url.indexOf("://") == -1){
        ^
TypeError: Cannot read property 'indexOf' of undefined
    at Object.exports.sync_import (/home/benkaiser/HD/GIT/node-music-player/library_functions.js:596:9)
    at syncPlaylists (/home/benkaiser/HD/GIT/node-music-player/routes/index.js:461:12)
    at Socket.<anonymous> (/home/benkaiser/HD/GIT/node-music-player/node_modules/express.io/compiled/index.js:250:16)
    at Socket.emit [as $emit] (events.js:107:17)
    at SocketNamespace.handlePacket (/home/benkaiser/HD/GIT/node-music-player/node_modules/express.io/node_modules/socket.io/lib/namespace.js:335:22)
    at Manager.onClientMessage (/home/benkaiser/HD/GIT/node-music-player/node_modules/express.io/node_modules/socket.io/lib/manager.js:518:38)
    at WebSocket.Transport.onMessage (/home/benkaiser/HD/GIT/node-music-player/node_modules/express.io/node_modules/socket.io/lib/transport.js:369:20)
    at Parser.<anonymous> (/home/benkaiser/HD/GIT/node-music-player/node_modules/express.io/node_modules/socket.io/lib/transports/websocket/hybi-16.js:39:10)
    at Parser.emit (events.js:107:17)
    at finish (/home/benkaiser/HD/GIT/node-music-player/node_modules/express.io/node_modules/socket.io/lib/transports/websocket/hybi-16.js:295:16)

Not able to play music (linux/gnome 3/pulseaudio).

I have one laptop that runs Gnome 3.14 desktop. Neither one of the two browsers installed (firefox, epiphany) can play the music from node-musicplayer, not on a local install, but also not even on the demo. The browsers do, however, play music from youtube or javascript radio apps on the webpages of radiostations. When this happens an audio appears in pulseaudio that can be amplified and directed to many various sinks. However, on Node-musicplayer nothing appears. I am not sure that this is a problem with node, or with the laptop. But given that 1) this is a fairly recent install with no or minimal tweaking and 2) other web-based audio things work might have something to do with how node offers the audio to the browser?

Minor feature - queue viewing

I would like to work on this feature, displaying the queue list on a side panel. Any advices?

I think I need to work on the player.queue_pool array. Displaying its content and sorting it on 'add_to_queue' updates.

Install error -npm taglib

Hi, I would like so much to try this app, but I'm getting too much problems.
I tried first with taglib 1.9.1, but I get same error than here : nikhilm/node-taglib#50

Then I tried with taglib 1.8 and it seems better but now, this error appears :

npm start

> [email protected] start /home/gg/node-music-player
> node app.js


/home/gg/node-music-player/node_modules/taglib/node_modules/bindings/bindings.js:79
        throw e
              ^
Error: /home/gg/node-music-player/node_modules/taglib/build/Release/taglib.node: undefined                                    symbol: _ZN6TagLib8IOStreamD2Ev
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at bindings (/home/gg/node-music-player/node_modules/taglib/node_modules/bindings/bindi                                   ngs.js:74:15)
    at Object.<anonymous> (/home/gg/node-music-player/node_modules/taglib/index.js:1:99)
    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 Module.require (module.js:364:17)
    at require (module.js:380:17)

npm ERR! [email protected] start: `node app.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is most likely a problem with the node-music-player package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node app.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls node-music-player
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.2.0-4-686-pae
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "start"
npm ERR! cwd /home/gg/node-music-player
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/gg/node-music-player/npm-debug.log
npm ERR! not ok code 0
node -v
v0.10.33
uname -a
Linux nu-server 3.2.0-4-686-pae #1 SMP Debian 3.2.60-1+deb7u3 i686 GNU/Linux

Any ideas?

Allow on-the-fly transcoding via ffmpeg

An option to allow transcoding via ffmpeg would greatly increase usability in remote streaming situations.

FLAC files could be transcoded to e.g. medium/lowish-bitrate ${favourite-lossy-codec} and stream on mobiles without insane bandwidth usage. Although many in the west have unlimited plans, this would be particularly useful in India and other parts of the world where connectivity is comparatively poor.

Subsonic does this on the fly as it uses stdout instead of temporary files with only minimal delay. A similar implementation would make this a fantastic Subsonic killer -- for music at least.

Thanks.

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.