chme
b9a7ce7dd2
[jsonapi] Add endpoint to retrieve details for a single track by its id
2019-01-31 09:42:53 +01:00
ejurgensen
c70f96fdec
[db] Fix integer overflow in bind_mfi (ref issue #683 )
...
Also drop DB_TYPE_CHAR since it's not really being used.
2019-01-30 23:34:00 +01:00
ejurgensen
7abf68200d
[scan] Fix parsing of iTunes "Play Date" tag ( fixes #683 )
...
"Play Date" tag was seconds since 1904 (an Apple Mac HFS+ timestamp), not a
Unix timestamp as we assumed. Seems Apple themselves realised that wasn't a
great idea (+ not a proper plist date type), and therefore provide "Play Date
UTC" as an alternative.
2019-01-30 22:32:46 +01:00
chme
81753d44a7
[mpd] Report support for protocol version 0.20
2019-01-28 22:40:25 +01:00
chme
f77c216650
[mpd] Refactor parsing filter/window arguments and add support for
...
"group" argument in "list" command
2019-01-28 22:40:25 +01:00
chme
e015032292
[mpd] Add duration attribute with millisecond precision
2019-01-28 22:40:25 +01:00
chme
5bd94df4a6
[mpd] Add listfiles command
...
For now listfiles simply returns the same result as lsinfo (no support
for listing files not part of the library)
2019-01-28 22:40:25 +01:00
chme
937d1e3f5f
[db] Add "group" attribute to query_params and allow grouping files
2019-01-28 22:40:25 +01:00
chme
06aaacbe8f
[smartpl] Fix wrong where clause for date field queries with "before"
...
keyword
2019-01-28 20:46:04 +01:00
chme
9fff02841b
[jsonapi] Fix error in web interface files-view if the library directory
...
end with a trailing slash
2019-01-28 15:00:18 +01:00
chme
238361ea25
[player] Fix segfault when getting single speaker/output by id
2019-01-26 17:50:30 +01:00
chme
b000803fe3
[misc] Add compiler hint to check format parameters
2019-01-26 10:08:11 +01:00
chme
1f2b608d62
[mpd] Fix wrong number of format parameters for safe_asprintf
...
Fixes a segfault in cases where the default playlist directory config
(in the mpd section of the configuration file) was set/activated.
2019-01-26 10:07:48 +01:00
chme
116c315a84
[player] Rename struct spk_info to player_speaker_info
2019-01-22 17:47:15 +01:00
chme
343c583229
[jsonapi] Support changing volume by the given step (increase/decrease
...
volume)
2019-01-21 11:11:20 +01:00
chme
db7b9c689b
[player] Add command to get a single speaker info by its id
2019-01-21 11:11:20 +01:00
chme
c165c55b5b
[jsonapi] Add player/toggle endpoint
...
Toggles playback state depending on the current player state:
- playing --> pause
- paused, stopped --> play
2019-01-20 12:03:50 +01:00
ejurgensen
741825d086
[cast] Add option to exclude speakers ( closes #659 )
2019-01-09 20:26:31 +01:00
chme
fb60a05228
[jsonapi] Add support for "playback", "clear" and "shuffle" parameters
...
in
"queue/items/add" endpoint
2019-01-05 07:21:36 +01:00
chme
77a19a6df9
[jsonapi] Add checks for failed playback start and return error code
2019-01-02 09:51:54 +01:00
chme
0f4cbb3375
[http/jsonapi] Use strtok_r instead of strtok
2019-01-02 09:51:54 +01:00
chme
f23732945b
[websocket] Support "database" notifications
2019-01-02 09:51:54 +01:00
chme
b3853ef0f3
[jsonapi] Check for empty "uris" parameter in queue/items/add (prevents
...
a segfault) and log failed requests in error log
2019-01-02 09:51:54 +01:00
chme
2ead24a2f7
[jsonapi] Add optional expression parameter to queue/items/add endpoint
...
Adds support to add tracks by a smart pl query expression
2019-01-02 09:51:54 +01:00
chme
ca99bf8718
[jsonapi] Sort files by filename and return directories in api/config
2019-01-02 09:51:54 +01:00
ejurgensen
cd7af46c36
[db] Generic version of db_drop_indices/triggers + fix memleak
...
Memleak in db_drop_triggers() in error case (array "index" not being freed)
2019-01-01 21:34:29 +01:00
chme
010e8b2959
[db] Fix missing creation of triggers for persistent ids in db init
2019-01-01 09:38:02 +01:00
ejurgensen
19c39bf133
[scan] Always use compilation_artist for tracks in compilation dir
...
Reason is that tracks in compilation dir are not to be trusted when it comes
to album_artist.
See afee99d5db (commitcomment-31807556)
.
2018-12-31 15:55:49 +01:00
ejurgensen
9929832b5f
[db] Don't zero play_count, skip_count, seek, time_played, time_skipped on update
...
If a file gets updated/rescanned we generally don't want to reset the above
values. This commit adds DB_FLAG_NO_ZERO, which marks a field so that
db_file_update() will only update it if the new value is non-zero (i.e. the
caller probably has a "better" value).
2018-12-31 15:55:49 +01:00
ejurgensen
734b4e9851
[db] Transfer some library tag fixup to the db's generic fixup
...
Transfer setting defaults for media_kind and item_kind. Also sets
default media_kind for queue_items.
2018-12-31 15:55:49 +01:00
ejurgensen
c3eb95d201
[db] Change use of compilation_artist, so that album_artist has preference
...
This change means that we will use album_artist even if compilation_artist
is configured, thus compilation_artist will only be used to override artist.
2018-12-31 15:55:49 +01:00
ejurgensen
9fc2065ada
[db] Use album_artist if we have no artist metadata
2018-12-31 15:55:49 +01:00
ejurgensen
8043ca1291
[db] Drop upgrade support for pre-v17 db versions
...
Also drop the old way of recreating the files table, it is now replaced by
db_table_upgrade().
2018-12-31 15:55:49 +01:00
ejurgensen
a4c254e6e7
[db] Recreate v20 files table, so that new constraints take effect if upgrading
...
The constraints on songalbumid and songartistid where changed with v20, so we
need to make sure they take effect when upgrading.
This commit tries to do the table recreation like sqlite recommends and without
manually crafted copy queries that are probably prone to errors.
Since we are recreating anyway, this commit also reorders the columns slightly.
It also includes auto-drop/recreation of triggers (should really have been its
own commit) during upgrade, like is already done with indices.
2018-12-31 15:55:49 +01:00
ejurgensen
1de8f39264
[db] Generic fixup + align fixing up between mfi, pli and queue_item
...
The idea here is to make sure the fixing up of tags is done in a consistent
manner. For strings, this means stuff like trimming and empty strings -> null
are applied the same unless there are special exception rules set. It also
means that defaults are applied the same across structs, e.g. "Unknown artist"
for both mfi->artist and queue_item->artist.
The change is also necessary because we want to remove trimming from the sql
query and instead implement it ourselves.
2018-12-31 15:55:49 +01:00
ejurgensen
fc5a66f86d
[misc] New utility functions: trim, atrim and safe_snprintf_cat
2018-12-31 15:55:49 +01:00
ejurgensen
d3121f4ec7
[db] Use prepared statements for file insert, update and ping
...
Get rid of the SQL query strings, since they are prone to errors and are
probably also slower that using prepared statements.
2018-12-31 15:55:49 +01:00
ejurgensen
53d7005547
[pipe] Error check of b64_decode return value
2018-12-29 16:50:27 +01:00
ejurgensen
103dda29f3
[misc] Move CHECK_NULL inside b64_decode (around the malloc)
...
To stay in line with general use of the macro
2018-12-29 16:39:52 +01:00
chme
788cb6f133
[pipe/raop] Check for NULL to avoid scan-build issues (in case of oom)
2018-12-29 16:34:56 +01:00
ejurgensen
a37fc0916f
[alsa] Fix scan-build issue: Argument with 'nonnull' attribute passed null
2018-12-29 16:34:56 +01:00
chme
2ffb94c9d1
[db] Fix scan-build issue "Argument with 'nonnull' attribute passed
...
null"
2018-12-29 16:34:56 +01:00
chme
46b37b2c80
[daapd] Fix scan-build issue "Dereference of null pointer"
2018-12-29 16:34:56 +01:00
chme
75432ce73f
[rtsp] Initialize addr to avoid scan-build issue "Assigned value is
...
garbage or undefined"
2018-12-29 16:34:56 +01:00
chme
f3a495cd37
[player] Fix memory leak if opening new source failed
...
player.c:2032:11: warning: Potential leak of memory pointed to by 'ps'
2018-12-29 16:34:56 +01:00
chme
b7f3e71f7e
[db_upgrade] Fix memory leak in error case
...
db_upgrade.c:72:7: warning: Potential memory leak
2018-12-29 16:34:56 +01:00
chme
21ce281cd1
[filescanner] Fix Use-after-free error
...
library/filescanner_ffmpeg.c:396:7: warning: Use of memory after it is
freed
2018-12-29 16:34:56 +01:00
chme
2a76e888f0
[player] Send notification on output added/removed
2018-12-29 08:46:00 +01:00
whatdoineed2do/Ray
e9f92ba1a7
[jsonapi] correct count of tracks added returned
2018-12-24 19:27:19 +00:00
chme
dcbe503686
[jsonapi] Return number of items added in queue/items/add endpoint
...
response
2018-12-20 11:19:47 +01:00