ryukau / VSTPlugins

Uhhyou Plugins VST 3 repository.

Home Page:https://ryukau.github.io/VSTPlugins/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Feature request] StudioRack integration

kmturley opened this issue · comments

commented

I'm the lead developer of an open-source VST plugin manager called StudioRack:
https://github.com/studiorack

The aim of my project is to provide a free open-source way to manage VST plugin dependencies and their versions. I would love to add VSTPlugins to the StudioRack Registry, which would involve the following steps:

  1. Publish a Github release containing the plugin source along with metadata plugins.json
  2. Tag your Github repository with studiorack-plugin so it can be discovered
  3. Wait for the studiorack-registry to index your plugin (every 24 hours)
  4. Check the registry feed for your plugin to appear https://studiorack.github.io/studiorack-registry/

Wondering if you would be interested in collaborating to make this work? It would then allow users to install VSTPlugins using the StudioRack website, command-line tool or app?

Thanks!

Hi, @kmturley.

It depends on how much work required to maintain the integration. Is there some step by step instruction available? Following parts are not clear to me.

  • How to write plugins.json?
  • Is it necessary to re-tag for each time when I update master branch on this repository? I'm not familiar with git tag behavior.
commented

I've got full instructions here:
https://studiorack.github.io/studiorack-site/docs/05-develop-new-plugins

Should be pretty easy, you can either use the studiorack/cli tool or generate it yourself.

Your GitHub repo needs to be tagged with studiorack-plugin so Studiorack can find it via GitHub search API.
Then you use GitHub releases to publish builds of your plugins!

Added studiorack-plugin tag and created release with files required. The release is linked below.

For testing, this release only contains 1 plugin. I'll add others when it's confirmed working.


I have some feedbacks on "Develop new plugins" guide.

On "Use our plugin templates (optional)"

It might be better to add a line like:

If you already have the plugin repository, skip this section.

at the start of the section. It says optional, but the implication wasn't immediately clear to me.

plugins.json

It might be better to add the specification of date format.

The unit of size is not clear. I used number of bytes from ls -l.

commented

Thanks for the feedback, I will update my documentation.

Do you have linux/mac/windows builds of the plugin?

Thanks for pointing out. I was forgetting to add yourplugin-<OS>.zip files.

Just in case, a VST 3 plugin can contain all 3 builds in a package. So it's a bit more convenient if StudioRack service extracts relevant build from a package. Below is the documentation of VST 3 file structure.

https://steinbergmedia.github.io/vst3_doc/vstinterfaces/vst3loc.html#mergedbundles

commented

Oh interesting, I didn't know that was possible! I'll look into it

One thing you need to fix is rename windows to win:
SevenDelay-windows.zip to SevenDelay-win.zip

and you need to add the topic studiorack-plugin to your repo, like this:
Screen Shot 2020-12-13 at 12 56 34 PM

I realize in my documentation I said tag which is confusing. Have updated to say topic instead

It's fixed now. Thanks again for pointing out.

commented

Sorry one last thing, size should be a integer:
size: '1793748'

should be:
size: 1793748

Fixed now.

I just realized that current size is based on original VST 3 package, which includes all 3 builds. And yourplugin-<OS>.zip have different sizes, because I only included the binary for the target OS. Is that OK?

commented

Your plugin passed validation and is now available on the registry here:
https://studiorack.github.io/studiorack-registry/

and on the site (but my code has a bug):
https://studiorack.github.io/studiorack-site/plugins/ryukau_vstplugins_sevendelay

This has been a really good test to see all the bugs and features that are not supported. I found a few bugs already with my code, which i've fixed. There is another bug with release names vs versions names. I am using the two interchangeably and that shouldn't be the case. Going to need to spend more time to fix it.

Will comment back on here when it's fixed! Thank-you for getting this working!

commented

I've fixed the bug with release names not following semvar versioning, but there are definitely some things I need to think through further to make this more stable.

Thanks for doing this, it has opened up some use-cases which I hadn't thought about!

Your plugin now shows here!
https://studiorack.github.io/studiorack-site/plugins/ryukau_vstplugins_sevendelay

That's nice it worked. 👍

Please let me know when it gets more stable. I'll update and add rest of plugins after that.

commented

I've updated the plugins.json format, main changes are:

  • id should be a "url slug" e.g. lowercase with hyphens
  • version should follow semantic versioning x.x.x numbers
  • files is an object now contains the different builds each with their own filename and size

So you'll need to update yours to be:

{
  "plugins": [
    {
      "author": "Takamitsu Endo",
      "homepage": "https://ryukau.github.io/VSTPlugins/",
      "description": "A stereo delay tuned towards short delay.",
      "date": "2020-12-11T03:48:37.553Z",
      "name": "SevenDelay",
      "tags": [
        "Fx",
        "Delay"
      ],
      "version": "0.1.14",
      "id": "seven-delay",
      "files": {
        "audio": {
          "name": "SevenDelay.wav",
          "size": 2396716
        },
        "image": {
          "name": "SevenDelay.png",
          "size": 32087
        },
        "linux": {
          "name": "SevenDelay-linux.zip",
          "size": 749745
        },
        "mac": {
          "name": "SevenDelay-mac.zip",
          "size": 708326
        },
        "win": {
          "name": "SevenDelay-win.zip",
          "size": 668548
        }
      }
    }
  ]
}

Then it should show up again!

plugins.json is now updated.

commented

I now have 38 plugins on StudioRack. I think the plugin.json format is stable enough to add your other plugins?

If you don't have time, I can add them (by forking your repo, and adding the plugins.json and release binaries myself)

Let me know!

I'll work on it. I'm currently reviewing packaging process, so it may take some time.

Hi, sorry for long delay. I uploaded files on new release. Please let me know if anything is not working.

https://github.com/ryukau/VSTPlugins/releases/tag/ResetAndMuteFix

commented

No worries, better to spend the time to make it perfect!

It's working! https://studiorack.github.io/studiorack-site/plugins

Thank-you for taking the time to add the audio/images/json metadata!