Phase Oscillator Ported (Unofficial Port of Infrasonic Audio Warp Core)

I ported VCV Library - Infrasonic Audio Warp Core. This is an UNOFFICIAL port.

Please note: I spoke with Nick of Infrasonic Audio, he is okay with the port but I’d like to make clear that any issues with this port should be directed to me - please do not bother him with requests about this. Per his request, I have also renamed it to Phase Oscillator where possible (I can’t everywhere, because then the VCV version doesn’t map over to the MM), and removed his logo and module title.

*minor note: The PM knob on the top right has a dual function usually accessible via the options menu. I might move this out into a separate knob - but you might see some weirdness sometimes where you can assign two knobs to the top right one - this is normal and is how the VCV rack version works.

cc: @danngreen

5 Likes

I’m definitely going to check this out! Thanks @etcetc

@danngreen Is there a way to rename the MM version while retaining VCV → MM compatibility? I’d like to name this something different completely per Nick’s request, but changing the name breaks the VCV Rack to MM compatibility.

You can set a different name in the MetaModuleBrandName field:

Got it, thank you.

But would the module name show up as WarpCore still?

Oh right, there’s no way yet to rename a module itself. I do it with the CloneInstruments but I didn’t extend that to the plugin SDK.
You can use the name field in the MetaModuleIncludedModules list. That will at least change how its displayed on the website.

Probably what I’ll do is have it use this field for displaying on the module list, too. It shouldn’t be hard to implement, so if you want to go ahead and change the name in the plugin-mm.json, then I can use this plugin to make sure its working.

1 Like

Actually, that name field is already sometimes used as a longer description.

Let’s add a new optional field: displayName.

So it would be used like:

  "MetaModuleIncludedModules":
  [
    {
      "slug": "Module1",
      "name": "Module Number One"
      "displayName": "ModOne"
    },
    {
      "slug": "Module2",
      "name": "Module Number Two"
    }
  ]

The name displayed on the MM will be “ModOne” for the first one, and “Module2” for the second.

I tested it out on a plugin here and it’s working.
I’ll add it to the docs

2 Likes

Thanks so much! Will try this out ASAP.

Just for knowledge - how does mapping work from VCVrack to MM? Does it just try to match slugs from both the author and the module?

Renaming the original plugin seems to break the VCVRack → MM connection.

Yeah, the slug is the only guaranteed unique identifier. So the hub stores the brand slugs and the module slugs in the patch yaml file. Then when you load a plugin it registers the module slugs under the brand slug. The module slugs are defined in the createModel(“slug”) call. The brand slug is extracted from the plugin.json.

When you load a patch file it looks up the slugs from the yaml file in the module registry to figure out which module to load.

Nice, got it all working. Just had to use the aliases to point to the VCVRack slug and I can change the name no problem.

Cool, it works!

The Internal PM Level knob is displayed behind the Ratio knob, so it appears that the Int PM knob never turns. The audio is fine and you can adjust or map each parameter properly, but the GUI only shows the Ratio knob. The VCV code uses hide() and show() to display them but the MM doesn’t support that.
Maybe it would make more sense if the Int PM knob was in front, so the Ratio knob was hidden since the former is the default active one.

Or… change the ratio knob’s xy position so it doesn’t cover the Int PM knob?

Yeah I might just move the ratio knob somewhere where it’s visible.

We had this solution on the Oneiroi branch, would that solve things?

(incidentally I’m trying to revive the Oneiroi port on v2.0-dev, as a seperate plugin, you should have recieved a github repo invite - that would also benifit from this change)

2 Likes

Yeah that should work, I forgot about that!

I got the invite, and yeah I’ll test this out (make sure it doesn’t mess with some z-ordering stuff)

1 Like

Updated to 1.0.5 - moved the ratio PM knob to the center of the panel so its always visible. Still assignable via VCV if you click the context menu.