Commit graph

  • e6124335d1 Cog Audio: Change output callback to always retry reading for sample data until the requested buffer is filled, or until the playback either ends or is torn down. This prevents gaps when the preceding ring buffer wraps around. Christopher Snowhill 2022-01-13 23:02:01 -0800
  • 92d29e7acf Cog Audio: Now preserves already resampled output when switching output formats Christopher Snowhill 2022-01-13 19:43:18 -0800
  • ee509b6e13 Cog Audio: Remove unnecessary preprocessor macro for RetroArch code Christopher Snowhill 2022-01-13 18:01:12 -0800
  • 601b412d98 libfdk-aac: Update README.md with optimization flags Christopher Snowhill 2022-01-13 17:21:05 -0800
  • bba2fa6592 libfdk-aac: Fix library id path in rebuilt library Christopher Snowhill 2022-01-13 16:39:25 -0800
  • ca4a2efea1 FFmpeg input: Disable peak limiting for libfdk-aac decoder Christopher Snowhill 2022-01-13 16:14:04 -0800
  • 4029160a0c libfdk-aac: Oops, forgot to enable optimization Christopher Snowhill 2022-01-13 16:13:12 -0800
  • bfa178f4e2 FFmpeg input: Add support for libfdk-aac, which will be used to support USAC and AAC on 10.14.x and older Christopher Snowhill 2022-01-13 04:11:38 -0800
  • 73348b1616 Cog Audio: Implement play position skip ahead when output format changes, based on how much converter output is being discarded Christopher Snowhill 2022-01-12 23:17:07 -0800
  • 52b17bd4d8 Cog Audio: Implement virtual ring buffer function to read buffered bytes count Christopher Snowhill 2022-01-12 23:16:13 -0800
  • d1b519d59d Cog Audio: Only declare end of stream on read when previous node has declared end of stream and the buffer has actually run empty. This prevents the case where the buffer may terminate early due to the read pointer hitting the end of the ring buffer and wrapping. Christopher Snowhill 2022-01-12 23:15:23 -0800
  • ec7ac74fcd Cog Audio: Fix input chain to reset its buffers when seeking properly Christopher Snowhill 2022-01-12 23:13:49 -0800
  • cc134ce293 Cog Audio: Converter node actually pauses when it is being reconfigured, and resets its buffer when the output format is changed Christopher Snowhill 2022-01-12 23:13:00 -0800
  • b0f5a37e85 Cog Audio: Only proceed to the next track when the current track has actually finished Christopher Snowhill 2022-01-12 21:53:58 -0800
  • 5fef62dd03 Cog Audio: Implemented device output and input file format changing support Christopher Snowhill 2022-01-12 21:31:22 -0800
  • 9feaffc92d Cog Audio: Made RetroArch resampler safer Christopher Snowhill 2022-01-12 18:45:43 -0800
  • f2656bc7b3 Updated VGMStream to r1702-0-ga76ac04d Christopher Snowhill 2022-01-12 16:53:42 -0800
  • e3df82cf70 VGMStream input: Improve file interface, to handle duplicate file requests in the same thread, and to handle archive paths Christopher Snowhill 2022-01-12 16:45:50 -0800
  • 8664bacc60 Core Audio output: Correctly terminate output when requested to stop, preventing a case where multiple outputs were draining the playback buffer at once Christopher Snowhill 2022-01-12 16:04:41 -0800
  • 2633e713a3 Cog Audio: Remove seek mess from previous commit Christopher Snowhill 2022-01-12 16:03:49 -0800
  • f1d70aaa54 Cog Audio: Add explanatory comment to source code Christopher Snowhill 2022-01-12 03:36:27 -0800
  • 84d445cffe Cog Audio: Fix converter so that seeking on startup playback position resume works properly Christopher Snowhill 2022-01-12 02:55:11 -0800
  • 16402f9982 RetroArch resampler: Stub out code we don't need, reducing code size Christopher Snowhill 2022-01-12 02:54:27 -0800
  • 9dbaed22f0
    Update README.md Christopher Snowhill 2022-01-12 01:22:49 -0800
  • 3b125c0440 Cog Audio: Improve virtual ring buffer class Christopher Snowhill 2022-01-11 22:50:18 -0800
  • a76f3c3476 Cog Audio: Reorder project files Christopher Snowhill 2022-01-11 22:48:50 -0800
  • f8e3b0e1ee Core Audio output: Some more minor changes Christopher Snowhill 2022-01-11 22:06:41 -0800
  • 3b62842021 Playback Notifications: Prevent crash when notifying a track with unusable album artwork Christopher Snowhill 2022-01-11 20:39:10 -0800
  • 557e0bd399 Core Audio output: Fix so it stops properly Christopher Snowhill 2022-01-11 20:38:17 -0800
  • 91c3feac2e Cog Audio converter: Fix handling signed versus unsigned for 8 bit samples Christopher Snowhill 2022-01-11 19:37:47 -0800
  • f44e4e793b Cog Audio converter: Fix end of track flush and extrapolation Christopher Snowhill 2022-01-11 19:37:17 -0800
  • 8a91bc1d09 Playlist loader: Allocate larger properties dictionary Christopher Snowhill 2022-01-11 19:35:59 -0800
  • ed882e25cb Cog Audio: Resampler now extrapolates into latency padding for better gapless playback Christopher Snowhill 2022-01-11 18:19:30 -0800
  • 7d4841b1c6 Core Audio output: Don't upmix unless output device requests it by default Christopher Snowhill 2022-01-11 18:18:38 -0800
  • ee05fe9e44 Core Audio output: Add sanity checking for supported formats, and support 64 bit float input data, in case anything actually uses that Christopher Snowhill 2022-01-11 17:09:06 -0800
  • 4dd46a1b5b Core Audio output: Fix output stopping properly Christopher Snowhill 2022-01-11 07:52:44 -0800
  • 72210c67e4 Replaced AudioQueue output with AUAudioUnit Christopher Snowhill 2022-01-11 07:06:40 -0800
  • c4c9a741ef Replaced AudioToolbox converter process with homebrew solution, using the RetroArch sinc resampler Christopher Snowhill 2022-01-11 04:00:34 -0800
  • c8301a9868 CoreAudio input takes priority over FFmpeg on 10.14.x and older Christopher Snowhill 2022-01-09 17:05:10 -0800
  • a1a85c502e FFmpeg input: Check for seeking errors and stop decoding when they happen Christopher Snowhill 2022-01-09 03:37:45 -0800
  • 87ebca5e03 Really fix saving track position on quit Christopher Snowhill 2022-01-09 03:17:43 -0800
  • 6e9266e194 Fix track position storage on quit Christopher Snowhill 2022-01-09 03:06:36 -0800
  • 3e72087a41 Play position is stored every 10 seconds, and status is stored every time playback is started, paused, stopped, or seeked Christopher Snowhill 2022-01-09 02:34:29 -0800
  • 7fe67b1630 Implement dock icon progress bar indicator for many processing operations, including adding tracks, removing tracks, and loading or reloading track metadata Christopher Snowhill 2022-01-09 02:10:08 -0800
  • 0d90ccb7c1 FFmpeg: Update ID3v1 genre list Christopher Snowhill 2022-01-08 16:19:08 -0800
  • 51e48dc424 MPCDec: Update genre list to match what TagLib reads Christopher Snowhill 2022-01-08 16:12:00 -0800
  • 6c910bdfbc TagLib: Fix reading ReplayGain tags from ID3v2 tags Christopher Snowhill 2022-01-08 01:29:55 -0800
  • b35d405e20 libvgm input: Correctly declare logging formatting strings Christopher Snowhill 2022-01-07 19:07:46 -0800
  • 614517f813 FFmpeg input: Disable AudioToolbox codecs on macOS 10.14.x and older Christopher Snowhill 2022-01-07 19:07:07 -0800
  • 95f1919f90 FFmpeg: Rebuild FFmpeg with different codec settings Christopher Snowhill 2022-01-07 18:54:35 -0800
  • 86e3a26598 VGMStream: Turn down libvgmstream optimization to -O1 on Intel, to hopefully fix a possible optimization bug Christopher Snowhill 2022-01-07 17:29:12 -0800
  • b40b506cc3 Remove unneeded header import Christopher Snowhill 2022-01-07 02:16:55 -0800
  • 00052130a0 Revert ea589b2635, and fix reloading info for entries on Intel, by invoking the reloader in the background instead of directly calling it from the UI thread Christopher Snowhill 2022-01-07 02:12:49 -0800
  • ea589b2635 Playlist loader: No longer do background metadata reading on Intel machines, where VGMStream mysteriously clobbers the stack at random when run in the background Christopher Snowhill 2022-01-07 01:35:59 -0800
  • 60ad561a26 OpenMPT: Compile libraries with precompiled headers so they build faster Christopher Snowhill 2022-01-06 23:55:00 -0800
  • 7ee76f914a OpenMPT legacy: Correct header import paths so that the correct version of OpenMPT framework headers are used Christopher Snowhill 2022-01-06 23:53:39 -0800
  • 1eb2270049 VGMStream: Rewrite file interface based on the VGMStream stdio interface, only using CogSource files Christopher Snowhill 2022-01-06 22:12:34 -0800
  • 71fd2eb0f8 SQLite storage: Implement missing function to empty the play queue Christopher Snowhill 2022-01-06 21:03:31 -0800
  • 0e8f417e67 libvgm Player: Correctly report version number in codec field Christopher Snowhill 2022-01-05 02:37:39 -0800
  • 5b67735f12 libvgm Player: Fix FM clocks for really old VGM files Christopher Snowhill 2022-01-05 02:26:02 -0800
  • e4e6da1a94 Clean up new GME somewhat Christopher Snowhill 2022-01-04 03:42:18 -0800
  • 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. Christopher Snowhill 2022-01-03 17:50:07 -0800
  • 888ee2fb38 Implemented new libvgm-based VGM, S98, DRO, and GYM player Christopher Snowhill 2022-01-03 01:51:53 -0800
  • 8ad7e086a8 Update copyright year Christopher Snowhill 2022-01-02 23:34:29 -0800
  • 6e1e3daf76 Consolidate libbinio framework usage Christopher Snowhill 2021-12-31 01:40:11 -0800
  • df9743c821 Consolidated Vorbis framework usage Christopher Snowhill 2021-12-31 01:35:08 -0800
  • 4cb4a000f0 Consolidate Ogg framework usage Christopher Snowhill 2021-12-31 01:30:16 -0800
  • e166402bb5 Consolidate MASShortcut framework usage Christopher Snowhill 2021-12-31 01:23:58 -0800
  • 98ead66851 Consolidate File_Extractor framework usage Christopher Snowhill 2021-12-31 01:16:44 -0800
  • 2e76c56ba7 Switch FFmpeg libraries to dynamic builds, consolidate to a single copy in the main application framework folder Christopher Snowhill 2021-12-31 01:07:05 -0800
  • 78fa5accc0 Updated VGMStream to r1690-35-gc38c09fb Christopher Snowhill 2021-12-30 23:45:02 -0800
  • 16b1bfea03 Updated libsidplay to version 2.3.1 Christopher Snowhill 2021-12-30 23:24:07 -0800
  • 112a20132b OpenMPT: Add format info as codec string Christopher Snowhill 2021-12-30 00:07:32 -0800
  • e4cbdb07f8 FFmpeg Decoder: Remove spurious debug logging Christopher Snowhill 2021-12-29 22:56:53 -0800
  • fa20465271 FFmpeg Decoder: Fix seeking in files with preroll that happens to make the decoder return EAGAIN error, so they don't inadvertently skip actual audio data unnecessarily. Fixes seeking to the start of USAC files with preroll packets. Christopher Snowhill 2021-12-29 22:55:31 -0800
  • cd8b728ca6 Removed plugin Christopher Snowhill 2021-12-29 15:24:23 -0800
  • 41a32f0b9d Update Gitlab CI config file again Christopher Snowhill 2021-12-28 21:22:40 -0800
  • 8d7c24e0ad Update Gitlab CI config Christopher Snowhill 2021-12-28 21:16:39 -0800
  • dfe92ffedc Audio Player: Fix so ReplayGain isn't reset on seek Christopher Snowhill 2021-12-28 21:05:25 -0800
  • 841481599e Audio Player: Minor change Christopher Snowhill 2021-12-28 21:04:46 -0800
  • c1c21ec84f Hopefully fix glitching on seeking Christopher Snowhill 2021-12-28 16:04:16 -0800
  • 486352ea72 Core Audio output: Enforce some minimum quality settings Christopher Snowhill 2021-12-28 15:41:31 -0800
  • ba3746fcff Remove blank line Christopher Snowhill 2021-12-28 15:40:53 -0800
  • 476dd913b2 Audio player: Attempt to fix queue issues. There are still remaining issues if a single short track queues repeatedly and the user changes tracks manually. Christopher Snowhill 2021-12-28 15:40:26 -0800
  • 38c530043d Output converter: Add more upmixing modes Christopher Snowhill 2021-12-28 15:39:23 -0800
  • 27dbd609c9 OpenMPT: Change decode call slightly Christopher Snowhill 2021-12-28 15:38:57 -0800
  • 73a356ad1d Ogg Vorbis/Opus: Use correct channel output order for surround files Christopher Snowhill 2021-12-28 00:54:28 -0800
  • b13235ec5f Fix 6.1 stereo downmix mapping Christopher Snowhill 2021-12-28 00:10:44 -0800
  • 258a56a276 Audio Output: Implement more upmixing modes, and correct some upmixing behavior Christopher Snowhill 2021-12-28 00:09:57 -0800
  • ad3058c4f3 Audio Queue: Better handle a lot of short files playing in a row, so files don't get skipped, and so the player doesn't get overburdened starting new files Christopher Snowhill 2021-12-27 23:21:48 -0800
  • 120daf291a OpenMPT legacy: No longer need to reduce its priority level, since it's OS version gated to not load on OSes that support the newer plugin Christopher Snowhill 2021-12-27 17:47:57 -0800
  • e2bca8f93b OpenMPT: Correctly OS version gate the OpenMPT plugins, and add an interface for any other plugin to use, should it ever become necessary Christopher Snowhill 2021-12-27 17:46:09 -0800
  • 25a43a9083 Audio Output: Fix converter to always emit trailing samples on end of track Christopher Snowhill 2021-12-27 17:04:16 -0800
  • 8e895c88c0 Core Audio output: Properly apply or remove default device change listener when switching preferences between the 'System Default Device' setting and manually setting the device to the current default Christopher Snowhill 2021-12-26 21:33:28 -0800
  • 8435416cd7 Core Audio output: Default device setting now tracks system device changes, and output assigns a speaker mapping depending on the channel count Christopher Snowhill 2021-12-26 21:27:26 -0800
  • 378aaf23ae Clean up several CFStringRef leaks Christopher Snowhill 2021-12-26 18:08:53 -0800
  • f241d88e16 OpenMPT legacy: Commit missing files, and fix .gitignore to allow them Christopher Snowhill 2021-12-26 17:18:39 -0800
  • d2e480ace5 Core Audio output: Properly support switching output devices Christopher Snowhill 2021-12-26 17:16:16 -0800
  • 642945e80a OpenMPT: Add include path for svn_version.h header file Christopher Snowhill 2021-12-26 04:47:12 -0800
  • 917b7457b6 Made resume playback on startup so that seeking operation is entirely atomic with starting playback, so the new seeking behavior doesn't have the potential to crash the player Christopher Snowhill 2021-12-26 04:35:54 -0800