Octaver plugin (built with Rust)

I just wanted to share this octave down plugin I made with Rust, using the rust-lv2 crate.
This repository could serve as an example how to build your own mod devices with Rust. I don’t know if there’s any interest in that kind of thing.

I have included a build pipeline for the Mod Dwarf and Mod Duo. I’ve tested it on my Mod Dwarf. The Mod Duo binary runs on my Pisound (MODEP), but I’m not sure if it actually works on a Mod Duo. Can anyone that wants to give this plugin a go check this?

Any feedback about the plugin, the code itself, build settings/flags etc. would be greatly appreciated.

This plugin works best in combination with a distortion by the way!

13 Likes

Cool! I’ll try it later. Why choose to use rust over the “standard” way to build mod plugins? What are pro and cons?

I don’t have any C++ experience and I thought coding in Rust would be a little more accessible (easier). It seemed to get a lot of praise the last couple of years too so I wanted to try it out. This lecture actually got me inspired: Ian Hobson - An introduction to Rust for audio developers - YouTube

There is a lot of discussion about advantages/disadvantages of using rust. I don’t think it’s wise for me to get into that, because again, I have no experience in C/C++. :slight_smile:

6 Likes

Cool that you added your toolchain for reference!

Maybe this will inspire others to make a plugin in rust :slight_smile:

Perhaps a nice topic to have a wiki-page on …

2 Likes

I will need to update myself / learn more about it. Anyway, I saved your wiki idea for feature check.
Thanks for the suggestion.

I tried it on a mod duo and it works. Nice job with the packaging and instructions.

5 Likes

Here’s two more plugins. Maybe this is a better demonstration as these are “nice” sounding plugins. :slight_smile:

A granular delay: https://github.com/davemollen/dm-GrainDelay
A reverse delay: https://github.com/davemollen/dm-Reverse

7 Likes

Can I ask why you are using CC-BY-SA-4.0 licensing for your software projects?

The CC licenses are not really suitable for software projects and usually are used for designs, artwork, logos etc.
CC0 ostensibly is the only one that kind of works, because it simply states “public domain”.

To be honest I haven’t given the type of license much thought. So I believe you completely when you say this isn’t the most convenient choice. I want this to be open source, allow anyone to reuse this code, which made me think creative commons.

But just thinking about it, I’ve seen a lot of software projects using the MIT license. Does that make more sense to you than CC-0?

1 Like

The link below is a pretty concise and helpful comparison of different licenses.

5 Likes

Thanks, that’s a good resource. Switched to the MIT license now

7 Likes

Just realize that MIT (and BSD, ISC, and others) license allows others to make changes that they can then keep private.

If you want to “force” others to disclose any modifications then GPLv3 (preferably with -or-later appended, for future compatibility) is typically used.

But cool stuff, can’t wait to try it out in beta :slight_smile:

2 Likes