Skip to content

openblocks-project/patchwork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Patchwork [Work In Progress]

A node-based visual programming environment built with Rust and egui. The project started as a routing/mapping software to interface between custom hardware nodes and other creative technology environments.

Connect nodes to build data pipelines route signals and numbers through math, load files, edit text, WGSL shaders, MIDI, OSC, Serial, custom scripts, audio synth and player and a lot more being added.

Aiming to have usable and functional nodes. More coming soooon!!!

Patchwork Screenshot Patchwork Screenshot

Quick start

cargo run

Build distributable (macOS)

cargo install cargo-packager
cargo packager --release 

Haven't yet tested on Windows - Reach out if anyone is interested!!

How to Use?

Double-click the canvas to add nodes. Drag from output ports to input ports to connect them.

Tech

  • eframe / egui / egui_wgpu - immediate-mode GUI with GPU rendering
  • wgpu / naga - GPU shader compilation and real-time rendering
  • midir - cross-platform MIDI I/O
  • serialport - serial communication
  • rosc - OSC protocol
  • rhai - embedded scripting(RHAI)
  • reqwest - HTTP client
  • serde / serde_json - serialization and JSON parsing
  • rfd - native file workflows
  • cargo-packager - .app / .dmg bundling for macOS

About

PatchWork is an open-source node-based signal processing software built on Rust

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors