Commit graph

954 commits

Author SHA1 Message Date
Christopher Snowhill
7ad895b95c Updated VGMStream to r1776-46-gc0c2c3c7
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-09-06 21:57:24 -07:00
Christopher Snowhill
dffd09e6f7 Updated VGMStream to r1776-16-g7e4f5dc6
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-08-21 16:31:05 -07:00
Christopher Snowhill
d03afd6bf8 Updated libOpenMPT to version 0.6.5 final
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-08-21 16:31:01 -07:00
Christopher Snowhill
3a64cdd5cc Updated AdPlug with a crash fix for RAD2
Fixed RAD2 files referencing instruments not present in the
file, which caused the player to reference uninitialized memory
and usually crash.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-31 21:51:21 -07:00
Christopher Snowhill
0bae420e6b Updated libbinio
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-31 21:51:16 -07:00
Christopher Snowhill
ddbc38c7fe Move most large stack using buffers to the heap
This should solve most potential future stack overflows.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-24 18:32:47 -07:00
Christopher Snowhill
eec8bf9f1c Enable warnings to track stack overuse
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-24 17:50:28 -07:00
Christopher Snowhill
df17e1c788 Updated VGMStream to r1745-79-g449bb5e0
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-23 18:39:13 -07:00
Christopher Snowhill
8244eb0bb8 Activate Polish translation
The declarations for the translation were missing from the project files
so that it wasn't being used. Also added the missing strings to the
files that were already added to the translation.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-11 14:40:32 -07:00
Christopher Snowhill
000a2e0cb6 [Project Files] Change most to enable modules
Most projects needed to be changed to enable C or Objective C modules.
Hopefully, this improves debugging.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-10 15:07:39 -07:00
Christopher Snowhill
39ab0eaf45 Updated VGMStream to r1745-58-g828c6b09
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-07 16:44:01 -07:00
Christopher Snowhill
45ec7b6263 Greatly improve tag reading performance
Improve tag reading performance for Ogg, Opus, FLAC, TTA, and TAK, by
eliminating TagLib from the equation in those cases and just using the
respective file inputs to do the tag reading, which is apparently a lot
faster anyway.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-05 00:55:48 -07:00
Christopher Snowhill
42b2142ab7 Remove unnecessary files from build and copy steps
Remove a single .inc include from CogAudio build phase, as it's included
but not compiled as Pascal like Xcode thinks. Also remove a bunch of
files from being copied into the resulting .framework and .bundle files
during link stage, as we don't need to distribute that stuff.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-04 23:58:06 -07:00
Christopher Snowhill
cfcb7c041d [TagLib] Disable MP4 tag reader, as it can crash
This MP4 tag reader is buggy. Disable it in favor of FFmpeg decoder's
metadata reader.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-02 04:20:01 -07:00
Christopher Snowhill
189999b7c2 [libOpenMPT] Remove unnecessary compile option
ENABLE_ASM isn't even used anywhere in the library any more.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-01 01:03:13 -07:00
Christopher Snowhill
731e52c440 Build libOpenMPT from source once again
Bundle libOpenMPT as a dynamic framework, which should be safe once
again, now that there is only one version to bundle. Also, now it is
using the versions of libvorbisfile and libmpg123 that are bundled with
the player, instead of compiling minimp3 and stbvorbis.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-30 22:57:30 -07:00
Christopher Snowhill
919497148a Updated libOpenMPT to version 0.6.5-pre.1+r17609
This allows us to eliminate the requirement to continue bundling version
0.5.x of libOpenMPT for compatibility with macOS 10.13 through 10.14.x.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-30 21:28:28 -07:00
Christopher Snowhill
cc45750c0c Automatically unpack libraries before building
This required adding the included script in every project that links to
one of the bundled libraries. The script is designed to sleep for a
while if another thread is already extracting the libraries. The script
uses a temporary file as an extraction step lock, so other instances
sleep, and then detect the libraries.updated file, which is created
before the lock is removed.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-26 20:12:06 -07:00
Christopher Snowhill
05960b1da1 Updated VGMStream to r1745-47-gfa55119d
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-26 15:12:00 -07:00
Christopher Snowhill
93736565cb [mpg123] Fix include paths 2022-06-24 17:09:15 -07:00
Christopher Snowhill
32a595222d [OpenMPT / vgmstream] Made libraries pre-built
Made the OpenMPT / legacy OpenMPT and mpg123 libraries pre-built.
Changed the OpenMPT and vgmstream plugins to import the libraries as
they are now. Made mpg123 embedded and imported by the main binary,
since it's now shared by two plugins.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-24 17:09:02 -07:00
Christopher Snowhill
2c2a058126 Cog now requires macOS 10.13 as a minimum version
All optional fallback code for older versions has also been removed, and
everything now assumes 10.13.0 or newer. Some cases are still included
for point releases, such as 10.13.2.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-23 23:23:07 -07:00
Christopher Snowhill
27b2e8584d Updated VGMStream to r1745-37-g776c4d8c
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-22 19:33:06 -07:00
Christopher Snowhill
4db0fc1f5f One last attempt to fix CI
This should fix building. I don't know how I missed those.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-21 23:50:12 -07:00
Christopher Snowhill
73ad7901b0 Assign blank development team in project files
Hopefully this blank assignment will spare these files from being
touched by Xcode again in the future, when the variable in question is
imported from a developer supplied configuration file.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-21 23:29:17 -07:00
Christopher Snowhill
d3e069ddc0 Remove developer supplied configuration file
This file should not be referenced directly by projects, otherwise it
will be expected to exist, even in CI.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-21 23:29:07 -07:00
Christopher Snowhill
60523b985a Completely overhaul code signing practices
Redesign the code signing from the ground up. Now all bundles and their
embedded frameworks import the Shared.xcconfig file and enable its
settings, so they may be signed with Apple Development instead of sign
to run locally. This apparently isn't necessary for frameworks which are
embedded in the main app bundle directly, only for the bundles and their
frameworks.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-21 22:43:04 -07:00
Christopher Snowhill
9dbe0a0d3e Updated VGMStream to r1745-33-gbb2a6624
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-20 16:22:07 -07:00
Christopher Snowhill
c2388d2659 [Localizations] Remove or rename obsolete files
Remove or rename obsolete English.lproj files, renaming where
en.lproj does not already exist, or removing if en.lproj has
already replaced it.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-19 00:03:09 -07:00
Christopher Snowhill
277e52906a [Musepack Library] Fix capitalization of headers
Header include paths are named after the framework, which is all lower-
case, not uppercase like the source folder is named. The header include
paths inside the project are lowercase as well, so this fits.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 02:24:12 -07:00
Christopher Snowhill
1661093521 [TagLib] Completely overhaul import paths
Change most, if not all, possible import paths to use the full header
directory paths instead of relative or "assume include paths" settings.
This should fix building with the CI.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 02:19:52 -07:00
Christopher Snowhill
90b06850d0 [TagLib Plugin] Fixed some mislocated headers
These header files were imported from the wrong path. I really have no
idea why Xcode didn't catch these already with my build tree.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 02:05:48 -07:00
Christopher Snowhill
e84065ff5c [libOpenMPT] Updated to version 0.6.4
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-12 19:40:39 -07:00
Christopher Snowhill
f02a36fd08 [Highly Complete Input] Fix possible crash on OOM
If one condition returned memory successfully, but the other did not, it
would result in the cleanup code accessing an uninitialized pointer and
iterating over it, crashing.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-11 13:41:26 -07:00
Christopher Snowhill
f38f38ee4a [libOpenMPT Legacy] Updated to version 0.5.18
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-11 07:27:02 -07:00
Christopher Snowhill
dd307d27a7 [libOpenMPT] Updated to version 0.6.3
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-11 07:26:39 -07:00
Christopher Snowhill
f23f8970cc [VGMStream] Change libvgmstream optimization level
Optimization level bugs now affect Apple Silicon release builds, so
reduce optimization level there as well.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-10 16:43:27 -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
94057cf467 Updated VGMStream to r1745-22-gf696beb0
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-05-30 18:26:34 -07:00
Christopher Snowhill
ace62005db Updated VGMStream to r1745-4-g9ef1030d
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-05-02 14:58:25 -07:00
Christopher Snowhill
2995f67c56 Updated VGMStream to r1721-52-g4eb40f00
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-04-21 14:29:41 -07:00
Christopher Snowhill
54f6702fb2 Updated VGMStream to r1721-48-g9d47eded
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-04-19 23:29:21 -07:00
Christopher Snowhill
38969cd3b1 Updated VGMStream to r1702-86-gb1acf343
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-03-14 04:39:00 -07:00
Christopher Snowhill
3815ba0baf libOpenMPT Legacy: Updated to version 0.5.17
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-03-14 04:35:36 -07:00
Christopher Snowhill
aa28b2beb1 libOpenMPT: Updated to version 0.6.2
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-03-14 04:34:25 -07:00
Christopher Snowhill
8abbf267e1 Highly Complete / USF: Fix playback for some USFs
The code now requires a variable to be set if Display Lists are to be
skipped by setting display processor interrupt as the bypass code is
supposed to. Also handle unsupported Ucode by calling the low level RSP
emulator instead.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-03-09 20:55:15 -08:00
Christopher Snowhill
ab8154348e Hively Replayer: Fix undefined behavior
Shifting negative numbers to the left is undefined behavior, so replace
with a multiply operation instead.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-03-06 03:53:28 -08:00
Christopher Snowhill
d570cf346d Highly Complete / USF: Preliminary overload HLE
Include preliminary overload effect for MP3 and CBFD HLE operations,
based on a pull request from upstream. This should make the HLE pretty
much sound for general use once again.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-03-05 20:43:41 -08:00
Christopher Snowhill
9fd85f6670 Updated VGMStream to r1702-76-g00bdb165
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-21 16:44:18 -08:00
Christopher Snowhill
2036a92b23 Remove deleted file
This vorbisfile.h is no longer included in the project tree.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-15 00:40:15 -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
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
09bf1c7ad9 libsidplayfp: Sync with upstream again
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-11 04:06:16 -08:00
Christopher Snowhill
e7df4e529d libsidplayfp: Updated to newer version
This update is from my personal fork, and includes synchronization
around two places in ReSIDfp that use static global tables as caches.
Without the synchronization, there were errors in playback and even
crashes.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-11 03:48:10 -08:00
Christopher Snowhill
38efa7c8c5 libsidplayfp: Reorganize project file order
Sorted the file tree a bit, for more easily locating files while working
on the code.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-11 03:46:51 -08:00
Christopher Snowhill
0012d1b17e Implement dynamic metadata reading for streams
Supported by FFmpeg, FLAC, Ogg Vorbis, and Opus.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-09 13:44:50 -08:00
Christopher Snowhill
e13f83609e FFmpeg Input: Implement stream metadata reading
Now reads Icy interval metadata and timed ID3v2 tags.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-08 21:34:28 -08:00
Christopher Snowhill
52ddc26bb9 OpenMPT Legacy: Remove modifications from library
There were some leftover modifications to the 0.5.x tree I was using,
which were supposed to be speed optimizations, but they're probably
pointless anyway. The NEON optimizations were especially pointless,
since this plugin version isn't used on any macOS version that runs on
Apple Silicon.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-08 00:15:49 -08:00
Christopher Snowhill
90ce0e5ae4 Updated VGMStream to r1702-55-g39074f95
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-07 19:31:32 -08:00
Christopher Snowhill
0b8a659bc2 TagLib: Implement support for APE tags on TTA
TrueAudio will now read APE tags, and if I should start writing tags
some day, will prefer creating APE tags if no tags exist.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-07 15:33:50 -08:00
Christopher Snowhill
418d03ae23 Updated VGMStream to r1702-53-g00441228
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-07 04:30:41 -08:00
Christopher Snowhill
361f61618a libFLAC: One more time
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-06 03:21:47 -08:00
Christopher Snowhill
b73f1f280e libFLAC: Fix so Intel compiles
Didn't do those pragmas correctly

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-06 03:14:14 -08:00
Christopher Snowhill
11ecb1cd8b libFLAC: Improve decode speed on Haswell
Import a feature change that improves decoding speed on Haswell or newer
Intel processors. No effect on Apple Silicon, which doesn't support the
feature under Rosetta 2, and the ARM64 build doesn't need the changes
anyway, as the code already did the right thing.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-06 02:59:26 -08:00
Christopher Snowhill
e5f668ce71 libFLAC: Modified unused VC project files
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-06 02:59:25 -08:00
Christopher Snowhill
f3ddd69f63 libOpenMPT: Updated to version 0.6.1
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-30 15:19:56 -08:00
Christopher Snowhill
ebb9c5b4f1 libOpenMPT Legacy: Updated to version 0.5.16
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-30 15:19:36 -08:00
Christopher Snowhill
326e9d5970 GME: Fix music playback with no fade from crashing
Only crashed with division by zero error on Intel, not on Apple Silicon.
Funny that. Sending the fix upstream, too.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-29 16:26:28 -08:00
Christopher Snowhill
fce851bfff Updated VGMStream to r1702-16-g2db8e56e
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-27 00:09:40 -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
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
72f1168498 TagLib: Support reading Apple SoundCheck tags from ID3v2 and MP4 2022-01-22 20:20:24 -08:00
Christopher Snowhill
ae10e3e75b TagLib: Read MP4 ReplayGain tags as foobar2000 writes them, not just as EZ CD Audio Converter writes them 2022-01-22 00:22:31 -08:00
Christopher Snowhill
97b8d07066 TagLib: Now reads foobar2000 ReplayGain fields from MP4 files 2022-01-21 23:48:49 -08:00
Christopher Snowhill
2165d37144 Metadata: Now supports disc number field where possible 2022-01-21 21:49:17 -08:00
Christopher Snowhill
3bb57c7ca5 GSF plugin: Updated libmgba 2022-01-19 20:45:46 -08:00
Christopher Snowhill
c05dc28a8d Updated VGMStream to r1702-8-gb1325840 2022-01-18 03:13:34 -08:00
Christopher Snowhill
322d9539d6 AdPlug: Updated library 2022-01-17 21:47:54 -08:00
Christopher Snowhill
d24a01a637 Implemented basic embedded CueSheet support 2022-01-14 16:46:35 -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
f2656bc7b3 Updated VGMStream to r1702-0-ga76ac04d 2022-01-12 16:53:42 -08:00
Christopher Snowhill
51e48dc424 MPCDec: Update genre list to match what TagLib reads 2022-01-08 16:12:00 -08:00
Christopher Snowhill
6c910bdfbc TagLib: Fix reading ReplayGain tags from ID3v2 tags 2022-01-08 01:29:55 -08:00
Christopher Snowhill
86e3a26598 VGMStream: Turn down libvgmstream optimization to -O1 on Intel, to hopefully fix a possible optimization bug 2022-01-07 17:29:12 -08:00
Christopher Snowhill
60ad561a26 OpenMPT: Compile libraries with precompiled headers so they build faster 2022-01-06 23:55:00 -08:00
Christopher Snowhill
7ee76f914a OpenMPT legacy: Correct header import paths so that the correct version of OpenMPT framework headers are used 2022-01-06 23:53:39 -08:00
Christopher Snowhill
e4e6da1a94 Clean up new GME somewhat 2022-01-04 03:42:18 -08:00
Christopher Snowhill
fc38295d02 Replaced Game_Music_Emu with mpyne version, for the most part. Re-added the missing NSF chips, replaced the SPC player with the Higan one, re-added SFM, and disabled GYM and VGM. 2022-01-03 17:50:07 -08:00
Christopher Snowhill
8ad7e086a8 Update copyright year 2022-01-02 23:34:29 -08:00
Christopher Snowhill
6e1e3daf76 Consolidate libbinio framework usage 2021-12-31 01:40:11 -08:00
Christopher Snowhill
df9743c821 Consolidated Vorbis framework usage 2021-12-31 01:35:08 -08:00
Christopher Snowhill
4cb4a000f0 Consolidate Ogg framework usage 2021-12-31 01:30:16 -08:00
Christopher Snowhill
98ead66851 Consolidate File_Extractor framework usage 2021-12-31 01:16:44 -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
78fa5accc0 Updated VGMStream to r1690-35-gc38c09fb 2021-12-30 23:45:02 -08:00
Christopher Snowhill
16b1bfea03 Updated libsidplay to version 2.3.1 2021-12-30 23:24:07 -08:00
Christopher Snowhill
cd8b728ca6 Removed plugin 2021-12-29 15:24:23 -08:00
Christopher Snowhill
f241d88e16 OpenMPT legacy: Commit missing files, and fix .gitignore to allow them 2021-12-26 17:18:39 -08:00
Christopher Snowhill
642945e80a OpenMPT: Add include path for svn_version.h header file 2021-12-26 04:47:12 -08:00
Christopher Snowhill
106eb587b4 Updated libopenmpt to version 0.6.0, with major new changes. This new version requires macOS 10.15 to work, due to libc++ features required. A compatibility plugin has been duplicated from the existing plugin, which will now load libopenmpt 0.5.14, or whatever newer version may come out that still supports as old as macOS 10.12. 2021-12-26 03:29:43 -08:00