Commit Graph

162 Commits (ec393d186a091728173f34d6c95102a0263f0b90)

Author SHA1 Message Date
Christopher Snowhill d59b5335e9 Revert "Removed Sparkle"
This reverts commit b54ee58ec3.
2022-06-21 18:00:30 -07:00
Christopher Snowhill b54ee58ec3 Removed Sparkle
Removed Sparkle in preparation for App Store release.
2022-06-21 06:05:45 -07:00
Christopher Snowhill 93ebedbcd9 Revert "[MAD Decoder] Patch ... libmad"
This reverts commit 453e29b2f5. Also it
applies a different workaround for VBRI headers, which doesn't require
patching libmad to work.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-21 05:33:15 -07:00
Christopher Snowhill 08107f4a41 [Sparkle] Updated to version 2.1.0 for Sandbox
Sandbox requires Sparkle version 2 or newer anyway, so upgrade it.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-20 03:46:36 -07:00
Christopher Snowhill 453e29b2f5 [MAD Decoder] Patch a slight bug in libmad
There was a slight bug with handling Xing/LAME headers with main data
pointers indicating data preceding the header frame. This should allow
decoding their information properly.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-19 18:26:18 -07:00
Christopher Snowhill 95df58dd75 [Crash Reporting] Replace Bugsnag with Crashlytics
It was a fun ride, but I think I want to try something different. Users,
please be sure not to have DNS blocking for Crashlytics if you want me
to have any useful bug reporting info if it crashes on you, or otherwise
blows up. Otherwise, I don't get any useful data to help me fix crashes.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 00:11:48 -07:00
Christopher Snowhill 90b83f8f51 [Various] Clean up various warnings
Various warnings related to uninitialized variables, or setting values
to variables that would not be used later or would be overwritten by per
loop initializers.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-11 13:42:42 -07:00
Christopher Snowhill aca29e472b [Bug Reporting] Introduce Bugsnag crash reporting
Crashes will now be collected with an optional comment, and uploaded on
next launch of the app.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-09 18:58:42 -07:00
Christopher Snowhill 19556cc630 Brought back the MAD plugin from death
Now Cog supports freeformat MP3 once again. The plugin has been extended
to include sample accurate seeking, accurate length probing of files
missing headers, and iTunes gapless info reading using libid3tag.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-24 17:51:10 -08:00
Christopher Snowhill d70e1da126 Updated libFLAC to version 1.3.4
Updated the FLAC library to what is the official release of 1.3.4,
although I already had all the commits from that version prior to this
update.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-21 16:43:36 -08:00
Christopher Snowhill b8057b7c29 Add support for AVIF album artwork
Import libavif and libaom, specifically built only for decoding, not
encoding.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-16 01:52:51 -08:00
Christopher Snowhill 570e28403e Redo x86_64 build of libFLAC
It needed to be built separately to enable the intrinsic
optimizations. Oops.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-15 01:11:58 -08:00
Christopher Snowhill f071d3e90c Build several libraries out of tree now
Building libogg, libvorbis, libvorbisfile, libFLAC, libopus, and
libopusfile out of tree, to utilize their projects' CMake build scripts,
and also enable any platform optimizations that may have been missing.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-15 00:26:55 -08:00
Christopher Snowhill 934589ebdd FFmpeg: Enable AIFF support
The system AIFF reader seems unable to read some really old files, so
enable FFmpeg to do so instead.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-14 21:09:24 -08:00
Christopher Snowhill f203911bb1 FFmpeg Input: Support various DSD formats and IFF
Implement support for DFF, WSD, and IFF formats, and all DSD formats
carried within, using our own DSD decimation method instead of relying
on FFmpeg to do it.

