Support AIFF file format
Related issue: #1243 (closed)
This Merge Request includes:
- A changelog fragment (cf https://docs.funkwhale.audio/contributing.html#changelog-management)
This ads support for the AIFF file format, tagged with ID3 tags. Tested locally, including playback.
Some implementation notes:
- A test for the
artiststag is commented out. There is actually a bug in FW for reading this properly. The tag is supposed to contain a proper multi-value tag (in ID3 a TXXX with actually multiple distinct values), but FW currently only seems to use the first value. This is also broken in the MP3 test, there is just seems to kind of work because the test.mp3 actually contains only a single value "Binärpilot; Another artist". I haven't looked into the details of this issue yet, but it is otherwise unrelated to AIFF support.
- Support for WAVE files would look very similar, just that for WAVE we should also consider RIFF INFO tags (in addition to ID3, preferring ID3 if possible). Mutagen currently does not directly support RIFF INFO, but it can be implemented on top of what mutagen provides. Picard does something like this, see https://github.com/metabrainz/picard/blob/master/picard/formats/wav.py#L45 . Not yet sure how this would fit into the metadata model FW uses.
Funkwhale is really great, enjoying it very much. Awesome work. And, in comparison to it's complexity, relatively easy to hack on :D