Problem with subsongs support
Added by Matti Tiainen about 10 years ago
Hi,
I started working on plugin for UADE (http://zakalwe.fi/uade/), but hit a problem with subsongs.
It seems that subsongs only work (in Audacious 3.5.1) if the input plugin defines explicit file extensions or URI schemes, otherwise the subsong data in a Tuple returned from probe_for_tuple() call is ignored.
I think the problem is that subsongs are only checked in adder.c/add_file(), which in turn only considers the file extension or scheme (via probe.c/file_find_decoder()).
Otherwise the tuple is read via scanner.c code, which doesn't seem to know anything about subsongs defined in the Tuple.
This is a bit inconvenient for Amiga music files, which are usually distributed using a file format prefix rather than suffix (MOD.klisje_paa_klisje, cust.ingame1-7 etc.).
Any help would be appreciated, thanks.
- Matti
Replies (3)
RE: Problem with subsongs support - Added by John Lindgren about 10 years ago
Matti Tiainen wrote:
It seems that subsongs only work (in Audacious 3.5.1) if the input plugin defines explicit file extensions or URI schemes, otherwise the subsong data in a Tuple returned from probe_for_tuple() call is ignored.
Yes, that's true in the current design. I'll have to think about a way to solve this problem.
RE: Problem with subsongs support - Added by John Lindgren about 10 years ago
Having thought about it some more ...
In the current design, the idea is, when opening files, to get them added to the playlist as quickly as possible so that we can begin playing them. To that end, we just look at filename extensions and try to avoid probing file contents until after the files are in the playlist, when we can do it in the background. But for your use case, you have subtunes in files that can only be identified by probing. So we really need to look at the file contents before adding the files to the playlist. I don't want to make everybody's music player run slower in order to fix one somewhat unusual use case, so I've added an option: "Probe content of files with no recognized filename extension".
https://github.com/audacious-media-player/audacious/commit/ca6f0431f3ba4eec26775e8a3cc656dc8b870c94