background image

Blog archive for March 2024

Juce: ValueTreeState and MVC with child component

March 17, 2024


Juce MVC demo and study from Trond Lossius on Vimeo.

A further test/study of how to use ValueTreeState with child components in Juce, ensuring proper model-view-controller (MVC) separation. Figuring this out is a prerequisite to be able to build plugins of any degree of conplexity.

DBAP Plugin – GUI progress

March 25, 2024


I am slowly progressing on a Distance-Based Amplitude Panning (DBAP) plugin. I now have parameters set up in AudioProcessor, and in the Editor, the table components for setting the source (input) and destination (output) coordinates work. The next step is implementing the XY pad that visualises and offers interaction with source and destination positions.

Close, but no cigar

March 28, 2024


Close, but no cigar from Trond Lossius on Vimeo.

Back to the drawing room again…


March 28, 2024


Juce – MVC with custom XY Pad component from Trond Lossius on Vimeo.

After two failed attempt, the third attempt succeeded.

This is a fairly simple plugin, and is mostly meant as a study (étude) into a specific programming problem when developing plugins in C++ with the Juce framework. The plugin controls gain and pan. ValueTreeState enables model-view-control separation, and as compared to an earlier study, it expands by implementing a custom component in the form of a two-dimensional control pad that controls gain as well as pan.

In figuring this out, I have drawn extensively on YouTube tutorials by Akash Murthy and Florian Mrugalla, and not least source code for the IEM ambisonic plugins. From the latter, I have in particular studied code for the SpherePanner component and the ProbeDecoder plugin.

This brings me one step further towards implementing DBAP as a VST plugin. That is itself a study towards porting Ambisonic Toolkit higher-order functionalities from SuperCollider to plugins. I hope to be able to embark on that journey later this year.

DBAP GUI almost done

March 31, 2024


DBAP GUI is almost complete from Trond Lossius on Vimeo.

The GUI for the DBAP plugin is almost complete. What remains to be done is to add a menu or button to choose whether to interact with and edit the positions of inputs or outputs. When that is done, it is time to implement the DSP process.