Commit graph

883 commits

Author SHA1 Message Date
Josh Wolfe
c59a4befae after deleting tracks, select the next one, not some random one. closes #157. 2014-03-15 14:45:18 -07:00
Josh Wolfe
56358da460 don't tolerate missing semicolons 2014-03-15 14:26:54 -07:00
Josh Wolfe
2b4225e156 fix shift click going up in the queue. closes #156. 2014-03-15 14:06:14 -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
929260899c client: ask for library first 2014-03-15 15:28:54 -04: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
d811c2e7f6 client-side code cleanup 2014-03-12 11:47:53 -07:00
Andrew Kelley
e0a6b97fff update outdated dependencies 2014-03-11 22:00:33 -07:00
Andrew Kelley
0358e5270f update music-library-index to latest. closes #66 2014-03-11 21:11:55 -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
543a735848 update README 2014-03-04 15:44:04 -05:00
Andrew Kelley
1d3bc7c3db simplify build process 2014-03-04 15:20:06 -05:00
Andrew Kelley
70e445c80d watching dev files for changes is no longer supported
You must manually kill the server and restart it when you change
assets or server code.
2014-03-04 15:00:40 -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
0852ab8cff upgrade jquery and jquery ui to latest stable. closes #74
* jquery 1.8.2 -> 2.1.0
 * jquery ui 1.8.24 -> 1.10.4
2014-03-04 03:48:40 -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
Andrew Kelley
99c92a9203 MPD protocol: implement password and notcommands commands 2014-03-04 02:36:58 -05:00
Andrew Kelley
ea77be50b5 persist playlist on server restart. closes #98 2014-03-04 02:27:31 -05:00
Andrew Kelley
6068a19f3e remove commented out code 2014-03-03 20:51:15 -05:00
Andrew Kelley
a345f24f93 fix crash during upload 2014-03-03 20:40:29 -05:00
Andrew Kelley
5c8e0fcf9e websocket default port to 80 not 443 2014-03-03 17:35:33 -05:00
Andrew Kelley
bc6ecfb65d default password: multiple of 3 for base64 to avoid ending in '=' 2014-03-03 14:17:50 -05:00
Andrew Kelley
725f10ef97 streaming: 8KB more instant buffering 2014-03-03 12:58:22 -05:00
Andrew Kelley
c5bb5b2e66 web ui: fix current track not displayed sometimes 2014-03-03 12:43:21 -05:00
Andrew Kelley
09f64ecb5c api server: listen for better player events to detect db update 2014-03-03 05:41:54 -05:00
Andrew Kelley
f2712ddaad re-write interface between client and server
* Use raw web sockets instead of socket.io. closes #114
 * promote most plugin code to be actually integrated with
   groovebasin, except last.fm
 * ability to upgrade from mpd protocol to groovebasin protocol
 * serialize/deserialize lastQueueDate and update it for all types of queuing.
   Fixes DynamicMode losing randomness data on server restart.
 * repeat state is saved between restarts
 * fixed a race condition in player.importFile
 * a smaller subset of db file properties are sent to the server, reducing
   library payload size
 * diffs are sent to client for playlist and library. closes #142
 * information is no longer requested in the groovebasin API; it is only
   subscribed to. closes #115
 * all commands go through the permissions framework. see #37
 * chat is deleted for now. closes #17
 * update to latest superagent and leveldb
 * fix stream activating and deactivating when seeking and not streaming
2014-03-03 05:25:50 -05:00
Andrew Kelley
a0c6d8c36d streaming improvements
* server sends data as fast as it can when under the buffer limit
 * client responds to 'seek' events by reconnecting to the stream
2014-02-28 15:27:29 -05:00
Andrew Kelley
5102ef205c MPD protocol: remove unsupported commands 2014-02-28 12:08:27 -05:00
Andrew Kelley
7696b9791f MPD protocol: implement outputs and plchangesposid commands 2014-02-28 12:08:27 -05:00
Andrew Kelley
0ca3c286f2 detect file deletions on startup. closes #116 2014-02-28 12:08:12 -05:00
Andrew Kelley
fbc6386960 fix stupid default password 2014-02-27 18:19:26 -05:00
Andrew Kelley
35354ac81e MPD protocol improvements
* correct permissions for some commands
 * implement search and searchadd commands
 * remove commands that groove basin does not support
 * fix idle not checking read permission
 * fix noidle returning OK twice
2014-02-27 17:53:33 -05:00
Andrew Kelley
406eae55aa MPD protocol: emit Last-Modified-Date for directories where appropriate 2014-02-27 16:38:25 -05:00
Andrew Kelley
667fd0c76f MPD protocol: update command supports uri argument 2014-02-27 11:45:50 -05:00
Andrew Kelley
9be515c764 MPD protocol: listallinfo takes a uri parameter 2014-02-27 10:38:54 -05:00
Andrew Kelley
e937b798e4 MPD protocol: make it more robust
* play command: no args or -1 does "unpause"
 * random command: noop instead of error
 * single command: fix the logic to accept the argument
 * optional ranges allow -1 to mean no argument
2014-02-26 22:29:44 -05:00
Andrew Kelley
c018b6cb3a MPD protocol: implement listall command 2014-02-26 18:52:06 -05:00
Andrew Kelley
b1755a4fd9 MPD protocol: implement findadd command 2014-02-26 18:01:33 -05:00
Andrew Kelley
3a953c22e4 MPD protocol: implement count command 2014-02-26 17:49:09 -05:00
Andrew Kelley
d004ca79e5 MPD protocol: implement find command 2014-02-26 17:16:50 -05:00