Code Monkey home page Code Monkey logo

cardinal's Introduction

DISTRHO Ports

Build Status

DISTRHO is an open source project with the goal of making cross-platform audio plugins and GNU/Linux + LV2 ports.

This repository contains the GNU/Linux and LV2 ports, specifically those made with JUCE

BUILD DEPENDENCIES

To build plugins, you first need to install the following dependencies:

All OSes:

  • meson

GNU/Linux: (development versions of these)

  • ALSA
  • freetype2
  • fftw3
  • OpenGL/Mesa
  • X11 core and extensions (XShm, XRender and XCursor)

BUILD and INSTALL

In order to build and install the plugins, just run the usual steps for a meson project:

meson setup build --buildtype release
ninja -C build
ninja -C build install

cardinal's People

Contributors

codygeary avatar cosinekitty avatar ctsexton avatar dingodoppelt avatar dromer avatar enigmacurry avatar falktx avatar foxacid7cd avatar jn64 avatar shimaore avatar simon-l avatar spotlightkid avatar tpltnt avatar unlessgames avatar vitreo12 avatar washikano avatar zezic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cardinal's Issues

Handle all MIDI in the processing thread

Currently at least the MIDI out uses a queue on a separate thread, which introduces jitter and latency.
We should override whatever file in question handles that.

Reimplement osdialog for safe plugin use

We cannot use osdialog because:
1 - it blocks the event loop
2 - (on linux) it either calls into gtk or uses fork

Tricky part is that a lot of its API is meant to be blocking, this is a problem for plugins and a challenge to replace.

Patch export

It's currently possible to import Rack patches, but it would be nice if we could also export patches so we can exchange with other users.

Audio modules do not restore selected device (properly or at all)

Not sure how important since we very likely need to redo it for a "host control panel".
But until that happens we should try to fix this.
Not sure why this fails yet. The template provided in the source that I edited manually seems to load fine. stuff we save now and then load wont have the audio interface ("plugin") set.

Implement state save/load

We need to see the best way to do this.
Perhaps just give the whole vcv zst compressed file as chunk.
Might need DPF API tweaking

Create a table for differences between Cardinal and VCV

We should compare between the standalone of Cardinal and VCV, and its plugin variants too.
This information can be on the GH wiki since it is likely to change quickly and we might not want to keep updating a source file for it.
Not opposed to it being in the repo either though

error: expected unqualified-id before ‘__int128’ { typedef unsigned __int128 type; };

Trying to build on 32 bit linux mint 19 machine, this is the error I get. Any way around it?

