-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Monitoring plugins not properly supporting shared inputs #257
Comments
|
The problem is that the SceneGainsCalculator expects only one use of an input channel. When metadata for an AudioObject is received, the matrix (direct_ vector) for those input channels are updated. If another AudioObject also uses those input channels and sends metadata, the matrix is then updated to represent that AudioObject, overwriting the previous values. This section of code runs once for every piece of AudioObject metadata received; ear-production-suite/ear-production-suite-plugins/lib/src/scene_gains_calculator.cpp Lines 123 to 129 in 9a5c788
You can see how it would overwrite whatever was previously stored in direct_[inputChannel] if inputChannel is reused between AudioObjects.Gains should be a summation of calculations for all AudioObjects using that input channel - perhaps we need to do per-object calculations and then sum whenever the direct or diffuse matrices are requested by the audio processing backend. |
Original Title: Monitoring issue when a DS layout is changed
E.g,
EDIT: This reasoning is not entirely correct - see later comments
This is because routing changes are currently only detected if the routing parameter changes (i.e, starting channel). A change of layout is not detected as a routing change, even though it should be. See this bit of code;ear-production-suite/ear-production-suite-plugins/lib/src/scene_store.cpp
Lines 90 to 94 in 9a5c788
This triggersflagOverlaps
which adds all of the items to theitemsChangedSinceLastSend
vector, making sure the monitoring plugins update their state for all items (we kept it simple here rather than trying to figure out exactly which items are affected).Opening the Scene plugin triggers
flagOverlaps
via another code route which is why we hear the correction only when the Scene plugin is opened.The text was updated successfully, but these errors were encountered: