Commit Graph

145 Commits

Author SHA1 Message Date
Bogdan 340ae78f46 Prevent NullRef in naming when truncating a null Release Group
(cherry picked from commit 13e29bd257ccfccb09e66c940ffabeb6503c05b5)
2024-03-08 08:29:21 +02:00
Stevie Robinson 0121095b3e New: Add additional CleanNameThe/CleanTitleThe naming tokens
(cherry picked from commit 81aaf00a4cd2b3a2f8ddf67226c13bb51ea39dda)

Add some translations and fix the validation for track naming

Closes #4197
2024-02-04 18:26:02 +02:00
Bogdan 57ac45fd8e Fixed: Naming validation when using max token length 2024-02-03 01:23:30 +02:00
Mark McDowall 18fc1de451 Add max token length (including ellipsis) for some tokens
New: Accept ':##' on renaming tokens to allow specifying a maximum length for artist, album, track titles and release group

(cherry picked from commit 19db75b36beaa5e549d903b136dbda300f1f8562)
2024-02-01 16:34:30 +02:00
Taloth Saldono 24b8029d2e Fixed: Release Year in renaming format for certain OS language cultures
Based-On: a0d2af54e8
(cherry picked from commit 87897d56ea62544a36986eb09d420649668d7400)
2024-02-01 16:28:49 +02:00
Stevie Robinson 8df5a5011b Use Diacritical.Net library for NameFirstCharacter token
(cherry picked from commit 59ea524e0ce85333779f430b867e93aae366289f)

Closes #4230
2023-11-02 00:52:27 +02:00
Stevie Robinson 2e91a61ccf Fixed: Cleanup First Character in Name when using 'NameFirstCharacter'
(cherry picked from commit b3c691859a0841cde9bb2655c01c240cc5279d74)

Closes #4179
2023-11-02 00:52:27 +02:00
Mark McDowall efa0a53f1c Fixed: Prevent conflicts with reserved device names
Closes #2346
Closes #2349

(cherry picked from commit dc7f46027aebf33b77d258a63c2ae973788cedd0)
2023-10-15 19:08:17 -05:00
Taloth Saldono 86130751c2 Fixed: Inserting literal { or } in renaming format using {{ or }}
Closes #1267
2023-08-25 04:13:21 +03:00
Bogdan 8d87b88147 New: Add Medium Name to multi disc track naming
Fix TrimSeparatorsRegex to match multiple characters

Fixes #4027
2023-08-18 19:54:36 +03:00
Taloth Saldono c86d5980d3 Fixed: Include extension when calculating maximum episode title length when renaming files
Fixed: Option to override max filename length with MAX_NAME environment variable

(cherry picked from commit 6efee036a826027391433b7d0c954ebc1a75c679)
2023-07-13 22:44:29 +03:00
Mark McDowall f4292be588 New: Limit filenames to a maximum of 255 characters
(cherry picked from commit 34d81356a3b3b378ce669ea65c5802b64efaad6e)
2023-07-13 22:44:29 +03:00
Bogdan cc27107668 Use 'var' instead of explicit type
(cherry picked from commit 12374f7f0038e5b25548f5ab3f71122410832393)

Closes #3749
2023-05-28 17:23:59 +03:00
Mark McDowall f308549ce4 Don't clean slashes from folder names
(cherry picked from commit 0bc16efe26d403ab89b8fdb092fe729cd4ec2d7b)
2023-05-14 21:41:49 +03:00
Mark McDowall b6967aed47 New: Colon replacement naming option
(cherry picked from commit b3260ba8661f3b2c6996eee7e04974e8f41365d5)
2023-05-14 21:41:49 +03:00
Bogdan f19c6e8ee1 Remove unused imports
Close #3651
2023-05-12 19:24:16 +03:00
Scott Fridlund 8a685be882 Adding Artist Id, Album Id, and Track Artist Id as file name options. 2023-05-01 22:23:50 -05:00
Bogdan ea0a78b620 Fixed: Migrate to FluentValidation 9 2023-04-29 00:39:04 -05:00
Qstick 1bc0b5f950 Enable all analyzers and enforce code style on build
Fixes #3406
Fixes #3407
Fixes #3408
Fixes #3409
Fixes #3410
Fixes #3411
Fixes #3412
Fixes #3413
Fixes #3414
Fixes #3415
Fixes #3416
Fixes #3417
Fixes #3418
Fixes #3419
Fixes #3420
Fixes #3421
Fixes #3422
Fixes #3423
2023-04-11 21:31:27 -05:00
Qstick 6af492a0b6 Fixed: Better colon replacement logic
Closes #2193

Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
2023-01-26 20:41:03 -06:00
Qstick 9fe13a2d14 New: Custom Formats
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
2023-01-22 16:38:04 -06:00
Qstick ec41951ea5 New: Album and Artist Genre Naming Tokens 2022-12-25 14:02:48 -06:00
Qstick f7548f9bb7 New: Artist name first character renaming token
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
2022-12-25 13:47:03 -06:00
Qstick c02b66ec44 Enforce comment spacing with Stylecop
Fixes #3104
2022-11-21 19:51:00 -06:00
Qstick b0327163ef Fix Lint Issue 2022-10-25 20:28:15 -05:00
Mark McDowall 970b68e808 New: Validate that naming formats don't contain illegal characters
Fixes #1768

(cherry picked from commit 145c644c9d8f1636027da8a782a7e74f3182c678)
2022-10-23 17:23:12 -05:00
Daniel Lo Nigro 187672b183
New: Token for track artist (as opposed to album artist) (#1910)
* New: Token for track artist (as opposed to album artist)

* - Move logic to AddTrackTokens instead of separate AddTrackArtistTokens method
- Just use the first artist name

* Update FIleNameSampleService to handle this token properly

* Fall back to album artist if there's no track artist

* Show tokens in naming modal
2021-04-16 07:22:36 -04:00
Qstick 774a3597de New: Remove AlbumFolder, Support Nested Track Format 2021-01-17 03:58:33 -05:00
Qstick a4b78b44ce StyleCop (#1058)
* Stylecop Rules and Fixes
2020-10-13 23:18:09 -04:00
ta264 8fe924fdcd New: Multi target net framework 4.6.2 and net core 3.0 2020-10-13 23:18:02 -04:00
Qstick 1425bc8bd9 New: Seperate Naming for Multi-Disc Albums 2019-08-31 11:01:44 -04:00
Qstick 8b860bcb82
Changed: Remove Language Profiles (#870)
* Changed: Remove Language Profiles

* fixup! Changed: Remove Language Profiles

* fixup! Changed: Remove Language Profiles

* Remove unused method in FileNameBuilder

* Fixed: Cleanup Int Converter Copy/Paste Issues and Grammar
2019-08-02 07:50:09 -04:00
ta264 166fc90454 New: Only scan files that are new or updated (#760)
* New: Only scan files that are new or updated

Pass through filter correctly

Add more tests

Add tests for migration 30

* Fix windows disk provider

* Don't publish deleted event for unmapped file

* Fix test on windows
2019-06-08 15:13:58 -04:00
Qstick 0c6cc4acdb New: AudioBitRate Naming Token 2019-04-22 16:28:25 -04:00
Qstick 3292fba66c
New: Artist Disambiguation Naming Token (#652) 2019-03-06 21:07:21 -05:00
ta264 b9cc94aa46 Fix: Don't use scene name for tracks when track naming disabled (#646) 2019-03-01 09:33:54 -05:00
Qstick 1cc12446b6 Fixed: Include matching value of preferred word regex, not actual regex
Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
2019-02-27 22:09:08 -05:00
Qstick 3f064c94b9
New: Release Profiles, Frontend updates (#580)
* New: Release Profiles - UI Updates

* New: Release Profiles - API Changes

* New: Release Profiles - Test Updates

* New: Release Profiles - Backend Updates

* New: Interactive Artist Search

* New: Change Montiored on Album Details Page

* New: Show Duration on Album Details Page

* Fixed: Manual Import not working if no albums are Missing

* Fixed: Sort search input by sortTitle

* Fixed: Queue columnLabel throwing JS error
2019-02-23 17:39:11 -05:00
ta264 bb02d73c42 Whole album matching and fingerprinting (#592)
* Cache result of GetAllArtists

* Fixed: Manual import not respecting album import notifications

* Fixed: partial album imports stay in queue, prompting manual import

* Fixed: Allow release if tracks are missing

* Fixed: Be tolerant of missing/extra "The" at start of artist name

* Improve manual import UI

* Omit video tracks from DB entirely

* Revert "faster test packaging in build.sh"

This reverts commit 2723e2a7b8.

-u and -T are not supported on macOS

* Fix tests on linux and macOS

* Actually lint on linux

On linux yarn runs scripts with sh not bash so ** doesn't recursively glob

* Match whole albums

* Option to disable fingerprinting

* Rip out MediaInfo

* Don't split up things that have the same album selected in manual import

* Try to speed up IndentificationService

* More speedups

* Some fixes and increase power of recording id

* Fix NRE when no tags

* Fix NRE when some (but not all) files in a directory have missing tags

* Bump taglib, tidy up tag parsing

* Add a health check

* Remove media info setting

* Tags -> audioTags

* Add some tests where tags are null

* Rename history events

* Add missing method to interface

* Reinstate MediaInfo tags and update info with artist scan

Also adds migration to remove old format media info

* This file no longer exists

* Don't penalise year if missing from tags

* Formatting improvements

* Use correct system newline

* Switch to the netstandard2.0 library to support net 461

* TagLib.File is IDisposable so should be in a using

* Improve filename matching and add tests

* Neater logging of parsed tags

* Fix disk scan tests for new media info update

* Fix quality detection source

* Fix Inexact Artist/Album match

* Add button to clear track mapping

* Fix warning

* Pacify eslint

* Use \ not /

* Fix UI updates

* Fix media covers

Prevent localizing URL propaging back to the metadata object

* Reduce database overhead broadcasting UI updates

* Relax timings a bit to make test pass

* Remove irrelevant tests

* Test framework for identification service

* Fix PreferMissingToBadMatch test case

* Make fingerprinting more robust

* More logging

* Penalize unknown media format and country

* Prefer USA to UK

* Allow Data CD

* Fix exception if fingerprinting fails for all files

* Fix tests

* Fix NRE

* Allow apostrophes and remove accents in filename aggregation

* Address codacy issues

* Cope with old versions of fpcalc and suggest upgrade

* fpcalc health check passes if fingerprinting disabled

* Get the Artist meta with the artist

* Fix the mapper so that lazy loaded lists will be populated on Join

And therefore we can join TrackFiles on Tracks by default and avoid an
extra query

* Rename subtitle -> lyric

* Tidy up MediaInfoFormatter
2019-02-16 09:49:24 -05:00
ta264 c392569a63 New: Update DB to store all releases for an album (#517)
* New: Store all releases for an album and track artists

* Add Overview, links and release date by release

* Tidy up

* Fix metadata refresh errors following musicbrainz edits
2018-12-14 19:02:43 -05:00
Qstick e6a43b2dc0
New: Added album disambiguation to UI and Naming [ex. Weezer (Blue Album)] (#431) 2018-07-20 18:33:56 -04:00
Qstick e67af5e747 Changed: Temp remove album folder release year requirement.
Fixes #290 until we can get rework done, forces user to ensure they are naming correctly.
2018-04-12 22:39:00 -04:00
Qstick 8ad38fe3af Fixed: Validation for Track File Naming, Add Album Type Token
#241
2018-04-07 23:53:11 -04:00
Qstick b6f9ea9397 Fixed: Change default naming so that track number is just before title.
Fixes #270
2018-04-01 21:07:33 -04:00
Qstick 4525f99370 Fix: Rare timing issue on first-use causing duplicate naming config 2017-12-13 21:32:38 -05:00
Qstick 0ea3b71bae Cleanup FileNameBuilder 2017-11-16 11:46:35 -05:00
Qstick 21428cba6f
Medium Support (Multi-disc Albums), Quality Grouping (#121)
* Multi Disc Stage 1 - Backend Work

* Quality Group Functionality

* Fixed: Only show wanted album types on ArtistDetail page

* Add Media Count Column to ArtistDetail Page

* Parser updates for multidisc cases, other usenet release title formats

* Search for Tracks by Medium Number in Addition to Title and TrackNumber

* Medium Renaming Token for Track Naming

* fixup Codacy and Comment Cleanup

* fixup remove comments
2017-11-15 21:24:33 -05:00
Qstick 38cbb2114f Refactor ExtraFile/MetadataFile Services (#104)
* Preliminary Work for Extras for Music

* DB Migration for ExtraFiles, Other Cleanup

* More Extras Work, Add Album Metadata Type

* Update Housekeeps for Music Extras

* Fix HouseKeeper and add new Tests

* Final round of Cleanup
2017-10-16 21:40:31 -04:00
Qstick 3a4c6fe364 Remove Core.TV references in preperation for Cleanup 2017-10-08 16:25:29 -04:00
Qstick d6efae537f Rework DiscSpaceService, Misc Cleanup 2017-09-23 00:19:55 -04:00