Commit Graph
1617 Commits
Author SHA1 Message Date
emeric df8dd91c4d Centralized artwork lookup logic 2025-06-15 14:34:25 +02:00
emeric a008ccfacc Increased the artist info scan version to force rescan. ref #688 2025-06-15 14:34:14 +02:00
emeric 4d3201c1a0 Use the folder name as artist name if no name is provided in the artist.nfo file. fixes #688 2025-06-14 13:34:19 +02:00
emeric 085210f364 Subsonic API: report original year for albums, fixes #672 2025-06-14 13:06:41 +02:00
emeric d4d14c39a5 Fixed format 2025-06-12 22:52:44 +02:00
emeric 4837e1959f search3: minor optim 2025-06-12 22:44:14 +02:00
emeric 161d7b6c15 Minor clean 2025-06-06 08:45:34 +02:00
emeric c9e4ec1eb5 fixed format 2025-06-06 08:24:02 +02:00
Simon Rettberg b2471cccfb FileResourceHandler: Open file once on init, more error handling
Keeping the file open allows better prefetching/caching on both
the application layer (ifstream) and OS level (vfs layer) as
the access pattern is sequential and predictable. We also save
three syscalls (open, seek, close) for every chunk we send to
the client (256kb).
2025-06-06 08:24:02 +02:00
emeric 1e7fbcad15 Fixed warning 2025-06-06 08:24:02 +02:00
Simon Rettberg 54771e6ddf Minor fixes to ChildProcess
- Don't set FD_CLOEXEC, but close manually before fork:
  Since we don't use pipe2() to set the flag atomically, we're prone to
  races with concurrent fork+execs either way. As ChildProcess uses a
  mutex here anyways, as long as there is no other part in lms that
  would fork+exec, we're not any more or less safe now, but the code
  is shorter and we cannot fail the fcntl.
- Don't make the write-end of the pipe non-blocking. Usually programs
  do not expect this, i.e. they either never check the return code of
  a write to stdout (potential data loss), or if they do, they just
  bail out on any error, and don't handle EAGAIN. ffmpeg seemed
  to handle this fine though (or we were just lucky and always read
  the data faster than ffmpeg could produce it).
- Do not close stdin and stderr. Again ffmpeg seems to handle this,
  at least regarding stdin thanks to -nostdin, but in general if a
  process tries to write to stderr and fd 2 is not open, it might
  just bail out. Even worse, the process might have opened some
  file it wants to work with, and that file got assigned fd 2 (as
  that was the next free fd) - the program would corrupt whatever
  file it opened there whenever it tries to write to stderr.
  Try to open /dev/null instead for stdin and stderr, and if that
  fails, keep whatever lms inherited open, which should be safer
  than relying on the child process to handle this case properly.
- exec() does not return on success, no need to check return code,
  any return from it is a failure.
- Wrong error message in error path when assigning fd to boost stream.
- F_SETPIPE_SZ requires and int, not size_t. This worked on little
  endian systems since the value passed was < 2^32, but on big
  endian systems you'd effectively pass "0" if using a 64bit type.
- Address a few clang-tidy complaints (constness)
2025-06-02 09:18:31 +02:00
emeric 2557402367 Using track id for the transcoding service 2025-05-31 10:27:53 +02:00
emeric dc52ea4ea5 Introduced new transcoding service 2025-05-30 23:27:01 +02:00
emeric 8cf2e2b660 Removed unused struct 2025-05-30 18:38:53 +02:00
emeric 5a70ea68ce fixed build with wt 4.11.4 on debian, ref #681 2025-05-29 22:54:16 +02:00
emeric 291e7ae60c Subsonic API: changed return code from 41 to 42 when a token is used 2025-05-29 21:48:07 +02:00
emeric 2b9ff2b2e9 Added some indexes 2025-05-29 15:53:42 +02:00
emeric 571c0bc5f4 More details for scan error reports #676 2025-05-26 23:33:52 +02:00
emeric 6d6ea4920b xxhash is just an include dependency 2025-05-24 15:02:10 +02:00
emeric f44e4b9f40 Added a way to force rescan artist infos 2025-05-18 14:21:52 +02:00
emeric 13b3aac03c Fixed hopefully harmless typos 2025-05-18 12:59:51 +02:00
emeric a8dc7872e5 Fixed bad migration 2025-05-18 11:29:23 +02:00
emeric 61fdbf2949 Fixed artist info badly reported as matched using mbid 2025-05-18 11:16:45 +02:00
emeric cdbed46ae3 Minor log update 2025-05-16 13:17:18 +02:00
emeric 7e242da3b7 Fixed artist link badly reported as matched using mbid 2025-05-16 13:06:34 +02:00
emeric 7502bf6885 Redacted apiKey values 2025-05-09 12:50:56 +02:00
emeric b5570b4c78 Fixed potential crash 2025-05-07 14:07:08 +02:00
emeric 79be2ebb16 Better bench scope + minor cleanup 2025-05-07 13:56:43 +02:00
emeric aa45cea988 Added some logic to handle multi artists in tags involving the artist whitelist, fixes #669 2025-05-04 22:28:04 +02:00
emeric b62f773400 Fixed build 2025-04-27 18:19:31 +02:00
emeric cc9c6a42ff Added a way to set artists that must not be split, fixes #522 2025-04-27 18:03:45 +02:00
emeric a26632828e Subsonic API: check if the user has enabled transcoding by default to put transcodedSuffix and transcodedContentType fields 2025-04-26 16:38:50 +02:00
emeric 7767ddb78f Made compilation work with unity builds 2025-04-20 11:26:47 +02:00
emeric a5b130305e Append Z to iso8601 date time strings 2025-04-11 18:02:58 +02:00
emeric 75cbbde598 No need to full rescan when changing some settings 2025-04-07 22:48:10 +02:00
emeric 15c5f0b89b minor cleanup 2025-04-06 11:24:20 +02:00
emeric aa281bbd22 Fixed biography response for xml format, fixes #656 2025-04-06 11:22:39 +02:00
emeric 9edc38b062 Better error message for UUID validation, ref #658 2025-04-06 11:17:47 +02:00
emeric fb5efd8fa0 Trim parsed values in ArtistInfo, ref #657 2025-04-06 10:59:32 +02:00
emeric faabb7ec4a Added an option to merge artists without MBIDs to those with one, fixes #642 2025-04-04 18:30:14 +02:00
emeric 7b12dc0f70 Adding missing include 2025-03-27 17:29:07 +01:00
emeric 6ba6034d87 Minor cleanup, reducing includes 2025-03-27 17:26:51 +01:00
emeric 6681f8b753 Moved fallback code from metadata lib to scanner 2025-03-27 16:49:52 +01:00
emeric 5b742c11b5 Code review 2025-03-24 13:35:57 +01:00
emeric 2bc6723ed9 Fixed bad stats 2025-03-23 15:46:10 +01:00
emeric 97f583cd9c Made export names consistent 2025-03-23 15:22:30 +01:00
emeric d0dad81390 Fixed force scan not taken into account for artist.nfo files + hack to scan only artist.nfo files and not all nfo files 2025-03-23 15:16:43 +01:00
emeric 9dd8b4b381 Added artwork+biography in artist view, ref #640 2025-03-23 14:49:27 +01:00
emeric cb631eea06 For now an artist may have no track to download 2025-03-23 14:48:24 +01:00
emeric e349e14101 Added basic support for artist.nfo file parsing, ref #640 2025-03-22 17:21:08 +01:00