A minimal backend for nodes.
- No external dependencies - only the C++ standard library is used
- Backend only - you can implement your own frontend
- Simple API (at least in my opinion)
- Node muting
- Node groups (see the example group node under
src/nodes/groupnode.[cpp,h])
- Looping
- Evaluation using concurrency/parellism
This assumes you already have C/C++ and CMake already set up.
- Download or clone this repository
- Open a terminal in the top level directory.
- Run
mkdir build && cd build - Run
cmake .. - Run the appropriate command for the compiler you're using, i.e.
make
# or
ninja
# or
clang
# etc.To run the example found in src/main.cpp, run ./src/nodes{{OS EXECUTABLE EXTENSION}} still inside of the build/ directory, where {{OS EXECUTABLE EXTENSION}} is the operating system's executable extension, i.e. blank for Linux, .exe for Windows, etc..
- As of writing, I am not completely convinced that this uses the most efficient evaluation system. A key problem is that the whole node tree is evaluated every time, even if some nodes don't need to be run again.
- I am not entirely sure how much I will maintain this repository, particularly as this was originally intended to be a prototype for Gimel Studio, but if there is enough interest I will continue working on it.
This project is released under the MIT license. Do what you wish with it. :)