Christopher Snowhill
872816f056
VGM Decoder: Change logic of dictionary creation
...
Metadata logic code should be using this dictionaryWithDictionary method
so that the resulting dictionary is actually immutable, like it claims
to be, rather than simply casting it. Safety coding, all that jazz. Not
really a major issue, just feels right.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-05-24 01:09:39 -07:00
Christopher Snowhill
8cf37cadf3
Unicode metadata: Change most logic to use guesser
...
Most file formats the player supports may or may not have UTF-8 safe
strings in their metadata. This should not be assumed to be UTF-8, and
when it is assumed, it results in nil NSString objects, which results in
inline initializers crashing due to uncaught exceptions.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-05-24 01:07:55 -07:00
Christopher Snowhill
94f915b892
VGMStream Input: Fix subsong files dumping tracks
...
Fixed an issue with individual files that reference single subsongs
inadvertently dumping all tracks in the referenced bank to the playlist,
instead of only adding the one bookmark or txtp file. Now it matches the
behavior of foobar2000.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-04-20 01:50:44 -07:00
Christopher Snowhill
69ebce32c0
Revert "VGMStream Input: Remove downmixing, add layout"
...
This reverts commit 0d4ee4c901
.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-03-21 16:34:49 -07:00
Christopher Snowhill
183a03657d
VGMStream Decoder: Fix mutable dictionary
...
This dictionary was replaced with an inline literal declaration, but
this defines an immutable dictionary. Change it to a mutable copy.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-03-06 03:57:03 -08:00
Christopher Snowhill
0d4ee4c901
VGMStream Input: Remove downmixing, add layout
...
Downmixing should no longer be necessary, unless someone actually tries
to emit up to 64 channels, while we support only 32 channels, but really
only 18 channels. Also read the channel layout field from the decoder,
so that the speaker layout will propagate from the files to the player.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-15 22:55:34 -08:00
Christopher Snowhill
7cea254f4c
Implement framework for dynamic metadata updates
...
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-08 21:21:53 -08:00
Christopher Snowhill
b927f4c02b
Replace more NSDictionary use with literals
...
Use literals to initialize fixed NSDictionary objects in various places.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-08 19:56:04 -08:00
Christopher Snowhill
85c7073649
Reformat my own source code with clang-format
...
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-06 21:49:27 -08:00
Christopher Snowhill
b53567edc5
Fix VGMStream so it handles EOF properly
...
The file prober in FFmpeg expects that when the read function reaches
end of file, it returns AVERROR_EOF, not zero. Otherwise, it will loop
endlessly until the process is terminated.
Fixes #217 .
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-27 00:09:40 -08:00
Christopher Snowhill
ee7b7dad5f
VGMStream: Add a bodge for PSF files
...
For some incredibly dumb reason, PSF files get into FFmpeg 5.0, then
just sit there and lock up, reading them forever and ever, doing nothing
useful. Add a bodge to detect PSF files by signature and ignore them in
the VGMStream container parser, and all other parts of VGMStream in Cog.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-26 15:40:44 -08:00
Christopher Snowhill
0c4d5002f6
Metadata: Now supports storing cuesheet tags and encoding quality status properties
2022-01-21 22:38:54 -08:00
Christopher Snowhill
2165d37144
Metadata: Now supports disc number field where possible
2022-01-21 21:49:17 -08:00
Christopher Snowhill
684951bdc0
Change a bunch of NSArray declarations to const collection literals
2022-01-18 18:12:57 -08:00
Christopher Snowhill
39a5ee8ab7
Utility: Add stubs to regenerate Info.plist with file type associations
2022-01-18 03:07:32 -08:00
Christopher Snowhill
e3df82cf70
VGMStream input: Improve file interface, to handle duplicate file requests in the same thread, and to handle archive paths
2022-01-12 16:45:50 -08:00
Christopher Snowhill
1eb2270049
VGMStream: Rewrite file interface based on the VGMStream stdio interface, only using CogSource files
2022-01-06 22:12:34 -08:00
Christopher Snowhill
8ad7e086a8
Update copyright year
2022-01-02 23:34:29 -08:00
Christopher Snowhill
ee6faec757
VGMStream: oops, coding error
2021-10-02 18:49:00 -07:00
Christopher Snowhill
6c8c807781
VGMStream: Clear sample buffer, just in case
2021-10-02 18:47:04 -07:00
Christopher Snowhill
cbf20dab08
VGMStream: Correctly implement mixing support and output channel reporting for downmixes
2021-10-02 18:38:23 -07:00
Christopher Snowhill
cb70b066d7
Updated VGMStream to r1640-85-gfe316bb2
2021-10-01 20:21:50 -07:00
Christopher Snowhill
fdae7eec21
File info: Implemented support for Album Artist and Codec fields
2021-10-01 19:18:42 -07:00
Christopher Snowhill
cfeadad97f
Reduce minimum OS to macOS 10.12
2021-09-18 01:08:49 -07:00
Christopher Snowhill
42a6738e8f
Updated VGMStream to r1640-11-gdfa3779a
2021-09-06 09:28:26 -07:00
Christopher Snowhill
3f6cb1bc1c
VGMStream: Fix .txtp with option fragments in the filename
2021-08-11 17:33:02 -07:00
Christopher Snowhill
75a4f1e722
VGMStream: Fix one shot files actually decoding to completion instead of getting stuck forever
2021-06-15 01:34:01 -07:00
Christopher Snowhill
668475c43a
VGMStream: Correctly report ReplayGain tags from external M3U tags
2021-05-30 14:47:21 -07:00
Christopher Snowhill
466c1beb00
Added safety checks to VGMStream file interface, which should hopefully prevent a known crash deep in the library due to possibly trying to retrieve the file name from an invalid file handle
2021-05-17 22:43:27 -07:00
Christopher Snowhill
13bd399b31
Clean up most warnings and update some dependencies
2021-04-29 18:16:24 -07:00
Christopher Snowhill
7acfdf774d
VGMStream: Fix length reporting and track termination when not looping forever
2021-04-22 23:53:59 -07:00
Christopher Snowhill
2c20205f8f
Fix VGMStream info parser to remove anchors and URL percent encodings from filenames
2021-04-06 16:51:08 -07:00
Dzmitry Neviadomski
3a387c3a3f
Update Copyright year to 2021 with regex.
2021-03-03 23:05:57 +03:00
Christopher Snowhill
dce400435e
Fix #89 by encoding paths correctly I hope
2021-01-30 19:37:10 -08:00
Dzmitry Neviadomski
70a22e9611
Fix some more warnings.
2021-01-27 05:12:07 +03:00
Dzmitry Neviadomski
64b9764b2e
Inhibit ThirdParty libraries build errors.
...
This helps as to actually see warnings of our code.
2021-01-27 04:31:43 +03:00
Jan Weiß
63ed28919b
Second attempt to fix build with other than maintainer’s TeamIDs. Worked for me with Xcode 12.3.
2021-01-05 17:25:12 +01:00
Christopher Snowhill
dbc51d76f9
Revert PR #60 - Nope, that breaks hardened runtime and signing it myself
2020-12-22 02:11:50 -08:00
Jan Weiß
c305a5f949
Fix build with other than maintainer’s TeamIDs.
...
This commit removes development team and code signing key/value pairs that slipped through when Xcode applied code signing changes.
2020-12-13 12:01:48 +01:00
Christopher Snowhill
91b1271ae2
Bump deployment target to 10.13
2020-11-24 15:26:26 -08:00
Christopher Snowhill
4eb7a3eebf
Update VGMStream plugin with new API changes a bit, and now force auto downmixing to 6ch
2020-09-21 22:33:18 -07:00
Christopher Snowhill
0001bd581b
Phase one of Big Sur
2020-06-30 01:04:55 -07:00
Christopher Snowhill
3b628c3989
Touched by Xcode
2020-06-07 19:57:15 -07:00
Christopher Snowhill
8bc6396918
Fix local signing issues
2020-02-13 17:45:11 -08:00
Christopher Snowhill
765cb5e890
Usual Xcode update mess
2020-02-13 01:41:21 -08:00
Christopher Snowhill
37b75bf6e7
Fix resource leak with VGMStream container parser, and serialize metadata caching from there as well
2019-12-19 17:12:09 -08:00
Christopher Snowhill
86681e9726
Implemented support for VGMStream external !tags.m3u metadata playlists
2019-11-23 20:36:57 -08:00
Christopher Snowhill
389a701553
Implemented new VGMStream properties and metadata caching, which keeps file smashing under control, which stops Hardened Runtime from crashing on us
2019-10-18 20:21:27 -07:00
Christopher Snowhill
fd7ab684c2
Updates for modern Xcode
2019-10-05 00:12:36 -07:00
Christopher Snowhill
050eef7225
Updated to latest Xcode
2019-07-02 16:37:17 -07:00