MegaDirt is a dirty (hence the name MegaDirt) cheap implementation of SuperDirt for TidalCycles, strudel or Sardine. It is not meant to replace SuperDirt but offer an alternative to "Live Coding" environment for users that want to use a simple solution to trigger midi notes / simply trigger samples from a DAW.
MegaDirt is a proof of concept, it was built to see how fast can SuperDirt be reimplemented in C++ with JUCE to be used as a plugin as an MVP.
It expects to use the Dirt-Sample collection downloaded from SuperDirt quark directory. Otherwise you can customize this directory in the settings menu.
- On Linux it will look for "~/.local/share/SuperCollider/downloaded-quarks/Dirt-Samples"
- On macOS it will look for for "~/Library/Application Support/SuperCollider/downloaded-quarks/Dirt-Samples"
- On Windows it will look for "%localappdata%/SuperCollider/downloaded-quarks/Dirt-Samples"
- Easier installation. MegaDirt can also be run as a standalone application (great for development)
- Easier audio routing from DAW (orbits are plugin buses) and use DAW audio plugins
- Easier midi routing from DAW and use DAW midi plugins (TidalCycles)
- Orbits are output buses of the plugin.
- DAW are picky about absolute time, feel free to set the schedule offset based on the audio interface and plugin chain for accurate timing.
- osc msg midichan / s "midi" - send midi event from DAW
- osc msg gain - sample gain
- osc msg begin/end - sample begin/end to use for slices
- osc msg legato - event length based on event window
- osc msg sustain - event absolute time
- osc msg pan - sample pan
- osc msg ccn / ccv - midi controller change
- osc msg orbit - sample output bus
- osc msg speed - sample speed
- osc msg loop - loop the sample within window playback
- Lazy loading of sampling files based on dirt folder
- Configurable sample path
- Character (a5, c, a#, gb) note names
- Multichannel orbit support (based on plugin bus)
- Support loop units ('r' and 'c')
- Windows Dirt sample directory
- Implement control buses (plug to Tidal)
- Find why renoise only render plugin when the window is open
Basic SuperDirt effects are now supported.
- Reverb - # room # size
- Filters - # cutoff # hcutoff # bandf (and the resonance counterpart) #djf
- Delay - #delay #delayt #delayfb
- Crush - #crush
- Phaser - #phasr #phasdp
Building MegaDirt should be straight forward. The building process is supposed to put the VST3 directory into the standard location.
git clone --recursive https://github.com/asb2m10/MegaDirt.git
cd MegaDirt
mkdir build
cd build
cmake .. # add `-G Xcode` if you want to use Apple Xcode and build it afterwards
make