Commit Graph

284 Commits

Author SHA1 Message Date
Tim Eisele c6e568692e
Fix modification checks and make sure to use UTC (#14347) 2025-06-26 17:50:37 -06:00
theguymadmax 70dbf837c5
Add albumart as recognized filename for music artwork (#14048) 2025-05-03 08:19:59 -06:00
Marc Brooks e8cbcde02e
Merge branch 'master' into sort-nfo-data 2025-02-03 19:48:59 -06:00
Bond-009 9734892322
Merge pull request #12925 from Bond-009/await
Always await instead of directly returning Task
2025-01-28 11:29:46 +01:00
Josh Soref 40da2ccac5
Fix spelling (#13444)
* spelling: anamorphic

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: associated

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: channelinfo

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: eagerly

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: enumerable

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: greater than/less than

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: greater

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: lineup

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: logs out

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: names

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: paging

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: playlist

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: sanitized

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: saving

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

---------

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2025-01-28 11:27:34 +01:00
Josh Soref 044cf9fb85 chore: fix spelling
* a
* acceleration
* addition
* altogether
* api clients
* artist
* associated
* bandwidth
* cannot
* capabilities
* case-insensitive
* case-sensitive
* configuration
* delimiter
* dependent
* diacritics
* directors
* enable
* explicitly
* filters
* finish
* have
* hierarchy
* implicit
* include
* information
* into
* its
* keepalive
* localization
* macos
* manual
* matching
* metadata
* nonexistent
* options
* overridden
* parsed
* parser
* playback
* preferring
* processes
* processing
* provider
* ratings
* retrieval
* running
* segments
* separate
* should
* station
* subdirectories
* superseded
* supported
* system
* than
* the
* throws
* transpose
* valid
* was

link: forum or chat rooms

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2025-01-25 20:05:15 -05:00
Bond-009 ceb850c770
Update projects to .NET 9 (#13023) 2024-11-16 10:11:01 -07:00
Bond_009 d2db700402 Always await instead of directly returning Task
https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/blob/master/AsyncGuidance.md#prefer-asyncawait-over-directly-returning-task

The performance impact is negligible (and it's me saying that!)
2024-10-31 17:02:06 +01:00
Marc Brooks 6dc61a430b Sort embedded collections in Nfo files
Because the Nfo files emit the collections as they are in-memory, the
files are not stable in format, genres, tags, albums, people, etc. are emitted in random orders. Add ordering of the collections when emitting the Nfo files so the file remains stable (unchanged) when underlying media information doesn't change.

In the process of this, it became clear that most of the providers and probes don't trim the strings like people's names, genre names, etc. so did a pass of Trim cleanup too.

Specific ordering: (alphabetical/numeric ascending after trimming blanks and defaulting to zero for missing numbers)

BaseItem: Directors, Writers, Trailers (by Url), Production Locations, Genres, Studios, Tags, Custom Provider Data (by key), Linked Children  (by Path>LibraryItemId), Backdrop Images (by path), Actors (by SortOrder>Name)

AlbumNfo: Artists, Album Artists, Tracks (by ParentIndexNumber>IndexNumber>Name)

ArtistNfo: Albums (by Production Year>SortName>Name)

MovieNfo: Artists

Fix Debug build lint


Fix CI debug build lint issue.


Fix review issues

Fixed debug-build lint issues.
Emits the `disc` number to NFO for tracks with a non-zero ParentIndexNumber and only emit `position` if non-zero.
Removed the exception filtering I put in for testing.

Don't emit actors for MusicAlbums or MusicArtists


Swap from String.Trimmed() to ?.Trim()
Addressing PR feedback

Can't use ReadOnlySpan in an async method

Removed now-unused namespace
2024-09-18 20:33:18 -05:00
Bond_009 97a02f5803 Remove BOM from UTF-8 files
I think some people need to change their IDE configuration ;)
2024-08-30 15:29:48 +02:00
Bond_009 ecd2dab0a2 Add TrySetProviderId extension 2024-07-17 15:48:21 +02:00
Shadowghost 970c95959a Backport pull request #12039 from jellyfin/release-10.9.z
Fix local episode image thumb recognition

Original-merge: d813f83b4a

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-23 11:40:47 -04:00
Shadowghost 18dd6b2875 Backport pull request #11934 from jellyfin/release-10.9.z
Fix local image saving

Original-merge: b0bb22b650

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-06 14:30:30 -04:00
Joshua M. Boniface ee1d6332ee
Merge pull request #11220 from Shadowghost/add-playlist-acl-api
Add playlist ACL endpoints
2024-04-10 12:52:01 -04:00
Tina ab1fd326d5
Add jacket to the list of music images (#11314) 2024-04-08 08:00:48 -06:00
Shadowghost c1dbb49315 Implement update endpoint 2024-04-01 20:43:05 +02:00
Shadowghost bff37ed13a Apply review suggestions 2024-04-01 19:59:48 +02:00
Shadowghost 56c432a843 Apply review suggestions 2024-03-26 23:45:14 +01:00
Bond_009 eb022c49cc Update to .NET 8 2023-11-14 21:12:16 +01:00
Cody Robibero 892973a9e3
Merge branch 'master' into media-type 2023-11-09 22:03:55 -07:00
Cody Robibero c7a94d48ae
Convert ItemSortBy to enum (#9765)
* Convert ItemSortBy to enum

* Rename Unknown to Default
2023-11-09 14:00:13 -07:00
Bond_009 a9ef103c95 Add IDisposableAnalyzers to more projects 2023-11-05 02:01:14 +01:00
Cody Robibero 2920611ffc Convert string MediaType to enum MediaType 2023-10-10 15:57:15 -06:00
Patrick Barron 40e1c5f4c6 Remove logger parameter from XmlReaderExtensions.TryReadDateTime 2023-10-06 16:56:50 -04:00
Patrick Barron 1d0ecd3188 More miscellaneous cleanup 2023-10-06 16:18:33 -04:00
Patrick Barron 0e51ffa169 Add TryReadInt to XmlReaderExtensions 2023-10-06 15:35:26 -04:00
Patrick Barron 8a7a1cc723 Add ReadNormalizedString to XmlReaderExtensions 2023-10-06 15:12:49 -04:00
Patrick Barron 99832642ce Add TryParseDateTime and TryParseDateTimeExact to XmlReaderExtensions 2023-10-06 14:18:56 -04:00
Patrick Barron 1a6ec2c740 Add GetStringArray and GetPersonArray to XmlReaderExtensions 2023-10-06 13:40:08 -04:00
Patrick Barron bdca4ed322 Add XmlReader.GetPersonFromXmlNode 2023-10-06 12:46:35 -04:00
Stepan Goremykin 6ae1903453 Use TryAdd 2023-04-06 19:17:28 +02:00
Stepan Goremykin 9d738bb601 Remove redundant ToString call 2023-04-06 19:17:28 +02:00
Bond-009 9c500bdca3
Merge pull request #9466 from Shadowghost/playlist-fix 2023-03-28 10:58:48 +02:00
Cody Robibero 89be3aa37f
Convert Person.Type to use PersonKind enum (#9487) 2023-03-25 11:52:02 -06:00
Shadowghost 76ae599bd3 Fix playlist creation and removal 2023-03-10 19:16:35 +01:00
Bond_009 24a7e210c3 Optimize tryparse
* Don't check for null before
* Don't try different formats when not needed (NumberFormat.Integer is the fast path)
2023-02-19 16:52:29 +01:00
Zoltan Csizmadia e0519189b2
Use Directory.Packages.props (#9135)
Co-authored-by: Zoltan Csizmadia <CsizmadiaZ@valassis.com>
2023-02-04 10:15:08 -07:00
renovate[bot] e408da4651
chore(deps): update dependency microsoft.codeanalysis.bannedapianalyzers to v3.3.4 (#9117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-18 04:16:59 -07:00
Bond_009 b366dc2e6e Use ArgumentException.ThrowIfNullOrEmpty 2022-12-07 16:43:59 +01:00
Bond_009 236dd650d0 Update projects to .net7 2022-12-07 16:42:05 +01:00
Bond_009 52194f56b5 Replace != null with is not null 2022-12-05 15:01:13 +01:00
Bond_009 c7d50d640e Replace == null with is null 2022-12-05 15:00:20 +01:00
Julius Vitkauskas 7d7401bf0f Fix double assignment 2022-11-01 12:46:29 +02:00
Bond_009 a9a5fcde81 Use ArgumentNullException.ThrowIfNull helper method
Did a simple search/replace on the whole repo (except the RSSDP project)
This reduces LOC and should improve performance (methods containing a throw statement don't get inlined)

```
if \((\w+) == null\)
\s+\{
\s+throw new ArgumentNullException\((.*)\);
\s+\}
```

```
ArgumentNullException.ThrowIfNull($1);
```
2022-10-06 20:21:23 +02:00
dependabot[bot] 812841d01e
Bump StyleCop.Analyzers from 1.2.0-beta.406 to 1.2.0-beta.435 (#7726)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-09 15:24:09 +02:00
dependabot[bot] dde984bd0e
Bump StyleCop.Analyzers from 1.2.0-beta.376 to 1.2.0-beta.406
Bumps [StyleCop.Analyzers](https://github.com/DotNetAnalyzers/StyleCopAnalyzers) from 1.2.0-beta.376 to 1.2.0-beta.406.
- [Release notes](https://github.com/DotNetAnalyzers/StyleCopAnalyzers/releases)
- [Commits](https://github.com/DotNetAnalyzers/StyleCopAnalyzers/compare/1.2.0-beta.376...1.2.0-beta.406)

---
updated-dependencies:
- dependency-name: StyleCop.Analyzers
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 12:22:11 +00:00
Cody Robibero b6489e73ab
Merge pull request #7241 from Bond-009/async5 2022-02-06 15:25:48 -07:00
Claus Vium 488ce51032
Remove some allocations (#7246) 2022-01-28 12:21:40 +01:00
Bond_009 e7be01d7a5 Flush to disk async where possible 2022-01-22 23:36:42 +01:00
Bond_009 2dcb2f8a9f Ban the usage of Task.Result
If the calling function can't be made async easily you can still use
.GetAwaiter().GetResult(), which is way easier to find in the future
2022-01-22 16:48:31 +01:00