How to get rid of whitelist for plugin

I was having trouble developing a new module because it wouldn’t appear in the module browser.

I discovered the reason was that I had a whitelist in my settings file for the plugin, and because it’s a whitelist, the new module wasn’t on it. But removing the whitelist didn’t help, because Rack kept putting it back in, presumably from my subscription.

As far as I can see, you can’t clear the whitelist from the module pages in the library. Even if you click Add All to have all the plugins, you still have a whitelist.

I had to go to the plugins page in the library and I did remove all, add all there and that seems to have sorted it.

I too have trouble testing a new module from a plugin I already subscribed to. Tried so far:

  • put new .vcvplugin in VCV Program Folder, file is trusted, started as admin: nothing happens
  • changed folder with new uncompressed plugin-folder: new version shows up, but not the new module
  • unsubscribed, added all: Nope
  • Found a line, where the brand was mentioned in settings.json, set value to true: Nope

Any Ideas? Why is this a whitelist and not a blacklist???

I think it gets down to what is the feature supposed to do? Allow you to see all the module except ones you explicitly don’t want? Or let you see only the ones you explicitly do want? (unless you don’t do anything module specific, then of course you should see all). [ there is a long thread on this from yesterday, I think? ]

Also, I think you mean “allow list” and “forbid list”?

whitelist

I won’t refer to the above mentioned names as long as these are not part of the settings.json. If you would like to change it, please contact VCV Support. Just because google is using “Blocklist” now for a word that originates in Lists written with coal in the 16th Century doesn’t mean that the rest of the world is aware of your cultural war in the US and has to agree to your new coloring of Yin and Yang.

This was the thread popping up when searching for “whitelist”, but I will have a search for the discussion you mentioned. As for the *-List: What is the reason for this List? I think this is new in VCV2. In V1 I could exchange a folder for a nightly or beta build an the modules showed up. Is this because you can now subscribe on a per-module-basis? Then there should be a way to ignore plugins with a build higher than that of the library and ignore the *-List in that case.

Funny Footnote: I was trying to test a new module from robert based on your kitchen sink and could not get it installed. Help would have been appreciated.

yes, I see that term is used by VCV, got it.

I’m not super up on that feature, but like I’ve said a few time - the intention is to allow something other than “all the module from so-and-so” vs “none of the modules from so-and-so”. I don’t have any particular feelings about this feature, and all I know of it is the many times I have seen people in the past ask for more control. So I assume this new thing intends to address that issue.

I think I understand what you mean by “Lists written with coal in the 16th Century doesn’t mean that the rest of the world is aware of your cultural war in the US and has to agree to your new coloring of Yin and Yang”. You probably do not agree with the code of conduct for this forum, either. As one who has been threatened with perma ban more than once, I can understand your confusion.

I don’t think you’re seeing the same problem I was posting about. In my whitelist I could see all my subscribed plugins listed with true; except for the problem plugin which instead had a list of modules modules. My new module was not in that list, so I couldn’t see it.

If the module you need just says true, then all the plugins should be visible.

However I will say that using the add all button didn’t help me to sort the problem. I had to go to the plugins page and then unsubscribe/subscribe.

2 Likes

In case it’s helpful to anyone, I had success with the whitelist problem with a plugin I installed manually (to support V2) by unsubscribing but not resubscribing. Unsubscribing and resubscribing for some reason didn’t work.

Edit to add: When I reopened VCV Rack with the plugin unsubscribed the problem reappeared, but at that point resubscribing and reopening VCV Rack fixed it. So, I guess make sure you open VCV Rack each time you make a change.

1 Like

I am having the same problem where I have published modules in the Library (that I subscribe to), and I’m developing new modules that are not yet in the Library, and I symlink these into the ~/.Rack2/plugins directory. This worked fine before I had published any modules in the Library, but now that I have, these development modules are not showing up in the module browser anymore (only the published modules show up).

The first thing I tried was changing my plugin slug in plugin.json, and this works, but has a number of drawbacks:

  • I have to remember not to commit my plugin.json while testing with a different slug.
  • If I save patches or selections while testing this way, the slug name is saved wrong.

So thanks to finding this thread, I found in the main VCV config file (~/.Rack2/settings.json) this option:

...
  "moduleWhitelist": {
  ...
      "EnigmaCurry": [
        "Latch",
        "Transport"
    ],
  }

Listed here are all of the modules that I have officially published (and have subscribed to), but not any of the ones that are unpublished and in development. If you look at some of the other plugins listed in this file, many of them don’t have a list and are simply listed as true. I don’t know if theres a setting change in my plugin.json to changes this for my module? Or is this an administrative filter out of my control?

Anyway heres the workaround for Rack 2.1.2: if I close VCV Rack, edit settings.json and set EnigmaCurry: true, and then reopen VCV Rack, it works ONE TIME, and I see all of my development modules. As soon as you close VCV Rack, it will edit this file back to the way it was automatically (I don’t know if being unsubscribed affects this or not). So to recap: VCV Rack will load settings.json on startup and use it the way its written. When VCV Rack closes it writes to this file and changes the setting back to the way it was before. So as long as you change it while VCV rack is closed it, will work the way you intend, but only one time.

One solution is to make the file immutable (I’m on Linux):

sudo chattr +i ~/.Rack2/settings.json

However, doing it that way will mean that you won’t be able to change ANY settings from within VCV Rack (this could be a good thing in development). You can always change the file back to regular mutability when you’re done testing:

sudo chattr -i ~/.Rack2/settings.json

If thats too extreme, you can just edit the file every time you start VCV Rack, but this gets tedious fast, so here is a BASH one-liner that works with the jq utility:

# Edits VCV Rack settings.json - only run this while VCV Rack is closed:
PLUGIN="EnigmaCurry" TMP_SETTINGS=$(mktemp) \
  && jq ".moduleWhitelist.${PLUGIN} = true" ~/.Rack2/settings.json \
  > ${TMP_SETTINGS} \
  && mv ${TMP_SETTINGS} ~/.Rack2/settings.json

Just change the part that says PLUGIN=EnigmaCurry to your own module name. Run this everytime before you start testing VCV Rack (or put it in a script).

The difference between true and the list of individual modules, is whether you subscribed to the plugin or to individual modules in the library.

You should be able to change it to true by :

  • going to the library plugins page and unsubscribing from the plugin.
  • Restart VCVRack to get the latest subscription information from the library
  • go back to the library and subscribe to the plugin
  • Restart VCVRack to get the latest subscription information from the library

Now your plugin.json should show true against the plugin, and you should see all the modules in that plugin. If you are developing new modules and they are not in the library, then you should now be able to see those in-development modules in VCV-rack if you do a local install of your plugin.

3 Likes

And don’t forget that to subscribe to a plugin is many more clicks that to add a module, and even when you make it to the plugin page there are two options “add all” and “subscribe” with no explanation, so make sure to press “subscribe”.

Thanks! I swear that button was bright green in the past, I missed seeing it somehow, but found it now. I thought possibly it was something I needed to change in my plugin.json of my module. Thanks again.