libossia
libossia copied to clipboard
[ossia-max] [ossia-pd] should we allow absolute and global addresses in all objects ?
It's obviously yes for remote and view (and should work). but what about parameter and model ?
what do @bltzr @jcelerier et al. think ?
I would tend to say yes
what would global addresses mean for parameters and models ? e.g. what would that do if I'm giving someNonExistingDevice:/param as a name to my param and this device doesn't exist ?
For absolute addresses, that seems a bit strange, but why not... I guess that could create some confusion, but if that's properly documented, maybe that would be useful ? do you see an use-case where that would be useful ?
what would global addresses mean for parameters and models ? e.g. what would that do if I'm giving someNonExistingDevice:/param as a name to my param and this device doesn't exist ?
~~hmm... for me "global addresses" don't include devices, it's just an address such as /foo/bar/baz (unlike a relative address which would not have a leading /)~~ maybe the distinction between global and absolute should be documented somewhere ? I'd say yes for "absolute" (/foo/bar) and no for "global" (device:/foo/bar).
do you see an use-case where that would be useful ?
yep, if for instance you're five patches deep and want to quickly add a global debug message at top level ? or maybe if you want to make "parallel" hierarchies without having two ossia.model ?
e.g.
/foo/filter/band.1 /foo/filter/band.2 /foo/filter/band.3
/foo/filter/Q.1 /foo/filter/Q.2 /foo/filter/Q.3
could be done with a patch that looks like
myeq.maxpat:
[ossia.model /foo] (maybe?)
[ossia.parameter /foo/filter/band.1]
[ossia.parameter /foo/filter/Q.1]
main.maxpat
[myeq] [myeq] [myeq]
e.g. what would that do if I'm giving someNonExistingDevice:/param as a name to my param and this device doesn't exist ?
it just doesnt register and stay quarantinized until someNonExistingDevice appear
do you see an use-case where that would be useful ?
quite capillotracté but if you have an abstraction you use several times and want to add a parameter only to one instance for whatever reason, then use an absolute address might make sense
@jcelerier global means absolute address with device name, as opposed to absolute and relative
it used to be called super-absolute but this term didn't reach much popularity
if you have an abstraction you use several times and want to add a parameter only to one instance for whatever reason, then use an absolute address might make sense
but that would create several instances anyway, wouldn't it ?
@jcelerier in your example, why doesn't duplicating the patchers create new instances for /foo when it does for the parameters ?
though, I have to admit that there seems to be some esoteric shared logic to both of your proposals.... could you exoterize them ?