Christopher Snowhill
778ac0699e
Virtual Surround: Cleanup properly
...
The filter wasn't properly freeing its FFT setup state, and also was
unnecessarily null checking the pointers before passing them to the
aligned free function, which already does null checking.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-25 22:06:53 -08:00
Christopher Snowhill
c7c3c82c18
Core Audio output: Change end of file timing
...
Reduce the timing at which an end of file notification is sent to the
main thread from 16384 bytes to 8192 bytes. This may help with playback
of a lot of really small files, and skipping tracks.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-25 21:55:08 -08:00
Christopher Snowhill
708c7dc721
Headphone Virtualization: Implement customization
...
Implement the ability to configure and select an HRIR preset to use with
the HRIR filter, or remove the preset. It will validate the file's
usefulness before setting it for the player to use.
Also, fixed back center channel filtering for 7.0 format audio.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-25 21:30:33 -08:00
Christopher Snowhill
bb029757fd
Headphone Virtualization: Fix an oops
...
The previous commit was not sound. Now it is.
2022-01-25 17:45:32 -08:00
Christopher Snowhill
e53144acfa
Headphone Virtualization: Implement 7ch impulses
...
This is needed for HeSuVi no-echo impulses, which are only one channel
per input channel, and mapping uses symmetrical mirroring of the input
set to create the surround effect, since there's no side-to-side delay
in these impulses.
2022-01-25 17:23:34 -08:00
Christopher Snowhill
e7b78085ca
New feature: Implemented headphone virtualization
...
This new virtualizer uses the Accelerate framework to process samples.
I've bundled a HeSuVi impulse for now, and will add an option to select
an impulse in the future. It will validate the selection before sending
it to the actual filter, which outright fails if it receives invalid
input. Impulses will be supported in any arbitrary format that Cog
supports, but let's not go too hog wild, it requires HeSuVi 14 channel
presets.
2022-01-25 16:50:42 -08:00
Christopher Snowhill
4567df54b7
Playback Buttons: Correctly assign tooltips on button changes
2022-01-24 22:11:54 -08:00
Christopher Snowhill
4bc3a2a1f3
Playback Buttons: Made stop button optional, hidden by default
2022-01-24 22:05:00 -08:00
Christopher Snowhill
fa67b79b22
Mini Window: Window now acts as a drop target for files, sending them to the end of the playlist
2022-01-24 21:30:36 -08:00
Christopher Snowhill
640a514d40
Toolbar Controls: Changed some toolbar items and their visibility priorities
2022-01-24 21:29:52 -08:00
Christopher Snowhill
e471945a08
Equalizer: Implemented new presets contributed by Oleg-Chashko
2022-01-24 20:01:22 -08:00
Christopher Snowhill
ec7009f3fc
Equalizer: Instances of GraphicEQ AU are now relinquished to the main thread for destruction instead of being destroyed by the Core Audio Output shutdown
2022-01-24 19:49:43 -08:00
Christopher Snowhill
d8b16e44c7
SQLite Store / Drag and Drop: Now correctly store changes made by dragging playlist entries around to the database
2022-01-24 06:07:13 -08:00
Christopher Snowhill
fee7fcdb21
FFmpeg: Handle preroll skip manually
2022-01-24 06:07:09 -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
9e42df41bd
Equalizer: Adjust dialog somewhat again, changing the splitter style, and cleaning up the effects of changing the bands manually, and bringing back the Flatten button
2022-01-23 22:34:41 -08:00
Christopher Snowhill
f35c632f00
Equalizer: Fix the app switching presets in the background versus the open equalizer dialog
...
This should fix #198
2022-01-23 20:40:48 -08:00
Christopher Snowhill
fe4e17a4a0
Equalizer: Remove equalizer from window, thus saving settings, on stop or shutdown
...
Fixes #204
2022-01-23 20:25:42 -08:00
Christopher Snowhill
51caf3f4e3
Cog Audio: Don't overfill the output buffer when asked to reset the buffers
2022-01-23 19:53:50 -08:00
Christopher Snowhill
d364d48944
Cog Audio: Change for recursive lock, fixing a deadlock on buffer resets
2022-01-23 19:50:01 -08:00
Christopher Snowhill
494ad84ea7
Cog Audio: Made ring buffer locking mechanism more secure and/or smarter
2022-01-23 19:36:33 -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
29ad6e3060
File Tree: Accidentally removed logging header that's used elsewhere
2022-01-23 15:02:46 -08:00
Christopher Snowhill
003b30cba2
File Tree: Remove useless logging, as the issue is apparently with pCloud's FUSE host
2022-01-23 14:43:22 -08:00
Christopher Snowhill
06adf472e9
File Tree: Bodge removed as it doesn't work, logging added for missing files
2022-01-23 13:22:52 -08:00
Christopher Snowhill
6b8d300384
Opus input: Support switching gain modes based on player settings, since the Opus tag reader doesn't support Opus gain tags yet
2022-01-22 21:03:52 -08:00
Christopher Snowhill
8e5c62f185
Info Inspector: Now displays ReplayGain info as tooltip for status text
2022-01-22 20:44:06 -08:00
Christopher Snowhill
38e013e4ab
File Tree: Attempt Unicode Normalization Form bodge on enumerated paths
2022-01-22 20:32:18 -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
b54b10861b
Playlist View: Enable column text tightening before truncation
2022-01-22 15:03:30 -08:00
Christopher Snowhill
502e52d699
Core Audio output: Hopefully stop buffer looping on device stop
2022-01-22 14:37:37 -08:00
Christopher Snowhill
6011982a63
Equalizer: Correctly activate the equalizer when starting playback
2022-01-22 12:59:59 -08:00
Christopher Snowhill
6cf7d1d615
SQLite Store: Create and update database schema version properly
2022-01-22 12:43:26 -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
5bf5830b17
Info Inspector: Now displays ReplayGain tag presence
2022-01-21 23:49:07 -08:00
Christopher Snowhill
97b8d07066
TagLib: Now reads foobar2000 ReplayGain fields from MP4 files
2022-01-21 23:48:49 -08:00
Christopher Snowhill
9bfc51cbf4
Info Inspector: Add field to display whether a track has an embedded CUE Sheet
2022-01-21 23:19:32 -08:00
Christopher Snowhill
058614b6a0
Core Audio / FFmpeg inputs: Change to correctly discern most lossy/lossless codecs
2022-01-21 23:09:35 -08:00
Christopher Snowhill
9d1fd08574
HDCD Decoder: Only process lossless tracks
2022-01-21 22:47:11 -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
bde3f552d9
Drag and Drop: Fixed jank with dragging, especially undo and redo
2022-01-21 16:11:24 -08:00
Christopher Snowhill
a743f914e9
HDCD Indicator: Made this less janky too
2022-01-21 15:00:44 -08:00
Christopher Snowhill
391fc474f3
Drag and Drop: Made DND undo possibly less janky
2022-01-21 15:00:27 -08:00
Christopher Snowhill
297b7b2909
Playlist View: Fix default sorting and playlist refreshing, which fixes playlist search bugging out
2022-01-21 00:16:29 -08:00
Christopher Snowhill
26e0e0cead
HDCD Decoding: Add HDCD indicator
2022-01-20 23:53:45 -08:00
Christopher Snowhill
3a2d360d24
Play Time Field: Rename function used to count digits
2022-01-20 22:33:15 -08:00
Christopher Snowhill
6e68494f09
Play Time Field: Now pads with spaces up to the duration size plus hyphen, as necessary
2022-01-20 22:30:31 -08:00
Christopher Snowhill
71347aab83
Play Time Field: Changed how control achieves monospace numbers, and changed font
2022-01-20 22:03:59 -08:00
Christopher Snowhill
0f90dd3b3e
Playlist View: Support undoing and redoing Drag and Drop operations within the playlist
2022-01-20 21:48:23 -08:00