Having trouble loading JUCE plugin into sushi

Hi, I’ve been following the guide on the documentation on how to build a JUCE plugin for the Raspberry Pi 4 (Using a HiFi Berry). While I’ve managed to cross compile JUCE’s “Audio Plugin Example”, when I try to load it into sushi I get the following error:

Failed to load tracks from Json config file

Sushi Logs:

[2023-06-05 12:22:50.705] [warning] #############################
[2023-06-05 12:22:50.705] [warning]    Started Sushi Logger!
[2023-06-05 12:22:50.705] [warning] #############################
[2023-06-05 12:22:50.831] [info] [main] Setting up Xenomai RASPA frontend
[2023-06-05 12:22:50.839] [info] [jsonconfig] Setting engine sample rate to 48000.0
[2023-06-05 12:22:50.840] [error] [jsonconfig] Schema validation failure at /tracks/0/plugins/0
[2023-06-05 12:22:50.840] [error] [jsonconfig] Config file /home/mind/test.json does not follow schema: 1

I can’t tell from the logs if it’s a problem with sushi or the plugin itself.

This is what my json config file for sushi looks like:

{
    "host_config" : {
        "samplerate" : 48000
    },
    "tracks" : [
        {
            "name" : "main",
            "mode" : "stereo",
            "inputs" : [
                {
                    "engine_bus" : 0,
                    "track_bus" : 0
                }
            ],
            "outputs" : [
                {
                    "engine_bus" : 0,
                    "track_bus" : 0
                }
            ],
            "plugins" : [
                {
                    "path" : "/udata/plugins/Audio Plugin Example.vst3",
                    "name" : "TestPlugin",
                    "type" : "vst3x"
                }
            ]
        }
    ],
    "midi" : {
    }
}

Am I missing something? Thanks in advance.

Hi tr3m and welcome to the forums. Great job on getting the cross-compilation working. For vst3 plugins you also need to add a uid member to the json config. This is because vst3 allows you to pack several plugins in one binary and sushi needs to know which one to load. See documentation here: Sushi Configuration — Elk DevKit documentation

Good luck!

Yup, that got it working, thank you Gustav :slight_smile:

1 Like