enzienaudio / heavy

heavy public issue tracker and static dsp code releases
https://enzienaudio.com
ISC License
71 stars 4 forks source link

Use Heavy Markup in PureData to export specific receivers #30

Closed diplojocus closed 8 years ago

diplojocus commented 9 years ago

When generating parameters from [receive] objects we should only create code from user specified instances. [receive]/[send] objects are commonly used within a patch architecture and having a global scope for these in the integration interface would be too verbose and potentially confusing.

Proposal for a Heavy mark-up specification to tag certain [receiver] objects for automatic code generation of parameters.

i.e. in a patch a user would create an object such as [r @hv_param freq 0 1 0.5], which would generate a parameter to the patch called "freq" with minValue=0, maxValue=1 and defaultValue=0.5

ylevtov commented 9 years ago

As this is mainly a debugging feature for the patch preview, it would be nice to not disrupt the usual Pd patching conventions too much.

How about something like [r freq @hv_param 0 1 0.5]

Name is implied from the first argument of the [receive]. And could the defaultValue be optional? It's better to keep the initialisation in the patch, I feel...

mhroth commented 9 years ago

Yeah, I'm liking this. @diplojocus?

diplojocus commented 9 years ago

Yeah good idea @ylevtov

Although I don't just see it as a debugging feature, as when it comes to more complicated integration projects it'll be handy to choose which parameters get auto-generated and their respective values/settings

diplojocus commented 9 years ago

The default value is mainly to set the UI slider values, plus for example in the Wwise integration there needs to be something to initialise to.

If you use the output in your own code then the default value isn't an issue as it's only relevant to the preview. I don't mind it being optional but it does need a value assigned, potentially the minimum part of the range?

ylevtov commented 9 years ago

Yeah sounds good. So the default value is the minimum, unless otherwise specified.

Does that mean that it will send the default value through to Pd when the preview sliders are initialising? Or is the initialisation purely for the benefit of the GUI?

On 16 Apr 2015, at 19:18, Joe White notifications@github.com wrote:

The default value is mainly to set the UI slider values, plus for example in the Wwise integration there needs to be something to initialise to.

If you use the output in your own code then the default value isn't an issue as it's only relevant to the preview. I don't mind it being optional but it does need a value assigned, potentially the minimum part of the range?

— Reply to this email directly or view it on GitHub.