free-audio / clap-info

A tool to show information about a CLAP plugin on the command line
MIT License
43 stars 11 forks source link

Automatically build and test cross-platform binaries in PRs #13

Closed kmturley closed 2 years ago

kmturley commented 2 years ago

I separated the workflows into two separate files:

feature.yml Runs when a pull request is opened/updated. installs, builds and tests binaries and stores an artifacts in the pipeline if you want to test them locally

Screen Shot 2022-07-03 at 8 41 07 PM

release.yml Runs when a git tag is pushed (an official release), installs, builds and tests binaries and uploads the to a GitHub release for users to download and install on their own machines.

Screen Shot 2022-07-03 at 8 44 08 PM
baconpaul commented 2 years ago

Amazing thank you!

baconpaul commented 2 years ago

Oh shoot do you see why it conflicts? I can look tonight on iPad

kmturley commented 2 years ago

Ah there was a merge conflict between my branch and yours, should be resolved now.

Looks like the CI tasks are running automatically now too!

baconpaul commented 2 years ago

Great merged

I will move this to free audio this weekend or early next week and also finish up the json and tag it 1.0 so we have a binary!

thank you!

baconpaul commented 2 years ago

@kmturley first of all, thanks for writing these!

This morning we moved everything over to free-audio, I finished up a bunch of the dev, and I tagged it as v0.9.0. A build resulted! Super!

I'll probably tag a 1.0.0 in the next 72 hours or so - probably monday evening NYC time or maybe Tuesday morning - so would appreciate any comments you have now that we have all the JSON complete, the scanner mode fully working, and so on.

Thank you again for this contribution! Really valuable.

kmturley commented 2 years ago

Awesome news....happy to help!

I can get a nice clean json file using: clap-info --announce-extensions=false --audio-ports=false --note-ports=false --params=false "Surge XT.clap" > surge.json

Which outputs:

{
   "clap.plugin-factory" : [
      {
         "description" : "Surge XT",
         "features" : [ "instrument", "hybrid", "free and open source" ],
         "id" : "org.surge-synth-team.surge-xt",
         "name" : "Surge XT",
         "version" : "1.1.0"
      }
   ],
   "extensions" : null,
   "file" : "test/plugins/CLAP/studiorack/surge/surge/1.9.0/Surge XT.clap",
   "id" : "org.surge-synth-team.surge-xt",
   "plugin-count" : 1,
   "version" : "1.0.2"
}

This can then be converted easily to my StudioRack json format of:

{
  "author": "Surge Synth Team",
  "homepage": "https://surge-synthesizer.github.io/",
  "name": "Surge",
  "description": "Hybrid synthesizer featuring many synthesis techniques, a great selection of filters, a flexible modulation engine, a smorgasbord of effects, and modern features like MPE and microtuning.",
  "tags": [
    "Instrument",
    "Synth",
    "Modulation"
  ],
  "version": "1.9.0",
  "id": "surge"
}

So looks good to me!

What I am working on:

Run clap-info within StudioRack I am working on converting my old StudioRack code for running Steinberg validator and pluginval to also support clap-info: https://github.com/studiorack/studiorack-core/blob/main/tests/tool.test.ts#L39

This will allow anyone to run clap-info using: studiorack run clapinfo ./plugins/**/*.clap

This will automatically download the correct MAc, Linux, Windows version of clap-info from GitHub, install and run it!

Install CLAP plugins with StudioRack I also added the ability to install CLAP plugins using StudioRack command line tool or app: https://github.com/studiorack/studiorack-core/commit/77697b16744e30b40731397ebdfdbb9b82dea0f0

CLAP plugin template GitHub template repo which automatically builds and releases your plugin for Mac, Linux and Windows. Work in progress! https://github.com/studiorack/studiorack-template-clap

Still testing all features, but will be releasing them soon!

baconpaul commented 2 years ago

Amazing!

if you want to add a —brief option which sets those flags, would be happy to merge it!

kmturley commented 2 years ago

Sure, have opened here: https://github.com/free-audio/clap-info/pull/26