Proposal to improve parameter cookie functionality #213
Replies: 2 comments
-
If the bw is limited then why not omit the cookie? Having this extension won't guarantee that the plugin will provide it. So it might not change anything to your problem. |
Beta Was this translation helpful? Give feedback.
-
if you want to transmit data according to rfc2549 latency is not an issue anymore, so you could switch to a different packet and carrier format for your bit format. there are excellent implementations available: https://bit.ly/3ERivBu |
Beta Was this translation helpful? Give feedback.
-
Related to #173 it seems that forcing the host to always pass around pointer-sized integers for parameter cookies is somewhat excessive when in fact in many cases the plugin might not need quite that many bits, I would propose that an extension be drafted that allows the host to query the plugin which bits of the cookie field are important for the plugin, which ones should be zero and which ones are undefined.
If a plugin infact stores a pointer into a cookie on an architecture that supports 46-bits of user address space and the pointers are known to have 8-byte alignment, then the plugin could indicate that bits 0-2 and bits 47-63 need not be preserved and can be filled with zeroes. Similarly if a given plugin uses cookies to track byte offsets into some array of 16-byte elements and know that it only has about 400 parameters so that the array index fits to 9 bits, the plugin can report that the host only needs to preserve bits 4-13, while bits 0-3 and 14-31 should be set to zero and bits 32-63 can be left undefined as they are never used.
While this level of flexibility might not seem critical in the context of a traditional DAW running on a single computer in a single process, it could still provide somewhat significant bandwidth savings if the host needs to transport the cookies over a limited bandwidth network channel such those defined by https://www.rfc-editor.org/rfc/rfc2549
ps. I'm sorry.
Beta Was this translation helpful? Give feedback.
All reactions