Copy x86 settings to x64

HI @Sven,

You can just copy the settings.json file between the two editions, but then you’ll need to tweak anything that doesn’t make sense. eg: if you’ve got separate folders for x64 vs x86 plugins you’d obviously need to update that.

Try this:

  1. Start Cantabile x86, from the tools menu choose Open Settings Folder.
  2. Close Cantabile
  3. Start Cantabile x64, from the tools menu choose Open Settings Folder
  4. Close Cantabile

Copy settings.json from folder opened in step 2 to folder opened in step 4.

Brad

1 Like

Thx for the quick reply.
I kinda did that (works except for the theme needed admin for some files), but don’t know how i got my x86 version get the settings from my custom folder instead of the default. And is not in the shortcut link with the config tag, because i have my start without engine on tag there.

Also: How can I easily switch all my Synth1 (and other) synths to x64 or do I have to edit it manually?

And when I choose for x64 from now on, all my songs will be x64 settings and I probably will need to buy Jbridge for x86 plugins?
I’m only switching to have my Avenger running in X64. Otherwise I wouldn’t.

Update: I restarted C3 and it’s all fixed !!!
Ow man Brad, I’m falling in love with you buddy ! <3 :wink:

Now gotta find a way for the x86 plugins to convert.
Probably Jbridge is the only solution? There’s no build in bridge support in C3 right?

Hi @So_Godly

If you’re talking about plugins for which you’ve got both x86 and x64 versions, then Cantabile should automatically use the matching version - so long as the plugin is on your VST path.

For plugins where you’ve only got the mismatched version then yes, you’ll need to use jBridge. Cantabile doesn’t have anything native but will automatically use jBridge if you’ve got it installed. (ie: you don’t need to create the jBridge proxy plugin files).

To be clear, Cantabile locates plugins like this:

  1. Checks the plugin’s “unique ID” and if found on the plugin path (ie: it was scanned by the plugin scan) then it’ll use that version.
  2. If both x86 and x64 versions were found during the scan, it’ll pick the version matching the Cantabile platform you’re running.
  3. If still not located it’ll use the plugin path that was saved in the song/rack file.
  4. If the file doesn’t exist, it’ll fail.

In other words, if you have both editions of a plugin just switching between editions of Cantabile should work automagically.

Brad

1 Like

Ok I installed Jbridge demo, I think it’s better to stay in x86 for only 1 plugin.
How do I config Jbridger?

It does crashes C3 when loading Avenger.
Couldn’t send the error log because it’s to large.

jBridge has a number of tweaks in its settings file, which exists for every single model of bridged plugin. (the settings affect all uses of the respective plugin, i.e. 5 uses of Avenger will all use the same jBridge settings.)
jBridge assumes that there will be compatibility issues, and gives you the option to navigate around those issues.
If the plugin crashes before you’ve even loaded it for the first time, and you can’t get to the jbridge settings from the plugin itself, you need to go to the jbridge file, open it in a text editor, and change some zeros to 1’s

For example:

AUDIOMASTERGETTIME_HACK 1

USE_IPC_THREAD_SAFETY 0

The 1 signifies that AUDIOMASTERGETTIME_HACK is enabled
The 0 signifies that USE_IPC_THREAD_SAFETY is disabled.

1 Like

Ok let’s try that, thx

Hm, still crashes.

I have these settings

PERFORMANCE_MODE 0
AUDIOMASTERGETTIME_HACK 1
GUI_AUTOCLOSE 0
GUI_WINDOW_ALWAYS_ON_TOP 0
USE_IPC_THREAD_SAFETY 1

I run jbridger also with the settings for host (only made the file for avenger)

@brad, any idea what might go wrong with avenger?
Here is my error file it’s to big to send by the system
https://drive.google.com/file/d/0B6IRANt2Lk4dMnVDLTJlVXFBb2c/view?usp=sharing

Bootstrap error.
I can’t get it to run bridged.
You may have to contact jbridge dev.

Thx I’ll try that.
Meanwhile I have a regular other crash, I have the latest version, @brad you might wanna look at this :slight_smile:
Happens on other plugins also.

Hey @So_Godly

Does this happen only when bridging from x64 or does it happen when running Cantabile x86 too?

Also, do you have a copy of the plugin (tapeotronic) you can send me? Their site seems fairly broken at the moment.

Brad

Sure, here it is:
https://drive.google.com/open?id=0B6IRANt2Lk4danYxOUF6dlNVZ0k
I’m not sure it’s tapetronic only.
And no it’s not Jbridge related, suddenly happens now and then, I did install jbridge dough and do the latest C3 upgrade. So don’t know what’s going on.

Hi @So_Godly

