Commit graph

173 commits

Author SHA1 Message Date
Andrew Kelley
fa21bdc3d2 refactor import by youtube url into plugin 2014-05-04 20:28:07 -07:00
Andrew Kelley
cb6077bc87 Merge pull request #237 from seansaleh/master
Chrome waits for 2mb before playing song, leading to long buffering times
2014-04-28 11:23:22 -07:00
seansaleh
7ea657e0d4 instantBufferBytes are now a configurable option 2014-04-28 11:19:54 -07:00
jimmy
9a24b61d81 MPD: Support "any" as a search type in find and search.
Currently I am just searching all the defined tag types. I am not sure if
there should be a specific order they are searched in or whether we should
just be searching string ones.

Now coerces the tag value to a string.
2014-04-27 21:29:54 +12:00
jimmy
6745455a74 MPD: Make "search" a substring match.
This seems to be what mpd does I and am rather used to that behaviour. I am
switching on caseSensitive here which may not be what it is intended for but
for now that only get passed through as false from one place so everything
else should still work fine.
2014-04-27 21:29:54 +12:00
Andrew Kelley
92f0c80e9f close grooveFile instances at the correct time. closes #200 2014-04-23 19:40:30 -07:00
Andrew Kelley
d17157fcc9 fix potential crash when users disconnect from client 2014-04-23 17:06:56 -07:00
Andrew Kelley
3c02511c9e add acoustid app key 2014-04-19 15:41:40 -07:00
Andrew Kelley
b861d4776c fix dynamic mode not sorting songs correctly
Previously when track information was loaded from the DB dates (such as
lastQueueDate) were read as strings since they were simply deserialized
with JSON.parse. Now type information is used to turn date properties
into actual dates so that sorting and date operations can work.
2014-04-18 12:16:28 -07:00
Andrew Kelley
656aab43ab player: add debug statement for nowplaying event 2014-04-15 14:42:26 -07:00
Andrew Kelley
6dbfb820ea server: parse updateTags messages more carefully 2014-04-12 23:58:40 -07:00
Andrew Kelley
7cc928e1e9 refactor db props listings 2014-04-12 23:10:21 -07:00
Andrew Kelley
78cd66d8df server: add updateTags message to update db 2014-04-12 19:26:13 -07:00
Andrew Kelley
259f247290 persist queue on shuffle. closes #190 2014-04-10 09:50:13 -07:00
Andrew Kelley
cc7183ce53 recognize TPA and TCM tags
TPA is an alternate "disc" tag
TCM is an alternate "composer" tag
2014-04-08 11:05:46 -07:00
Andrew Kelley
c6ada32047 importURL: URI decode filename
Fixes _20 etc showing up in filenames.
2014-03-30 18:48:36 -07:00
Andrew Kelley
3325a248ee send update to client when replaygain scan completes 2014-03-30 18:40:24 -07:00
Andrew Kelley
f91849db47 update to latest express/connect 2014-03-28 14:56:00 -07:00
Andrew Kelley
9fa3ebac52 fix not watching music root folder 2014-03-28 13:34:45 -07:00
Andrew Kelley
6a959e6d12 import by URL supports YouTube. closes #49
There will be a constant arms race with this node module keeping up
with YouTube. Currently YouTube is ahead but soon the ytdl module will
catch up.

This means the feature will not always be reliable, but this is the best
support we can get for it.
2014-03-28 13:04:44 -07:00
Andrew Kelley
5c8f45b6e9 improve import by URL feature. closes #171
* Drop dependency on temp module
 * Download files to music-folder/.tmp/ before moving them.
 * Don't watch folders that start with a '.'
 * Don't allow generated paths to start with a '.'

Fixes import file race condition.

Prevents needless file copy operation when importing in situations where
the music directory is in a different device than /tmp.
2014-03-26 17:17:07 -07:00
Andrew Kelley
4e560b93e8 don't end directory names with ".". closes #177 2014-03-26 16:21:33 -07:00
Andrew Kelley
c230081b3c fix crash - writing to closed web socket. closes #176 2014-03-26 16:14:02 -07:00
Andrew Kelley
0d6e6cb203 streaming: increase instant buffer size by 20KB 2014-03-26 13:42:46 -07:00
Andrew Kelley
ab1b828f4d update duration info in db when replaygain scan finishes 2014-03-26 08:59:21 -07:00
Andrew Kelley
42f66c817f Revert "ability to disable streaming in config"
This reverts commit baf5ebeb4e.

Instead of this, we're going to detach the encoder when nobody is
connected and re-attach it when somebody connects.
2014-03-24 17:38:42 -07:00
Andrew Kelley
11068623b5 fix upload for multiple files
also when auto queuing, sort by position in library
2014-03-24 17:12:54 -07:00
Andrew Kelley
3be4ad9cb6 upload improvements. closes #45
* ditch qq file uploader in favor of native xhr2
 * implement client-side optional auto-queuing
2014-03-24 15:49:51 -07:00
Andrew Kelley
515845e3f9 also recognize "TCMP" ID3 tag as compilation album flag 2014-03-16 21:52:29 -07:00
Andrew Kelley
44609d7ca3 default import path includes artist 2014-03-16 21:22:37 -07:00
Andrew Kelley
0115580727 fix race condition when removing tracks from playlist
closes #160
2014-03-16 16:02:53 -07:00
Josh Wolfe
ce9f89aa3f moving mpd client listener pattern out of eventemitter and into an array. closes #154. 2014-03-15 18:15:46 -07:00
Andrew Kelley
b5cc67ab7e fix deletion detection not recursive. closes #159 2014-03-15 17:36:58 -07:00
Andrew Kelley
90e2bf10d5 upload: fix not sending response.end()
moves #45 out of milestone 1.0.0
2014-03-15 15:42:04 -07:00
Josh Wolfe
565aed7915 don't expect album gain consistency when the album is undefined. closes #155. 2014-03-15 15:38:23 -07:00
Josh Wolfe
ece81343c6 deleting library items removes them from the queue as well. closes #117 2014-03-15 13:28:42 -07:00
Andrew Kelley
a2816003be fix disc and discCount undefined. actually fixes #66 2014-03-12 19:50:25 -07:00
Andrew Kelley
9ccec6485a MPD protocol: implement rescan command 2014-03-12 12:48:01 -07:00
Andrew Kelley
baf5ebeb4e ability to disable streaming in config 2014-03-07 03:10:56 -05:00
Andrew Kelley
2756f4c06f fix crash: call socket.destroy() not socket.close() on error 2014-03-05 00:37:05 -05:00
Andrew Kelley
87f4657484 MPD protocol: fix upgrading protocol ignoring part of the buffer
closes #146

Also fixed a crash when setting consume on/off
2014-03-05 00:33:34 -05:00
Andrew Kelley
9c24952e3f player: fix race condition on initialization. closes #153 2014-03-04 23:58:37 -05:00
Andrew Kelley
72cf1783b7 player: set "don't cache this" headers on stream 2014-03-04 17:19:22 -05:00
Andrew Kelley
71521d90f6 library scanning: always use a trailing slash for readdir 2014-03-04 14:26:01 -05:00
Andrew Kelley
f748199894 extract gzip static middleware to a separate module 2014-03-04 05:46:02 -05:00
Andrew Kelley
c736632282 gzip static assets: store only gzipped assets 2014-03-04 05:03:40 -05:00
Andrew Kelley
9768c840b9 static assets are gzipped and held permanently in memory 2014-03-04 04:58:20 -05:00
Andrew Kelley
223afa1ed0 fix playlist items not being deleted from db during dynamic mode
Might also have fixed a memory leak. Looks like we weren't closing files
when dynamic mode deleted songs from the queue.
2014-03-04 03:36:39 -05:00
Andrew Kelley
3525d6a4e0 MPD protcol: remove unimplemented commands. closes #112 2014-03-04 02:58:05 -05:00
Andrew Kelley
59d0f8cd62 MPD protocol: implement swap and swapid commands 2014-03-04 02:50:26 -05:00