Commit graph

105 commits

Author SHA1 Message Date
Christopher Snowhill
cad09b8912 CUE Reader: Fix enumerating sheets and tag reading
The reader should have been skipping the properties of CUE sheets when
reading the referenced data for the inner files.

Fixes #235

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-13 12:18:58 -08:00
Christopher Snowhill
1309672adc CUE Sheet Reader: Merge metadata the other way
The file metadata should be merged into the CUE Sheet metadata, as we
want the CUE Sheet to take priority, wherever it happens to have fields
set.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-12 07:57:13 -08:00
Christopher Snowhill
a05d4537c1 Various tagging fixes
- Fix Vorbis, Opus, and FLAC tag reading
- Fix Vorbis getting a 0 length if passing through the CUE Sheet reader
- Implement support for FLAC binary CUE Sheets

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-12 07:16:59 -08:00
Christopher Snowhill
d5aecaf6a2 Fix outstanding crashes and issues with CUE reader
CUE reader was crashing due to nil metadata pointers, which the new
inplace initializer I was using didn't like. Change it to use a mutable
regular dictionary, and only add items if they're not nil.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-11 06:49:41 -08:00
Christopher Snowhill
5ff1f95481 Add decoder open error indicator
When decoder is redirected to the internal silence decoder, show an icon
on the playlist indicating a playback error.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-10 02:15:48 -08:00
Christopher Snowhill
7cea254f4c Implement framework for dynamic metadata updates
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-08 21:21:53 -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
477feaab1d Now properly supports sample format changing
Sample format can now change dynamically at play time, and the player
will resample it as necessary, extrapolating edges between changes to
reduce the potential for gaps.

Currently supported formats for this:

- FLAC
- Ogg Vorbis
- Any format supported by FFmpeg, such as MP3 or AAC

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-07 19:18:45 -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
0b243158a0 Cue Sheet input: Fix files with no length
This bug prevented zero length or unknown length files, such as FLAC
files with no sample count in the header, or audio streams, from playing
properly, and clipped their output to the 0 samples indicated by the
field. Now it will simply allow wrapped files to decode until they stop
producing output.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-01 23:54:54 -08:00
Christopher Snowhill
698798a6f4 CUE Sheet input: Seek function now returns correct time offset 2022-01-19 22:09:29 -08:00
Christopher Snowhill
244f896318 CUE Sheet input: Fix for regular cue sheets, and for existing URLs for embed supported tracks 2022-01-19 22:06:36 -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
1540b84b09 Clean up association names 2022-01-18 03:20:07 -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
a1522aeb6e CueSheet parser: Support quirky FLAC generated CueSheets that contain sample counts instead of frames 2022-01-14 22:45:45 -08:00
Christopher Snowhill
33f3b4f5a0 CueSheet processor: Support timestamps with one or two fields, as well as the standard three fields 2022-01-14 19:05:48 -08:00
Christopher Snowhill
dac1dfee47 CueSheet input: Implement support for ReplayGain tags 2022-01-14 18:51:44 -08:00
Christopher Snowhill
2d32381bc1 Cue Sheet: Fix decoder priority level 2022-01-14 17:45:10 -08:00
Christopher Snowhill
d24a01a637 Implemented basic embedded CueSheet support 2022-01-14 16:46:35 -08:00
Christopher Snowhill
5772662984 Cuesheet: Read and merge metadata from referenced audio files, no matter their format 2021-11-21 00:16:16 -08:00
Christopher Snowhill
cfeadad97f Reduce minimum OS to macOS 10.12 2021-09-18 01:08:49 -07:00
Christopher Snowhill
13bd399b31 Clean up most warnings and update some dependencies 2021-04-29 18:16:24 -07:00
Dzmitry Neviadomski
64b9764b2e Inhibit ThirdParty libraries build errors.
This helps as to actually see warnings of our code.
2021-01-27 04:31:43 +03:00
Jan Weiß
63ed28919b Second attempt to fix build with other than maintainer’s TeamIDs. Worked for me with Xcode 12.3. 2021-01-05 17:25:12 +01:00
Christopher Snowhill
dbc51d76f9 Revert PR #60 - Nope, that breaks hardened runtime and signing it myself 2020-12-22 02:11:50 -08:00
Jan Weiß
c305a5f949 Fix build with other than maintainer’s TeamIDs.
This commit removes development team and code signing key/value pairs that slipped through when Xcode applied code signing changes.
2020-12-13 12:01:48 +01:00
Christopher Snowhill
91b1271ae2 Bump deployment target to 10.13 2020-11-24 15:26:26 -08:00
Christopher Snowhill
0001bd581b Phase one of Big Sur 2020-06-30 01:04:55 -07:00
Christopher Snowhill
3b628c3989 Touched by Xcode 2020-06-07 19:57:15 -07:00
Christopher Snowhill
765cb5e890 Usual Xcode update mess 2020-02-13 01:41:21 -08:00
Jan Weiß
105b0f26bb Improve file encoding detection. 2019-10-22 18:19:15 +02:00
Jan Weiß
f94226bcf2 Fix file encoding. 2019-10-22 18:19:15 +02:00
Christopher Snowhill
fd7ab684c2 Updates for modern Xcode 2019-10-05 00:12:36 -07:00
Christopher Snowhill
c1a45135b3 Remove unnecessary cleanup code that impeded cases where multiple decoders could handle a single file type. 2019-07-07 00:37:56 -07:00
Christopher Snowhill
050eef7225 Updated to latest Xcode 2019-07-02 16:37:17 -07:00
Christopher Snowhill
6980e7b4e9 Fix encoding of strings resources. 2018-07-22 01:58:57 -07:00
Christopher Snowhill
67495009ff Updates for new build system. 2018-06-28 04:03:37 -07:00
Christopher Snowhill
bcf839efd1 Apply Xcode's suggested changes to project files. 2018-06-04 00:13:55 -07:00
Chris Moeller
9e8fd61d8c Update xcschemes. 2017-12-05 19:10:41 -08:00
Christopher Snowhill
913287665d Update project files to current recommendations. 2017-09-26 16:12:33 -07:00
Christopher Snowhill
06f4fb70d4 Silence a warning. 2017-09-17 19:21:48 -07:00
Christopher Snowhill
039347f36f Made all scheme configurations shared, imported. 2017-09-17 18:40:02 -07:00
Christopher Snowhill
8ad0b7e8e3 Updated projects to Xcode recommendations. 2016-11-03 22:42:21 -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
Christopher Snowhill
899cfd6b42 Update project files. 2016-09-01 18:50:33 -07:00
Chris Moeller
17272ce43c Clean up lots of warnings and minor issues. 2016-06-29 22:10:29 -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
0e3644177e Updated everything else to ARC, and plugged a release cycle. 2016-05-05 13:05:39 -07:00
Chris Moeller
ce2303ef24 Update project files for new Xcode 2015-11-12 21:31:10 -08:00