Custom DSP cannot import user data in Studio 2.x

We have a (rather old) in-house DSP (plug-in instrument) which can trigger short samples at a high, variable rate (hence the name ‘ratchet’). In FMOD Studio 1.x you would import a .ratchet file (a set of samples appended to one another in 32 bit float) and this would be saved in the user data section of the FMOD event. The import was done with a drag & drop to the user data window on the dashboard.

However in FMOD Studio 2.x the plugin UI simply refuses the drag & drop import. Clicking “Edit” just opens a tiny text edit field, which also refuses a drag’n’drop import.

dsp_refusing_to_import_user_data

All our other old in-house DSPs work fine otherwise in Studio 2.x, just the refusal to import is the stumbling block here. Has the plugin API been changed between 1.x and 2.x in a way that could be causing this?

It looks like the data binding is set to text mode, rather than file mode. Are you using a .js file to define the layout of your plugin in Studio? For data parameters like that one the widget type would be deckWidgetType.DataDrop. There is a parameter to that widget called dataMode that can be set to either File or Text which is documented here.

From the AudioMotors plugin .js file, the data drop definition is as follows:

{ deckWidgetType: studio.ui.deckWidgetType.DataDrop, dataMode: studio.ui.dataDropMode.File, binding: "Car Data", fileNameFilters: "*.agp" }
1 Like

Thank you for the response. Turns out these older DSPs were authored in C++ and .js is not used. In C++ the only suitable option for the input field is “User”, and it seems that Studio 2.x refuses import to that. Will it work if a .js dashboard is authored on top of that C++ plugin?

We used a .js layout file and got it working. Thanks for the response, Mathew!

I see, the presentation for data parameters should not have changed for plugins without a .js file. I can see in the code when we introduced the new text view for data parameters the generator that creates UI for plugins without a JS was changed to add a text entry field instead of the file based entry.

I’ll issue a task to get this fixed up.

The text entry mode for the data parameter is a tool only feature that should require a JS to activate, the text gets saved as a binary blob and included in the bank metadata. The default mode for the data parameter should be file, where Studio references an external file and saves it into the bank metadata when building, this is the behavior from before text view was added.

The immediate workaround is to use a .js file to explicitly tell Studio that field is a file, not text, future versions will default to file with a JS like the documentation indicates.