v0.3.5 2015-02-16 * reset-database command * set length of a track in the database and expose via Ampache * fix album count in Ampache API * expose Album cover via (inofficial) Ampache API * ownCloud 8 compatibility * user interaction needed to start background scan and reload the music view v0.3.4 2014-09-04 Thanks to Volkan Geezer (@wakeup) and Yu-De (@pellaeon) * switch to aurora.js for JavaScript decoding of music files (ability to support more codecs) - currently just mp3 and flac - thanks to @pellaeon * make batch rescan incremental * make userFolder optional - get rid of wrong type of parameter error logs * add check for natural numbers above 0 for track number * add --debug switch to music:scan command to list memory usage of each step * fix for not working apps/music/#/file/ID routes * fix broken expand track list for albums * use WebDAV for file access as it provides a better stability and functionality # Internal * drop unsupported calls to ownCloud private APIs * use dependency injection for scan command ## Known issues * mp3 seeking isn't working v0.3.3 2014-08-12 Thanks to Dan Mac (@danmac-uk) * Fix undefined index COUNT(*) * add a name to the COUNT(*) statement * should work with MySQL, PostgreSQL, MSSQL, Oracle, SQLite * Fix Ampache URL confusion * remove of '/server/xml.server.php' * add note v0.3.2 2014-08-12 * RESTful playlist API (thanks @wakeup - Volkan Gezer) * Updated libraries (AngularJS 1.2.21, angular-gettext 1.0.0, drop jQuery) * refactor cleanup method (reduce injected dependencies) * move clean up task to separate helper class * drop stable5 fixes as they are unused * verified support for ownCloud 6 * prepare use of sidebar and mobile responsive sidebar * migrate to ownCloud 7 core CSS * add ID to ampache session - fixes issues with the DB mapper (#213) * make user folder injectable into rescan method v0.3.0 2014-08-06 # General * disable share hook, because it delayed the sharing action a lot * add index for cover_file_id in albums * playstate is now represented in the URL * change scan count from 50 to 20 - should fix #172, fix #212 * remove album cover search on remove of album cover (should speedup deletions) # ownCloud 7 related * adjusted design to ownCloud 7 (loading spinner, no shadow on icon) * fixes to get it work with ownCloud 7 (especially public shares and Ampache API) * fixes several typos and minor issues # Internal * migration from separate AppFramework to core provided AppFramework * JavaScript 3rdparty library management is now handled by bower * getID3 is update to v1.9.8, which fixes a memory leak - see #212 * change handling of routes in a proper way as preparation for playlist functionality - GSoC project by @wakeup * improved documentation of PHP classes * licence header cleanup (shrinked) * respect the user ID on update (scanner) ## Known issues * listen to shared files doesn't work - this is a issue of the ownCloud core and will hopefully be fixed in 7.0.2 and 6.0.5 - owncloud/core#10173 v0.2 2014-04-30 * handle shared files properly (also fixes mounted storage) * albums with same name but different artists or years are now different albums by @leizh * cover and track download moved to music app from files app * stop scan loop if processed count is greater than total count * close the session to enable parallel requests to be processed * add notification for skipped tracks * the music in the database is now restricted to the user specified path * update Sounmanager to V2.97a.20131201 * fix mobile styles by @jbtbnl and @wakeup * fix left alignment issues of artist name and tracks on mobile * remove unused code Known bugs: * seeking in Chromium doesn't work v0.1.9.1-rc 2014-03-26 * navigation bar on left is now thinned out for small screen sizes #185 * fix empty music app #184 * fix broken play for public shared music files #186 * fix rendering issues in IE10+ #188 * fix broken album request in Ampache API #189 v0.1.9-rc 2014-03-25 * allow public share music playback #124 * start/stop implementation, filelist is playlist, no repeat * mobile styles for phone & tablet * search provider for artist, album & track * command to rescan the music files from ownCloud console.php * Thanks to @leizh * music:scan * all users or a specific user * improved performance on loading of artists (a lot less SQL statements) * seek in progressbar * redirect from music file in files app to music app (autoplay) on click * album art priority (cover, albumart, front, folder, others) * step by step scanning (50 on each step) * display of scanning progress * Chrome now uses HTML5 audio instead of flash fallback * Ampache API (unstable) * security * user can generate passwords to use with the Ampache API * ability to revoke those passwords * new DB tables: * ampache_sessions - session tokens * ampache_users - generated passwords * Ampache API (ADD and UPDATE parameters are unsupported yet): * handshake * ping * artists * artist_albums * album_songs * albums * artist_songs (also supports offset & limit) * songs * song * search_song * delivery of music file with ampache token * middleware to authenticate user with ampache token * fix cover detection - double to single quotes - fixes #134 * fix integrity constraint violation for shared files - fix #127 * shorten index names for oracle (max 30 chars) * fix SQL statements * fix error while fileUpdated hook handling - fix #154 * Unknown artists, albums & titles now localizable * allow and use NULL instead of fixed artist or album name * add localized string to represent these albums and artists * migration: convert existing 'owncloud unnknown ...' placeholders to NULL Internal * new URL generation inside the Javascript * DB Mapper & Entities: * Album added attributes: trackCount, artist (both not filled by default) * Album added methods: getNameString (returns an translated string for unknown artists) * AlbumMapper added methods: count, countByArtist, findAllByName * Artist added attributes: trackCount, albumCount (both not filled by default) * Artist added methods: getNameString (returns an translated string for unknown artists) * ArtistMapper added methods: count, findAllByName * Track added attributes: fileSize * TrackMapper: count methods now return actual count and not an array with 'COUNT(*)' * TrackMapper added methods: count, findAllByName, findAllByNameRecursive * add limit ScanStatus SQL * Tests: * add L10nStub to properly mock the L10n class of ownCloud core * push test coverage to 100% * Build: * add Makefile command to do PHP unit tests and create the test coverage * exclude external PHP files from test coverage * Core API: * add call to register components to personal settings page * fix typos * merged l10n extraction to upstream - removed patchfiles * minimalized travis-ci footprint * CSRF token used for restangular queries * AngularJS 1.2.14 * Underscore 1.6.0 v0.1.7-beta 2013-12-21 Merry Christmas release * increase polling interval for whileplaying - fixes #131 * fix play icon bug in IE - SVGs are replaced by PNGs in IE - fixes #126 * FileAction for music files * add api call to resolve track by fileid * AngularJS route 'file/:id' * PlayerController.playFile(id) * load fileactions script on every page to register FileAction * added input validation for year - fixes some crashes of the scanner * fix OC5 issues with MDB2 and Oracle DB * fix database restrictions for oracle (#120, #119) * fix l10n-compile for non-latin languages - remove jslint warning * fix [[ to {{ transition in translations * removes second scrollbar * fix angular scope issues and css issues Internal * fix CSS style - remove comma * RestAngular 1.2.1 * fix some global variables * fix l10n issues * whitespace fix in SQL statement * fix some leftovers of the OCA\AppFramework -> OCA\Music\AppFramework change * $.placeholder() was renamed to $.imageplaceholder() in master * Play indicator beside the track in the album view * move MainController to top, so every children can use it's variables * make alphabet navigation more dynamic * add l10n for PHP Known bugs: * doesn't play mp3/ogg in IE8 v0.1.6-alpha 2013-10-05 * L10n support * OGG metadata extraction - just works for local files - not for external ones refs #73 * proper deletion of database cache * metadata extraction fix - disable 2GB filesize check in getID3 * use Flash fallback in Chrome - drawback: just MP3 playback - there is a notification if this is the case * fix album art/placeholder race condition * no more appframework dependency * Flash unblock element * alphabet navigation resizes with window height * hide alphabet navigation if there is no music * proper IE8 PNGs * fulltree for artists only return tracks of the artist - #99 * scanner uses the shortest artist name if multiple artists are detected * scrollbar fix - was overlaped by player bar #102 Known bugs: * in IE 9 and 10 the play icons haven't the correct width/height (fixed in v0.1.7-beta) v0.1.5-alpha 2013-09-24 * use images in album folders as album art * first uploaded image to a folder is used as album art * addition and deletion of covers is detected * alphabet navigation bar to the left * highlight available letters (of the artists) * use flash 8 for fallback player * fix ogg playback * play the clicked song of an album and not the first song of the album - fixes #83 * limit metadatascan to audio files * Adds clean up background job * find covers for albums without cover * remove tracks without files, albums without tracks and artists without albums and tracks * AngularJS 1.0.8 * Various fixes and improvements - especially PostgreSQL * various fixes, also for PostgreSQL * cast number to int * use correct sql statement for checking for albums * unit test for case when album is null * move casting to appframework entity * remove blank lines Known bugs: * does not scroll perfect * non-dynamic creating of the navigation bar v0.1.4-alpha 2013-09-05 * show track number in track list * fix icon glitches in Firefox * show playing status icon (fixes #82) * previous button (fixes #72) * shuffle/repeat button (fixes #77) * correct sorting order for playlist * show loading state * sort albums by year * visualize loading state * make scanner more robust and fix PHP errors * disable execution time for rescan * realign playerbar content and adding whitespace (ref #80) Known bugs: * clicking a song the first song of the album is played instead of the actual clicked song v0.1.3-alpha 2013-09-04 * cliched icons (fixes #70) * database is cleaned after update to this version * first fixes for undetected metadata (extracts track number and title from filename) * fix album without year issue (albums were duplicated) * sort tracks by tracknumber and show them if available v0.1.2-alpha 2013-09-02 stable5 fixes * loading of getid3 * CSS v0.1.1-alpha 2013-08-29 Fixes, clean-ups and logging from JS to the backend * log API (for javascript logging to backend) * fix empty artists (backend) * album view fixed * log errors in frontend to backend * fix playback for artist * remove minify directive * reset played songs and current song for playlist v0.1-alpha 2013-08-29 First release of the new music app * useable with OC5+ * shiva API * metadata extraction for artist, album and track * single page frontend * multimedia playback in all browsers trough HTML5 and flash fallback * testing of the backend code Known bugs: * shuffle, repeat and previous button are out of functionality * non-high-resolution icons in IE8 * no Ampache support * slow for large music collections * tracks without artist or album are not listed in the frontend (but already in the database)