Mutable Instruments Braids and Plaits → Zynthian Aether, Mutated Instruments, and Chaos Engine

Just basic Braids and Plaits built for Zynthian. Fully working. My plan is to build out a lot of MI vcv stuff to build a modular type of ecosystem for us. I will have the source up once I clean it up tomorrow, it’s getting late.

https://github.com/PatttF/zynMI/archive/refs/heads/main.zip

10 Likes

Nice! Good work @PatF !

I just tested and it seems there is some issue with the ADSR code in both plugins. I hear “clicks” when releasing notes, like level changing abruptly when envelope changes from sustain to release stage.

Also, it would be nice to improve the TTLs, grouping and sorting parameters and “marking” envelope ones so zynthian UI can show the envelope widget, etc.

Thanks!

1 Like

Yeah, I was working on implementing Stages into both as a complete ASDR solution and let’s just say… it has a few issues still lol. That’s what I meant by “clean up code”. I was just happy the engines work.

1 Like

Keep the good work, please! I can’t wait to test more and better :wink:

2 Likes

Updated with source code and very in depth asdr controls thanks to Stages, I started on organizing the controls but that’s a work in progress. Next up is Rings, Clouds, and Warps as audio plugins. The goal is to be able to set up the audio chain any way we want like eurorack. Made an initial release
What do I need to do to get them added into Zynthian?

1 Like

Far out! This is all about how to get what you’ve done into Zynthian - have you seen it for starters?

Yeah I just didn’t know for lv2’s. I assume they pick and choose, adding them on their own. Some of what we have doesn’t even have source available.

Maybe this will be helpful, once again if you haven’t seen it:

Creating a new Zynthian LV2 plugin

You choosed a strange order for the ADSR paramters. I would suggest to follow the standard ADSR order, starting with Attack and ending with Release. You did just the opposite! :wink:

Regarding installing the plugins in zynthian, it’s quite easy. The best is you use an install script that we could integrate easily in our update system. Something like this:

#!/bin/bash

BASE_URL_DOWNLOAD="https://github.com/PatttF/zynMI/releases/download/BraidsPlaits/zynMI.zip"

rm -rf $ZYNTHIAN_PLUGINS_DIR/lv2/braids.lv2
rm -rf $ZYNTHIAN_PLUGINS_DIR/lv2/plaits.lv2

wget "$BASE_URL_DOWNLOAD"
unzip zynMI.zip
mv zynMI/*.lv2 .
rm -rf zynMI
rm -fzynMI.zip

This is already included in Vangelis branch, so you don’t need to create it. Simply call it for installing/updating the plugins:

$ZYNTHIAN_RECIPE_DIR/install_zynMI_prebuilt.sh

If you add new plugins, please, modify the script as needed and send a PR to zynthian-sys repository.

After calling the script, if a new plugin was created or the manifest.ttl was changed for any of the plugins, you should regenerate the engines DB like this:

regenerate_engines_db.sh

Please, don’t include this call in the script because this is a slow operation that is normally done by the update system when finishing the process.

Ahh! Please, consider to review the plugin bundle-dir names, adding the “mi” prefix or something so they are better indentified and we avoid collision with existent or future plugins. I mean, use “mi_braids.lv2” instead of simply “braids.lv2”. Don’t need to change the plugin URIs. They are good enough.

All the best

2 Likes

I absolutely got the numbering in the groups backwards(or forwards if you will). :joy: It was late last night when I did that. After work that will get that fixed and I’m going to look at adding the ADSR widget. Thank you for all of your help.

3 Likes

Ahhh! I understand. It’s not very natural, but it has some advantages. Anyway, note it’s called “display priority” and not “order index” :wink:

BTW, the ADSR now seems to work nicely. No clicks & pops! Congrats!

2 Likes

I fixed the order and replaced the zip. Should this install on system updates, I just updated and still had to push the files myself.

Hi @PatF . You have to do a git “Pull Request” to get your changes accepted into production Zynthian, unless you’ve made other arrangements to get your, much appreciated, contribution in.

See 1 Contributing to Zynthian, and 1.1 What we expect of you in the Wiki:

Then when @jofemodo or any of the developers who maintain Zynthian accept the Pull Request your changes will be included in the normal maintenance stream.

2 Likes

The install script was already added.

I think, and this is pure speculation on My part, that @jofemodo may have put that into the install script, so that new versions of Zynthian which include the file, would not keep taking it out for you.

I’ve included the script to install the plugins, but it’s not included in the updates, so you still need to run the script by hand to install/update the plugins. When the plugins are stable enough, i will include in the updates.

To install the scripts by hand, run this commands:

$ZYNTHIAN_RECIPE_DIR/install_zynMI_prebuilt.sh
regenerate_engines_db.sh

After first installation, for updating the plugins:

$ZYNTHIAN_RECIPE_DIR/install_zynMI_prebuilt.sh

The engines DB doesn’t need to be regenerated when updating, unless there are new plugins in the package or the existing ones changed their manifesto (plugin URI, etc)

Thanks!

4 Likes

This is very cool. Will you be adding Grids?

This has been a challenge, a lot of the vcv(and eurorack) stuff needs more than we(I) can do with plugins like this. SO… Braids and Plaits now have built in filters and Rings implemented as a resonator. Oh yeah, and I added Marbles as a midi plugin under Other. :wink:

The lv2 folders have also been renamed with mi_ added to the beginning of the names.

There’s going to be some bugs but give me some time, it’s still cooking. It’s already fun to explore, and if you do run into any bugs let me know.

4 Likes

I’ve spent a lot of time today fixing bugs. I think we are in a good state with these.

Also, holy crap Marbles is fun. I’ve been playing with it on everything we have on zynthian.

5 Likes

please, send some noize!! :grin:

1 Like