Commit Graph

74 Commits (39f4d09c1a554dc0a5b086a8eeeb62d218e1485e)

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 67f6c931bb [Highly Complete / MIDI] Fix numeric tag reading
The new Core Data interface is especially stringent with receiving
NSNumber for the numeric types rather than NSString as was mistakenly
allowed before. Fix that to prevent exceptions.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 05:48:03 -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 6741151423 Highly Complete / USF: Enable HLE again
Enable HLE processing for USF playback, based on previous commit filling
out the HLE operations list. It should be safe to enable it again now.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-03-05 20:44:41 -08:00
Christopher Snowhill a618073203 Highly Complete: Keep USF RSP HLE disabled for now
There is a missing effect in the relevant tracks from Conker's Bad Fur
Day, an overdrive effect.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-12 07:45:10 -08:00
Christopher Snowhill 1df166b060 Updated lazyusf2, and disabled RSP HLE warnings
The warn logging was preventing working USFs from playing due
to warnings occurring during the playback that didn't otherwise
affect the ability to play the files.
2022-02-12 03:29:43 -08:00
Christopher Snowhill 68c3f3b1d8 Highly Complete: Disable USF HLE
The HLE is incomplete, and sometimes buggy. Disable it for now.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-10 20:57:44 -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 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 fdae7eec21 File info: Implemented support for Album Artist and Codec fields 2021-10-01 19:18:42 -07:00
Christopher Snowhill bdd02c76d3 PSF/PSF2: Set harsh compatibility mode, so emulator behaves more like actual hardware, which fixes a few PSF and PSF2 rips 2021-03-28 12:49:34 -07:00
Christopher Snowhill dce400435e Fix #89 by encoding paths correctly I hope 2021-01-30 19:37:10 -08:00
Dzmitry Neviadomski 832fa6dbd0 Even more deprecations fixes. 2021-01-27 05:45:02 +03:00
Christopher Snowhill a23085082a Switch back to lazyusf2, and enable JIT entitlement for it 2019-10-15 14:32:18 -07:00
Christopher Snowhill 67495009ff Updates for new build system. 2018-06-28 04:03:37 -07:00
Christopher Snowhill aebbef593f Updated Highly Quixotic to include new, more accurate sound emulation. 2018-05-22 00:53:00 -07:00
Chris Moeller baf8e574cf Update mGBA, including a fix for PSG volume. 2018-05-11 19:21:42 -07:00
Christopher Snowhill 01b91961ff Fix HighlyComplete for new mGBA header arrangement. 2017-03-12 21:38:46 -07:00
Christopher Snowhill 5a3e8005ea Finished updating mGBA. 2016-11-03 22:43:12 -07:00
Christopher Snowhill a95280626f Fix Projects. Fix a major deadlock introduced by previous commit. Introduce new mGBA based GSF player. 2016-09-04 12:49:43 -07:00
Chris Moeller 592d6a6a30 Fix for double free with new code. 2016-07-02 02:58:21 -07:00
Chris Moeller 03b825ced3 Hopefully fix the last of the Automatic Reference Counting issues that remained. 2016-06-19 12:57:18 -07:00
Chris Moeller 2f60cb42db Activated ARC for HighlyComplete plug-in, and made necessary fixes to it. 2016-05-03 00:32:28 -07:00
Chris Moeller d62a6463af Updated vio2sf. 2015-03-14 17:30:00 -07:00
Chris Moeller b73c20985c Changed USF player to resample using lazyusf2 2015-03-01 23:04:22 -08:00
Chris Moeller 4d8ec1960f Switched from lazyusf to lazyusf2 2015-03-01 21:28:09 -08:00
Chris Moeller e89bc870ad Oops, forgot a macro change in SSEQ player 2014-11-04 18:39:14 -08:00
Chris Moeller fea1b147a6 Enabled lazyusf HLE support by default 2014-10-14 22:33:05 -07:00
Chris Moeller 0fb8aa57bb Update LazyUSF and increased silence detection threshold for USF files to 10 seconds, which fixes Majora's Mask - Staff Roll 2014-04-07 17:42:09 -07:00
Chris Moeller 52e8c8f07d Updated vio2sf with multiple configurable resampling modes 2014-03-31 20:38:24 -07:00
Chris Moeller 9059e8f308 PSF/PSF2 playback now obeys refresh tags on .psflib files 2014-03-24 18:37:10 -07:00
Chris Moeller 704f04b8ce Fixed stupid errors compiling with Xcode 5.1 2014-03-10 22:06:48 -07:00
Chris Moeller ec40c5041c Updated LazyUSF 2014-03-08 18:36:59 -08:00
Chris Moeller 5f88c6d882 Fixed 2SF and USF to read emulator setup tags from nested library files for playback 2014-02-26 16:37:56 -08:00
Chris Moeller 5c4a4602db Added error logging to LazyUSF, player now stops on errors. 2014-02-20 17:07:57 -08:00
Chris Moeller c438cc7ed1 Decreased xSF silence detection threshold to 5 seconds for all formats except for PSF and PSF2, improved USF sample rate detection, and fixed USF leading silence removal 2014-02-19 16:59:06 -08:00
Chris Moeller f086d8c9bf Imported lazyusf in its new library form and removed the external app 2014-02-15 01:37:59 -08:00
Chris Moeller 6e234756c1 LazyUSF input now ignores SIGPIPE, so the lazyusf process terminating abnormally won't cause Cog to terminate 2014-02-13 21:37:35 -08:00
Chris Moeller 9cd138384d Setting Repeat One will now direct all synthesizing decoders to run forever, rather than merely restarting repeatedly. Playptmod now cuts off length detection after half an hour, in case some files' loops are not detected. 2014-02-13 21:16:18 -08:00
Chris Moeller 7531b3324f Improved the robustness of the lazyusf communication process to terminate cleanly if the external process crashes or otherwise terminates improperly. Also updated lazyusf to terminate if its input pipe is broken during decoding. 2014-02-13 20:21:44 -08:00
Chris Moeller f2b981acba Rewrote and enabled lazyusf support, now working properly 2014-02-12 23:34:52 -08:00
Chris Moeller a614cc17b9 Added support for a pipe-fed console lazyusf player, currently disabled because it's horribly unstable 2014-02-05 17:35:02 -08:00
Chris Moeller a4a8a8cc63 HighlyComplete will now stop filling its internal buffer when it has emulated enough to reach the tagged end of the track 2013-11-05 16:17:24 -08:00
Chris Moeller c524bd406e Fixed HighlyComplete to properly seek when there are samples buffered 2013-11-05 16:04:34 -08:00
Chris Moeller 00c13ec061 Fixed HighlyComplete silence detection to handle DC offset silence 2013-11-01 16:57:07 -07:00
Chris Moeller 63fba5930e Implemented support for multiple decoders per file name extension, with a floating point priority control per interface. In the event that more than one input is registered to a given extension, and we match that extension, it will be passed off to an instance of the multi-decoder wrapper, which will try opening the file with all of the decoders in order of priority, until either one of them accepts it, or all of them have failed. This paves the way for adding a VGMSTREAM input, so I can give it a very low priority, since it has several formats that are verified by file name extension only. All current inputs have been given a priority of 1.0, except for CoreAudio, which was given a priority of 0.5, because it contains an MP3 and AC3 decoders that I'd rather not use if I don't have to. 2013-10-21 10:54:11 -07:00