Commit Graph

4540 Commits

Author SHA1 Message Date
ejurgensen 4da45bdfab [httpd] Parser should allow queries that are not key/value
E.g. http://prem3.di.fm:80/progressive_hi?my_premium_key
2018-01-08 20:13:05 +01:00
ejurgensen 45d193e56c [scan] Use open()/close() instead of euidaccess() to support ACL's
Fixes #474
2018-01-06 20:10:34 +01:00
ejurgensen 8d043dd9e9 [http] Temporary fix for bug in commit 8f899f2
See 8f899f2051 (commitcomment-26433079)
2018-01-02 21:20:28 +01:00
ejurgensen f71028b25d
Merge pull request #477 from chme/player
[player] Check player state in stop and pause commands
2017-12-30 12:53:43 +01:00
ejurgensen 7d66acf0a0
Merge pull request #476 from chme/mpd_check_args
[mpd] Refactoring of minimum argument check
2017-12-30 12:53:32 +01:00
ejurgensen 234bb52ea4
Merge pull request #475 from chme/queuefix
Fix for missing queue updates in MPDroid
2017-12-30 12:53:20 +01:00
chme 981fd3e183 [db] Update queue_version in db_queue_move_byitemid
Fixes missing queue updates in MPDroid after moving an item in the
queue. MPDroid moves items with the 'moveid' command and retrieves the
playlist changes with the 'plchanges' command, due to the missing
queue_version update the last command did not return any changes and the
queue in MPDroid did not get updated.
2017-12-30 08:01:07 +01:00
ejurgensen 7ff965ee76
Merge pull request #473 from chme/pipe
[pipe] Do not rely on the DATABASE event to be triggered during startup
2017-12-28 16:45:39 +01:00
chme 183ac17fd5 [player] Check player state in stop and pause commands 2017-12-28 16:30:38 +01:00
chme 141c4e926b [mpd] Formatting of channel and sticker handler list 2017-12-28 16:12:56 +01:00
chme 8ad6f75815 [mpd] Refactor minimum argument check 2017-12-28 16:12:56 +01:00
chme d90b869354 [pipe] Do not rely on the DATABASE event to be triggered during startup
to start listening on pipes
2017-12-28 16:05:03 +01:00
ejurgensen 4274653624 [pipe] Allow autostart of pipe even if it interrupts other playback (fix for #465) 2017-12-28 11:45:59 +01:00
ejurgensen 1646149902
Merge pull request #472 from chme/mmap
Add option to enable memory-mapped I/O for sqlite3
2017-12-27 18:56:03 +01:00
ejurgensen 4802823f3c Revert "[spotify/artwork] Load artwork for spotify through the wep api" and "[spotify] Thread safety for the webapi access"
Wait with this until it becomes necessary or we can achieve same performance as libspotify

This reverts commit 997b4da4ad and 2da993cc7b
2017-12-27 18:51:11 +01:00
chme 56f4b32ef3 Add option to enable memory-mapped I/O 2017-12-26 08:06:38 +01:00
chme 2da993cc7b [spotify] Thread safety for the webapi access
The web api might be accessed from different threads (library, worker,
dacp), therefor protect from concurrently running refresh-token requests
(accessing the globals in spotify_webapi.c)
2017-12-25 19:52:40 +01:00
chme 997b4da4ad [spotify/artwork] Load artwork for spotify through the wep api 2017-12-25 19:52:40 +01:00
ejurgensen 731106276f
Merge pull request #466 from chme/libspotify_remove_scan
[spotify] Remove scanning saved playlist with libspotify
2017-12-25 19:33:41 +01:00
ejurgensen 5cbf01df7d
Merge pull request #470 from wolfmanx/mpd-urlhandlers
[mpd] minimal urlhandlers command
2017-12-25 18:39:50 +01:00
Wolfgang Scherer a7f9d633a3 [mpd] minimal urlhandlers command 2017-12-24 02:46:40 +01:00
ejurgensen 0c913529ff
Merge pull request #469 from chme/mpd
MPD protocol support improvements
2017-12-23 14:38:05 +01:00
chme 434be28460 [mpd] Support position parameter in command 'addid' 2017-12-22 11:24:43 +01:00
chme a1372c692e [mpd] Implement 'playlistfind' and 'playlistsearch' 2017-12-22 11:24:43 +01:00
chme 6f4f7c5b16 [mpd] command 'currentsong': report current item if player is stopped 2017-12-22 11:24:43 +01:00
chme 80e0808b18 [mpd] command 'status': report current/next if player is stopped 2017-12-22 11:24:43 +01:00
chme 4d995c8501 [spotify] Add missing init/destroy of status_lck mutex 2017-12-22 09:53:00 +01:00
chme 210e6228bc [spotify] Prevent duplicate scan on startup
The logged_in callback is called during relogin in the initscan.
Additionally initscan explicitly starts the scan leading to a duplicate
scan run.
To prevent this from happening removed the scan call in the logged_in
callback and split the spotify_login_user function into a private
function (without scan) and a public function (with scan).
2017-12-18 22:46:09 +01:00
ejurgensen 94a3d67559 [docs] Update README.md with web interface instructions 2017-12-18 21:55:20 +01:00
ejurgensen 37e923bf74
Merge pull request #467 from chme/logging
[logger] Return early if severity or domain do not match
2017-12-17 16:01:44 +01:00
chme 4f811ff6e0 [logger] Return early if severity or domain do not match 2017-12-17 12:41:21 +01:00
chme 83d8a55701 [spotify] Make libspotify login synchronous
Scanning saved albums/playlists over the webapi requires a logged in
libspotify session. To ensure, that the login process finished before
starting the webapi scan, the login needs to be synchronous.
2017-12-17 09:39:45 +01:00
chme 64f574cd83 [spotify] Fix logdomain in log statements 2017-12-17 09:15:32 +01:00
chme 471eb9db46 [db] Do not trigger a DATABASE event if db_directory_enable_bypath does
not change the library
2017-12-17 09:13:09 +01:00
chme 1b8b0b2d83 [spotify] Only scan saved albums and playlist if webapi token is valid
and libspotify login succeeded

Each saved track needs to be registered with libspotify otherwise
playback of this track will fail. This makes sure we only add saved
tracks to the library that are playable. 

Also attempt a rescan if libspotify login succeeded. With this change it
does not matter if a user first logs into libspotify and then authorizes
the webapi access or the other way around.
2017-12-17 09:12:01 +01:00
chme 418f808d2e [spotify] Remove scanning playlists with libspotify 2017-12-17 08:08:55 +01:00
ejurgensen b428760599 [scan] Fix for issue #463, fname not getting updated on file rename
Also modify code style of _enable/_disable functions in db.c
2017-12-16 23:09:29 +01:00
ejurgensen 387b79496d
Merge pull request #464 from chme/mpd_noidle
[mpd] Fix 'noidle' command handling
2017-12-16 17:39:30 +01:00
chme 4034582f1a [mpd] Fix 'noidle' command handling
The noidle command did not prevent idle events to be sent to the client
directly when they occured. This resulted e. g. in M.A.L.P. in errors
trying to play an album from the library)
2017-12-16 08:19:45 +01:00
chme 5a57a564a4 [db] Instantly notify about rating changes 2017-12-15 19:08:32 +01:00
chme e00a4a1995 [cache] Do not rebuild cache on rating change events 2017-12-15 19:08:32 +01:00
chme e7d6fbb9fc [listener/etc.] Rename LISTENER_STICKER to LISTENER_RATING
Unit there is a real sticker implementation, make it clear, that the
event is only triggered for rating changes.
2017-12-15 19:08:32 +01:00
chme c00febd8ac [library] remove initialization of globals to zero 2017-12-15 19:08:32 +01:00
chme 9f1568349b [mpd] minor cleanup 2017-12-15 19:08:32 +01:00
chme 9165cfc5da [mpd] Return virtual path to clients in 'sticker find' 2017-12-15 19:08:32 +01:00
chme dec625ec30 [mpd] Implement 'sticker find' with operator/value parameters 2017-12-15 19:08:32 +01:00
chme b17e50438c [db] Comment for DB_FILES_RATING_MAX 2017-12-15 19:08:32 +01:00
chme 7b04787fc1 [mpd] Check upper bound for sticker 'rating' 2017-12-15 19:08:32 +01:00
chme 7a916c84a2 [mpd] Refactor sticker commands 2017-12-15 19:08:32 +01:00
chme ef52f4ddc0 Rework user rating updates 2017-12-15 19:08:32 +01:00