Coder Social home page Coder Social logo

hiwatts / studiorack-registry Goto Github PK

View Code? Open in Web Editor NEW

This project forked from studiorack/studiorack-registry

0.0 0.0 0.0 168 KB

Audio plugin registry with searchable plugin list, metadata and download urls

Home Page: https://studiorack.github.io/studiorack-site

License: MIT License

TypeScript 100.00%

studiorack-registry's Introduction

studiorack-registry

Release

Audio plugin registry with searchable plugin list, metadata and download urls using:

  • NodeJS 12.x
  • TypeScript 4.x

Installation

Install dependencies using:

npm install

Usage

Create the registry using:

npm run build

How it works

The StudioRack Registry uses GitHub as a source of truth for plugins. We search the GitHub API for topic studiosrack-plugin:

https://api.github.com/search/repositories?q=topic:studiorack-plugin+fork:true

Then for each GitHub repository, the Registry loops through their releases/versions and downloads plugins.json:

https://github.com/REPOSITORY_NAME/releases/download/RELEASE_NAME/plugins.json

This should be in the format:

{
  "plugins": [
    {
      "author": "Your Name",
      "homepage": "https://www.yoursite.com",
      "name": "Your Plugin Name",
      "description": "Test Class",
      "tags": [
        "Fx",
        "Delay"
      ],
      "version": "1.1.0",
      "id": "your-plugin",
      "date": "2020-12-09T17:25:12.081Z",
      "files": {
        "audio": {
          "name": "your-plugin.wav",
          "size": 352844
        },
        "image": {
          "name": "your-plugin.png",
          "size": 35091
        },
        "linux": {
          "name": "your-plugin-linux.zip",
          "size": 13089625
        },
        "mac": {
          "name": "your-plugin-mac.zip",
          "size": 13089625
        },
        "win": {
          "name": "your-plugin-win.zip",
          "size": 13089625
        }
      }
    }
  ]
}

Registry then performs some validation on the plugins.json before compiling into a registry json format:

{
  "objects": {
    "username/studiorack-plugin-steinberg/helloworld": {
      "id": "username/studiorack-plugin-steinberg/helloworld",
      "version": "0.0.1",
      "versions": {
        "0.0.1": {
          "author": "Steinberg Media Technologies",
          "homepage": "http://www.steinberg.net",
          "name": "Hello WorldController",
          "description": "Component Controller Class",
          "tags": [
            "Fx"
          ],
          "version": "1.0.0.1",
          "date": "2020-09-25T22:14:32.178Z",
          "size": 239104
        }
      }
    },
    "username2/studiorack-plugin-steinberg": { ... }
  },
  "time": "2020-08-29T22:22:41.119Z",
  "total": 2
}

This registry json is updated once a day, and used for the StudioRack website, app and command line tool:

https://studiorack.github.io/studiorack-registry/

Contact

For more information please contact kmturley

studiorack-registry's People

Contributors

kmturley avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.