Skip to content

johnmanjohnston/dawception

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

546 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DAWception

A mini DAW in a plugin. You can add tracks, drag audio clips, and host other plugins.

An audio plugin developed as a workaround to track count limits in "lower tier versions" of DAWs (like Ableton Live Lite's 8 track limit).

image

DAWception running within Ableton Live Lite

Features

  • unlimited stereo audio tracks, which can be organized using groups
  • drag and drop audio clips (with basic clip manipulation features like splitting and trimming)
  • hosting plugins for individual tracks or groups, with latency compensation
  • automation passthrough from host DAW to plugins hosted inside DAWception
  • dry/wet control added to every hosted plugin (even if the hosted plugin doesn't provide it by default)

Limitations

This project is a workaround to track count limits in your DAW. DAWception is not a full replacement for all the features you get by buying a better edition of your DAW. DAWception does not have:

  • MIDI support (yet)
  • sidechaining
  • pitch shifting
  • quantization
  • any other fancy features that upgraded editions of your DAW might have

If you can afford to upgrade your DAW, that is most certainly a better option than using DAWception. If you can't, DAWception exists as a workaround.

Usage

Tracks and groups

Creating tracks and groups
Description Screenshot
Use "ADD GROUP" and "ADD TRACK" buttons at top of tracklist image
Right click in the tracklist area to show context menu image
Right click on a group for context menu to add tracks/groups image
Moving tracks/groups into groups
Description Demo
Drag a track/group and drop inside group nesting-nodes-by-dragging
To copy/paste tracks/groups, right click on it to copy, select "Copy", then right click on the group to paste inside, and paste copy-paste-nodes

Audio clips

Adding audio clips
Description Screenshot/demo
Drag audio file from your file explorer to timeline drag-file
Right click to show context menu, select "Insert audio file" and select file from your file explorer image

Some DAWs (like Ableton Live) might be using the audio file you're trying to add, so it won't let you import it into DAWception. If this happens, locate the audio file in your file explorer, consolidate/flatten the audio clip in your DAW, then import the audio file from the already open file explorer window.

Clip manipulation
Description Screenshot/demo
Move clips by dragging them, trim clips by hovering on the side so that the "trim handles" are visible, then hold Ctrl while dragging the trim handles moving-and-trimming
Change clips' gain by opening its clip properties window (by double clicking said clip, or by context menu upon right clicking over clip) clip-properties-window
By default, moving/trimming clips snaps them to grid. To stop snapping to grid, hold Alt while dragging/trimming clips.

Hosting plugins

Scanning plugins
Description Screenshot
Click "CONFIG" on the top right, selecting "Scan plugins" prompts you for your VST3 directory and scans plugins, selecting "Lazy scan for plugins" does a similar scan, and is much faster but is less through image
Adding and reordering plugins
Description Demo
To add plugins, click "FX" on the track/group you want to add plugins too, right click in the empty space to open a context menu and select the plugin you want to add adding-plugins
To reorder plugins, drag the plugin to where you want the plugin to be positioned; the plugin will finally be positioned on the right of the position indicator line thing reordering-plugins

The slider is the dry/wet mix of the plugin. The X on the top right of the plugin removes the plugin.

Automating plugins

Automating hosted plugins/groups The way automation works in DAWception, is that DAWception has 128 automatable parameters, each parameter stores a value from 0% to 100%. You relay the value from that parameter, to any plugin's parameter. A value of 0 corresponds to the target plugin parameter's minimum value, and 100 corresponds to target plugin parameter's maximum value.

You can also map the same input parameter across multiple output parameters, for different plugins.

Description Demo
To automate a plugin, find the plugin and click "AUTOMATE", right click for context menu to create a relayed parameter.

"IN" is the parameter DAWception should read from, "OUT" is the parameter of the hosted plugin that DAWception should write to. Use your DAW's automation feature to automate DAWception's appropriate "IN" parameter (your DAW should be playing—not paused—to reflect the changes in the subhosted plugin's editor)
result
Your DAW (cough Ableton cough) doesn't show all 128 automatable parameters? Your DAW might refuse to show so many automatable parameters by default, the fix is dependent on the DAW you use. If you're using Ableton, to fix this:

In Ableton, click "Configure"

image

In DAWception, on the top right, click "CONFIG" then "Open relay params inspector"

image

Move the slider for whatever input parameter you want to automate

image

It will then show up inside Ableton

image

Installation

All releases are provided as VST3 plugins.

Latest Release (v0.0.1)

Linux: TODO

Windows: TODO

macOS: TODO

Older Versions

For older builds, from the Releases section, download the appropriate build for your platform.

Building

Downloading Source and Dependencies

# clone this repo and cd into it
git clone https://github.com/johnmanjohnston/dawception/
cd dawception

# clone JUCE
git clone https://github.com/juce-framework/JUCE/
# generate build files with CMake
cmake .

You should then see the required files to build for your platform (Makefile for Linux, Visual Studio solution for Windows).

Linux-specific patch for plugin editors to function properly inside DAWception

On Linux, plugin editors hosted inside of DAWception cannot be dragged around; this JUCE patch fixes that.

Inside JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp, add the following code anywhere inside the VST3PluginWindow struct:

#if JUCE_LINUX
    void handleCommandMessage(int commandId) override {
        if (commandId == 420) {
            embeddedComponent.updateEmbeddedBounds();
        }
    }
#endif

Compiling

Linux

# run make
make

Windows (Visual Studio)

  • open dawception.sln
  • Build > Build Solution (or do Ctrl + Shift + B)

Running

If you built a debug build: dawception_artefacts/Debug/VST3/DAWception.vst3

If you built a release build: dawception_artefacts/Release/VST3/DAWception.vst3

Move the file to your DAW's VST3 plugin folder. Then, scan and add DAWception to any track in your DAW.

License

DAWception is licensed under the AGPLv3, see LICENSE for details.

About

a mini DAW in a plugin, made as a workaround to DAW track count limits (like in Ableton Live Lite)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors