What causes a MISSING plugin, and how do I fix it?

I’m using version 4.5.8 on Windows.

I have a plugin block which mysteriously went “MISSING”, and I have two questions: first, what caused this to happen (so I can avoid this problem in the future… it caused me quite some headache on stage in the middle of a show), and second, what’s the simplest way to repair it?

The underlying VST is not missing and is working just fine: when I look at my plugin manager, the plugin is present and looks normal.

If I right-click on the plugin block in the wiring diagram and replace it with the correct plugin, then its name changes and all of the widgets that are associated with its parameters become orphaned (by which I mean to say that they cease to be associated with any plugin), so that doesn’t seem to be the correct repair.

I did successfully repair the issue by loading the gig file itself into a text editor and replacing the broken tag with the correct data, from a backup. I am well aware that editing the XML directly is not recommended and not supported, but in cases such as this where I can’t figure out the right way to do it, this can be a lifesaver.

The broken tag looked like this:

<PLUGIN name="" format="" category="" manufacturer="" version="" file=""
        uid="0" isInstrument="0" fileTime="0" infoUpdateTime="0" numInputs="0"
        numOutputs="0" isShell="0" isEnabled="1" useDelayedLoading="0"/>

And I fixed it by replacing it with this working code:

<PLUGIN name="KeysOfThe70s" format="VST3" category="Instrument|Synth"
        manufacturer="Lostin70s" version="2.2.2" file="C:\Program Files\Common Files\VST3\KeysOfThe70s2.vst3"
        uid="d7fe5d91" isInstrument="1" fileTime="179eb86f180" infoUpdateTime="18a5d2be74d"
        numInputs="0" numOutputs="0" isShell="0" isEnabled="1" useDelayedLoading="0"/>

Any insights would be much appreciated! The above fix is not something I can do in the heat of the moment on stage, so when it happened I had to think fast and use a different instrument. I’d like to be able to quickly repair this in mid-performance if possible the next time it happens.

Thanks!

First, great that you were able to fix it and even though it’s not officially supported, we know that the use of XML does make it easier to address some issues.

That said, absolutely no idea how this could happen. The information used for that tag is pulled directly from the plugin description, which is also used (and displayed) by the plugin manager. In the 5 or so years that GP has been around, this is the first time such an issue has been reported. Something seems to have prevented GP from getting that information

If I were you, I’d first check my disk for errors.
Then I’d create a backup of all my gig files and put them on a second drive (or an external drive).

Then I’d test all my gig files to see if there’s a similar issue (hopefully not).
If this happens again, I’d open the backup folder and try with the backup gig file.

Good idea with manually editing the XML file.

@dhj
Maybe this could be supported at some point. “Replace with parameters”, where the replace will look for all parameters in plugin A and replace it with parameters with the same name present in plugin B.

3 Likes

That would be a GREAT feature!! :pray: :pray: :pray:

1 Like

Are plugins A and B the same?

They can be different versions (AU, VST, VST3). But generally, “the same” plugin.

How does this address the problem of the “missing” plugin?

In this example, the user is 100% sure that the Chameleon plugin is the LostIn70s block (let’s assume that the reason why the plugin was recognized as Chameleon is not important).

Maybe “replacing” this chameleon with the LostIn70s can painlessly re-assign all the parameters? (don’t know if this is possible, just thinking out loud).

1 Like

I’m not sure we should be considering adding a new non-trivial feature for a problem that has happened exactly once since GP was created and without our even having any understanding of what happened.

That is an outlier use case. Replacing (say) an AU plugin with its VST version would be more common use case (let’s say that people wanted their gig files to be cross-platform).

(as already said, don’t know how is this easy/hard to implement, just thinking of the possibilities)

EDIT:
Reported here: http://bugs.gigperformer.com:29846/issue/GP4Beta-1768/Replace-with-parameters

Yes, that might be useful - please submit feature suggestion

2 Likes

I do that this way:
Save a preset within the plugin preset menu,
then replace the plugin and load the preset.

Some plugins do not provide the same amount of parameters for host automation
Therefore the plugin state is different.

Thanks everyone for the replies. :heart: