-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Description
A few symptoms are present in ZynAddSubFX when running from .AppImage
.
I'm assigning @lukas-w based on my code review below.
- Zyn exports as sine-wave (originally reported by
seven#9849
on Discord here) - Cannot see or edit banks (reproduced here: Add AppImage support to Linux builds #3688 (comment))
There's a chance we are creating this blank zyn bank bug with the new data:/
syntax. Suspected because .zynaddsubfxXML.cfg
shows a line in it that says:
<BANKROOT id="0">
<string name="bank_root">~/banks</string>
</BANKROOT>
<BANKROOT id="1">
<string name="bank_root">./</string>
</BANKROOT>
<BANKROOT id="2">
<string name="bank_root">/usr/share/zynaddsubfx/banks</string>
</BANKROOT>
<BANKROOT id="3">
<string name="bank_root">/usr/local/share/zynaddsubfx/banks</string>
</BANKROOT>
<BANKROOT id="4">
<string name="bank_root">../banks</string>
</BANKROOT>
<BANKROOT id="5">
<string name="bank_root">banks</string>
</BANKROOT>
<BANKROOT id="6">
- <string name="bank_root">data:/presets//ZynAddSubFX</string>
</BANKROOT>
I can confirm that patching ZynAddSubFX helps. Here's my proof of concept code, which I believe fixes a regression from #1719.
diff --git a/plugins/zynaddsubfx/ZynAddSubFx.cpp b/plugins/zynaddsubfx/ZynAddSubFx.cpp
index 47da514..a4ab71b 100644
--- a/plugins/zynaddsubfx/ZynAddSubFx.cpp
+++ b/plugins/zynaddsubfx/ZynAddSubFx.cpp
@@ -28,6 +28,7 @@
#include <QDomDocument>
#include <QTemporaryFile>
#include <QDropEvent>
+#include <QFileInfo>
#include <QGridLayout>
#include <QPushButton>
@@ -440,13 +441,13 @@ void ZynAddSubFxInstrument::initPlugin()
RemotePlugin::message( IdZasfLmmsWorkingDirectory ).
addString(
QSTR_TO_STDSTR(
- QString( ConfigManager::inst()->workingDir() ) ) ) );
+ QFileInfo(QString( ConfigManager::inst()->workingDir() ) ).absoluteFilePat
m_remotePlugin->sendMessage(
RemotePlugin::message( IdZasfPresetDirectory ).
addString(
QSTR_TO_STDSTR(
- QString( ConfigManager::inst()->factoryPresetsDir() +
- QDir::separator() + "ZynAddSubFX" ) ) ) );
+ QFileInfo(QString( ConfigManager::inst()->factoryPresetsDir() +
+ QDir::separator() + "ZynAddSubFX" ) ).absoluteFilePath() )
m_remotePlugin->updateSampleRate( Engine::mixer()->processingSampleRate() );
The bank selection is still a bit buggy like #1001, but this fixes it so that it works with the checkbox workaround.
Related: #1001, #3688
Related in description: #3855, #2865, #2662
PhysSong