Deluan
f7d25b17aa
Fix SIGSEGV error (proper handling of empty frames)
2023-12-27 18:25:10 -05:00
Deluan
6cf825ec92
Fix merge errors
2023-12-27 17:07:49 -05:00
Deluan Quintão
86d2c0fdf7
Merge branch 'master' into os-lyrics
2023-12-27 16:59:28 -05:00
Deluan
798b03eabd
Add "inspect" command to CLI
2023-12-27 12:41:28 -05:00
Deluan
ea7ba22699
Discard duplicated tags
2023-12-26 19:35:14 -05:00
Andrew Katsikas
b4815ecee5
Add TAK support ( #2745 )
...
* bug(consts/mime_types): tak-support - 2514
Add tak to mime_types audioFormats
Signed-off-by: apkatsikas <apkatsikas@gmail.com >
* bug(scanner): tak-support - 2514
Add tak test fixture file and add fixes for tag_scanner and walk_dir_tree tests
Signed-off-by: apkatsikas <apkatsikas@gmail.com >
* Remove comment
---------
Signed-off-by: apkatsikas <apkatsikas@gmail.com >
2023-12-26 18:39:15 -05:00
Deluan
51e07d4cb5
Add log.IsGreaterOrEqualTo, that take into consideration path-scoped log levels
2023-12-25 16:35:16 -05:00
Deluan
03119e5ccf
Add more trace log to TagLib Wrapper
2023-12-23 14:10:38 -05:00
Deluan
42c976b656
Add trace log
2023-12-22 21:40:26 -05:00
Deluan
a6ed0442f2
Name mapDates return values
2023-12-20 16:29:39 -05:00
Kendall Garner
f41b52d5bb
Merge branch 'os-lyrics' of github.com:kgarner7/navidrome into os-lyrics
2023-12-17 19:25:40 -08:00
Kendall Garner
f58f3dcbfc
address some concerns, make cpp a bit safer
2023-12-17 19:24:09 -08:00
Deluan Quintão
be7eba836b
Merge branch 'master' into os-lyrics
2023-12-16 14:03:05 -05:00
Deluan
0e3175ea17
Better workaround for Go 1.20 missing context.WithoutCancel
2023-12-16 13:33:03 -05:00
Deluan
d3f6b4692d
Temporary fix for scan context cancellation for Go 1.20
2023-12-15 07:59:34 -05:00
Deluan
70effa09e8
Don't cancel Scan on context cancellation
2023-12-14 22:52:48 -05:00
Kendall Garner
6e6f7304ed
store as json now
2023-12-09 20:46:57 -08:00
Kendall Garner
66ca4ccecf
Merge branch 'master' into os-lyrics
2023-12-09 14:29:29 -08:00
Deluan Quintão
0ca0d5da22
Replace beego/orm with dbx ( #2693 )
...
* Start migration to dbx package
* Fix annotations and bookmarks bindings
* Fix tests
* Fix more tests
* Remove remaining references to beego/orm
* Add PostScanner/PostMapper interfaces
* Fix importing SmartPlaylists
* Renaming
* More renaming
* Fix artist DB mapping
* Fix playlist updates
* Remove bookmarks at the end of the test
* Remove remaining `orm` struct tags
* Fix user timestamps DB access
* Fix smart playlist evaluated_at DB access
* Fix search3
2023-12-09 13:52:17 -05:00
caiocotts
2f2fbeb009
Fix ld warnings on taglib_wrapper.
2023-12-04 15:19:12 -05:00
Kendall Garner
894f2bf410
use int instead for windows
2023-12-03 16:47:59 -08:00
Kendall Garner
ce0ad4a04b
taglib 1.12 vs 1.13
2023-12-03 16:35:10 -08:00
Kendall Garner
8c0921ba8c
add id3 tags
2023-12-03 16:30:51 -08:00
Kendall Garner
ed8bcdc0e6
make taglib work again???
2023-12-03 15:30:13 -08:00
Kendall Garner
baf73e6f21
fight taglib. again
2023-12-03 15:25:50 -08:00
Kendall Garner
6a48069133
remove unnecessary line
2023-12-03 15:16:06 -08:00
Kendall Garner
c1d4fa8780
sylt, move some things to wrapper
2023-12-03 15:03:46 -08:00
Kendall Garner
742fd16a01
Parse more itunes keys, optimize taglib wrapper ( #2680 )
...
* parse more itunes keys
* Move special iTunes M4A logic to Go code
* Simplify ASF/WMA tags handling
* Simplify ASF/WMA tags handling even more, moving compilation logic to `metadata` normalizer
* Remove strdups from C++ code, `C.GoString` already duplicates the strings
* reduced set
* remove strdup
* Small nitpick
---------
Co-authored-by: Deluan <deluan@navidrome.org >
2023-12-03 14:19:16 -05:00
Kendall Garner
9014cba4f6
round 2 changes
2023-11-25 20:46:07 -08:00
Kendall Garner
2e37a3f4d6
time to fight pipeline
2023-11-25 20:42:40 -08:00
Kendall Garner
d71bd3c1ef
Merge remote-tracking branch 'upstream/master' into os-lyrics
2023-11-25 20:29:35 -08:00
Kendall Garner
c529c47054
draft commit
2023-11-25 20:16:10 -08:00
Deluan
9aa7b80d0d
Generalize BreakUp/RangByChunks functions
2023-11-25 12:13:36 -05:00
caiocotts
eebfbc5381
Revert walk_dir_tree.go back to using the os package.
2023-11-21 07:17:22 -05:00
Kendall Garner
79870b1090
Do not empty old artist metadata ( #2423 )
2023-11-16 19:20:37 -05:00
Kendall Garner
3debd31b12
Add more replaygain tests, fix wma ( #2356 )
...
* add more replaygain tests, fix wma
* Convert individual specs to a table spec
* Fix pipeline, by commenting incompatible tests
---------
Co-authored-by: Deluan <deluan@navidrome.org >
2023-11-14 20:25:18 -05:00
certuna
40841ab917
Small date mapping fix ( #2584 )
...
* Update mapping.go
fallback in the case there's no Date tagged but Original Date or Release Date are tagged
* Add tests
---------
Co-authored-by: Deluan <deluan@navidrome.org >
2023-11-11 17:13:07 -05:00
certuna
03175e1a9d
Use file creation date for Date Added/CreatedAt ( #2553 )
...
* Update mapping.go
CreatedAt = BirthTime
* Update metadata.go
Add BirthTime() function
* Update spread_fs.go
Replacing djherbis/atime package with djherbis/times, as times includes the functionality of atime
* Update go.mod
remove djherbis/atime, add djherbis/times
* Update mapping.go
time package not used anymore
* Update go.sum
removed djherbis/atime, added djherbis/times
* Update spread_fs.go
revert to previous, cannot get rid of /atime after all since it's a dependency of /fscache
* Update go.mod
djherbis/times 1.6.0 now released
* Update go.sum
new sums
* Update metadata.go
Inverted if statement, more readable
* Update go.mod
format fix
* Update go.sum
format fix
* Update go.sum
format fix
* Update go.sum
format fix
* Update metadata.go
variable name times -> fileProperties
check for errors
* Update metadata.go
reverse order of error check
* Update metadata.go
typo
* Update metadata.go
https://github.com/navidrome/navidrome/pull/2553#issuecomment-1787967615
2023-11-01 16:41:07 -04:00
Sam Watson
26472f46fe
POST endpoint for importing m3u playlists - #2078 ( #2273 )
...
* wip: API endpoint for creating playlists from m3u files
* wip: get user id from context
* temporarily disable failing test
* custom logic for playlist route to accomodate m3u content type
* incorporate playlist parsing into existing logic in core
* re-enable test
* fix locally failing test
* Address requested changes.
* Improve ImportFile tests.
* Remove ownerID as a parameter of ImportM3U.
* Write tests for ImportM3U.
* Separate ImportM3U test into two.
* Test OwnerID and playlist Name.
---------
Co-authored-by: Sam Watson <SwatsonCodes@users.noreply.github.com >
Co-authored-by: caiocotts <caio@cotts.com.br >
2023-11-01 14:59:47 -04:00
BenzLeung
3e14c3c4f8
Add support for lyrics tag unsynced lyrics ( #2391 )
...
* Add support for lyrics tag `unsynced_lyrics`
* Update metadata.go
* Update metadata.go
resolve lint issue
* format the code with `goimports`
format the code with `goimports`
2023-06-20 09:32:49 -04:00
Philipp Wolfer
c8608956be
Fix listenbrainz submission and clarify MusicBrainz recording ID field ( #2279 )
...
* Fix MB recording ID parameter name for ListenBrainz submission
This follows the ListenBrainz API documentation.
Fixes #1657
* Rename MediaFile.MbzTrackID to MbzRecordingID
This better reflects the actual data. That the MusicBrainz
recording ID is stored in file metadata as musicbrainz_trackid
is a historical artifact.
* Rename database column mbz_track_id to mbz_recording_id
2023-06-16 18:00:01 -04:00
David Casado
7c92a73208
Ignore playlists starting with a dot - #2367 ( #2390 )
2023-06-16 15:55:17 -04:00
Deluan
f5d97823e8
Fix original date (TDOR) mapping for ffmpeg extractor
2023-06-06 19:13:45 -04:00
Deluan
d6083dab6e
Re-apply "Refactor walkDirTree to use fs.FS" but remove context cancelation logic.
...
This reverts commit 6b3b4d83ff .
2023-06-04 15:06:19 -04:00
Deluan
6b3b4d83ff
Revert "Refactor walkDirTree to use fs.FS"
...
This reverts commit 3853c3318f .
2023-06-04 14:13:33 -04:00
Deluan
3853c3318f
Refactor walkDirTree to use fs.FS
2023-06-03 22:25:19 -04:00
Deluan
8faaa3cf91
Use table specs in getDate tests
2023-05-19 17:03:14 -04:00
certuna
52b77e4194
Support for Original Date, Release Date & splitting/grouping of album editions ( #2162 )
...
* Update AlbumGridView.js
* Update AlbumDetails.js
* Update AlbumDetails.js
* Create DoubleRangeField.js
* Update and rename DoubleRangeField.js to RangeFieldDouble.js
* Update RangeFieldDouble.js
* Update AlbumGridView.js
* Update AlbumDetails.js
* Update RangeFieldDouble.js
* Update index.js
* Update RangeFieldDouble.js
* Update RangeFieldDouble.js
* Update RangeFieldDouble.js
* Update RangeFieldDouble.js
* Update RangeFieldDouble.js
* Update AlbumDetails.js
* Update RangeFieldDouble.js
* Update AlbumDetails.js
* Update RangeFieldDouble.js
* Update AlbumDetails.js
* Update RangeFieldDouble.js
* Update RangeFieldDouble.js
* Update AlbumDetails.js
* Update AlbumDetails.js
* Update RangeFieldDouble.js
* Update RangeFieldDouble.js
* Update AlbumDetails.js
* Update RangeFieldDouble.js
* Update AlbumDetails.js
* Update en.json
* Update en.json
* Update AlbumDetails.js
* Update RangeFieldDouble.js
* Update AlbumGridView.js
* Update AlbumDetails.js
* Update AlbumSongs.js
* Update ContextMenus.js
* Update SongDatagrid.js
* Update AlbumSongs.js
* Update SongDatagrid.js
* Update SongDatagrid.js
* Update SongDatagrid.js
* Update AlbumSongs.js
* Update SongList.js
* Update playlist_track_repository.go
* Update 20230113000000_release_year.go
* Update PlayButton.js
* Update mediafile_repository.go
* Update album.go
* Update playlist_track_repository.go
* Update playlist_track_repository.go
* Update SongDatagrid.js
* Update 20230113000000_release_year.go
* Update SongDatagrid.js
* Update AlbumSongs.js
* Update SongDatagrid.js
* Update SongDatagrid.js
* Update SongDatagrid.js
* Update SongDatagrid.js
* Update AlbumDetails.js
* Update AlbumSongs.js
* Update AlbumSongs.js
* Update RangeFieldDouble.js
* Update SongDatagrid.js
* Update 20230113000000_release_year.go
* Update 20230113000000_release_year.go
* Update 20230113000000_release_year.go
* Update 20230113000000_release_year.go
* Update AlbumSongs.js
* Update AlbumSongs.js
* Update mapping.go
* Update RangeFieldDouble.js
* Update AlbumGridView.js
* Update AlbumSongs.js
* Update en.json
* Update SongDatagrid.js
* Update SongDatagrid.js
* Update metadata.go
* Update mapping.go
* Update AlbumDetails.js
* Update AlbumGridView.js
* Update RangeFieldDouble.js
* Update mapping.go
* Update metadata.go
* Update mapping.go
* Update AlbumDetails.js
* Update 20230113000000_release_year.go
* Update AlbumDetails.js
* Update en.json
* Update configuration.go
* Update mapping.go
* Update configuration.go
* Update mediafile.go
* Update metadata.go
* Update RangeFieldDouble.js
* Update 20230113000000_release_year.go
* Update configuration.go
* Update mapping.go
* Update mediafile.go
* Update mapping.go
* Update RangeFieldDouble.js
* Update RangeFieldDouble.js
* Update RangeFieldDouble.js
* Update RangeFieldDouble.js
* Update RangeFieldDouble.js
* Update 20230113000000_release_year.go
* Update AlbumDetails.js
* Update RangeFieldDouble.js
* Update mapping.go
* Update metadata.go
* Update album.go
* Update mediafile.go
* Update mediafile.go
* Update album.go
* Update fields.go
* Update mediafile_repository.go
* Update playlist_track_repository.go
* Update AlbumSongs.js
* Update SongDatagrid.js
* Update PlayButton.js
* Update SongList.js
* Update ContextMenus.js
* Update SongDatagrid.js
* Update metadata.go
* Update ArtistShow.js
* Update mapping.go
* Update configuration.go
* Update mapping.go
* Update metadata.go
* Update metadata.go
* Update mapping.go
* Update metadata.go
* Update metadata.go
* Update mapping.go
* Update 20230113000000_release_year.go
* Update 20230113000000_release_year.go
* Update mapping.go
* Update metadata.go
* Update metadata.go
* Update album.go
* Update mediafile.go
* Update AlbumDetails.js
* Update AlbumSongs.js
* Update album.go
* Update mediafile.go
* Update metadata.go
* Update mediafile.go
* Update 20230113000000_release_year.go
* Update 20230113000000_release_year.go
* Update album.go
* Update mediafile.go
* Update RangeFieldDouble.js
* Update AlbumDetails.js
* Update AlbumGridView.js
* Update en.json
* Update AlbumGridView.js
* Update RangeFieldDouble.js
* Update and rename 20230113000000_release_year.go to 20230113000000_release_date.go
* Update album.go
* Update mediafile.go
* Update fields.go
* Update playlist_track_repository.go
* Update mediafile_repository.go
* Update mapping.go
* Update metadata.go
* Update mapping.go
* Update SongDatagrid.js
* Update RangeFieldDouble.js
* Update index.js
* Update ContextMenus.js
* Update PlayButton.js
* Create FormatDate.js
* Update SongList.js
* Update AlbumDetails.js
* Update AlbumSongs.js
* Update AlbumSongs.js
* Update en.json
* Update AlbumDetails.js
* Update album.go
fixed conflict I think?
* Update mediafile.go
fixed conflict
* Format with goimports
* Update SongDatagrid.js
only show Cat # in desktop view
* Update metadata_internal_test.go
* Update metadata_test.go
* Delete test.mp3
* Add files via upload
mp3 test file with Date, Original Date and Release Date
* Update metadata_test.go
* Update metadata_test.go
* Update metadata_test.go
* Update metadata_test.go
* Update taglib_test.go
* Delete test.mp3
* Add files via upload
file with replaygain & dates
* Update AlbumGridView.js
* Update AlbumDetails.js
* Update AlbumSongs.js
* Update ContextMenus.js
* Update FormatDate.js
* Update PlayButton.js
* Update RangeFieldDouble.js
* Update SongDatagrid.js
* Update AlbumSongs.js
* Update SongDatagrid.js
* Update AlbumSongs.js
* Fix formatting
* Update mapping.go
* Update AlbumSongs.js
* Update SongDatagrid.js
* Update SongDatagrid.js
prettier
* Create RangeDoubleField.js
rename of RangeFieldDouble.js
* Update AlbumGridView.js
RangeFieldDouble -> RangeDoubleField
* Update mediafile.go
AllOrNothing() -> allOrNothing()
* Update metadata_internal_test.go
getYear -> getDate
* Update AlbumDetails.js
wrote suggested changes
* Update en.json
Editions -> Releases & fixed the field name
* Update configuration.go
Rename Editions -> Releases
* Update 20230113000000_release_date.go
Editions -> Releases
* Update album.go
Editions -> Releases
* Update mediafile.go
Editions -> Releases
* Update AlbumDetails.js
Editions -> Releases
* Update AlbumSongs.js
Editions -> Releases
* Update RangeDoubleField.js
Editions -> Releases
* Update SongDatagrid.js
Editions -> Releases
* Update index.js
FormatFullDate and RangeDoubleField
* Rename FormatDate.js to FormatFullDate.js
* Delete RangeFieldDouble.js
* Update mediafile.go
AllOrNothing -> allOrNothing
* Update mapping.go
Editions -> Releases
* Update AlbumDetails.js
prettier
* Update SongDatagrid.js
showReleaseRow -> showReleaseDivider
* Update AlbumSongs.js
showReleaseRow -> showReleaseDivider for clarity
* Update and rename 20230113000000_release_date.go to 20230515184510_add_release_date.go
- rename the migration file
- fixed the import to goose/v3
- additional db fields for original date & year
* Update 20230515184510_add_release_date.go
* Update fields.go
* Update album.go
* Update mediafile.go
* Update mapping.go
* Update AlbumDetails.js
* Update en.json
* Update AlbumDetails.js
* Update AlbumDetails.js
now hopefully prettier
* Update mapping.go
---------
Co-authored-by: Deluan <deluan@navidrome.org >
2023-05-19 15:27:47 -04:00
Deluan
010ba0d15c
Use table specs in ReplayGain tests.
...
Also use test.mp3 file from Release Date PR, trying to fix a conflict.
2023-05-19 14:49:15 -04:00
Kendall Garner
a19a643c65
Manually add replaygain tags for m4a ( #2346 )
...
* manually add replaygain tags for m4a
* Add replaygain tests for m4a, mp4, ogg
* add new valye for bitrate
2023-05-17 16:00:16 -04:00