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
8db2e41049
[Event Handling] Add context to all observers
...
Add context field to all observers that support it, in case it's useful.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-15 16:47:43 -07:00
Christopher Snowhill
aaade58842
[Cuesheet Input] Fix metadata handling by merge
...
The inputs now have their own metadata function, so it should merge in
the track tags from the Cuesheet, and not just forward it to the
decoder.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-12 00:55:37 -07: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
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
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
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
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
06f4fb70d4
Silence a warning.
2017-09-17 19:21:48 -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
63fba5930e
Implemented support for multiple decoders per file name extension, with a floating point priority control per interface. In the event that more than one input is registered to a given extension, and we match that extension, it will be passed off to an instance of the multi-decoder wrapper, which will try opening the file with all of the decoders in order of priority, until either one of them accepts it, or all of them have failed. This paves the way for adding a VGMSTREAM input, so I can give it a very low priority, since it has several formats that are verified by file name extension only. All current inputs have been given a priority of 1.0, except for CoreAudio, which was given a priority of 0.5, because it contains an MP3 and AC3 decoders that I'd rather not use if I don't have to.
2013-10-21 10:54:11 -07:00
Chris Moeller
e5a648578b
mamburu: Logging improved, no more excessive logging in release builds
2013-10-11 05:03:55 -07:00
vspader
03ad906fb4
Fixed shorten and cue sheet decoders so they conform with the updated protocols.
2008-03-30 15:43:28 +00:00
vspader
5715522470
Moved to frame-based reading/seeking instead of byte/second based. Some formats have still not been updated and are broken.
...
Added icons for other formats.
2007-11-24 20:16:27 +00:00
vspader
1889973c74
Fixed cuesheet decoding bug where tracks weren't changing if not played through completely.
2007-10-19 22:51:01 +00:00
vspader
bc212f3e96
Fixed bugs dealing with multi-track files and playlist saving/loading.
...
Fixed problem where cue sheets would play static.
2007-10-15 22:19:14 +00:00
vspader
535e0e802f
Updated mime-types.
2007-10-14 18:56:23 +00:00
vspader
3ee193e975
Updated mime types.
2007-10-14 18:39:58 +00:00
vspader
139bab5e0e
Fixed up streaming a bit.
...
Removed debugging code for http source. Was that in 0.06? Whoops.
2007-10-12 02:55:59 +00:00
vspader
b57bcc121c
Added support for gapless multitrack files.
...
Modified cue sheet plugin to use it.
2007-10-11 02:08:29 +00:00
vspader
50395e6e72
Basic cue sheet support working. Bug city.
2007-10-10 01:59:25 +00:00
vspader
4935c5ddfc
Added beginnings of cuesheet plugin.
2007-10-09 02:25:40 +00:00