Commit Graph

168 Commits

Author SHA1 Message Date
chme
05141480e2 [player/db] Increment queue version if shuffle mode is turned off
This fixes showing the wrong queue in the player web interface after
turing shuffle mode off.
2018-11-11 07:01:22 +01:00
chme
8d8663e93d [db/queue] Support adding non-library items at a given position to the
queue
2018-10-25 19:36:43 +02:00
chme
7252b3e509 [db] Add support to add items to the queue at specified position 2018-09-16 09:36:43 +02:00
ejurgensen
fde0a28142 Support for skip_count and time_skipped file metadata 2018-08-18 22:56:27 +02:00
chme
41e99ca3cd [db/mpd/jsonapi] Include artist and album count in filecount query; add
count endpoint and additional metadata to JSON API; remove unused
artist-/album-count queries
2018-05-09 22:29:52 +02:00
chme
6ceede44f4 [db] Use default -1 for playlists.query_limit column 2018-04-15 22:11:40 +02:00
chme
f167e975c2 Unify naming of "order by" clause in structs/table 2018-04-15 22:11:40 +02:00
chme
6bdcda1524 [db/filescanner] Upgrade database to v19.08 and support limit/order by
in smart playlist files
2018-04-15 22:11:40 +02:00
chme
9708e26dd1 [db] Add support for ORDER BY and HAVING clause in query parameter 2018-04-15 22:11:40 +02:00
chme
7dd8955a92 [filescanner] Add http stream to the library prior to adding to a
persistent playlist
2018-04-15 22:09:28 +02:00
chme
60ebac076b Refactor adding non library items to the queue
Instead of asking a client to first scan the path into a media_file_info
object and afterwards add it to the queue, we now offer a library
function to directly add a path.

