Skip to content
This repository was archived by the owner on Oct 13, 2023. It is now read-only.

Possible to use with externals? #25

Open
funkyfourier opened this issue Oct 3, 2019 · 3 comments
Open

Possible to use with externals? #25

funkyfourier opened this issue Oct 3, 2019 · 3 comments

Comments

@funkyfourier
Copy link

So I have coded some PD externals of my own, and I was wondering if there is any way to compile them along with a patch with hvcc? I guess all (most?) of the standard PD objects must have been already implemented in heavy. Would it somehow be possible to expand heavy with your own custom externals before compiling your patch which uses those custom externals?

Any thoughts?

@rvega
Copy link

rvega commented Apr 10, 2020

Same question here...

@diemildefreude
Copy link

Hey, sorry no one replied sooner. In case your question is still relevant, the short answer is no. hvcc only supports a specific part of the vanilla library. You can see which objects are compatible here.

But you can still make your own abstractions to imitate your externals' behavior. For instance, hvcc doesn't support [threshold~], but you can make your own [threshold~] easily enough using [env~] or [snapshot~] connected to [>].

@giuliomoro
Copy link

I think you could inject custom C/C++ code (e.g.: your external) in one of two ways:

  • figuring out how to add it to the heavy core (go through the source code, see where the C code is generated, hook in there to add it)
  • in the wrapping code: receive/send messages from heavy to your code to implement the message-rate part of your external, and use additional "dummy" [adc~] / [dac~] from heavy to connect the signal-rate outs/ins of your external.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants