nih-plug
slint
Our great sponsors
nih-plug | slint | |
---|---|---|
30 | 137 | |
1,308 | 14,640 | |
- | 15.2% | |
8.5 | 9.9 | |
5 days ago | about 23 hours ago | |
Rust | Rust | |
ISC License | GNU General Public License v3.0 Or Slint Royalty-Free |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nih-plug
-
Write your business logic with Rust, Empowered by Rinf for Native Performance Apps
Super cool. Any experience doing audio/synthesis/DSP work with this in a Flutter app? It would be particularly awesome if this enabled building VST plugins with Flutter and one of the Rust crates for VSTs (like NIH-plug or similar).
-
Get Started Making Music
I don't think Max4Live is not a good choice for building audio plugins. It's a weird platform that was designed for 'institutionalized academic music,' as I once read someone describe it. It's difficult to program in and not efficient. None of my favorite music software is made with it. It's also quite buggy, in my experience. For doing some basic extensions to Ableton Live specifically, beyond what VST allows access to, it's OK, since it's the only official way to do so.
If you want to just dive into DSP using wires and boxes, with some additional code sprinkled in, SynthEdit or Reaktor Core are faster, more fun, and produce better results. If you don't mind C++, check out iPlug from REAPER's WDL codebase: https://www.cockos.com/wdl/ — there are some forks of it.
There's also JUCE. You'll find some people complain about it and some people regret using it, despite it being relatively popular.
There are some Rust things for doing VST (and AU) development. Here's one that I've seen a few things made with: https://github.com/robbert-vdh/nih-plug/tree/master I wouldn't worry too much about the differences between C++ and Rust in this world. Audio software tends to be buggy, so the bar for being considered 'good enough' is pretty low.
-
Chromatic - instrument tuner by nate-xyz.
As it's written in Rust, perhaps it could be implemented as a CLAP plugin. This is a nice framework I've been playing with https://github.com/robbert-vdh/nih-plug/
-
What do you think is the next major direction for Rust adoption?
The potential is both in terms of moving away from proprietary corporate-controlled standards (but also still providing shared wrappers to support those "legacy" :) audio plugin formats) and supporting Rust as a first class development language (via e.g. https://github.com/robbert-vdh/nih-plug).
- Ask HN: Any sound-related project suggestions for learning Rust?
-
Seeking: Non GPL - VST3 basic API support
Yep, Steinberg licensing sucks. I suggest you use nih-plug, it has a much nicer Rust API and supports generating both VST3 and CLAP plugins from your code. I'm only targetting CLAP nowadays, but unfortunately not many DAW's support it.
-
Is it possible to create a VST that wraps around a standalone Java program, launching it as a separate process?
Since I seem to be stuck in turning the Java program into a VST, is it instead possible to create a separate program that is a VST using C++ (e.g. with JUCE) or Rust (e.g. with nih-plug) that starts my Java synth as a separate process and communicates via localhost or pipes and just forwards any inputs to the synths, as well as recieving any audio data generated?
-
I'm a (kinda) new programmer with some questions
If you want to make a CLAP audio plugin, you should use nih-plug, as it's a higher level library that supports vst and clap bindings. Also check out rust.audio
-
Uses of Rust and C++ that only one has?
At least, https://github.com/robbert-vdh/nih-plug already gives many features for developing VST and CLAP. I know, it's not JUCE, and maybe it even doesn't want to be like JUCE in terms of GUI building blocks, but it makes very promising progress.
-
Multiband FX-4
This free one exists, although I haven't personally used it https://github.com/robbert-vdh/nih-plug/tree/master/plugins/crossover
slint
-
Deno in 2023
Currently, we do it by using binaries through napi-rs so we can bring in a window using the platform native API. And then we do some hack to merge the event loops.
But if Deno supports bringing up a window directly, this means we can just ship wasm instead of native binary for all platform. And also I hope event loop integration will be simplified.
Although we'd also need more API than just showing a window (mouse and keyboard input, accessibility, popup window, system tray, ...)
-
Slint GUI Toolkit
Rich Text content is not yet implemented. This is tracked in https://github.com/slint-ui/slint/issues/2723
Thanks for reporting the broken link. Fixed in https://github.com/slint-ui/slint/commit/9200480b532f49007d2...
Web is not a primary target of Slint.
> Web: In Progress. Slint apps can be compiled to WebAssembly and can run in a web browser. As there are many other web frameworks, the web platform is not one of our primary target platforms. The web support is currently limited to demo purposes.
-
slint VS rinf - a user suggested alternative
2 projects | 24 Jan 2024
-
A 2024 Plea for Lean Software
With Slint (https://slint.dev) we're trying to make a lightweight toolkit that doesn't use HTML/CSS. And that you can program either from low level languages such as C++ or Rust. As well as with higher level language such as JavaScript, and we want to extend to python too.
-
Immediate Mode GUI Programming
I haven't. I was just searching for a GUI library that was Bevy-compatible and slint isn't at the moment: https://github.com/slint-ui/slint/discussions/940
Sorry!
-
Why the M2 is more advanced that it seemed
Trying to do that with Slint: https://slint.dev
- 9 years of Apple text editor solo dev
-
The Linux graphics stack in a nutshell, part 1
You can do that with Slint (https://slint.dev) and its linuxkms backend. No need for a xorg server or wayland compositor, just run the application made with Slint from the init script.
What are some alternatives?
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
iced - A cross-platform GUI library for Rust, inspired by Elm
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
lvgl - Embedded graphics library to create beautiful UIs for any MCU, MPU and display type.
dioxus - Fullstack GUI library for desktop, web, mobile, and more.
cxx-qt - Safe interop between Rust and Qt
webview - Tiny cross-platform webview library for C/C++. Uses WebKit (GTK/Cocoa) and Edge WebView2 (Windows).
druid - A data-first Rust-native UI design toolkit.
fltk-rs - Rust bindings for the FLTK GUI library.
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
QMetaObject crate for Rust - Integrate Qml and Rust by building the QMetaObject at compile time.
augmented-audio - Rust - Augmented Audio Libraries