The library-source that can handle the given path translates the path
into new queue item(s) and adds them to the queue.
2018-04-15 22:09:28 +02:00
chme
66bdb7c0a9 [db] Add function to get a human readable string for data and media kind 2018-03-14 19:21:57 +01:00
chme
f47a17e186 [db] Remove unused function "db_queue_get_pos_byfileid" 2018-03-08 21:50:41 +01:00
ejurgensen
ea6fd1476a [db] Improve speed of browse queries (issue #478)
Before, we returned either unordered (for RSP, meaning client had to
sort) or ordered by a client selected sort_clause[]. The latter are
multi-purpose and therefore not optimised for browse queries.

To speed up, we predefine the entire set of browse queries, including
order, with matching indices. The predefined queries are used except
if the client explicitly requests a non-default order or query.

As a special bonus, the commit also allows queries with I_SUB that
have an offset but no limit.
2018-03-02 21:11:31 +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
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
ef52f4ddc0 Rework user rating updates 2017-12-15 19:08:32 +01:00
chme
912635e737 [db] Update queue_version for changed queue items 2017-12-09 11:01:41 +01:00
chme
4800f9943b [db] Rename 'ADMIN_*' defines to 'DB_ADMIN_*' 2017-11-19 22:08:23 +01:00
chme
f49a3c888a [db] Store start time in admin table 2017-11-19 22:08:23 +01:00
chme
38ab4b9676 [db] Functions to read/store int in the admin table and introduce
constants for admin table keys
2017-11-19 22:08:23 +01:00
chme
ea0cc64aa3 [db] Add functions to read/store int64 values in admin table 2017-11-17 18:12:03 +01:00
ejurgensen
b710d728f8 [db] Add a free_query_params function 2017-11-11 22:20:09 +01:00
ejurgensen
bf8fa1c3f0 [db] Remove poorly performing and now unused _bymatch() functions 2017-10-17 23:11:31 +02:00
ejurgensen
00b7b97382 [db] Make I_FNAME index case insensitive and search fname using COLLATE NOCASE
Also some cleaning up
2017-10-17 23:11:31 +02:00
ejurgensen
88a565ea2c [db] Replace sqlite3_xxx() calls outside db.c/cache.c so they are abstracted 2017-10-17 23:11:31 +02:00
ejurgensen
47585d0d03 [db] Add methods db_mprintf() and db_snprintf() which wrap sqlite 2017-10-17 23:11:31 +02:00
ejurgensen
4d47307a02 [db/filescanner] Add index on fname, change playlist matching (wip) 2017-10-17 23:11:31 +02:00
ejurgensen
65b4c579f3 [db] Add method db_pl_ping_items_bymatch() 2017-10-17 23:10:21 +02:00
ejurgensen
b9621102f4 [db] Remove db_file_stamp_bypath(), not required any more 2017-10-17 23:10:21 +02:00
ejurgensen
fe731c0993 [db] Add new method db_file_ping_bypath() + cleanup malloc->calloc and char->const char 2017-10-17 23:10:21 +02:00
chme
0b2ee5a9eb [db/mpd] Simplify getting file count from db 2017-08-27 11:54:32 +02:00
chme
ff4b388d26 [db] Use db_get_one_int in db_pl_id_bypath 2017-08-07 20:13:46 +02:00
ejurgensen
f63d103753 [raop] Add support for Apple TV device verification, required by tvOS 10.2 (fix for issue #377)
- also change how speakers are saved/retrieved from the db
- add generic authorization methods in outputs.c and player.c
- let filescanner read *.verification files (containing PIN)
- configure options to enable and disable, since libsodium is required
2017-06-19 21:52:01 +02:00
ejurgensen
0e9bca9e3d [db] Add column for auth key to speakers table (incl methods for saving/retrieving) 2017-06-18 01:29:40 +02:00
chme
3f10dac2f7 [dacp] Start playback from selected song in shuffle mode (#379) 2017-04-17 10:46:24 +02:00
ejurgensen
3a35a51cb9 [db] Align naming of struct query_params pointers et al 2017-04-16 23:54:07 +02:00
chme
cc899651c7 [db] New function to add a media file info as a new queue item 2017-03-19 18:30:46 +01:00
chme
1dde41fb87 [mpd] Fix wrong db playime info in 'stats' command (#360) 2017-03-04 17:23:52 +01:00
chme
3896f61d06 [dacp] Keep the now playing item in the queue when calling (#353)
playqueueedit_clear
2017-02-11 09:28:35 +01:00
ejurgensen
4d4a4ffd70 [db] Remove special icy update function, add db_queue_update_item()
- we will use the latter generalised form from now on, even though it is perhaps a tad slower
2017-01-27 22:36:00 +01:00
ejurgensen
18918ce489 [db] Rename db_file_save_seek -> db_file_seek_update 2017-01-27 22:35:15 +01:00
chme
ae1a45bacc [library/spotify] Implement rescan in spotify.c and purge old files
after rescan
2017-01-13 18:56:37 +01:00
chme
56ce3f9cba [library/filescanner/spotify] Add library source abstraction and new
"library" thread

- Implement filescanner as a library_source
- Add library source implementation for spotify
- Move process_media_info to library with small adjustments:
  - Remove dependency to F_SCAN_TYPE defines
  - Pass data_kind as parameter
  - Pass media_kind and compilation as parameter if a source forces a
specific value for these
- Move declaration of scan_ffmpeg to library; add
library_add_playlist_info to library
2017-01-13 18:56:37 +01:00
ejurgensen
27946a472b [artwork] Add handler for playlist local artwork (for http items)
- ref https://www.raspberrypi.org/forums/viewtopic.php?p=1090166#p1090166
2017-01-06 19:35:05 +01:00
ejurgensen
1748430c48 [db] Review of cache regeneration triggers 2016-12-18 21:18:15 +01:00
chme
7856498951 [db] Remove unused functions db_files_update_songartistid,
db_files_update_songalbumid
2016-12-17 16:17:23 +01:00
chme
3d3c27190b [db] Add function to cleanup the 'groups' table (artists and albums)
Allows removing of item no longer referenced from the files table
2016-12-17 07:38:47 +01:00
chme
de61a3a851 [db] Remove db_admin_update and rename db_admin_add 2016-12-10 06:15:43 +01:00