Commit Graph

4159 Commits

Author SHA1 Message Date
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
Wolfgang Scherer bbc5d3787e [mpd] rating sticker translator 2017-12-15 19:08:32 +01:00
ejurgensen 7c12ea1209
Merge pull request #461 from chme/addqueueitem
[db] Fix adding urls to the queue that are not in the library
2017-12-13 23:24:55 +01:00
chme 88f7d4601d [db] Fix adding urls to the queue that are not in the library 2017-12-13 22:02:38 +01:00
chme 4ebc6da0ee [ws] Notify about player status, options, volume, queue changes 2017-12-13 21:44:33 +01:00
chme 5cb33189df [jsonapi] New endpoints for player.html
- control playback and retrieve player status
- get current queue
- set shuffle, repeat, consume mode
- set volume
2017-12-13 21:44:33 +01:00
ejurgensen 10233dcad3 [chromecast] Check for null address from getifaddrs() (credit @yantoz, issue #455) 2017-12-10 19:50:57 +01:00
ejurgensen 55e4350b18
Merge pull request #454 from chme/queue
Unique queue item ids and proper implementation of mpd commands 'plchanges' and 'plchangesposid'
2017-12-09 18:31:36 +01:00
chme 0b07cff633 [player] Only update queue item in metadata_update_cb on changed
metadata. This avoids an unnecessary update query and queue change
notification (leading to clients requesting the unchanged queue).
2017-12-09 11:01:41 +01:00
chme 2ee02d407b [mpd] Add support for version and ranges to 'plchanges' and
'plchangesposid'
2017-12-09 11:01:41 +01:00
chme 912635e737 [db] Update queue_version for changed queue items 2017-12-09 11:01:41 +01:00
chme 91573752d9 [db] Update v19.05 to v19.06
- queue table: define id column as AUTOINCREMENT (requires drop+create)
- queue table: add column queue_version
- files table: update http-stream virtual paths (constructing the
virtual path for http-streams changed in pr #449, this migrates existing
databases to be consistent to the newly created paths)
2017-12-09 11:01:41 +01:00
chme 7083c65314 [main/httpd] Configurable web root directory over cli parameter 2017-12-03 10:46:50 +01:00
chme 8776aa36e2 [player] Trigger SPEAKER event after finishing the command speaker_set 2017-12-03 10:46:03 +01:00
chme d839e8cabb [listener/player] Adjust code comment for LISTENER_SPEAKER event 2017-12-03 10:46:03 +01:00
chme 00e9a4a5d5 [htdocs] Use minified version of vue.js 2017-12-03 10:46:03 +01:00
chme 1689182432 [player/raop] Trigger the SPEAKER event if device verification
succeeded/failed
2017-12-03 10:46:03 +01:00
chme 24782f5d45 [htdocs] List outputs in web interface and support device verification 2017-12-03 10:46:03 +01:00
chme eece4ce768 [ws] Listen and notify about output events 2017-12-03 10:46:03 +01:00
chme 80c1ef3114 [jsonapi] New endpoints for outputs and device verification 2017-12-03 10:46:03 +01:00
chme f696229fff [player/dacp/mpd] Pass additional information to speaker enum callback 2017-12-03 10:46:03 +01:00
Wolfgang Scherer b363c0dac2 [mpd] Consistent playlist name setup (#450) 2017-12-02 16:45:11 +01:00
Wolfgang Scherer bb451802d2 [db] Queue notification when metadata changes (#448) 2017-12-02 16:44:29 +01:00
Wolfgang Scherer 0d006904da [scan] Consistent HTTP virtual paths (#449) 2017-12-02 16:44:01 +01:00
ejurgensen 617a0992d0 [http] Align indentation with the rest of the code 2017-11-27 17:53:59 +01:00
Wolfgang Scherer 8f899f2051 [http] .pls playlists (#447) 2017-11-27 09:48:17 +01:00
Wolfgang Scherer dcc6fcf206 [mpd] Close connection for close command (#444) 2017-11-21 19:29:17 +01:00
chme 4800f9943b [db] Rename 'ADMIN_*' defines to 'DB_ADMIN_*' 2017-11-19 22:08:23 +01:00
chme 96bcaa9102 [mpd] Fix noidle command returning an error; fix format error in stats
command
2017-11-19 22:08:23 +01:00
chme 65444bba47 [mpd] Fix missing free for query_params.filter (mostly in case an error
occured)
2017-11-19 22:08:23 +01:00
chme 360439f448 [mpd] Cosmetic changes: fix indentation, use bool instead of int 2017-11-19 22:08:23 +01:00
chme a0a6b7d473 [mpd] Send correct value for uptime in 'stats' command 2017-11-19 22:08:23 +01:00