Giter Club home page Giter Club logo

music's Introduction

README

Scrutinizer Code Quality

logotype

Overview

Music player and server for ownCloud and Nextcloud. Shows audio files stored in your cloud categorized by artists and albums. Supports mp3, and depending on the browser, many other audio formats too. Supports shuffle play and playlists. The Music app also allows serving audio files from your cloud to external applications which are compatible either with Ampache or Subsonic.

The full-screen albums view: library view

Music player embedded into the files view: files view

Integration with the media control panel in Chrome: Chrome media control panel

Mobile layout and media control integration to the lock screen and notification center with Chrome on Android: Mobile layout Android lock screen Android notification center

Supported formats

  • MP3 (audio/mpeg)
  • FLAC (audio/flac)
  • Vorbis in OGG container (audio/ogg)
  • Opus in OGG container (audio/ogg or audio/opus)
  • WAV (audio/wav)
  • AAC in M4A container (audio/mp4)
  • ALAC in M4A container (audio/mp4)
  • M4B (audio/m4b)
  • AAC (audio/aac)
  • AIFF (audio/aiff)
  • AU (audio/basic)
  • CAF (audio/x-caf)

Note: The audio formats supported vary depending on the browser. Most recents versions of Chrome, Firefox and Edge should be able to play all the formats listed above. All browsers should be able to play at least the MP3 files.

Detail

The modern web browsers ship with a wide variety of built-in audio codecs which can be used directly via the standard HTML5 audio API. Still, there is no browser which could natively play all the formats listed above. For those formats not supported natively, the Music app utilizes the Aurora.js javascript library which is able to play most of the formats listed above, excluding only the OGG containers. On the other hand, Aurora.js may not be able to play all the individual files of the supported formats and is very limited in features (no seeking, no adjusting of playback speed).

