Christopher Snowhill
6222e25adc
Experimental tag support redesign
...
This redesign completely changes how tags are stored in memory. Now all
arbitrary tag names are supported, where possible. Some extra work will
be needed to support arbitrary tags with TagLib, such as replacing it
with a different library.
Translation pending for a couple of strings.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-08 16:34:50 -07:00
Christopher Snowhill
b025a21e13
[Synthesizers] Implement default overrides
...
Default time, fade, loop count, and sample rate may now be overridden.
Synchronized preferences strings tables. Spanish translation of new
options pending, new releases won't be pushed until they're complete.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-02 01:25:24 -07:00
Christopher Snowhill
39f4d09c1a
Use NSNumber Literals as much as possible
...
Replaced a bunch of [NSNumber numberWith...] with NSNumber Literals.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 06:39:02 -07:00
Christopher Snowhill
872816f056
VGM Decoder: Change logic of dictionary creation
...
Metadata logic code should be using this dictionaryWithDictionary method
so that the resulting dictionary is actually immutable, like it claims
to be, rather than simply casting it. Safety coding, all that jazz. Not
really a major issue, just feels right.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-05-24 01:09:39 -07:00
Christopher Snowhill
8cf37cadf3
Unicode metadata: Change most logic to use guesser
...
Most file formats the player supports may or may not have UTF-8 safe
strings in their metadata. This should not be assumed to be UTF-8, and
when it is assumed, it results in nil NSString objects, which results in
inline initializers crashing due to uncaught exceptions.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-05-24 01:07:55 -07:00
Christopher Snowhill
69ebce32c0
Revert "VGMStream Input: Remove downmixing, add layout"
...
This reverts commit 0d4ee4c901
.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-03-21 16:34:49 -07:00
Christopher Snowhill
183a03657d
VGMStream Decoder: Fix mutable dictionary
...
This dictionary was replaced with an inline literal declaration, but
this defines an immutable dictionary. Change it to a mutable copy.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-03-06 03:57:03 -08:00
Christopher Snowhill
0d4ee4c901
VGMStream Input: Remove downmixing, add layout
...
Downmixing should no longer be necessary, unless someone actually tries
to emit up to 64 channels, while we support only 32 channels, but really
only 18 channels. Also read the channel layout field from the decoder,
so that the speaker layout will propagate from the files to the player.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-15 22:55:34 -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
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
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
684951bdc0
Change a bunch of NSArray declarations to const collection literals
2022-01-18 18:12:57 -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
1eb2270049
VGMStream: Rewrite file interface based on the VGMStream stdio interface, only using CogSource files
2022-01-06 22:12:34 -08:00
Christopher Snowhill
ee6faec757
VGMStream: oops, coding error
2021-10-02 18:49:00 -07:00
Christopher Snowhill
6c8c807781
VGMStream: Clear sample buffer, just in case
2021-10-02 18:47:04 -07:00
Christopher Snowhill
cbf20dab08
VGMStream: Correctly implement mixing support and output channel reporting for downmixes
2021-10-02 18:38:23 -07:00
Christopher Snowhill
cb70b066d7
Updated VGMStream to r1640-85-gfe316bb2
2021-10-01 20:21:50 -07:00
Christopher Snowhill
fdae7eec21
File info: Implemented support for Album Artist and Codec fields
2021-10-01 19:18:42 -07:00
Christopher Snowhill
42a6738e8f
Updated VGMStream to r1640-11-gdfa3779a
2021-09-06 09:28:26 -07:00
Christopher Snowhill
75a4f1e722
VGMStream: Fix one shot files actually decoding to completion instead of getting stuck forever
2021-06-15 01:34:01 -07:00
Christopher Snowhill
668475c43a
VGMStream: Correctly report ReplayGain tags from external M3U tags
2021-05-30 14:47:21 -07:00
Christopher Snowhill
7acfdf774d
VGMStream: Fix length reporting and track termination when not looping forever
2021-04-22 23:53:59 -07:00
Christopher Snowhill
2c20205f8f
Fix VGMStream info parser to remove anchors and URL percent encodings from filenames
2021-04-06 16:51:08 -07:00
Dzmitry Neviadomski
70a22e9611
Fix some more warnings.
2021-01-27 05:12:07 +03:00
Christopher Snowhill
4eb7a3eebf
Update VGMStream plugin with new API changes a bit, and now force auto downmixing to 6ch
2020-09-21 22:33:18 -07:00
Christopher Snowhill
86681e9726
Implemented support for VGMStream external !tags.m3u metadata playlists
2019-11-23 20:36:57 -08:00
Christopher Snowhill
389a701553
Implemented new VGMStream properties and metadata caching, which keeps file smashing under control, which stops Hardened Runtime from crashing on us
2019-10-18 20:21:27 -07:00
Christopher Snowhill
b3eb934a38
VGMStream plugin correctly fades channel counts other than stereo.
2018-07-17 23:34:25 -07:00
Christopher Snowhill
5c25e3b071
Fix decoder so it ends properly on non-looped files when Repeat One is enabled.
2018-07-17 18:09:59 -07:00
Christopher Snowhill
16e0a006f2
Updated VGMStream to r1050-866-g5cc215b4.
2017-12-16 20:17:41 -08:00
Christopher Snowhill
d0f0f516a3
Really add title reading this time.
2017-09-17 19:21:38 -07:00
Christopher Snowhill
29e548d583
Added title reading for multi-song VGMStream files.
2017-09-17 18:41:04 -07:00
Christopher Snowhill
9c80799aea
Updated VGMStream to r1050-670-g165cda22.
2017-09-16 21:24:57 -07:00
Christopher Snowhill
9df683829a
Fix VGMStream to not crash on open failure, and generate its file name extension list dynamically.
2017-07-09 15:01:25 -07:00
Christopher Snowhill
89a2ab07a1
Updated VGMStream.
2016-12-26 16:45:02 -08:00
Christopher Snowhill
b0e2332ce5
Updated VGMStream.
2016-12-18 11:32:02 -08:00
Christopher Snowhill
5e7180fe34
Updated VGMStream.
2016-12-08 14:47:10 -08:00
Christopher Snowhill
de77fef181
Enabled .mtaf extension decoding in VGMStream.
2016-08-24 17:36:39 -07:00
Christopher Snowhill
e4f3d02473
Add .sgb and .sgd extensions to VGMStream decoder.
2016-08-10 18:36:53 -07:00
Chris Moeller
ff46687597
Updated VGMStream with FFmpeg support, and moved the supported formats over to that plug-in.
2016-07-16 23:03:44 -07:00
Chris Moeller
ed33e37214
Fix file handle leak in vgmstream decoder.
2016-06-30 15:40:43 -07:00
Chris Moeller
21b67c92ac
Added HCA support to vgmstream.
2016-06-28 00:33:58 -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
1f0f4a75a0
Implemented bitrate reporting for vgmstream
2015-02-08 19:20:24 -08:00
Chris Moeller
06fc740e5a
Added .NUS3BANK extension to vgmstream decoder
2014-12-13 17:40:53 -08:00
Chris Moeller
587db5fdbe
Added vgmstream missing file name extensions
2014-10-19 16:39:06 -07:00
Chris Moeller
1222c96268
Updated vgmstream to support BFSTM files
2014-10-19 14:09:45 -07:00