28 Commits
Author SHA1 Message Date
mbirth 21546019c3 Replace echos with proper Exception and trigger_error()
Signed-off-by: Markus Birth <markus@birth-online.de>
2025-08-16 23:28:24 +01:00
mbirth 734bcaea9c Remove require() and let autoloader do its thing
Signed-off-by: Markus Birth <markus@birth-online.de>
2025-08-16 23:27:53 +01:00
mbirth e64c30e569 Turn returned HTTP headers lowercase before parsing
NGINX for some reason returns "content-length" instead of
"Content-Length".
2025-06-15 01:36:12 +01:00
mbirth 7a8dede10b Move ID3v2 flags parsing into method
Signed-off-by: Markus Birth <markus@birth-online.de>
2025-06-14 22:19:49 +01:00
mbirth ad8183b41f Add error handling if block can't be downloaded 2024-05-29 01:28:59 +01:00
mbirth aaaba0e2f1 Fix Protection bit inverted meaning 2024-05-29 01:28:43 +01:00
mbirth 3e1288a68c Added support for informational bits in Mpeg frame header
Copyright, Original, Private, CRC protected, Padding
2024-05-28 01:24:46 +01:00
mbirth 4b2cbfb384 Cosmetics 2024-05-28 01:23:52 +01:00
mbirth 2a98464bbe Put id3v1 genre_id in brackets as seen with id3v2 2024-05-27 23:53:08 +01:00
mbirth c54e75a899 Show error for invalid LAYER/CODEC versions 2024-05-27 23:46:04 +01:00
mbirth 9b92776607 Differentiate btw id3v1.0 and id3v1.1 2024-05-27 23:45:35 +01:00
mbirth 0ef2575001 Fix Mpeg frame verification 2024-05-27 23:44:54 +01:00
mbirth 5b8e15a1e0 Fix Mpeg frame sync detection 2024-05-27 23:44:22 +01:00
mbirth c387953040 Optimise parsing of id3v2 flags 2024-05-27 20:56:20 +01:00
mbirth 3184973867 Optimise searching for Mpeg frame 2024-05-27 20:55:51 +01:00
mbirth 2a16b836b7 Return payload size for ID3v2 tags 2024-05-27 20:55:22 +01:00
mbirth 38a962cbdc Style changes 2024-05-27 20:54:44 +01:00
mbirth 3ff00fde72 Rename Syncsafe to Synchsafe according to spec 2024-05-27 20:53:50 +01:00
mbirth c98606734a Set filename and size in Mp3Info object 2024-05-27 20:53:03 +01:00
mbirth a3fddb495d Optimise id3v2.4 comment parsing 2024-05-27 20:04:43 +01:00
mbirth 37bc9d5ec6 Optimise id3v2 header parsing 2024-05-27 20:04:23 +01:00
mbirth d474f40403 Helper for Syncsafe size values 2024-05-27 20:03:14 +01:00
mbirth c0d64e81aa Minor style optimisations 2024-05-27 20:01:29 +01:00
mbirth 4de63bd94b Proper TXXX tag handling
TXXX consists of description and value. Descriptions should be unique, but rarely are. This now parses them into TXXX:<description> and turns it into an array if multiple tags are found.

Signed-off-by: Markus Birth <markus@birth-online.de>
2024-05-27 16:20:49 +01:00
mbirth d6977ef4dc Fix ID3v2 frame size calculation
Frame size uses 7-out-of-8-Bits notation.

Signed-off-by: Markus Birth <markus@birth-online.de>
2024-05-27 15:28:22 +01:00
mbirth 48edb42c1e Fix isValidAudio()
Signed-off-by: Markus Birth <markus@birth-online.de>
2024-05-27 13:49:41 +01:00
mbirth 120617847c Fix cover retrieval
Signed-off-by: Markus Birth <markus@birth-online.de>
2024-05-27 13:05:30 +01:00
mbirth 3699fd5ecb Add separate classes for local and remote file access
Improves parsing of remote files by using HTTP Range requests so it doesn't have to download the whole file.

Signed-off-by: Markus Birth <markus@birth-online.de>
2024-05-26 14:15:17 +01:00