Note: In order to be playable in the Music app, the file type has to be mapped to a MIME type audio/* on your cloud instance. Neither ownCloud nor Nextcloud has these mappings by default for the file types AAC, AIFF, AU, or CAF. To add these mappings, run:

./occ music:register-mime-types

Usage hints

Normally, the Music app detects any new audio files in the filesystem on application start and scans metadata from those to its database tables when the user clicks the prompt. The Music app also detects file removals and modifications on the background and makes the required database changes automatically.

If the database would somehow get corrupted, the user can force it to be rebuilt from scratch by opening the Settings (at the bottom of the left pane) and clicking the option "Reset music collection".

Commands

If preferred, it is also possible to use the command line tool for the database maintenance as described below. This may be quicker than scanning via the web UI in case of large music library, and optionally allows targeting more than one user at once.

Following commands are available(see script occ in your ownCloud root folder):

Scan music files

Scan all audio files not already indexed in the database. Extract metadata from those and insert it to the database. Target either specified user(s) or user group(s) or all users.

./occ music:scan USERNAME1 USERNAME2 ...
./occ music:scan --group=USERGROUP1 --group==USERGROUP2 ...
./occ music:scan --all

All the above commands can be combined with the --debug switch, which enables debug output and shows the memory usage of each scan step.

You can also supply the option --rescan to scan also the files which are already part of the collection. This might be necessary, if some file update has been missed by the app because of some bug or because the admin has temporarily disabled the app.

Lastly, you can give option --clean-obsolete to make the process check all the previously scanned files, and clean up those which are no longer found. Again, this is usually handled automatically, but manually running the command could be necessary on some special cases.

Reset scanned metadata

Reset all data stored to the music database. Target either specified user(s) or user group(s) or all users.

Warning: This command will erase user-created data! It will remove all playlists as playlists are linked against the track metadata.

./occ music:reset-database USERNAME1 USERNAME2 ...
./occ music:reset-database --group=USERGROUP1 --group==USERGROUP2 ...
./occ music:reset-database --all

Reset cache

Music app caches some results for performance reasons. Normally, there should be no reason to reset this cache manually, but it might be desiredable e.g. when running performance tests. Target either specified user(s) or user group(s) or all users.

./occ music:reset-cache USERNAME1 USERNAME2 ...
./occ music:reset-cache --group=USERGROUP1 --group==USERGROUP2 ...
./occ music:reset-cache --all

Ampache and Subsonic

The URL you need to connect with an Ampache-compatible player is listed in the settings and looks like this:

https://cloud.domain.org/index.php/apps/music/ampache

This is the common path. Most clients append the last part (/server/xml.server.php) automatically. If you have connection problems, try the longer version of the URL with the /server/xml.server.php appended.

Similarly, the URL used to connect with a Subsonic-compatible player is listed in the settings and looks like this:

https://cloud.domain.org/index.php/apps/music/subsonic

Authentication

Ampache and Subsonic don't use your ownCloud password for authentication. Instead, you need to use a specifically generated APIKEY with them. The APIKEY is generated through the Music app settings accessible from the link at the bottom of the left pane within the app. The generated APIKEY is shown upon creation but it is impossible to retrieve it at later time. If you forget or misplace the key, you can always delete it and generate a new one.

When you create the APIKEY, the application shows also the username you should use on your Ampache/Subsonic client. Typically, this is your ownCloud login name but it may also be an UUID in case you have set up LDAP authentication.

Installation

The Music app can be installed using the App Management available on the web UI of ownCloud or Nextcloud for the admin user.

After installation, you may want to select a specific sub-folder containing your music files through the settings of the application. This can be useful to prevent unwanted audio files to be included in the music library.

Known issues

Huge music collections

The application's scalability for large music collections has gradually improved as new versions have been released. Still, if the collection is large enough, the application may fail to load. The maximum number of tracks supported depends on your server but should be more than 50'000. Also, when there are tens of thousands of tracks, you may notice slow down of the web UI.

Translations

There exist partial translations for the Music app for many languages, but most of them are very much incomplete. In the past, the application was translated at https://www.transifex.com/owncloud-org/owncloud/ and the resource still exists there. However, large majoriry of the strings used in the app have not been picked by Transifex for many years now, and hence the translations from Transifex cannot be actually used. The root cause is disparity in the localization mechanisms used in the Music app and on ownCloud in general, and bridging the gap would require some support from ownCloud core team. This is probably never going to happen, see https://central.owncloud.org/t/owncloud-music-app-translations/14881. For now, you may contribute translations as normal pull requests, by following the instructions from #671 (comment).

SMB shares

The Music app may be unable to extract metadata of the files residing on a SMB share. This is because, on some system configurations, it is not possible to use fseek() function to seek within the remote files on the SMB share. The getID3 library used for metadata extraction depends on fseek() and will fail on such systems. If the metadata extraction fails, the Music app falls back to deducing the track names from the file names and the album names from the folder names. Whether or not the probelm exists on a system, may depend on the details of the SMB support library on the host computer and the remote computer providing the share.

Development

Build frontend bundle

All the frontend javascript sources of the Music app, including the used vendor libraries, are bundled into a single file for deployment using webpack. This bundle file is dist/webpack.app.js. Similarly, all the style files of the Music app are bundled into dist/webpack.app.css. Downloading the vendor libraries and generating these bundles requires the npm utility, and happens by running:

cd build
npm install --deps
npm run build

The command above builds the minified production version of the bundle. To build the development version, use

npm run build-dev

To automatically regenerate the development mode bundles whenever the source .js/.css files change, use

npm run watch

Build delivery package

To build the release zip package, run the following commands. This requires the make and zip command line utilities.

cd build
make release

Install test dependencies

To install test dependencies, run the following command on the root level of the project:

composer install

Run tests

Static analysis with PHPStan

composer run-script analyze

PHP unit tests

composer run-script unit-tests

PHP integration tests

The integration tests require the music app to be installed under the apps folder of an ownCloud or Nextcloud installation. The following steps assume that the cloud installation in question has not been taken into use yet, e.g. it's a fresh clone from github.

cd ../..          # owncloud/nextcloud core
./occ maintenance:install --admin-user admin --admin-pass admin --database sqlite
./occ app:enable music
cd apps/music
composer run-script integration-tests

Behat acceptance tests

cd tests
cp behat.yml.dist behat.yml
# add cloud URL and credentials for Ampache and Subsonic APIs to behat.yml
../vendor/bin/behat

For the acceptance tests, you need to upload all the tracks from the following zip file to your cloud instance: https://github.com/paulijar/music/files/2364060/testcontent.zip

API

The Music app back-end implements the Shiva API except the resources /artists/<int:artist_id>/shows, /tracks/<int:track_id>/lyrics and the meta resources. You can use this API under https://own.cloud.example.org/index.php/apps/music/api/.

However, the front-end of the Music app nowadays doesn't use any part of the Shiva API. Instead, the following proprietary REST endpoints are used:

  • /api/log
  • /api/prepare_collection
  • /api/collection
  • /api/folders
  • /api/genres
  • /api/file/{fileId}
  • /api/file/{fileId}/download
  • /api/file/{fileId}/path
  • /api/file/{fileId}/info
  • /api/file/{fileId}/details
  • /api/scanstate
  • /api/scan
  • /api/resetscanned
  • /api/cover/{hash}
  • /api/artist/{artistId}/cover
  • /api/artist/{artistId}/details
  • /api/artist/{artistId}/similar
  • /api/album/{albumId}/cover
  • /api/album/{albumId}/details
  • /api/share/{token}/{fileId}/info
  • /api/share/{token}/{fileId}/parse
  • Playlist API at /api/playlists/*
  • Radio API at /api/radio/*
  • Podcast API at /api/podcasts/*
  • Settings API at /api/settings/*

To connect external client applications, partial implementations of the following APIs are available:

/api/log

Allows to log a message to ownCloud defined log system.

POST /api/log

Parameters:

{
	"message": "The message to log"
}

Response:

{
	"success": true
}

/api/collection

Returns all artists with nested albums and each album with nested tracks. Each track carries a file ID which can be used to obtain the file path with /api/file/{fileId}/path. The front-end converts the path into playable WebDAV link like this: OC.linkToRemoteBase('webdav') + path.

GET /api/collection

Response:

[
	{
		"id": 2,
		"name": "Blind Guardian",
		"albums": [
			{
				"name": "Nightfall in Middle-Earth",
				"year": 1998,
				"disk" : 1,
				"cover": "/index.php/apps/music/api/album/16/cover",
				"id": 16,
				"tracks": [
					{
						"title": "A Dark Passage",
						"number": 21,
						"artistId": 2,
						"files": {
							"audio/mpeg": 1001
						},
						"id": 202
					},
					{
						"title": "Battle of Sudden Flame",
						"number": 12,
						"artistId": 2,
						"files": {
							"audio/mpeg": 1002
						},
						"id": 212
					}
				]
			}
		]
	},
	{
		"id": 3,
		"name": "blink-182",
		"albums": [
			{
				"name": "Stay Together for the Kids",
				"year": 2002,
				"disk" : 1,
				"cover": "/index.php/apps/music/api/album/22/cover",
				"id": 22,
				"tracks": [
					{
						"title": "Stay Together for the Kids",
						"number": 1,
						"artistId": 3,
						"files": {
							"audio/ogg": 1051
						},
						"id": 243
					},
					{
						"title": "The Rock Show (live)",
						"number": 2,
						"artistId": 3,
						"files": {
							"audio/ogg": 1052
						},
						"id": 244
					}
				]
			}
		]
	}
]

Creating APIKEY for Subsonic/Ampache

The endpoint /api/settings/userkey/generate may be used to programatically generate a random password to be used with an Ampache or a Subsonic client. The endpoint expects two parameters, length and description (both optional) and returns a JSON response. Please note that the minimum password length is 10 characters. The HTTP return codes represent also the status of the request.

POST /api/settings/userkey/generate

Parameters:

{
	"length": <length>,
	"description": <description>
}

Response (success):

HTTP/1.1 201 Created

{
	"id": <userkey_id>,
	"password": <random_password>,
	"description": <description>
}

Response (error - no description provided):

HTTP/1.1 400 Bad request

{
	"message": "Please provide a description"
}

Response (error - error while saving password):

HTTP/1.1 500 Internal Server Error

{
	"message": "Error while saving the credentials"
}

music's People

Contributors

alziba avatar ashotn avatar bernhardposselt avatar biont avatar bmschwa avatar butonic avatar deepdiver1975 avatar dependabot[bot] avatar gnarula avatar greku avatar icewind1991 avatar jancborchardt avatar leizh avatar morrisjobke avatar morsik avatar nattynarwhal avatar nunojesus avatar paulijar avatar pellaeon avatar perillamint avatar pvince81 avatar rello avatar robertzenz avatar root-core avatar rstefko avatar simonspa avatar vgezer avatar wakeup avatar xefir avatar youknow0 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  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

music's Issues

Track filtering

The track listing accepts one of two possible parameters to filter down the list only to those tracks corresponding to a given album or artist.

Rescanning Music files will not show all folders

Ubuntu 12.04 latest patch level, oC fresh installed, downloaded from github today at ~10:00

I added via external local drive app my itunes library mounted via ubuntu/smb and added as local drive to oC. This library contains many folders and files.
When I click Music the first time, no folders are present, when I do a rescan, I get about 20 interpretor entries (folders) but I miss the tons of the rest.

When I click in files on the library, I see all the folders and files.

I guessed that there is maybe a dependency scanning mp3 files only, but I see after the rescan also entries where there is m4a used, which is the majority in my library.

There is no pattern visible what it is scanned or not, but the only thing that comes up is, that the scan result (folder) starts with "K" and I have ton´s of music starting with "A".

A rescan does not change anything on the result

There are no log entries on owncloud.log (watched in parallel durnig rescan)


Originally reported by @mmattel at owncloud-archive/apps#662

5.0.0 Alpha1: Music Player not finding all the MP3s

I have 5 MP3s I use to test ownCloud. I uploaded them to the system and when I double click on any one music file, it will play. BUT if I go to the Music tab, only 1 music file is listed, and it may or may not be the music file I clicked on.

Take this, for example, I clicked on a file that is the Cheers theme and it plays, but I see the Ghostbuster Theme, and can't even find the Peanuts theme in the music list that is also in my root file uploads.

Untitled6

Clicking rescan collection doesn't appear to find the other two files.


Originally reported by @MTRichards at owncloud-archive/apps#566

Media Files not accessible through <url>/ampache

Expected behaviour

To see some media files when accessing ampache through webserver.com/remote.php/ampache

Actual behaviour

Nothing happens, please see screenshot

Steps to reproduce

  1. fill media library with some mp3 files
  2. point your browser to webserver.com/remote.php/ampache

Server configuration

Operating system: Centos 5.9

Web server: Apache 2.2.3

Database: MySQL 5

PHP version: 5.4

ownCloud version: 5.0

Client configuration

Browser: Chrome

Operating system: Win7

Logs

Web server error log

none

ownCloud log (data/owncloud.log)

none

Browser log

none

owncloud5_ampache


Originally reported by @cyberdaemon at owncloud-archive/apps#778

no filesize for musicfiles

The script cant find any filesize of musicfiles... the filesize is always 0.
i tried a lot of mp3's and i also installed a clean owncload on my local machine to test it...

it seems that the call \getid3_lib::CopyTagsToComments($data); in extractor.php is broken.

@Kondou-ger @VicDeo @icewind1991

any idea?

deleting audio files does not delete them from the users media playlist

The playlist is stored in the browsers localStorage, so the delete hook has no way of updating the playlist there. Doing a rescan does not remove the files as well. We could check the playlist when loading the player and remove deleted items. @icewind1991 @jancborchardt what do you think? since we do not store the playlist on the server and cannot load or save them this might be the simplest soluton.


Originally reported by @butonic at owncloud-archive/apps#349

Album filtering

The album list accepts an artist parameter in which case will filter the list of albums only to those corresponding to that artist.

Music scan does not Work

The music scan does not work at my owncloud Server.

I have lots of mp3 files stored in the owncloud.
The Progressbar goes into a loop and the scanning never ends.
And in the owncloud.log are written the following lines:

{"app":"PHP","message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'artist_name' at /var/www/owncloud/lib/db.php#966","level":4,"time":1371162321}
{"app":"PHP","message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'artist_name' at /var/www/owncloud/lib/db.php#966","level":4,"time":1371162332}

I am using ownCloud 5.0.7

OS: Ubuntu Server 13.04 Raring Ringtail amd64
Kernel: 3.8.0-23-generic
Webserver: Apache/2.2.22 (Ubuntu)
Database: MySQL 5.5.31-0ubuntu0.13.04.1 - (Ubuntu)

Ampache client wouldn't connect to ownCloud's music service

Dear team,

I am totally new to this, apologies if I am not posting this the right way. I've recenly installed ownCloud and have some trouble with the Ampache side of things.

If I connect to my "server/owncloud" portal and click on Music, I can play my songs back just fine. However, if I point any of my iOS ampache clients to my server (server/owncloud/remote.php/ampache/) it will connect and find the music but as soon as I click on a song it'll crash the app.

This isn't only my experience, there's another user who is facing the same. You can read the details here: https://forum.owncloud.org/viewtopic.php?f=23&t=9113

System:
Hosted server space (bluehost.com)
PHP 4.5.3
MySQL database

If you need any other info or access to my server, please let me know.

Thanks,
Ben


Originally reported by @bence8810 at owncloud-archive/apps#999

Design forward: Music

The music app is quite good and useful, we should give it some more love again for ownCloud 6.

One of the main problems with it is the weird way it handles playlists, or rather »the one playlist«. Currently leftcontent is used as the playlist, and you can only have this single one.

Rather the left list should be a list of playlists (with the first entry being »All music«), enabling you to add and remove playlists. Clicking on a playlist there will show the contents of that playlist in the rightcontent. You can check out Youtify for reference.

cc @icewind1991 @butonic


Originally reported by @jancborchardt at owncloud-archive/apps#729

Music: people need playlists

(This is kind of a major thing to change in the music app.) Currently a big problem with Music is that there is only one collection (main view) and one play queue (left list). Instead, people should be able to have playlists, which are shown in the left list, and the collection or the respective content of the playlist should be shown in the main content.

For reference, check out how http://youtify.com and http://spotify.com do it.


Originally reported by @jancborchardt at owncloud-archive/apps#57

media app: libray outdated

I have the media app enabled to play mp3

No the library contains two files which are nowhere to be found on the server (maybe deleted)

If I upload via the client, the files are not recognized.

How is this supposed to work?


Originally reported by @timmie at owncloud-archive/apps#1094

Music app doesn't show shared files

Expected behaviour

When sharing music, it should also appear in the Music app of the user it is shared with.

Actual behaviour

Music shared by user A with user B does not apper in user B's Music app.

Steps to reproduce

  1. As user A, make sure you have some mp3's which show up correctly in the Music app
  2. As user A, share some of these mp3 files with user B
  3. Login as user B
  4. Check the FIles app: The mp3 files from user A are correctly shared
  5. Check the Music app: The shared files will not appear

Notes

See also this forum thread: http://forum.owncloud.org/viewtopic.php?f=23&t=9499
Is this maybe a general problem of all apps? Because the Pictures app seems to have it too: owncloud-archive/apps#630

Server configuration

Operating system: Ubuntu server 12.04
Web server: Apache 2.2.22
Database: MySQL 14.14 Distrib 5.5.29
PHP version: 5.3.10
ownCloud version: 5.0.0

Client configuration

Browser: Firefox 19.0.2
Operating system: Ubuntu 12.10

Logs

Web server error log

Not sure if that error is related:

PHP Fatal error:  Call to a member function getRoot() on a non-object in /var/www/oc5/lib/files/filesystem.php on line 318, referer: https://example.com/owncloud5/index.php
PHP Stack trace:, referer: https://example.com/owncloud5/index.php
PHP   1. {main}() /var/www/oc5/cron.php:0, referer: https://example.com/owncloud5/index.php
PHP   2. OC_BackgroundJob_Worker::doNextStep() /var/www/oc5/cron.php:107, referer: https://example.com/owncloud5/index.php
PHP   3. call_user_func() /var/www/oc5/lib/backgroundjob/worker.php:107, referer: https://example.com/owncloud5/index.php
PHP   4. OC_Search_Lucene_Indexer::indexFile() /var/www/oc5/lib/backgroundjob/worker.php:0, referer: https://example.com/owncloud5/index.php
PHP   5. OC\\Files\\Filesystem::getRoot() /var/www/oc5/apps/search_lucene/lib/indexer.php:29, referer: https://example.com/owncloud5/index.php

ownCloud log (data/owncloud.log)

Not sure if these are related:

Warning  PHP     Undefined offset: 1 at /var/www/oc5/apps/gallery/ajax/gallery.php#12    March 24, 2013 08:21
Error    search_lucene   need mimetype for content extraction    March 24, 2013 08:19
Error    search_lucene   need mimetype for content extraction    March 24, 2013 08:19
Error   search_lucene   need mimetype for content extraction    March 24, 2013 8:19
Error   search_lucene   need mimetype for content extraction    March 24, 2013 8:19
Warning PHP Undefined offset: 1 at /var/www/oc5/apps/gallery/ajax/gallery.php#12    March 24, 2013 8:19
Warning PHP Undefined offset: 1 at /var/www/oc5/apps/gallery/ajax/gallery.php#12    March 24, 2013 8:17
Warning PHP Cannot modify header information - headers already sent by (output started at /var/www/oc5/lib/files/filesystem.php:318) at /var/www/oc5/lib/json.php#17    March 24, 2013 8:15
Warning PHP Cannot modify header information - headers already sent by (output started at /var/www/oc5/lib/files/filesystem.php:318) at /var/www/oc5/lib/json.php#108   March 24, 2013 8:15
Fatal   PHP Call to a member function getRoot() on a non-object at /var/www/oc5/lib/files/filesystem.php#318    March 24, 2013 8:15
Warning PHP Cannot modify header information - headers already sent by (output started at /var/www/oc5/lib/files/filesystem.php:318) at /var/www/oc5/lib/json.php#17    March 24, 2013 8:15
Warning PHP Cannot modify header information - headers already sent by (output started at /var/www/oc5/lib/files/filesystem.php:318) at /var/www/oc5/lib/json.php#108   March 24, 2013 8:15
Fatal   PHP Call to a member function getRoot() on a non-object at /var/www/oc5/lib/files/filesystem.php#318    March 24, 2013 8:15
Error   search_lucene   need mimetype for content extraction    March 24, 2013 8:15
Warning PHP readdir() expects parameter 1 to be resource, boolean given at /var/www/oc5/lib/cache/file.php#88   March 24, 2013 8:14
Warning PHP opendir(/var/www/oc5/data/randolph/cache/): failed to open dir: No such file or directory at /var/www/oc5/lib/files/storage/local.php#40    March 24, 2013 8:14
Warning PHP Cannot modify header information - headers already sent by (output started at /var/www/oc5/lib/files/filesystem.php:318) at /var/www/oc5/lib/json.php#17    March 24, 2013 8:14
Warning PHP Cannot modify header information - headers already sent by (output started at /var/www/oc5/lib/files/filesystem.php:318) at /var/www/oc5/lib/json.php#108   March 24, 2013 8:14
Fatal   PHP Call to a member function getRoot() on a non-object at /var/www/oc5/lib/files/filesystem.php#318    March 24, 2013 8:14
Warning PHP Cannot modify header information - headers already sent by (output started at /var/www/oc5/lib/files/filesystem.php:318) at /var/www/oc5/lib/json.php#17    March 24, 2013 8:09
Warning PHP Cannot modify header information - headers already sent by (output started at /var/www/oc5/lib/files/filesystem.php:318) at /var/www/oc5/lib/json.php#108   March 24, 2013 8:09
Fatal   PHP Call to a member function getRoot() on a non-object at /var/www/oc5/lib/files/filesystem.php#318    March 24, 2013 8:09

Originally reported by @RandolfCarter at owncloud-archive/apps#855

Music: progressbar layout issues

Version: 5.0 alpha1

The progressbar in the music player (as marked in the screenshot) has layout issues and is misplaced. It's a few pixels to high compared to the other elements, i.e. the vertical alignment of the elements is not even.

Music-progressbar-layout


Originally reported by @mbiebl at owncloud-archive/apps#584

Move media playback controls left of search bar

moving the controls to the top bar would resemble a dock area app like in many operating systems. Furthermore, we can then use these buttons to start playback of available media files when viewing a folder as a guest. It should automatically skip non audio files. Together with owncloud-archive/apps#436 this would allow a slideshow with background music for guests. We could even set this as an option for a folder: 'show as slideshow' and 'autoplayback' in the sharing options?

@jancborchardt @DeepDiver1975 @MTGap @icewind1991 @karlitschek tell me what you think, then I'll start adding this as it solves a customer requirement.


Originally reported by @butonic at owncloud-archive/apps#437

oc-1485 - Ampache remote interface ignores password change

From http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-1485

Unable to confirm or invalidate.

Description:
When changing the password for an owncloud user, the ampache remote access remains unchanged, i.e. the remote.php/ampache/ site still has to be accessed via the old credentials.

Reproduction steps:

Create a user
Change the user's password
Try to access ampache via the remote interface (remote.php/ampache/), e.g. via Android (Ampache.NET, Amdroid) or any Desktop app capable of streaming via Ampache, using the new password
You will get an error message saying "incorrect login" (or one of similar meaning)
Try the access from step 3 with the old password
It will work

Expected behavior: Ampache remote access uses the same login information as the rest of the owncloud installation under all circumstances.
#1 Comment posted by Randolph Carter Aug 13, 07:57

The weirdest part is, when trying to access the same URL via a browser, then the more or less "standard interface" will show up, and the login will work just normally (i.e. with the new password, not with the old one), is there some redirection magic going on? Seems unneeded to me, it only hinders testing.
#3 Comment posted by Fabian Henze Aug 27, 23:47

can confirm that using owncloud 4.0.7. Sucks when you chose a weak password for initial testing and change it later ...
#5 Comment posted by febs Nov 04, 02:12

I just discovered that version 4.5.1a is still affected by this - that drove me crazy for half a day smileys/2.png This let me think that probably playing music via ampache clients is not so widespread.

Thanks


Originally reported by @msrex at owncloud-archive/apps#313

Media App violating ampache protocol?

I tried to use owncloud/ampache on my windows hont with the AmpM app, but it did not work.
After mailing with the creator of the app I got the following response:

"I tried connecting to the demo site and I also setup owncloud locally on my computer at home. The way they changed Ampache makes it reply with unreliable and incomplete data, so adjusting my app to work with it is nearly impossible. The crashing problem was due to the "session" that ampache uses not working correctly. But even after I worked around that, listing songs artists and albums was inconsistent and I was never even able to play music.

Short answer is that my AmpM app will not be compatible with owncloud. "


Originally reported by @klompie at owncloud-archive/apps#117

Handle music compilations correctly

In Media all music is sorted and grouped by "lead performer" (id3v2 frame TPE1 for mp3s). This results in a huge list with only one title per performer if someone uploads compilations. It is also impossible to enqueue a compilation to the playlist.

One approach could be to find the files that belong to compilations and filter them from the main view, and adding a category on top, named "compilations", in which each mp3 is grouped by album name.

Filtering (for mp3) could be done in various ways:

  • Search TPE1 and TPE2 for "various artists" etc.
  • Compare TPE2 and TPE1. If different it seems to be a compilation.
  • Search for the iTunes custom tag TCMP (more info)

Other supported audio formats have similar tags. See resources below.

Resources:
The same problem noted elsewhere
Comparison of tags for different audio formats


Originally reported by @dryo at owncloud-archive/apps#128

Music player: playlist display bug

The embedded music player has a display bug that will indicate a wrong song playing.

  1. Create a playlist that has multiple songs.
  2. Select a song from the middle of the list and start playing it.
  3. Remove a song from the beginning of the playlist (before the currently playing song)
  4. The high light effect will stay at the same place while the list is shortened indicating a wrong song playing

additional side effect: the next and previous buttons seem to behave weirdly after the step 4. I didn't test this one enough to give more accurate description though. Basically re organizing the playlist does not update the players comprehension of the list.

Browsers: Firefox 17.0.1, Chromium 23.0.1271.97
ownCloud: 4.5.5


Originally reported by @hefax at owncloud-archive/apps#374

deleted music files can still be played from music player

Version: 5.0 alpha1

if a music file in is in the playlist, it can still be played, even if the actual file has been removed in the file manager (removed = moved to trash bin).
This should not happen, such deleted files should be automatically be removed from the music player list.

what's even stranger: even after deleting (even permanently), "Rescan Collection" still finds one of those old music files which no longer exist


Originally reported by @mbiebl at owncloud-archive/apps#576

Introduce intelligent filters

I'd like to see the list of music reworked.

The Main list should only show these items:

  • Compilations (see issue #5)
  • Artists (the list as it is today, enhanced by issue #6)
  • Albums and EPs (files that have a non empty "album" tag and there is more than one file per artist/album combination, grouped by artist -> album)
  • Singles (files that do not have an "album" tag set, have an empty "album" tag or that are the only ones having the given artist/album combination)
  • Genres
  • Years

Originally reported by @dryo at owncloud-archive/apps#130

LDAP Username not working with Ampache

Expected behaviour

Ampache clients should login with the LDAP-Username

Actual behaviour

Clients (Amarok & JustPlayer) report "Error: Invalid login".
Using the internal UUID as Username works.

Steps to reproduce

  1. Setup Amarok/JustPlayer to connect to OwnCloud with LDAP-Authentication

Server configuration

Operating system: Debian Sid

Web server: Lighttpd 1.4.31

Database: MariaDB 5.5

PHP version: 5.4.4

ownCloud version: 5.0.0

Client configuration

Amarok 2.6.0 on KDE 4.8.4
Operating system: Debian Sid

JustPlayer 3.37 with Ampache Provider 1.24
Operating system: Android 4.1.2


Originally reported by @joe-hallenbeck at owncloud-archive/apps#801

Sort albums by track id

Currently album tracks are sorted alphanumerically by their id3 song name tag. This is counter intuitive when dealing with complete albums. Instead let it sort by track id from id3 or if that fails use the file names to sort, since they most likely are sorted by track id anyway.

Keep in mind that there might be some stupid notation in the track id field like "#", "/" or " of ".

Media app does not play ogg files (no transcoding)

I'm sure this is a duplicate bug, but I can't find the original if it exists.

I'm running ownCloud 5.0 pre alpha from 1/13/13 and while it can add my ogg files to the music playlist, it won't play them, but Ampache will.

I looked at some of the code and saw that ownCloud doesn't seem to support the transcoding that Ampache does to make non-mp3 files play, which I'm guessing is the problem. My question now is how to go about making it work, and if I should bother. Ampache uses a few external programs to turn various audio files into mp3, which is probably the easy way to get it done, but I'm not sure about requiring dependencies, and there are also some cross-platform problems if ownCloud is meant to run on WIMP as well as LAMP.

I imagine that I could jump in and start coding this to work on my machine (I already have the required programs installed), but I'd like to make it something that others could use.

I'd like some suggestions or ideas to help me along, but if this is a duplicate of a "won't fix", that's fine... just reporting the problem.


Originally reported by @headrift at owncloud-archive/apps#457

Music web interface: Scroll bar disappears under status bar, possibly not all music visible

Expected behaviour

The scroll bar handle for a long music list should always be visible.

Actual behaviour

When on the top of the music list, the handle is not shown, only when scrolling down (e.g. via Mousewheel) it starts to appear from below the region above.

Steps to reproduce

  1. Go to the music app
    1.5 (Wait for the music to load)
  2. Check the scrollbar
  3. If you have much music, there will be no scrollbar handle at first at all - the top region of the scroll bar is hidden behind the element above
  4. Scroll down, the handle will get visible

Server configuration

Operating system: Ubuntu Server 12.04 x64
Web server: Apache 2.2.22
Database: MySQL 14.14 Distrib 5.5.29
PHP version: 5.4.13
ownCloud version: 5.0.5

Client configuration

Browser: Firefox 20.0
Operating system: Ubuntu 12.10 x64

Other Notes

I think I've seen other reports of this before but can't find them at the moment. This is what it looks like for me at the moment: Please note how the scrollbar handle disappears under the region where the "Rescan collection" button is located:
owncloud-media-app-scrollbar

Possibly related:
owncloud-archive/apps#766

Web Developer Log

Error in parsing value for 'filter'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Unknown property '-moz-border-radius'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Unknown property 'zoom'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Error in parsing value for 'height'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Error in parsing value for 'top'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Expected declaration but found '*'.  Skipped to next declaration. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Unknown property '-moz-box-shadow'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Error in parsing value for 'background-image'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Unknown property '-moz-background-clip'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Error in parsing value for 'background'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Expected color but found 'top'.  Error in parsing value for 'background-image'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Unknown property '-moz-border-radius-bottomleft'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Unknown property '-moz-border-radius-bottomright'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Error in parsing value for 'padding'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Unknown property 'box-sizing'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Unknown property '-moz-background-size'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Error in parsing value for '-moz-transition'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Error in parsing value for 'transition'.  Declaration dropped. @ https://myowncloud/owncloud/remote.php/core.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Error in parsing value for 'filter'.  Declaration dropped. @ https://myowncloud/owncloud/index.php/apps/media/css/music.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Unknown property 'box-sizing'.  Declaration dropped. @ https://myowncloud/owncloud/index.php/apps/media/css/music.css?v=ff4d5fbbafdf976cfdc032e3bde78de5:1
Unknown property 'box-sizing'.  Declaration dropped. @ https://myowncloud/owncloud/index.php/apps/media:1
Unknown property 'appearance'.  Declaration dropped. @ https://myowncloud/owncloud/index.php/apps/media:1
Unknown property '-moz-border-radius'.  Declaration dropped. @ https://myowncloud/owncloud/index.php/apps/media:1
Error in parsing value for 'background-image'.  Declaration dropped. @ https://myowncloud/owncloud/index.php/apps/media:1
Unknown property '-moz-box-shadow'.  Declaration dropped. @ https://myowncloud/owncloud/index.php/apps/media:1

Originally reported by @RandolfCarter at owncloud-archive/apps#1039

Music Player issues

I have an issue with controlling the music player.
When i play some music, i'm unable to stop it when i browse to another page within owncloud.
If i try to browse through my files, the music player will replay the music from the beginning.
Before i leave my musicpage i stop the music from playing. It's doesn't matter to which page i go, it's will start playing music again.

Are there more people with me?


Originally reported by @Mashkov at owncloud-archive/apps#512

Music - playback doesn't work in Safari

When accessing the Music app under Safari 6.0.1 (7536.26.14) - according to software update the most recent version - running on Mac OS 10.7.5, I can enqueue songs (mp3 files) just fine, but pressing the play button results in no action (no playback) - the play button turns into the pause button for a very short time, then back into the play button. With firefox (also under the same Mac OS) playback works.


Originally reported by @RandolfCarter at owncloud-archive/apps#45

Media app should show album cover images and track images

Uploading 20121222_media_player.png . . .
The Media app v0.4.3 should show mp3 album cover pages and track images when showing media data. Additionally it's confusing that albums are shown in the right frame and the mp3-tracks itself are shown in the left frame of the window. This should be switched to make the handling more intuitive.
As an example I've added a screenshot of my Squeezebox Server:


Originally reported by @j-ed at owncloud-archive/apps#380

App is not operable in the current state

App was moved from 'media' to 'music' directory.

In fact the following needs to be changed for it to work:

  • appid
  • OC::$CLASSPATH entries
  • app navigation entry url
  • probably more

It simply doesn't work

Media app : all songs listed as "unknown artist"

Hi,

Since I updated my owncloud installation from 5.0.0 to 5.0.2 (or .3, I don't remember !), all the music I have in my music collection is listed as an unknown artist. My 811 tracks are now just in a single list by artist "unknown", ordered by song title.
Previously the media app worked well but now is no longer usefull anymore.
My entire music library is made of OGG files.

Is there some cache I have to clear somewhere ?

Hope someone finds a solution.


Originally reported by @edappere at owncloud-archive/apps#1056

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.