New OB-Xf plugin

Discovered on GitHub:
OB-Xf

The presets from OB-XD are not compatible, and there is no compiled Linux Arm version (yet?).

2 Likes

Successfull build on Zynthian Vangelis with this recipe:


#apt install cmake
#apt install pkg-config
#apt install libx11-dev
#apt install libxrandr-dev
#apt install libxinderama-dev
#apt install libxinerama-dev
#apt install libxcursor-dev
#apt install libxft-dev
#apt install libasound2-dev
apt install libwebkit2gtk-4.0-dev 
git clone  https://github.com/surge-synthesizer/OB-Xf.git
cd OB-Xf
cmake -DOBXF_JUCE_FORMATS=LV2 -B Builds/Release .
echo -e "\ninclude(Builds/Release/_deps/sstplugininfra-src/cmake/git-version-functions.cmake)" >> CMakeLists.txt
cmake --build Builds/Release --config Release
cp -R ./Builds/Release/OB-Xf_artefacts/LV2/OB-Xf.lv2 /zynthian/zynthian-plugins/lv2
export assets_dir="/root/Documents/Surge Synth Team/OB-Xf"
mkdir -p "$assets_dir"
cp -a ./assets/Surge\ Synth\ Team/OB-Xf/* "$assets_dir"
regenerate_engines_db.sh
systemctl restart zynthian

After installation you have to run (from web interface) Software/Engines [Search for engines] and mark OB-Xf. => script already does the search

Until now I have no idea how to add the presets…

Have fun!

P.S.: Sorry for the bad format but I don’t know why - it seems that the discourse editor seems to do strange things with my copy&paste text :frowning:

3 Likes

I was able to compile OB-XF with your patch from early August, but initially I couldn’t get Zynthian to detect the LV2. It worked now with your instructions. :+1: Currently, the plugin won’t start in Zynthian. I’ll try compiling it using your new recipe when I get a chance.

1 Like

Could you be more specific about the instructions? When I copy and paste it does not work…

Thanks,

Maarten

I fixed it :wink:

4 Likes

I added a line to the script to automate this. You still have to enable the plugin, but it can be done from zynthian UI by bold pushing in engine list.

Also added some lines to copy the default theme.

Regards,

5 Likes

Good news @zynthianers!
OB-Xf is now available in vangelis. Just update and enable the plugin from the zynthian-ui or webconf.

Still no presets nor custom TTLs for having nice parameter groups, etc.
As you can read in the project page:

Compatibility with OB-Xd

Patches and banks created by OB-Xd are NOT (!) compatible with OB-Xf, due to a number of changes we decided to do to some of the parameters. Patch conversion is likely possible for the most part, but is not the immediate priority, and 100% fidelity to OB-Xd cannot be guaranteed.

Perhaps some brave zynthianer want to work on this and make it an immediate priority.
If so, i would scale the task priority of preparing the custom TTL files :wink:

Regards,

6 Likes

Hopefully the Surge team went another route with parameter control that they did in Surge.

1 Like

I converted the standard banks to this version. At first there still was a bug wich prevented banks from being loaded, this seems corrected as it loads a bank I export and then re-import.

Yet my converted bank, which looks exactly the same, doesn`t load. The only thing I can think of that can be the problem is the header, as I work in pure text for converting.

The Reordered file is my converted fxb for the OB-Xf.
001 - FMR OB-Xa Patch Book_reordered.fxb (284.5 KB)

The test file is a now working testbank for the OB-Xf.test.fxb (661.5 KB)

At the moment I won`t bother the team working on the OB-Xf with it, once they go to the final v1.0 version I will look again.
But conversion from the old banks to this version should work, and then to TTL with an adapted version of @jofemodo ‘s preset2lv2 script.

1 Like

I have tried making a TTL, but am unsure on how to test it..

How do you guys run Zynthian? In a docker or virtualbox? I only have my zynthian for live gigging on stable. And I do like to test my work before merging the TTL to vangelis.

I ssh’ed the file onto my zynthian, adding it to the correct folder I manually created. Installed OB-Xf through the gui. But it does not seem to detect my custom TTL or it doesn’t work..

1 Like

So,

  • installed OB-Xf, it worked
  • copied the custom TTL with scp to the appropriate place
  • get an error when updating software, after which OB-Xf does not show up in engines anymore

Error:lilv_plugin_get_name(): warning: Plugin urn:org.surge-synth-team.OB-Xf has no (mandatory) doap:name

Since the surge TTL is quite different then all the other ones I see as examples my limited knowledge and debugging skills are depleted.. I am by no means a coder..

You may want to start troubleshooting with your “plug” prefix not matching your plugin code block, there is an extra “:” left.

(EDIT: But thats also in the original ttl, so that might not be the problem)

But this error message you have mostly also appears if you simply have a typo missing some end of line punctuation or so.

There are two further things I saw in your file:

  1. Why do GROUP10 and GROUP11 (line 1702 ff.) state pg:ControlGroup twice?
  2. If this was freshly compiled (was it?), why is it version 0.8.362, while the upstream release build is 0.9.3. This has nothing to do with the problem of course.

FYI, the installed version in official zynthianOS images is 0.8.223

Regards,

I didn’t try it, just refered to @krullebolle ttl version over here:

Hi @zynthianers!

I just upgrade the OB-Xf version in zynthianOS. It now include the factory presets that can be selected from zynthian UI. Not banks yet.

Just update and enjoy!

Regards,

4 Likes

Thanks for spotting that Hannes !!

Updated that.. and it works ! Whoop, my first TTL !

After testing changed it up some and then some more, so now it is in a better state then the OB-Xd.

Will test some more before pushing this.. Together with presets, this is now a usable synth !

3 Likes

I noticed that this instrument is really CPU hungry

1 Like

Yes, much more than the OB-xd.

Wow, I’ve missed this completely (until now)! Nice to see an update to the OB-Xd - it was in dire need of someone taking it under their wing, in particular the .ttl .

So this means that there are now two plugins in Zynthian which are based on OB-Xd: OB-Xf and MiMi-d.

I wonder why that is. Browsing the source, it is based on exactly the same source code, albeit with various modifications. The most DSP hungry parts of the OB-Xd are the filter and oscillator antialising, but there doesn’t seem to be any major changes or refactoring there which would account for a higher CPU load. Another thing which could account for a higher load would be if the original OB-Xd ‘economy mode’ (which only executes the DSP code for those voices that are actually playing) was switched off by default but in the OB-Xf, the parameter has been removed, and set to permanently on, so it can’t be this either.

Strange.