Cabbage Logo
Back to Cabbage Site

Problem displaying waveform with gentable and problem exporting in .vst

It really appears to be some kind of permission issue, that’s why those files couldn’t be copied, and it’s also why you get that popup error. It’s also the reason why your VST is named CabbagePluginSynth rather than KK01. All of these are reasons why it won’t open. I just can’t think why this is. When you export the same synth as an AU, do the assets get copied over Ok?

I don’t know what to say, I tried to move the app, I tried to move the .csd files but it always gives me the same error, I am attaching the project, maybe you try if it works for you

https://drive.google.com/file/d/1Jeez30Bah_SEK71hgSOLAoZIellHig1N/view?usp=sharing

Thanks, I’ll try tomorrow :+1:

1 Like

Yeah, looks like something is not right with 2.8.97, I’ll take a look…

I have triggered a new beta build that should resolve this problem. It was a result of some work I did on the standalone export. Hopefully you get further with this now…

hi rory, sorry for the delay in replying. I tried to download the latest build from Azure but the installer for OSX is missing inside the zip there is the source for linux and windows installer

https://dev.azure.com/rorywalsh/cabbage/_build/results?buildId=2165&view=artifacts&pathAsName=false&type=publishedArtifacts
Schermata 2022-02-10 alle 12.39.11

Crap. Looks like something is going wrong in the Azure build. Let me take a look.

[edit] The packages software I use to create the installers was updated recently. The build script I use couldn’t find the new version and was failing. It should complete this time. New build triggered.

Thanks again Rory, I downloaded the new build! now it no longer gives the error when exporting. The .vst and .vst3 files are exported correctly only the DAW does not detect them. To avoid that it could be an error in my code I took a random example from the folder, built, but it is not recognized either

[edit] I tried to do an export in AU and it works perfectly only that it continues to have the problem that when I save the project in the DAW, it automatically loads the Synth with the Default values without memorizing the positions of the widgets when saving the project

Are you signing the plugins after you export them? Check out the sticky page on the forum about issues with MacOS. I will try to look into that session saving issue later today…

So the problem here is that you’re not using valid XML for your channel names. I had introduced warnings about this, but due to popular demand rolled back on them. Anyhow, the be-all and end-all is to make sure you only use valid XML attribute names.

  • Attribute names cannot contain spaces. An attribute could be called FirstName but not First Name.
  • Attribute names must begin with a letter (or the underscore). So, Four11 would be an acceptable attribute, whereas 411 would not.
  • Attribute values must be enclosed in quotation marks.
  • An element may have only one attribute of a given name.
  • Attribute content may not contain <, >, or &.

So in this case, remove the ‘_’ and things should be fine.

Thanks Rory
eliminating all the “_” did not solve the detection problem in the DAW but in the meantime, good to know, I fixed everything. I tried several times to do the codesign but it always gave me the same error that is:
/Users/francesco/Desktop/KK10.vst: replacing existing signature
/Users/francesco/Desktop/KK10.vst: resource fork, Finder information, or similar detritus not allowed

Typing the commands xattr -lr KK10.vst lists all the files with problems.
then typing xattr -cr KK10.vst and re-typing the command sudo codesign -s - KK10.vst --timestamp --deep --force is finally successful and now the plugin is displayed without problems by all the DAWs

I currently have High Sierra in my mac, if I want to distribute this plugin for newer OSX versions I have to pay 99 $ per year as described here, am I right?

Instead, to make an export compatible with the M1 chip, do I have to have one at hand, install cabbage and export the vst from there? Always keeping the speech of the Apple developer account etc.

Technically yes, but you can always get your users to sign the plugin manually on their end if they wish. I think local ad-hoc signing will work regardless of the OS.

The plugins you exports from your 1013 machine should work fine on an M1 machine, so long as they have a DAW that can handle x86_64 plugins. If you want to produce universal binaries for M1 machines, you will need to have one yourself so that you can create arm64 plugins.

maybe I could insert in the distribution package a script that executes the codesign command? it could be an idea?
Anyway thanks as always Rory for all the informations and support, I will test on M1

I’m be very interested to know if this works. Indeed, I’m happy to test if you have something to send me.

hi rory, sorry if i reopen the thread, i can’t figure out where i am wrong. Again regarding the updating of tables. I put a series of ifs so that it loads me a table rather than another, on the sound it works, the widget instead does not,

I am attaching an example

tableTest.zip (119.0 KB)


i haven’t been able to fix this problem yet … every time the project is saved and reopened, it opens in default

if you want to do some export tests on the total project, here is the repository

The first thing I see is an invalid channel name :see_no_evil:

:man_shrugging:

The second thing I see is an error in your csd file.

error: syntax error, unexpected T_IDENT  (token "vclpf") from file C:\Users\rory\Documents\VSTs\KlownTest.csd (1)
 line 936:
>>>        ares vclpf <<<
Unexpected untyped word ares when expecting a variable
Parsing failed due to invalid input!

Oh yes fixed :see_no_evil:

it’s strange, it doesn’t give errors to me, maybe because it’s a new opcode inserted in one of the latest versions of csound?

Yes that’s it. I was testing in an old laptop. I’ll try again when I get home and let you know. Did changing the channel name fix things? The last time we spoke I got it work by fixing all the channels. Or at least I thought I did :thinking:

I don’t think we actually got around to discussing this one :slight_smile: If we had I would have suggested that you use gentable to display only one table. And then in your Csound code copy tables to this table. So if you create a new function table, let’s say table 6. Then in this section, copy the contents of the current table to function table 6:

if gkmorf==1 then
aout poscil3 1, 110, 3
tablecopy 6, 3
else
aout poscil3 1, 110, 4
tablecopy 6, 4
endif

Here is your file updated. tableTest.csd (2.1 KB)

The reason I would advise against dynamically changing gentable sources on the fly is that it does some memory allocation, which can lead to dropouts. And that’s not a risk you should take here especially considering it’s only cosmentic.