Groove Basin is a music player server written in Node.js that ships with a 
web-based client.

Screenshot 
<http://superjoe.s3.amazonaws.com/blog-files/raspberry-pi-music-player-server/groovebasin-screenshot.png>
 
| Live Demo Version <http://demo.groovebasin.com/> | GitHub Page 
<https://github.com/andrewrk/groovebasin>

Relevant articles:

My Quest To Build the Ultimate Music Player 
<http://andrewkelley.me/post/quest-build-ultimate-music-player.html>
Turn Your Raspberry Pi into a Music Player Server 
<http://andrewkelley.me/post/raspberry-pi-music-player-server.html>

I have reproduced the 1.1.0 release notes 
<https://github.com/andrewrk/groovebasin/blob/master/CHANGELOG.md#version-110-2014-06-20>
 
below:


   - 
   
   Andrew Kelley:
   - Serve static assets gzipped from memory and use etags. Client loads 
      faster.
      - Fix upload for multiple files.
      - Uploading has a progress bar and queues things in the correct order.
      - Client: UI renders faster. No longer depends on handlebars HTML 
      templating.
      - Client: Status update no longer interfere with user input in 
      settings pane.
      - Client: Fix incorrectly displaying songs as random
      - Client: Use textContent instead of innerText. Fixes incompatibility 
      with some browsers.
      - Client: Fix incorrect expand icon shown sometimes.
      - Update duration info in DB when loudness scan finishes.
      - Default streaming buffer size tuned carefully to work well with 
      browsers.
      - Fix crash - writing to closed web socket.
      - Prevent imported track filenames from ending directory names with 
      '.'.
      - Import by URL: Fix race condition.
      - Import by URL: Prevent needless file copy operation when importing 
      in situations where the music directory is in a different device than 
/tmp.
      - Import by URL: Support importing from YouTube.
      - Import by URL: URI decode filename
      - Fix not watching music root folder
      - Client: Fix filenames with percent (%) having invalid download URL.
      - Client: Fix displaying incorrect track number when track number is 
      unknown
      - Client: Fix library items not always expanding consistently
      - Recognize TPA and TCM tags.
      - Fix queue failing to persist on shuffle.
      - Ability to edit tags. Note these edits are currently only saved to 
      the DB and not written to the music files.
      - Client: Fix selection behaving erradically for albums in a list.
      - Client: Keyboard shortcuts window scrollable with arrows.
      - Client: Fix UI issues with buttons
      - Client: Default selected queue item is the current track.
      - Client: Fix repeat one and repeat all behavior swapped.
      - Fix Dynamic Mode not weighting last queue date properly when 
      selecting random songs.
      - Fix potential crash when users disconnect from client.
      - Fix segfault when deleting tracks.
      - Save CPU cycles by only encoding audio when streamers are connected.
      - Ability to toggle server-side audio playback.
      - Loudness adjustment: Avoid soft limiting when possible based on 
      looking at the true peak of the song.
      - Add check for correct version of libgroove on startup. This 
      prevents users from accidentally using an outdated version and getting 
bugs.
      - Ability to start even if MPD protocol port cannot be bound.
      - Preserve volume over application restarts.
      - Improved streaming playback reliability.
      - Fix downloading zip for artist and album.
      - Deleting currently playing track goes to next song.
      - Client: Fix stream button not always in correct state.
      - Add header so that downloading always results in download.
      - Start at last play position on server restart.
      - Various improvements to how tracks are filed in the library browser.
      - When playlist changes, reprioritize scanning queue.
      - Scanning progress is reported to the client.
      - HTTP commands go through permissions framework.
      - Fix sometimes player stops and does not go to next track 
      automatically.
      - Ignore folders in music directory beginning with a dot.
      - Client: Fix freezing and stuttering when many library or playlist 
      updates happen quickly.
      - Client: Preserve library selection state on library update.
   - 
   
   Josh Wolfe:
   - Client: Fix client side crash when 2 clients delete the same queue 
      item.
      - Client: Fix cursor selection not showing up.
      - Client: Ctrl+Space to toggle selection under the cursor.
      - Client: Queue now uses Ctrl to move the cursor without selecting, 
      and Alt to bump selected tracks up or down.
      - Client: Ctrl+Arrows and Ctrl+Space in library now work like in the 
      queue.
      - Client: Shift+Arrows in queue now works as expected.
      - Client: Fix Shift Up/Down behavior in library.
      - Seeking no longer automatically starts playing.
      - Client: Hide the password in the UI.
      - Client: Library deletions are anticipated.
   - 
   
   Caleb Morris:
   - Add filter delay to wait for user to finish typing before beginning 
      search.
   - 
   
   jeffrom:
   - Fix disabled menu item focus jumping.
   - 
   
   jimmy:
   - MPD: Make "search" a substring match.
      - MPD: Support "any" as a search type in find and search.
   - 
   
   jprjr:
   - Fix hardware playback fallback behavior.
   - 
   
   seansaleh:
   - encodeQueueDuration is now a configurable option.
   - 
   
   Ronak Buch:
   - Client style: Add margin to URL upload bar.
   - 
   
   Jeff Epler:
   - README: Mention nodejs-legacy Debian package.
   

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
To post to this group, send email to nodejs@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/51bc8da5-a4ad-4d8a-91ff-d44bd79187a8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to