Open flibitijibibo opened 7 years ago
For whatever reason, XnaToFna spits out a zero-byte file on Linux, also explaining why it fails so early, checking the file header...
In src/Content/WaveBank.cs
:
public static void UpdateWaveBank(string path, BinaryReader reader, BinaryWriter writer) {
if (!IsFFMPEGAvailable) return;
Log($"[UpdateWaveBank] Updating wave bank {path}");
reader.BaseStream.CopyTo(writer.BaseStream);
to at least fill the temporary output.XnaToFna.ContentHelper.IsFFMPEGAvailable
incorrectly returns false
on Linux.The following commit fixes the 0 byte XWB issue: https://github.com/0x0ade/XnaToFna/commit/0ad8154ccd7ad64a81aa6e5b7df63b72d2189b46
!= 0
was predetermined to fail in this specific case.Additionally, https://github.com/0x0ade/XnaToFna/commit/55c097c07b89d40c8a244d92ffbafd831582ee6a now makes XnaToFna log if FFMPEG is missing.
https://github.com/0x0ade/XnaToFna/commit/cf99acf09beaaa65937748f26c7f06943cec3d6c adds XMA2 "support," which is part of #3
xWMA should be covered by https://github.com/FNA-XNA/FAudio/issues/32 instead of XnaToFna. If we wanted to be extra involved we could also implement a WMA backend for XNA_Song.c but honestly since we need a converter for WMV files anyway, I'm not too worried about that...
This is where we dump bugs related to Windows Media content not being fixed or bugs that are introduced by the content conversion.
Starting with a Stardew Valley WaveBank, which interestingly doesn't use xWMA at all: