Commit graph

215 commits

Author SHA1 Message Date
Deluan
69c19e946c Add sort tags and use them in search 2020-04-24 15:02:20 -04:00
Deluan
d7edbf93f0 Make test more reliable
In some systems, it was detecting the `go.mod` file as an audio file, probably because of the system's mime-type configuration
2020-04-24 11:05:17 -04:00
Deluan
5a072fbd10 Follow symlinks to directories when scanning 2020-04-23 20:31:44 -04:00
jvoisin
2ab647efe1 Add a test 2020-04-11 13:08:21 -04:00
jvoisin
04eb421186 Refactor a bit how ffmpeg is used to get metadata
- createProbeCommand returns a []string instead of (string, string[])
- Simplify the loop of createProbeCommand
2020-04-11 13:08:21 -04:00
Deluan
7bc3dace4c Revert "Improve ffmpeg's error diagnostic"
This reverts commit 4fc88f23
2020-04-09 14:26:42 -04:00
jvoisin
4fc88f23e9 Improve ffmpeg's error diagnostic
This should close #155
2020-04-09 10:40:16 -04:00
Deluan
9b272c8021 Small log tweak 2020-04-06 14:02:50 -04:00
Deluan
59707b3a8f Detect embedded art in ogg containers 2020-04-05 23:41:10 -04:00
Deluan
9b461735f4 Add comments to createXxxxCommand functions to clarify about the filepaths arguments being absolute paths 2020-04-03 14:49:35 -04:00
Deluan
3d6ce8a77f Skip calling ffmpeg if there are no files to probe 2020-04-02 17:38:20 -04:00
Deluan
dcb3b3b5d1 fix: various album_artists <-> artists mismatches 2020-03-26 09:08:53 -04:00
Deluan
100db2bcfd feat: add artist filter to album view 2020-03-25 20:40:18 -04:00
Deluan
b4c7cac964 refactor: moved magic strings to consts 2020-03-24 11:59:10 -04:00
Deluan
f6e448c1ba refactor: removed unused code, unnecessary typecasts and fixed small warnings 2020-03-20 00:07:36 -04:00
Deluan
fc14e346b9 feat: store duration as float, to cater for milliseconds 2020-02-20 17:02:06 -05:00
Deluan
5525145906 fix: audio stream's bitrate has precedence over container's bitrate 2020-02-20 13:56:45 -05:00
Deluan
74d87790b8 refactor: better ffmpeg output metadata parsing 2020-02-20 10:41:16 -05:00
Deluan
ae02dc203e chore: remove unused code 2020-02-19 09:08:05 -05:00
Deluan
fc7595a464 fix: cover art detection regex 2020-02-18 11:19:22 -05:00
Deluan
4ceaea7732 fix: extract stream level metadata 2020-02-18 10:00:05 -05:00
Deluan
894536c8ec Revert "fix: extract stream level metadata"
This reverts commit 92f6e55821.
2020-02-15 23:18:37 -05:00
Deluan
92f6e55821 fix: extract stream level metadata 2020-02-15 20:47:06 -05:00
Deluan
b2d022b823 fix: ignore environment dependant test 2020-02-13 20:19:51 -05:00
Deluan
ba08f00c20 feat: make rescan faster, only loading metadata from changed files 2020-02-13 20:18:17 -05:00
Deluan
d9993c5877 refactor: separate metadata extraction from audio files scanning 2020-02-13 10:03:52 -05:00
Deluan
edb839a41d fix: only update artists and albums if there were any changes in files 2020-02-12 23:05:10 -05:00
Deluan
400fa65326 feat: better scanner logging when level = info 2020-02-08 23:36:09 -05:00
Deluan
ab10719d27 fix: use a regex to match year in ffmpeg date field. close #63 2020-02-08 23:17:12 -05:00
Deluan
e33d2305a1 feat: support multiple year formats in the date tag (#63) 2020-02-06 14:44:50 -05:00
Deluan
6e2454f6cc refactor: add -i to ffmpeg ProbeCommand. make it more consistent with the DownsampleCommand 2020-02-03 23:04:58 -05:00
Deluan
4d06d250e6 fix: relative path was not working for rootFolder started with '.' 2020-02-03 17:53:59 -05:00
Deluan
694b5d1d39 tests: change test folder permissions 2020-02-03 17:53:59 -05:00
Deluan
5329ac7b72 refactor: better format for list of folders 2020-02-03 17:53:59 -05:00
Deluan
464880dd31 refactor: use stdlib filepath.FromSlash 2020-02-03 17:53:59 -05:00
Deluan
0e01f9a0f9 fix: use filepath.Join instead of path.Join 2020-02-03 17:53:59 -05:00
Deluan
de1fea64bc refactor: introduce GC, to delete old data 2020-02-01 17:23:03 -05:00
Deluan
71c1844bca refactor: new persistence, more SQL, less ORM 2020-02-01 17:23:03 -05:00
Deluan
c9f5625abf fix: skip files with errors during scan 2020-02-01 11:25:31 -05:00
Deluan
0d2911daf9 refactor: add Context to the persistence layer 2020-01-27 09:41:33 -05:00
Deluan
0ff741b394 fix: persistence tests were not being properly initialized 2020-01-26 17:10:13 -05:00
Deluan
461b7424e9 Ignore case in extracted tags 2020-01-24 09:46:59 -05:00
Deluan
bff6f3a4bd Rename env vars prefix to ND_ 2020-01-24 01:29:31 -05:00
Deluan
bee55c04c8 Rename project to Navidrome 2020-01-23 19:44:08 -05:00
Deluan
9557f7ceed Initial support for song browsing from UI 2020-01-22 10:47:43 -05:00
Deluan
e03304650d Fix compilation tag, again 2020-01-21 22:41:18 -05:00
Deluan
654831f79d Fix bug in compilation tag parsing 2020-01-21 17:31:24 -05:00
Deluan
3a44f37622 Add comment tag, still missing multiline comments 2020-01-21 10:05:00 -05:00
Deluan
22a0b7e170 Don't override input tags with stream tags 2020-01-21 09:52:34 -05:00
Deluan
c42e1bd2f5 Extract metadata from files in a directory in batch (one call to ffmpeg for all files) 2020-01-21 07:50:30 -05:00
Deluan
7529ae3752 Extract metadata with ffmpeg 2020-01-20 22:32:40 -05:00
Deluan
c6ed0d5377 Remove flag to allow override media annotation 2020-01-20 18:19:16 -05:00
Deluan
67eeb218c4 Big Refactor:
- Create model.DataStore, with provision for transactions
- Change all layers dependencies on repositories to use DataStore
- Implemented persistence.SQLStore
- Removed iTunes Bridge/Importer support
2020-01-19 16:28:09 -05:00
Deluan
fe058aa4a1 Don't override media annotations when scanning/importing 2020-01-18 21:45:44 -05:00
Deluan
a4b75fd69d Test "Compilation" tag 2020-01-18 11:19:00 -05:00
Deluan
58a080eded Handle folder moves in Scanner 2020-01-18 11:00:20 -05:00
Deluan
ccbdf688ea Reduced size of batches, to not break SQLite 2020-01-18 01:49:08 -05:00
Deluan
1929aaec1a Disabling tests that are not multi-platform, for now 2020-01-18 00:08:00 -05:00
Deluan
73597b22b4 Rewrite description of folder scan algorithm 2020-01-17 23:55:58 -05:00
Deluan
54d13d2022 Purge empty albums/artists 2020-01-17 23:28:11 -05:00
Deluan
ea9ed4a287 Fix ChangeDetector to keep the dirMap from last scan 2020-01-17 22:41:10 -05:00
Deluan
e55dfff485 Fix file descriptor leak 2020-01-17 21:23:26 -05:00
Deluan
c0beaa6377 Integrate ArtistIndex logic into Artist 2020-01-17 20:54:28 -05:00
Deluan
123f543a94 New Folder Scanner - WIP 2020-01-17 20:54:28 -05:00
Deluan
25686c1742 Preparing for new scanner 2020-01-14 21:51:35 -05:00
Deluan
a99c3a8af3 Another big refactor: Back to a single folder for persistence implementation 2020-01-14 18:47:57 -05:00
Deluan
614f4afe28 Implement Artist search with SQL, removed old search/indexer code 2020-01-13 16:06:30 -05:00
Deluan
28ee1f195c More logging in the Importer 2020-01-11 15:27:32 -05:00
Deluan
c9be5f7201 Storm ChecksumsRepository complete. 2020-01-11 15:27:32 -05:00
Deluan
11f4505925 Renamed persistence packages 2020-01-11 15:27:32 -05:00
Deluan
0ca691b37f Storm ArtistRepository and PropertyRepository complete. 2020-01-11 15:27:32 -05:00
Deluan
40904b220e Renamed Id to ID, following GoLang convention 2020-01-11 15:27:32 -05:00
Deluan
a4a8360a94 Add Dev flag to disable file presence verification 2020-01-11 15:27:32 -05:00
Deluan
24cbf766a3 Removed dependency on engine from persistence 2020-01-09 22:44:45 -05:00
Deluan
84d69a4f41 Replaced Beego logging 2020-01-09 22:44:45 -05:00
Deluan
3af9972b41 Remove Beego tasks, make Importer available through DI 2020-01-09 22:44:45 -05:00
Deluan
4c61ac3272 Fix default PlsIgnoredPatterns configuration 2020-01-06 15:17:44 -05:00
Deluan
9260a8b9ed Changes to itl were merged, reverting to the original repo 2017-04-01 09:51:25 -04:00
Deluan
c417a00e62 Renamed project to CloudSonic 2017-04-01 09:47:14 -04:00
Deluan
a7ccd76d54 Allowing album cover ids with prefix (al-) 2016-03-30 10:01:37 -04:00
Deluan
c2b1f9782b New configuration system 2016-03-30 00:05:57 -04:00
Deluan
3cc92a32bd Adding song and album counts 2016-03-27 20:13:00 -04:00
Deluan
9099e24413 Polishing 2016-03-26 22:34:20 -04:00
Deluan
0e20910061 Cleaning old data from artists indexes 2016-03-26 22:29:26 -04:00
Deluan
107321219a Trying to make code more manageable, before a big rewrite 2016-03-26 22:22:34 -04:00
Deluan
06828d8738 Polishing 2016-03-24 23:31:54 -04:00
Deluan
db8c09d503 Better log messages 2016-03-24 13:53:52 -04:00
Deluan
b9952bc3de Playlists support (99%) complete! 2016-03-24 13:28:20 -04:00
Deluan
b3215f057f Setting Album/Artist names to [Unknown} if missing 2016-03-23 12:00:40 -04:00
Deluan
0e1618a6ac Using PersistentIDs instead of "Database" IDs 2016-03-23 11:43:20 -04:00
Deluan
59a0ab3793 Fixed bug with StarredAt 2016-03-22 21:32:22 -04:00
Deluan
db992a9941 Small changes regarding StarredAt.
Making StarredAt more "precise", setting it to the time the change was detected.
getStarred.view now returns albums ordered by StarredAt.
loadRange method now take QueryOptions.Desc into account
2016-03-22 19:00:18 -04:00
Deluan
2a2af2f57a Adding Album total time (Duration) 2016-03-21 21:14:04 -04:00
Deluan
a9d7d4d242 Even more metadata for playlists 2016-03-21 12:26:55 -04:00
Deluan
0b286afa08 UserRatings for Albums and MediaFiles 2016-03-21 10:24:40 -04:00
Deluan
5fd9da505e More metadata for children (albums/mediafiles) 2016-03-21 09:52:32 -04:00
Deluan
508bf7152f Removing purged ids from the search index 2016-03-18 19:50:21 -04:00
Deluan
3790aa45e4 Refactored PurgeInactive as a "generic" function.
Also delete indexes when removing records
2016-03-18 19:32:49 -04:00
Deluan
c90a50827a Get() methods from all repositories now return a ErrNotFound when the id is nonexistent 2016-03-18 11:33:50 -04:00
Deluan
a3238ce17b Cannot clear the index for now.
Have to come up with a solution to partially update the search index
2016-03-16 23:44:24 -04:00