Had a quick play around with this and couldn’t reproduce any problems in a simple test - one song with a couple of instances.

I noticed this is a SynthEdit plugin though which I often see issues with multiple instances. How many instances are you running? Are you running other SynthEdit plugins - including in other pre-loaded/deactivated racks etc…

My guess is this is a plugin issue - perhaps also try playing around with the Audio Engine -> Number of Audio Threads (try setting 1) and Multi-processor Mode - Compatible. (Not suggesting as a solution but to try to isolate the cause)

FYI: Cantabile 2 used to trap and suppress some exceptions like this. Cantabile 3 is far less forgiving preferring to crash out than try and keep a badly behaved plugin running. The reason for this is the suppressed exceptions often led to other more subtle and difficult to track down issues (such as memory corruptions, partially initialized plugins etc…) It means Cantabile is less stable with poorly written plugins, but more stable overall.

Brad

Thx Brad, yeah I use it not allot. But good for the typical sounds.
It happened some times when adding a second song to the list, so I guess you’re right, multiple instances.
It didn’t happen now in the time we are talking, so I keep you updated.

Btw I noticed you added Song saved to the info screen ===>>> suppeerrrrrr! Now I’m sure it’s saved! Thx again.

1 Like

Ok must be a Synthedit prob indeed, happens with Quadsamp also, a handy sampler.
I load song 1 with the plugin.
Switch to song 2 with that plugin (or other synthedit probably) and a loud peeeeep and crash.

Perhaps, is there a way for safe mode like in Reaper, the plugins are loaded in a seperate instance so if they crash the whole system does not.

Maybe it’s the flush tail function that has changed that causes probs? It happens when loading 2 songs 1 after A that have a synthedit vst.

Related to this?

Btw, flush tail might be intersting at plugin level, because it’s mostly the same plugins that cause this, so you can set this from the insert window?

Hi @So_Godly

To be clear there were a series of builds (around 3176) where the flush tail feature wasn’t optional - it was enabled for all plugins and cause a whole bunch of stability issued because some plugins simply didn’t cope with it. So I made it optional and it worked for some plugins and not other.

The most recent builds have a fix that flush tails should now work with most plugins. (I still have one fix in the pipeline which will be in the next build).

So the behaviour you’re describing may or may not be related to flush tails - do you have it turned on? Does it make a difference if you turn it off?

Problems with SynthEdit plugins tend to fall into two categories:

  1. Running two instances simultaneously in aggressive multi-threading mode. Cantabile has built it checks for this though and when it detects SynthEdit plugins automatically processes them in compatible mode.
  2. Running two instances simultanously or consecutively. Problems unrelated to threading but still related to two instances - perhaps when one is unloaded and one is loaded at the same (or close) time. I’ve never been able to find a fix for this and have reproduced it in other hosts so I don’t think it’s a Cantabile problem.

I could make flush tail sounds a per-plugin wide setting, but for now have left it as a per instance because if you don’t actually need it on a song/rack, leaving it off will save some time closing it.

@brad
It looks like this flush tails thing is causing a lot of wheel spinning when it might simply be a case of the user employing an approach that’s simple and available now, as long as Cantabile is able to issue data reliably on Unload as suggested in another thread recently.

You set the problem out as being that some plugin writers don’t include the code which would take care of this problem, forcing you to sweep up the mess. But a simple ‘flush preset’ solves all and caters for all unexpected situations that slip through the net.

If we think about the prime situation where this ‘residue’ becomes a problem, it’s where a ‘guilty’ plugin has been suspended or bypassed while it is still producing sound - or when changing patches on the fly. Synth1 does not reset between presets. If its DDL is part of the sound, that will whip to the setups for the next sound, giving a typical speeding up /slowing down effect. Other synths don’t do that; they shut any sounding effect off when a new preset is called. Some may prefer the Synth1 approach, it’s a subjective call.

What’s not subjective is the major issue - where a plugin has been turned off and then, 5 minutes later, spits out the remnants of its last sound when reactivated.

A solution is needed which doesn’t require, in our case, Cantabile to perform gymnastics to accommodate one or two rogue plugins, or to have to appeal to the plugin writer who, in the case of Synth1, has provided a freeware plugin and may not be incentivized to get moving.

A simple solution, as long as Bindings are working as prescribed, is a flush preset created by the user specifically for the offending plugin, executed on Unload of a state. If this was the prescribed recommendation, there would be no need to concern ourselves about whether 3rd parties, like Synth1, were playing ball.

Synth1 isn’t Syntedit, so this is an other problem than described above. Plugins crash when they are quickly loaded after each other.
But I’m afraid there are too many plugins made by synthedit so more people will encounter this. Would a loading delay do the job?