Commit Graph

95 Commits (636fefaf6f70b71bfe15ed387289e3ddf028596b)

Author SHA1 Message Date
Christopher Snowhill 39f4d09c1a Use NSNumber Literals as much as possible
Replaced a bunch of [NSNumber numberWith...] with NSNumber Literals.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 06:39:02 -07:00
Christopher Snowhill 00ea4562dc Update project files for Xcode 14 recommendations
Update all project files with new upgrade version number, and add the
dead code stripping option. Don't touch MASShortcut because it's not my
project.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-07 18:56:11 -07:00
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