Deluan
036f9d6730
Flush albums and artists after each folder added/updated/deleted
2020-07-22 12:56:50 -04:00
Deluan
f96e2f6c4f
Process deleted folders even if there are no changed folders
2020-07-22 01:29:44 -04:00
Deluan
7a5285ae47
When deleting folders, only flush artists/albums after deleting the mediaFiles
2020-07-22 01:00:16 -04:00
Deluan
ba347bc0b1
Detect moved folders
2020-07-22 00:42:12 -04:00
Deluan
d268075046
Change the default scanner to use new implementation
2020-07-19 21:39:06 -04:00
Deluan
feca030c6d
Give warning when playlists are not imported due to not having an admin user
2020-07-19 13:58:46 -04:00
Deluan
6adba03868
Renamed misleading function name
2020-07-17 22:55:51 -04:00
Deluan
609d172259
Use first admin user for all scan operations
2020-07-17 22:55:51 -04:00
Deluan
9cf8c92cae
Break up processChangedDir into smaller functions
2020-07-17 22:55:51 -04:00
Deluan
8f512a40f7
Refactored playlist auto-import support
2020-07-17 22:55:51 -04:00
Deluan
b9b6ce066b
Auto-Import playlists found in the Music Folder
2020-07-17 22:55:51 -04:00
Deluan
3239be4a4d
Change log level of some scanner operations
2020-07-17 12:49:37 -04:00
Deluan
51c295d1de
Add new scanner algorithm, can be enabled with DevNewScanner config option
2020-07-17 12:06:49 -04:00
Deluan
de0cc1f268
Move LoadAllAudioFiles tests to the proper test file
2020-07-16 18:18:48 -04:00
Deluan
e7f6ba8f35
Move LoadAllAudioFiles function to the right file
2020-07-16 17:42:26 -04:00
Deluan
aae43f4452
Remove unneeded `\n`
2020-07-13 11:49:06 -04:00
Deluan
d4347f20ae
Remove redundant log message
2020-07-12 20:42:38 -04:00
Deluan
ee0ae0a06c
Fix lint errors
2020-07-12 13:36:22 -04:00
Deluan
064da8e034
Add more trace logging to scanner
2020-07-12 13:30:03 -04:00
Deluan
c2f40ea8a3
Show totals at the end of scan
2020-07-12 12:35:23 -04:00
Deluan
f694e471fb
Make private types unexported
2020-07-12 11:55:19 -04:00
Deluan
dc8368c89c
Return counter from DeleteByPath
2020-07-12 11:53:07 -04:00
Deluan
2f8b01015d
Change log level for "path unavailable"
2020-07-04 11:36:57 -04:00
Deluan
17830d63b4
Ignore m3u files when scanning
2020-07-03 21:06:33 -04:00
Deluan
bcaf330233
Make sure to select cover art from media_file that has it. Fix #360
2020-06-27 22:16:07 -04:00
Deluan
ab1c943d1f
Force album/artist refresh when folder changes, to cater for cover art files
2020-06-27 18:41:55 -04:00
Deluan
eb109ebeb4
Remove duplicated helper functions, move them to `utils` package
2020-06-24 20:48:42 -04:00
Deluan
653b5ea9d3
Replace map[string]bool with map[string]struct{}
2020-06-14 03:11:16 -04:00
Deluan
e73b71aaf7
Remove tracks from DB that were deleted while Navidrome was not running. Fixes #151
2020-06-14 03:11:16 -04:00
Deluan
01919661e9
Skip unreadable directories. Fixes #328
2020-06-14 03:11:16 -04:00
Deluan
3190611ec8
Call `ffmpeg` in batches
2020-06-14 03:11:16 -04:00
Deluan
238020c839
Handle folders with lots of albums and/or artists
2020-06-14 03:11:16 -04:00
Deluan
17df63b550
Fix `child.size` and `directory.playCount` compatibility with Subsonic API. Fixes #304
2020-05-19 23:51:23 -04:00
Deluan
a4183aea8c
Unexport private functions
2020-05-18 15:06:33 -04:00
Deluan
9e845cb116
Skip scanning folders if they contain a `.ndignore` file. Closes #297
2020-05-18 14:37:01 -04:00
Deluan
5ce3135f00
Fix gosec's G601
2020-05-13 15:32:42 -04:00
Deluan
0d9361734f
Import and display disc subtitles
2020-05-12 12:57:53 -04:00
Deluan
5862157a2c
Move test file to fixtures folder
2020-04-28 11:59:47 -04:00
Deluan
ddeefad501
Fix `goimport` and `gosec` warnings
2020-04-26 15:07:36 -04:00
Deluan
5cd453afeb
Fix all `errcheck` warnings
2020-04-26 15:07:36 -04:00
Deluan
03c3c192ed
Fixing static checks about passing nil context
2020-04-26 15:07:36 -04:00
Deluan
1dd3a794f8
Reduce level of "invalid year" log message
2020-04-24 16:00:14 -04:00
Deluan
6c5dd245fe
Parse TSO2 (seems that ffmpeg does not process this tag in some situations)
2020-04-24 15:02:20 -04:00
Deluan
371e8ab6ca
Generate Order Fields based on sanitized version of original fields
2020-04-24 15:02:20 -04:00
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