Signed-off-by: falkTX <falktx@falktx.com>tags/22.02
@@ -304,6 +304,7 @@ jobs: | |||||
run: | | run: | | ||||
sudo apt-get update -qq | sudo apt-get update -qq | ||||
sudo apt-get install -yqq acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool libncurses-dev pkg-config python libtool-bin liblo-dev qemu-user-static | sudo apt-get install -yqq acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool libncurses-dev pkg-config python libtool-bin liblo-dev qemu-user-static | ||||
sudo apt-get install -yqq pandoc texlive-latex-base | |||||
- name: Bootstrap toolchain | - name: Bootstrap toolchain | ||||
if: steps.mpb-cache.outputs.cache-hit != 'true' | if: steps.mpb-cache.outputs.cache-hit != 'true' | ||||
run: | | run: | | ||||
@@ -342,6 +343,7 @@ jobs: | |||||
run: | | run: | | ||||
sudo apt-get update -qq | sudo apt-get update -qq | ||||
sudo apt-get install -yqq acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool libncurses-dev pkg-config python libtool-bin liblo-dev qemu-user-static | sudo apt-get install -yqq acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool libncurses-dev pkg-config python libtool-bin liblo-dev qemu-user-static | ||||
sudo apt-get install -yqq pandoc texlive-latex-base | |||||
- name: Bootstrap toolchain | - name: Bootstrap toolchain | ||||
if: steps.mpb-cache.outputs.cache-hit != 'true' | if: steps.mpb-cache.outputs.cache-hit != 'true' | ||||
run: | | run: | | ||||
@@ -380,6 +382,7 @@ jobs: | |||||
run: | | run: | | ||||
sudo apt-get update -qq | sudo apt-get update -qq | ||||
sudo apt-get install -yqq acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool libncurses-dev pkg-config python libtool-bin liblo-dev qemu-user-static | sudo apt-get install -yqq acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool libncurses-dev pkg-config python libtool-bin liblo-dev qemu-user-static | ||||
sudo apt-get install -yqq pandoc texlive-latex-base | |||||
- name: Bootstrap toolchain | - name: Bootstrap toolchain | ||||
if: steps.mpb-cache.outputs.cache-hit != 'true' | if: steps.mpb-cache.outputs.cache-hit != 'true' | ||||
run: | | run: | | ||||
@@ -14,3 +14,4 @@ | |||||
bin/ | bin/ | ||||
build/ | build/ | ||||
documentation.pdf |
@@ -2,12 +2,14 @@ | |||||
*Cardinal, the Rack!* | *Cardinal, the Rack!* | ||||
A virtual Eurorack modular synthesizer platform, | |||||
available as JACK standalone and LV2, VST2 and VST3 audio plugin for FreeBSD, Linux, macOS and Windows. | |||||
This is a [DPF-based](https://github.com/DISTRHO/DPF/) plugin wrapper around [VCV Rack](https://github.com/VCVRack/Rack/), | |||||
using its code directly instead of forking the project. | |||||
The target is to have a **proper, self-contained, fully free and open-source plugin version of Rack**. | |||||
A free and open-source virtual modular synthesizer plugin, | |||||
available as JACK standalone and LV2, VST2 and VST3 audio plugin for FreeBSD, Linux, macOS and Windows. | |||||
It is based on the popular [VCV Rack](https://vcvrack.com/) but with a focus on being a fully self-contained plugin version. | |||||
More specifically, this is a [DPF-based](https://github.com/DISTRHO/DPF/) | |||||
plugin wrapper around [VCV Rack](https://github.com/VCVRack/Rack/), | |||||
using its code directly instead of forking the project, | |||||
with the target of having a **proper, self-contained, fully free and open-source plugin version of Rack**. | |||||
See the [why section](#Why) below for the reasons Cardinal exists, | See the [why section](#Why) below for the reasons Cardinal exists, | ||||
also perhaps the [project overview document](doc/OVERVIEW.md) for an overview on how the project source code is structured. | also perhaps the [project overview document](doc/OVERVIEW.md) for an overview on how the project source code is structured. | ||||
@@ -0,0 +1,44 @@ | |||||
--- | |||||
mainfont: sans-serif | |||||
--- | |||||
# Cardinal manual for MOD Devices | |||||
This document briefly describes how to use Cardinal with a [MOD device](https://www.moddevices.com/). | |||||
It is intended for this documentation to be part of the plugin bundle when installed from the | |||||
[MOD Plugin store](https://pedalboards.moddevices.com/plugins). | |||||
## Plugin overview | |||||
Cardinal is a free and open-source virtual modular synthesizer plugin,. | |||||
It is based on the popular [VCV Rack](https://vcvrack.com/) but with a focus on being a fully self-contained plugin version. | |||||
If you already know Rack, Cardinal will be very familiar to you. | |||||
## Plugin usage | |||||
Currently Cardinal does not allow patch editing directly on the MOD units, | |||||
instead users need to run the "desktop" version of the plugin and connect it to the device. | |||||
This is easily done by the use of "File" -> "Connect to MOD" action. | |||||
After a successful connection, the same "File" menu will now show a "Deploy to MOD" option. | |||||
Clicking on it will push the current patch to the MOD unit, along with a screenshot of the current view. | |||||
You can also use the F7 shortcut key to do the same. | |||||
Additionally, enabling "Auto-deploy to MOD" will make Cardinal (the "desktop" plugin side) | |||||
automatically send the current patch to the MOD unit after 5 seconds of inactivity. | |||||
### Notes and caveats | |||||
This push-to-device workflow is very limited, it will improve in a future release. | |||||
For now it can already work to push existing or new patches to the unit. | |||||
After you push a patch, you can use MOD preset system to save a patch as plugin preset, | |||||
which will allow you to load it at a different time without the need for the "desktop" connection. | |||||
There are a few critical things to take into consideration for this release: | |||||
- Only one Cardinal instance is reachable in terms of desktop -> MOD connection, | |||||
you can and should use multiple instances when there is no desktop connection though | |||||
- The MOD unit must be connected over USB, so that the 192.168.51.1 IP is reachable | |||||
- The Audio File, Carla and Ildaeil modules are not available in MOD builds | |||||
- Compared to desktop, MOD builds are not as fast, so do not expect to load big patches |
@@ -7,6 +7,7 @@ | |||||
mod:label "CardinalFX" ; | mod:label "CardinalFX" ; | ||||
modgui:gui [ | modgui:gui [ | ||||
modgui:resourcesDirectory <modgui> ; | modgui:resourcesDirectory <modgui> ; | ||||
modgui:documentation <modgui/documentation.pdf>; | |||||
modgui:iconTemplate <modgui/icon.html> ; | modgui:iconTemplate <modgui/icon.html> ; | ||||
modgui:javascript <modgui/javascript.js> ; | modgui:javascript <modgui/javascript.js> ; | ||||
modgui:stylesheet <modgui/stylesheet.css> ; | modgui:stylesheet <modgui/stylesheet.css> ; | ||||
@@ -265,6 +265,7 @@ VST3_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst3/Contents/Resourc | |||||
# Install modgui resources if MOD build | # Install modgui resources if MOD build | ||||
ifeq ($(MOD_BUILD),true) | ifeq ($(MOD_BUILD),true) | ||||
LV2_RESOURCES += $(TARGET_DIR)/$(NAME).lv2/modgui.ttl | LV2_RESOURCES += $(TARGET_DIR)/$(NAME).lv2/modgui.ttl | ||||
LV2_RESOURCES += $(TARGET_DIR)/$(NAME).lv2/modgui/documentation.pdf | |||||
LV2_RESOURCES += $(TARGET_DIR)/$(NAME).lv2/modgui | LV2_RESOURCES += $(TARGET_DIR)/$(NAME).lv2/modgui | ||||
endif | endif | ||||
@@ -304,6 +305,9 @@ $(TARGET_DIR)/$(NAME).lv2/resources/%.svg: ../Rack/res/%.svg ../../deps/svg2stub | |||||
$(TARGET_DIR)/$(NAME).lv2/mod%: ../MOD/$(NAME).lv2/mod% | $(TARGET_DIR)/$(NAME).lv2/mod%: ../MOD/$(NAME).lv2/mod% | ||||
-@mkdir -p "$(shell dirname $@)" | -@mkdir -p "$(shell dirname $@)" | ||||
$(SILENT)ln -sf $(abspath $<) $@ | $(SILENT)ln -sf $(abspath $<) $@ | ||||
$(TARGET_DIR)/$(NAME).lv2/modgui/documentation.pdf: ../../doc/MODDEVICES.md $(TARGET_DIR)/$(NAME).lv2/modgui | |||||
pandoc $< -o $@ | |||||
endif | endif | ||||
$(TARGET_DIR)/$(NAME).vst/resources/%: ../Rack/res/% | $(TARGET_DIR)/$(NAME).vst/resources/%: ../Rack/res/% | ||||