From the project description and comments within the code, I understood you want DaisySP to be platform independent.
I had this idea I could plug DaisySP into the VCV Rack plugin development flow, and use VCV as a sort of rapid prototyping platform/virtual bench for DSP cores developed with DaisySP, and move to Daisy HW once I have done enough debugging/cleanup.
To achieve this I had to implement very minimal changes to the DaisySP codebase:
protected ARM assembler with the arm macro and provided alternative code to compile on a standard host
replaced the usage of M_TWOPI with the value of the expanded macro or with a constexpr in the oscillator and phasor modules ; M_TWOPI is not always defined in math.h, (it is for the ARM GCC, it is not, for example, for the mingw64 gcc).
For reference, this is the Makefile for the VCV plugin build. It is the Makefile shipped with the plugin template, I only had to append the search paths for the DaisySP include and module files.
# If RACK_DIR is not defined when calling the Makefile, default to two directories above
RACK_DIR ?= <path to Rack SDK>
DAISYSP_DIR = <path to DaisySP>
# FLAGS will be passed to both the C and C++ compiler
FLAGS += -I$(DAISYSP_DIR) -I$(DAISYSP_DIR)/modules
CFLAGS +=
CXXFLAGS +=
# Careful about linking to shared libraries, since you can't assume much about the user's environment and library search path.
# Static libraries are fine, but they should be added to this plugin's build system.
LDFLAGS +=
# Add .cpp files to the build
SOURCES += $(wildcard src/*.cpp)
SOURCES += $(wildcard $(DAISYSP_DIR)/modules/*.cpp)
# Add files to the ZIP package when running `make dist`
# The compiled plugin and "plugin.json" are automatically added.
DISTRIBUTABLES += res
DISTRIBUTABLES += $(wildcard LICENSE*)
# Include the Rack plugin Makefile framework
include $(RACK_DIR)/plugin.mk
I hope this could be useful for the DaisySP users and developers.
Hello!
From the project description and comments within the code, I understood you want DaisySP to be platform independent.
I had this idea I could plug DaisySP into the VCV Rack plugin development flow, and use VCV as a sort of rapid prototyping platform/virtual bench for DSP cores developed with DaisySP, and move to Daisy HW once I have done enough debugging/cleanup.
To achieve this I had to implement very minimal changes to the DaisySP codebase:
For reference, this is the Makefile for the VCV plugin build. It is the Makefile shipped with the plugin template, I only had to append the search paths for the DaisySP include and module files.
I hope this could be useful for the DaisySP users and developers.
Best, nico