Commit Graph

106 Commits

Author SHA1 Message Date
ejurgensen
69fbd7b32a [library] Fix gcc 10 warning
And avoid a year 10000 doomsday
2020-06-28 23:23:52 +02:00
ejurgensen
de1b1c3805 [cfg] Remove hardcoding of strings for unknown album etc
Now configurable, since we don't have real localisation
2020-05-11 17:02:14 +02:00
whatdoineed2do/Ray
5a872dc436 [library] rss pulls channel->image->url if available 2020-04-30 20:28:36 +02:00
ejurgensen
a14a8458aa [scan] Remove iTunes_CDDB_IDs as album ID (closes #972)
Seems this ID is not reliable, it can be semi-empty, e.g. with a value of '16++'
2020-04-29 20:57:13 +02:00
ejurgensen
153eb40b6d [db] Remove some definitions of ARTWORK_XXX
The artwork db field should only be used to save media file artwork metadata,
which mostly means whether it has embedded artwork or not. It should not be
used to save where we found artwork for the file, since that is not static.

So this commit removes for instance ARTWORK_OWN, ARTWORK_DIR etc., which we
weren't using anyway.
2020-04-25 22:07:10 +02:00
ejurgensen
946853fdf4 [rss] Change feed virtual_path
Instead of /file:/https:/domain.podcast set it to /https://domain.podcast.com/xxxx
2020-04-25 21:51:00 +02:00
whatdoineed2do/Ray
f23ef1aa9c [library] RSS - protect against invalid pubdate 2020-04-24 19:04:45 +02:00
chme
5074b158bd [rss] Always use RSS feed title and author for album and artist 2020-04-18 11:46:44 +02:00
whatdoineed2do/Ray
3d869b0857 [library] RSS - reuse db file id when performing meta scan
Fixes issue when performing an 'api/rescan' (results in RSS_SCAN_META scan type
in this module) that would result in a library_media_save() -> a readd even for
entries that already exist in db.  This would result in dropping db record, incl
play_count etc instead of an update
2020-04-17 09:44:51 +01:00
whatdoineed2do/Ray
e5ff30e11b [scan] support #EXTGENRE: 2020-04-09 17:43:09 +01:00
ejurgensen
5651ce7694 [library] Use item title from RSS feed 2020-04-04 21:07:16 +02:00
ejurgensen
dbc798da4f [-] Workaround for mxml 2.10 memleak
2.10's mxmlDelete memleaks, and mxml is used in many parts of forked-daapd. So
to avoid that we ship upstream's fixed version of mxmlDelete and use that.
2020-04-04 21:07:16 +02:00
ejurgensen
2d8521139c [library] Add action to library_schedule_callback()
Makes it possible for the caller to request that a previous callback is
replaced, so we don't end up with more and more callbacks. Also add other
options for future use.
2020-04-04 21:07:16 +02:00
ejurgensen
2af7296723 [library] Ignore RSS items without URL's 2020-04-04 21:07:16 +02:00
ejurgensen
59fa33311d [library] Refactor RSS scanner 2020-04-04 21:07:16 +02:00
whatdoineed2do/Ray
d40131d38d [scan] RSS support: new library source - RSS scanner; periodically updates RSS feeds as found in db once subuscribed. Auto translates apple podcasts to RSS link 2020-04-04 21:07:16 +02:00
ejurgensen
cfecb4a5f5 [scan] Also support nested smart playlists (closes issue #923) 2020-03-23 23:46:52 +01:00
ejurgensen
51b7a8854c [scan] Add support for MUSICBRAINZ_ALBUMID tag (fixes issue #914) 2020-03-06 19:07:06 +01:00
ejurgensen
84aced0a3d [scan] Fix exit and error message if nested playlist is invalid 2020-02-08 13:38:24 +01:00
ejurgensen
6b007dcd26 [scan] Fixes for #d2f0d7b
* Don't treat m3u's with m3u URL's as nested playlists
* Dereference playlist paths in the m3u's
2020-02-08 12:11:14 +01:00
ejurgensen
5295d787ad [scan] Change library_playlist_save return + fix Spotify
* fix Spotify invalid mem access
* fix clearing of Spotify files
2020-02-08 10:55:15 +01:00
ejurgensen
da29fa5f93 [scan] Make sure new, nested playlists are scanned
During scanning we might find a new, nested playlist (so inside another m3u),
which we will then save. When the scanner then reaches the actual playlist file,
we must make sure to scan the contents of it. This means the timestamp when
saving the first time has to be set to a dummy value.
2020-02-08 10:55:15 +01:00
ejurgensen
4b60da5fb4 [scan] Minor changes to smart pl scanner 2020-02-08 10:55:15 +01:00
ejurgensen
4c86798182 [scan] Fix bug added to iTunes scanner
Incorrect title for meta playlist used in commit 9be7d8f
2020-02-08 10:55:15 +01:00
ejurgensen
77a8de3bea [scan] Fix db_pl_add() so it always returns correct id 2020-02-08 10:55:15 +01:00
ejurgensen
d94cf3f07f [scan] Add option to let m3u tags override ICY metadata (issue #891) 2020-02-08 10:55:15 +01:00
ejurgensen
189370df91 [scan] Update smartpl scanner to use filescanner util functions 2020-02-08 10:55:15 +01:00
ejurgensen
2a69869816 [scan] Update iTunes scanner to use new filescanner util functions 2020-02-08 10:55:15 +01:00
ejurgensen
46a9114948 [scan] Support for nested playlists
Also includes some refactoring of the playlist filescanner and some
rearrangement of filescanner.c functions.
2020-02-08 10:55:15 +01:00
ejurgensen
abdc0d6d27 [library] Some refactoring of the library module
Misc refactoring, e.g. alignment of how modules save tracks and playlists, incl
use of mfi and pli. Also try to avoid direct calls between library and player.
2020-02-08 10:55:15 +01:00
ejurgensen
16cfca1bfe [scan] Remove some id3 tags that ffmpeg parses better (issue #882)
ffmpeg parses TDA, TDAT, TYE, TYER and TDR these days, so there is no need
to do that in forked-daapd. Also the parsing of TDA/TDAT was incorrect,
since it is MMDD.
2020-01-14 20:33:39 +01:00
ejurgensen
8248d2fe9f [scan] Fix access violation if pls line has no '=' 2019-12-27 23:58:57 +01:00
ejurgensen
56d3f42598 Fix a few gcc 8 / scan-build compiler warnings 2019-09-22 00:51:17 +02:00
Christian Meffert
e608b763ef
Merge pull request #752 from whatdoineed2do/db-queue-quality
db queue to incl media quality info
2019-07-09 20:19:10 +02:00
whatdoineed2do/Ray
8f311d4360 [library] support forced metadata scan of library, via '.meta-rescan' file 2019-07-09 13:54:59 +02:00
whatdoineed2do/Ray
e2d62a62a4 [scan] extract 'channels' from (files) audio and type/bitrate/samplerate/channels from streams 2019-06-12 16:52:02 +01:00
Christian Meffert
cbd8d8a44d
Merge pull request #740 from whatdoineed2do/library-https-stream
[library] accept https:// streams
2019-05-18 07:36:45 +02:00
ejurgensen
35a585c23e [scan] Use MusicBrainz and other tags to set songalbumid
Credit to @whatdoineed2do for finding tags and suggesting this change.
2019-05-17 23:03:05 +02:00
whatdoineed2do/Ray
bc8a156132 [library] accept https:// streams 2019-05-12 11:07:08 +01:00
ejurgensen
55d9d9e6bd [xcode/artwork] Drop support for ffmpeg legacy versions 2019-04-08 22:06:56 +02: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
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
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
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
dc020cc3ac [db/filescanner/spotify] Set directory path 2018-12-18 08:28:19 +01:00
chme
a8e8dc1999 [library/db/filescanner/spotify] Reshuffle after adding non library
items to the queue
2018-11-11 07:01:22 +01:00
chme
4cf71bafcc
Merge pull request #605 from chme/play_next
[jsonapi] Add support for a position parameter in the queue/items/add endpoint
2018-11-02 18:38:10 +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
whatdoineed2do/Ray
3b10049d72 [filescanner] parse https streams for m3u 2018-10-23 10:06:11 +01:00
ejurgensen
4a16384d3a [filescanner] Convert plist timestamps to Unix when importing iTunes XML 2018-09-18 20:29:28 +02:00