Fixes #165

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-10 00:32:24 -08:00
Christopher Snowhill 838b31a6e8 MIDI: Replaced FluidSynth with BASSMIDI again
FluidSynth is just too unstable, and also just bad in general.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-08 18:29:03 -08:00
Christopher Snowhill e820e2bbd6 Update libvgm again
No appreciable changes, as I don't implement tempo control. (yet?)

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-02 18:03:18 -08:00
Christopher Snowhill b5eb31dabf Updated libvgm
But nothing I updated affects playback currently.
2022-02-02 17:22:57 -08:00
Christopher Snowhill 241b7b4b34 FFmpeg patches: Updated iTunes gapless patch
The patch is now updated to exactly what I sent to the ffmpeg-devel
mailing list for hopeful inclusion in the latest release of FFmpeg.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-27 19:31:15 -08:00
Christopher Snowhill 7f114bce0e FFmpeg libraries: Enable networking and HLS
Also disable AudioToolbox codecs, as they don't really like network
streaming so much. Use bundled codecs instead.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-27 00:11:14 -08:00
Christopher Snowhill d771a58e69 FFmpeg: Update to version 5.0, and add another patch for iTunes MP3 gapless info 2022-01-24 04:41:27 -08:00
Christopher Snowhill 1b4b22501b FFmpeg libraries: Accidentally forgot to enable the True Audio (TTA) decoder and demuxer 2022-01-23 16:10:33 -08:00
Christopher Snowhill de193b70e2 Converter: Improve extrapolation for resampler, and also pad decimated DSD, even if not resampling it 2022-01-19 00:40:40 -08:00
Christopher Snowhill 7495bff780 FFmpeg: Enable all the PCM and ADPCM codecs for WAV file use 2022-01-18 17:25:45 -08:00
Christopher Snowhill c5b940680d Cog Audio: Change NEON s16/s32 to f32 code to use linear load/store instead of interleaved 2022-01-15 02:08:04 -08:00
Christopher Snowhill 59aea2966f Cog Audio: Fix >16 <=32 integer bits per sample to float conversion on Apple Silicon 2022-01-14 18:51:12 -08:00
Christopher Snowhill 996bdec4be RetroArch resampler: Template channel configurations from 1 through 8 using macros for speed, and also fix kaiser SSE for channel counts other than 2 2022-01-14 03:05:55 -08:00
Christopher Snowhill 903b457a28 Cog Audio: Make it possible to play obscene sample rate files without major failures 2022-01-14 02:00:32 -08:00
Christopher Snowhill 601b412d98 libfdk-aac: Update README.md with optimization flags 2022-01-13 17:21:05 -08:00
Christopher Snowhill bba2fa6592 libfdk-aac: Fix library id path in rebuilt library 2022-01-13 16:39:25 -08:00
Christopher Snowhill 4029160a0c libfdk-aac: Oops, forgot to enable optimization 2022-01-13 16:13:12 -08:00
Christopher Snowhill bfa178f4e2 FFmpeg input: Add support for libfdk-aac, which will be used to support USAC and AAC on 10.14.x and older 2022-01-13 04:13:58 -08:00
Christopher Snowhill 9feaffc92d Cog Audio: Made RetroArch resampler safer 2022-01-12 18:45:43 -08:00
Christopher Snowhill 16402f9982 RetroArch resampler: Stub out code we don't need, reducing code size 2022-01-12 03:01:55 -08:00
Christopher Snowhill ed882e25cb Cog Audio: Resampler now extrapolates into latency padding for better gapless playback 2022-01-11 18:19:30 -08:00
Christopher Snowhill c4c9a741ef Replaced AudioToolbox converter process with homebrew solution, using the RetroArch sinc resampler 2022-01-11 04:09:19 -08:00
Christopher Snowhill 0d90ccb7c1 FFmpeg: Update ID3v1 genre list 2022-01-08 16:19:08 -08:00
Christopher Snowhill 95f1919f90 FFmpeg: Rebuild FFmpeg with different codec settings 2022-01-07 19:06:35 -08:00
Christopher Snowhill 5b67735f12 libvgm Player: Fix FM clocks for really old VGM files 2022-01-05 02:26:02 -08:00
Christopher Snowhill 888ee2fb38 Implemented new libvgm-based VGM, S98, DRO, and GYM player 2022-01-03 01:55:48 -08:00
Christopher Snowhill 2e76c56ba7 Switch FFmpeg libraries to dynamic builds, consolidate to a single copy in the main application framework folder 2021-12-31 01:07:05 -08:00
Christopher Snowhill b2ae62a4db URL open panel: Fix invocation of completion handler so it doesn't crash 2021-12-22 00:13:27 -08:00
Christopher Snowhill 10d43d9154 FFmpeg: Enable extra demuxers, and switch AAC to AAC AudioToolbox 2021-12-21 22:24:05 -08:00
Christopher Snowhill 505061031e Update Sparkle to version 1.27.0 2021-09-18 01:14:44 -07:00
Christopher Snowhill cfeadad97f Reduce minimum OS to macOS 10.12 2021-09-18 01:08:49 -07:00
Christopher Snowhill 9fcfb6ddb7 vgmstream: Enable Speex support 2021-09-17 19:56:01 -07:00
Christopher Snowhill a1a0bd2db4 FFmpeg: rebuilt FFmpeg libraries 2021-08-25 01:53:51 -07:00
Christopher Snowhill cae132ad79 Updated FFmpeg to version 4.4 2021-06-15 00:14:41 -07:00
Christopher Snowhill 95a63327fa MIDI: Trimmed down FluidSynth libraries significantly, and should be compatible with 10.13 once again 2021-05-09 17:46:36 -07:00
Christopher Snowhill 17fd41fbbc Updated FluidSynth again, restoring SF3 support 2021-05-08 00:47:03 -07:00