make all -C deps
make -C dpf/dgl opengl USE_NANOVG_FBO=true
make[1]: Entering directory '/home/nickelas/Cardinal/dpf/dgl'
make[1]: Entering directory '/home/nickelas/Cardinal/deps'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/nickelas/Cardinal/deps'
make all -C plugins
make[1]: Entering directory '/home/nickelas/Cardinal/plugins'
make[1]: Nothing to be done for 'opengl'.
make[1]: Leaving directory '/home/nickelas/Cardinal/dpf/dgl'
Compiling plugins.cpp
Compiling AmalgamatedHarmonics/src/MuxDeMux.cpp
In file included from /usr/include/c++/7/random:49:0,
from ../src/Rack/include/random.hpp:3,
from ../src/Rack/include/rack.hpp:13,
from AmalgamatedHarmonics/src/AH.hpp:5,
from plugins.cpp:23:
/usr/include/c++/7/bits/random.h:107:26: error: expected unqualified-id before ‘__int128’
{ typedef unsigned __int128 type; };
^~~~~~~~
Compiling AmalgamatedHarmonics/src/Bombe.cpp
Makefile:402: recipe for target '../build/plugins/plugins.cpp.o' failed
make[1]: *** [../build/plugins/plugins.cpp.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/nickelas/Cardinal/plugins'
Makefile:76: recipe for target 'plugins' failed
make: *** [plugins] Error 2

DEBUG=true fails at linker stage

Whole bunch of warnings "DEBUG" redefined and then:

Compiling dep.cpp
Compiling Window.cpp
In file included from Rack/include/common.hpp:18,
                 from ../include/common.hpp:20,
                 from Rack/include/app/common.hpp:4,
                 from Rack/include/app/Scene.hpp:2,
                 from CardinalUI.cpp:18:
Rack/include/logger.hpp:12: warning: "DEBUG" redefined
   12 | #define DEBUG(format, ...) rack::logger::log(rack::logger::DEBUG_LEVEL, __FILE__, __LINE__, __FUNCTION__, format, ##__VA_ARGS__)
      | 
<command-line>: note: this is the location of the previous definition
In file included from Rack/include/common.hpp:18,
                 from ../include/common.hpp:20,
                 from dep.cpp:18:
Rack/include/logger.hpp:12: warning: "DEBUG" redefined
   12 | #define DEBUG(format, ...) rack::logger::log(rack::logger::DEBUG_LEVEL, __FILE__, __LINE__, __FUNCTION__, format, ##__VA_ARGS__)
      | 
<command-line>: note: this is the location of the previous definition
In file included from Rack/include/common.hpp:18,
                 from ../include/common.hpp:20,
                 from Rack/include/window/Window.hpp:6,
                 from Window.cpp:7:
Rack/include/logger.hpp:12: warning: "DEBUG" redefined
   12 | #define DEBUG(format, ...) rack::logger::log(rack::logger::DEBUG_LEVEL, __FILE__, __LINE__, __FUNCTION__, format, ##__VA_ARGS__)
      | 
<command-line>: note: this is the location of the previous definition
Compiling Rack/dep/oui-blendish/blendish.c
Rack/dep/oui-blendish/blendish.c: In function ‘bndNodeBackground’:
Rack/dep/oui-blendish/blendish.c:581:14: warning: variable ‘arrowColor’ set but not used [-Wunused-but-set-variable]
  581 |     NVGcolor arrowColor;
      |              ^~~~~~~~~~
Compiling Rack/dep/osdialog/osdialog.c
Compiling Rack/dep/osdialog/osdialog_zenity.c
Compiling DistrhoPluginMain.cpp (JACK)
Rack/dep/osdialog/osdialog_zenity.c: In function ‘osdialog_file’:
Rack/dep/osdialog/osdialog_zenity.c:176:3: warning: implicit declaration of function ‘snprintf’ [-Wimplicit-function-declaration]
  176 |   snprintf(buf, sizeof(buf), "%s|*.%s", filters->name, filters->patterns->pattern);
      |   ^~~~~~~~
Rack/dep/osdialog/osdialog_zenity.c:176:3: warning: incompatible implicit declaration of built-in function ‘snprintf’
Rack/dep/osdialog/osdialog_zenity.c:8:1: note: include ‘<stdio.h>’ or provide a declaration of ‘snprintf’
    7 | #include "osdialog.h"
  +++ |+#include <stdio.h>
    8 | 
Compiling DistrhoUIMain.cpp (JACK)
Compiling DistrhoPluginMain.cpp (LV2)
Compiling DistrhoUIMain.cpp (LV2)
Compiling DistrhoPluginMain.cpp (VST2)
Compiling DistrhoUIMain.cpp (VST2)
Compiling DistrhoPluginMain.cpp (VST3)
Compiling DistrhoUIMain.cpp (VST3)
Creating LV2 plugin for Cardinal
Creating VST2 plugin for Cardinal
Creating JACK standalone for Cardinal
Creating VST3 plugin for Cardinal
/usr/bin/ld: ../plugins/plugins.a(follower_base.cpp.o): in function `bogaudio::FollowerBase::gain(rack::engine::Param&, rack::engine::Input*, int)':
/home/dreamer/Sources/_audio/_DISTRHO/CVCRack/plugins/BogaudioModules/src/follower_base.cpp:24: undefined reference to `bogaudio::FollowerBase::efGainMaxDecibels'
/usr/bin/ld: ../plugins/plugins.a(follower_base.cpp.o): in function `bogaudio::FollowerBase::gain(rack::engine::Param&, rack::engine::Input*, int)':
/home/dreamer/Sources/_audio/_DISTRHO/CVCRack/plugins/BogaudioModules/src/follower_base.cpp:24: undefined reference to `bogaudio::FollowerBase::efGainMaxDecibels'
/usr/bin/ld: ../plugins/plugins.a(follower_base.cpp.o): in function `bogaudio::FollowerBase::gain(rack::engine::Param&, rack::engine::Input*, int)':
/home/dreamer/Sources/_audio/_DISTRHO/CVCRack/plugins/BogaudioModules/src/follower_base.cpp:24: undefined reference to `bogaudio::FollowerBase::efGainMaxDecibels'
/usr/bin/ld: ../plugins/plugins.a(follower_base.cpp.o): in function `bogaudio::FollowerBase::gain(rack::engine::Param&, rack::engine::Input*, int)':
/home/dreamer/Sources/_audio/_DISTRHO/CVCRack/plugins/BogaudioModules/src/follower_base.cpp:24: undefined reference to `bogaudio::FollowerBase::efGainMaxDecibels'
collect2: error: ld returned 1 exit status
make[1]: *** [../dpf/Makefile.plugins.mk:374: ../bin/Cardinal.lv2/Cardinal.so] Error 1
make[1]: *** Waiting for unfinished jobs....
collect2: error: ld returned 1 exit status
make[1]: *** [../dpf/Makefile.plugins.mk:398: ../bin/Cardinal-vst.so] Error 1
collect2: error: ld returned 1 exit status
make[1]: *** [../dpf/Makefile.plugins.mk:331: ../bin/Cardinal] Error 1
collect2: error: ld returned 1 exit status
make[1]: *** [../dpf/Makefile.plugins.mk:412: ../bin/Cardinal.vst3/Contents/x86_64-linux/Cardinal.so] Error 1
make[1]: Leaving directory '/home/dreamer/Sources/_audio/_DISTRHO/CVCRack/src'
make: *** [Makefile:14: cardinal] Error 2

New Cardinal HOST connection module is nice but...

but can you please make clock a way faster than it is acting now? 24 ppqn is the best but probably x4 would work fine. Impromptu clocked takes a lot of time to achieve proper bpm with a whole clock.

CV-Out module

So we can get CV out of Cardinal into jack graphs.

Search modules keyboard input produces duplicate of input key

Version Tested: SHA builld - 4a85fc8

Expected:
Rick click to open dialog for adding module
Type "a" to see all modules starting with "a"

Actual:
Type "a" and get "aa".

Just FYI - I confirmed double lettering was not happening on Rack2 official release.

No keyboard input in reaper, Vst3 crashes reaper

-Keyboard input doesn't work at all, only mouse input. (I thought this was just a matter of it not being supported yet at first, but realised it works in Carla standalone. It also works within carla vst.)

-Vst3 crashes reaper, lv2 and vst loads fine.

-In ShapeMaster from MindMeld, when you change tabs at the top the length knob disappears and you have to copy and paste the instance of Cardinal to get it back, or close and reopen the project. This happens within Carla as well.

If there's a way to supply logs for these issues I'd be happy to do that, just tell me how.

Create a table of modules and their licenses

To make it easy for us and packagers to get a general idea of the license situation, we should create a document describing the code and artwork licenses for each individual module pack, and Rack too.
This needs to be a file contained in the repo/code, so if someone downloads the source code they are able to inspect things offline.

WIN64 automatic build issues

Hi! So I tried VST2 and 3. VST3 got an error while loading - smth like unable to locate template.vcv
VST2 got succesed loading and I even saw GUI with some module and then it crashed Ableton and after that Ableton added it to the "blacklist"

Audio Core Module Does not provide same options as Desktop version does

Tested version : SHA - 4a85fc8

Scenario:
Audio Control to have available audio devices that I have in normal Desktop VCV Rack 2

Expected:
To have same audio devices, sample rates and block sizes as are available on Desktop VCV Rack 2

Actual:
Only had "1-2 out", one sample rate and one block size.

Again, I don't know the ins and out of the software, so no idea if these are a side effect of the integration or what, so just reporting. Missing HDMI support was a big one as with Rack on the large screen HDMI is what I used.
Can I assume these are meant to be provided as options given they work on the dekstop version Version ?

Provide osdialog-like async calls as Cardinal plugin API

Plugins can use osdialog to deal with file open/save dialogs.
Since we cannot use osdialog we need to replace those, but that means a new/replacement API is also needed.
We should try to get 1-2 plugins that load files to work with this new API.

Later on we will need to make a list of plugins that use osdialog, perhaps this can even be automated.

Missing entry method in VST2 plugin

Since awhile I cannot load the vst files anymore, they don't appear in Ardour nor in Bitwig.

Ardour info scanning:
_[Info]: Scanning: /home/sn/.vst/CardinalFX.vst/CardinalFX.so
[ERROR]: Missing entry method in VST2 plugin '/home/sn/.vst/CardinalFX.vst/CardinalFX.so'
[WARNING]: Cannot open VST2 module '/home/sn/.vst/CardinalFX.vst/CardinalFX.so'
Scan Failed.

[Info]: Scanning: /home/sn/.vst/CardinalSynth.vst/CardinalSynth.so
[ERROR]: Missing entry method in VST2 plugin '/home/sn/.vst/CardinalSynth.vst/CardinalSynth.so'
[WARNING]: Cannot open VST2 module '/home/sn/.vst/CardinalSynth.vst/CardinalSynth.so'
Scan Failed.

[Info]: Scanning: /home/sn/.vst/Cardinal.vst/Cardinal.so
[WARNING]: Cannot open VST2 module '/home/sn/.vst/Cardinal.vst/Cardinal.so'
Scan Failed._

If I remember correctly this started happening around the time Cardinal got renamed to CardinalFX

VCA-1 produces visual glitches

Not sure if issue with VCV or Cardinal.
But having this module on the board makes the entire plugin window green.
Moving VCA out of the way mitigates the issue.
Seems like the module is not closing/stopping a drawing operation properly, so the green used for its bars gets set for all modules.

Midi out CV-Cc is possible?

Hi, recently I tried to choose cv-cc module to get some cc automation in Ableton but it seems doesn't work. I don't exactly remember but it can behaves similar in other midi out modules

segmentation fault

compiled from git
make -j4 DEBUG=true

~/git/Cardinal/bin$ ./Cardinal
libjack.so.0 loaded successfully!
[0.000 info CardinalPlugin.cpp:105 Initializer] Cardinal JACK/Standalone v2.0
[0.000 info CardinalPlugin.cpp:106 Initializer] Linux 5.4.0-88-lowlatency #99-Ubuntu SMP PREEMPT Thu Sep 23 18:30:52 UTC 2021 x86_64
[0.000 info CardinalPlugin.cpp:107 Initializer] Binary filename: ./Cardinal
[0.000 info CardinalPlugin.cpp:108 Initializer] Bundle path: (null)
[0.000 info CardinalPlugin.cpp:109 Initializer] System directory: /home/rob/git/Cardinal/src/Rack
[0.000 info CardinalPlugin.cpp:110 Initializer] User directory: /home/rob/git/Cardinal/src/Rack
[0.000 info CardinalPlugin.cpp:119 Initializer] Initializing audio driver
[0.000 info CardinalPlugin.cpp:122 Initializer] Initializing plugins
[0.000 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module Core
[0.001 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module AmalgamatedHarmonics
[0.002 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module AnimatedCircuits
[0.002 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module AS
[0.003 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module AudibleInstruments
[0.005 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module Befaco
[0.005 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module Bidoo
[0.006 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module BogaudioModules
[0.011 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module Cardinal
[0.011 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module cf
[0.012 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module ESeries
[0.012 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module Fundamental
[0.014 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module GrandeModular
[0.014 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module ImpromptuModular
[0.015 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module JW-Modules
[0.016 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module rackwindows
[0.017 debug plugins.cpp:296 StaticPluginLoader] Loading plugin module ZetaCarinaeModules
[0.019 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/Rail.svg
[0.022 info Rack/src/patch.cpp:243 load] Loading patch /home/rob/git/Cardinal/src/Rack/template.vcv
[0.022 info Rack/src/patch.cpp:307 loadAutosave] Loading autosave /tmp/Cardinal.0005/patch.json
[0.023 info Rack/src/patch.cpp:453 fromJson] Patch was made with Rack v2.dev.509a066, current Rack version is v2.0
[0.023 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Core v2.0.0, currently using v2.0.
[0.023 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.023 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.023 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Core v2.0.0, currently using v2.0.
[0.023 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.023 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.023 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Core v2.0.0, currently using v2.0.
[0.023 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.025 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.027 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.029 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.029 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.029 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.029 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.029 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.029 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.029 info Rack/src/engine/Module.cpp:167 fromJson] Patch created with Fundamental v2.0.0, currently using v2.0.
[0.031 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/Core/AudioInterface.svg
[0.032 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/ScrewSilver.svg
[0.032 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/PJ301M.svg
[0.032 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/SmallLight.svg
[0.034 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/../../plugins/Fundamental/res/VCMixer.svg
[0.034 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/RoundLargeBlackKnob.svg
[0.035 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/RoundLargeBlackKnob-bg.svg
[0.035 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/LEDSlider.svg
[0.035 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/LEDSliderHandle.svg
[0.035 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/LEDSliderLight.svg
[0.036 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/../../plugins/Fundamental/res/VCF.svg
[0.036 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/RoundHugeBlackKnob.svg
[0.037 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/RoundHugeBlackKnob-bg.svg
[0.038 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/Core/MIDI-CV.svg
[0.039 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/../../plugins/Fundamental/res/ADSR.svg
[0.041 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/../../plugins/Fundamental/res/Scope.svg
[0.041 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/RoundBlackKnob.svg
[0.041 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/RoundBlackKnob-bg.svg
[0.041 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/CKD6_0.svg
[0.042 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/CKD6_1.svg
[0.042 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/Core/Notes.svg
[0.044 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/../../plugins/Fundamental/res/VCO-1.svg
[0.044 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/CKSS_0.svg
[0.044 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/CKSS_1.svg
[0.045 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/../../plugins/Fundamental/res/Octave.svg
[0.046 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/../../plugins/Fundamental/res/Noise.svg
[0.048 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/../../plugins/Fundamental/res/LFO-1.svg
[0.050 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/../../plugins/Fundamental/res/VCA-1.svg
[0.050 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/Plug.svg
[0.050 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /home/rob/git/Cardinal/src/Rack/res/ComponentLibrary/PlugPort.svg
Failed to realize Pugl view, everything will fail!
Shader shader/vert error:
           PID: 101019 (Cardinal)
           UID: 1000 (rob)
           GID: 1000 (rob)
        Signal: 11 (SEGV)
     Timestamp: Thu 2021-10-21 21:12:27 CEST (15s ago)
  Command Line: ./Cardinal
    Executable: /home/rob/git/Cardinal/bin/Cardinal
 Control Group: /user.slice/user-1000.slice/[email protected]/gnome\x2dsession\x2dmanager.slice/vte-spawn-09d7bf93-7d24-421f-bd0d-333e553f85df.scope
          Unit: [email protected]
     User Unit: vte-spawn-09d7bf93-7d24-421f-bd0d-333e553f85df.scope
         Slice: user-1000.slice
     Owner UID: 1000 (rob)
       Boot ID: 6a90bd0e0b9a4528b9edd007234755e6
    Machine ID: dc854216e5624964a054579e1d2c135a
      Hostname: lesruimte
       Storage: /var/lib/systemd/coredump/core.Cardinal.1000.6a90bd0e0b9a4528b9edd007234755e6.101019.1634843547000000000000.lz4
       Message: Process 101019 (Cardinal) of user 1000 dumped core.
                
                Stack trace of thread 101019:
                #0  0x00005584ec8d0f7e n/a (/home/rob/git/Cardinal/bin/Cardinal + 0x489f7e)
                #1  0x00005584ec876d19 n/a (/home/rob/git/Cardinal/bin/Cardinal + 0x42fd19)
                #2  0x00005584ec85ff4c n/a (/home/rob/git/Cardinal/bin/Cardinal + 0x418f4c)
                #3  0x00005584ec82b884 n/a (/home/rob/git/Cardinal/bin/Cardinal + 0x3e4884)
                #4  0x00005584ec82a577 n/a (/home/rob/git/Cardinal/bin/Cardinal + 0x3e3577)
                #5  0x00005584ec853b25 n/a (/home/rob/git/Cardinal/bin/Cardinal + 0x40cb25)
                #6  0x00005584ec8563c2 n/a (/home/rob/git/Cardinal/bin/Cardinal + 0x40f3c2)
                #7  0x00005584ec8513d2 n/a (/home/rob/git/Cardinal/bin/Cardinal + 0x40a3d2)
                #8  0x00007f347052a0b3 __libc_start_main (libc.so.6 + 0x270b3)
                #9  0x00005584ec69f24e n/a (/home/rob/git/Cardinal/bin/Cardinal + 0x25824e)

GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/rob/git/Cardinal/bin/Cardinal...
b[New LWP 101019]
[New LWP 101020]
[New LWP 101021]
[New LWP 101022]
t[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./Cardinal'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00005584ec8d0f7e in DGL::puglGetViewHint (view=0x0, hint=DGL::PUGL_RESIZABLE) at src/pugl-upstream/src/implementation.c:227
227	  return (hint < PUGL_NUM_VIEW_HINTS) ? view->hints[hint] : PUGL_DONT_CARE;
[Current thread is 1 (Thread 0x7f346fa90800 (LWP 101019))]
(gdb) bt
#0  0x00005584ec8d0f7e in DGL::puglGetViewHint (view=0x0, hint=DGL::PUGL_RESIZABLE) at src/pugl-upstream/src/implementation.c:227
#1  0x00005584ec876d19 in DGL::Window::isResizable (this=0x5584ef8e36b0) at src/Window.cpp:148
#2  0x00005584ec85ff4c in DISTRHO::UI::isResizable (this=0x5584ef8e3c30) at ../dpf/distrho/src/DistrhoUI.cpp:200
#3  0x00005584ec82b884 in DISTRHO::CardinalUI::CardinalUI (this=0x5584ef8e3c30) at CardinalUI.cpp:95
#4  0x00005584ec82a577 in DISTRHO::createUI () at CardinalUI.cpp:462
#5  0x00005584ec853b25 in DISTRHO::UIExporter::UIExporter (this=0x7fff8d202930, callbacksPtr=0x7fff8d202910, winId=0, sampleRate=48000, editParamCall=0x0, setParamCall=0x5584ec857943 <DISTRHO::PluginJack::setParameterValueCallback(void*, unsigned int, float)>, 
    setStateCall=0x5584ec857976 <DISTRHO::PluginJack::setStateCallback(void*, char const*, char const*)>, sendNoteCall=0x0, setSizeCall=0x0, fileRequestCall=0x0, bundlePath=0x0, dspPtr=0x5584ef77e6a0, scaleFactor=0, bgColor=0, fgColor=4294967295)
    at ../dpf/distrho/src/DistrhoUIInternal.hpp:87
#6  0x00005584ec8563c2 in DISTRHO::PluginJack::PluginJack (this=0x7fff8d202910, client=0x5584ef77e140) at ../dpf/distrho/src/DistrhoPluginJACK.cpp:129
#7  0x00005584ec8513d2 in main () at ../dpf/distrho/src/DistrhoPluginJACK.cpp:811
(gdb) Quit

MIDI-CV device doesn't recieve any clock data from DAW

So CLK and CLK\N outputs don't produce any data if transport is in play mode.
However CV-MIDI device works nicely in case if need send a sequence to any other synth in ableton (another track in routing menu), and that's very nice!

Any free LV2 for Windows around?

I found one recently and it was found correctly from common files/lv2 folder which is perfectly cool but maybe there is some list around with Windows dll? I know it's more for Linux but I like how it works right inside the module loader you msde

Host parameters plugin module

We should fetch some plugin parameters from the plugin/host into usable CV signals.
Likely needs interpolation to make them less stepy.

Allow multiple MIDI input device usage

There are a couple of modules we can use for MIDI input, but currently only 1 at a time can be used.
Limitation comes from us needing to lock their access with a mutex, which can make it non-RT safe if not done carefully.

An array of devices that gets copied and then pointer swapped could work

Hide some menu entries

To hide:

  • File->quit if not standalone
  • View->framerate (not applicable in plugins)
  • View->fullscreen (not applicable in plugins)
  • View->hide cursor while dragging (not supported)
  • Engine->samplerate (not applicable in plugins)
  • Library (not applicable for Cardinal)
  • Help->open user folder (not applicable for Cardinal)
  • Help->check for updates (not applicable for Cardinal)

Create overview of source/project setup

To help newcomers to the project get their hands dirty more quickly and messing around with the code, we can create a little overview of the repository to explain where things are and why.

Low FPS

Cardinal is slower in graphical performance compared to the original VCV Rack.
On my system Cardinal gives about 32 FPS when VCV Rack is able to reach 60 FPS without problems.
My GPU is Vega 8 (integrated into AMD Ryzen 7 5700G), running on Linux.

focus issues for VST2 in Ableton Live, Bitwig and other hosts

Hi, finally I can get it working! Cardinal Parameter is gorgeous, thank you! VST2 has no issues with template.vcv so far so it runs.
Some issues if you will:

  1. Sometimes when changing focus between DAW, explorer and the plugin itself it loses focus in module browser search field. I can't even type any symbols, every time they are different then I was intented to type and all in CAPS LOCK somehow.
  2. More annoying issue than the previous one - any action with windows explorer like save, open, literally anything causes Live's crash. It seems like you said before more porting to windows issues that the plugin itself

Cheers!
EDIT: hotkeys also don't work...
EDIT2: When closing Ableton's project with 5 instances of Cardinal it hangs Ableton and got "doesn't respong" message from windows when trying close it. Seems something with RAM but I don't sure :-)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.