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!
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++.
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?
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.