From 247d742bea0d8f5efcdcb51f9fcc9e71f2d100fb Mon Sep 17 00:00:00 2001 From: Yvan Grabit Date: Fri, 26 Jan 2024 15:16:17 +0100 Subject: [PATCH] [update] add tables for clarification --- src/pages/FAQ/Hosting.md | 2 +- src/pages/FAQ/Processing.md | 16 +++++++++++++++- .../Bus+Arrangement+Setting+Sequence.md | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/pages/FAQ/Hosting.md b/src/pages/FAQ/Hosting.md index 9e7a36a9..5c3f998c 100644 --- a/src/pages/FAQ/Hosting.md +++ b/src/pages/FAQ/Hosting.md @@ -85,7 +85,7 @@ No, this is not the typical use case. However, it could be used by plug-ins chan --- -## Q: In what ways (if any) can units change, in terms of the number or names of units, the allocation of parameter buses to units, etc.? +## Q: In what ways (if any) can units change, in terms of the number or names of units, the allocation of parameter busses to units, etc.? Plug-in Unit names can change when restartComponent is called with *kParamTitlesChanged*. When restartComponent is called with *kReloadComponent* then the whole structure should be regenerated. diff --git a/src/pages/FAQ/Processing.md b/src/pages/FAQ/Processing.md index 2e3bceb3..d9880699 100644 --- a/src/pages/FAQ/Processing.md +++ b/src/pages/FAQ/Processing.md @@ -25,7 +25,21 @@ Q: Must the host deliver valid initialized Audio buffers if the associated bus i In a correctly implemented host, if an input or output bus exists in the host, and it has become disconnected from the plug-in, the plug-in will receive disconnection information (bus activation). -Additionally, a plug-in with a disconnected input bus will continue to receive default silence buffers, just as a plug-in with a disconnected output bus will continue to receive default nirvana buffers. When these deactivated busses are the last busses (for input or output), the host could not provide associated [AudioBusBuffers](https://steinbergmedia.github.io/vst3_doc/vstinterfaces/structSteinberg_1_1Vst_1_1AudioBusBuffers.html), in this case the plug-in should check [numInputs](https://steinbergmedia.github.io/vst3_doc/vstinterfaces/structSteinberg_1_1Vst_1_1ProcessData.html#a852a74fc4e461ef086bac048313d2de9) and [numOutputs](https://steinbergmedia.github.io/vst3_doc/vstinterfaces/structSteinberg_1_1Vst_1_1ProcessData.html#a1338255f88bad5cf4fb714c71f92b61a) and doesn't process these busses. +Additionally, a plug-in with a disconnected input bus will continue to receive default silence buffers, just as a plug-in with a disconnected output bus will continue to receive default nirvana buffers if there are activated busses placed after them. When these deactivated busses are the last busses (for input or output), the host do not need to provide associated [AudioBusBuffers](https://steinbergmedia.github.io/vst3_doc/vstinterfaces/structSteinberg_1_1Vst_1_1AudioBusBuffers.html), in this case the plug-in should check [numInputs](https://steinbergmedia.github.io/vst3_doc/vstinterfaces/structSteinberg_1_1Vst_1_1ProcessData.html#a852a74fc4e461ef086bac048313d2de9) and [numOutputs](https://steinbergmedia.github.io/vst3_doc/vstinterfaces/structSteinberg_1_1Vst_1_1ProcessData.html#a1338255f88bad5cf4fb714c71f92b61a) and doesn't process these busses. + +The following tables show availability of buffer depending on which busses are activated: + +|Input/Output Bus| Index 0 (kMain) | Index 1 (kAux) | Index 2 (kAux) | +| :-| :- | :- |:- | +| Bus activated| Yes | No | Yes | +| Buffer| available | available | available | +| | | | | + +|Input/Output Bus| Index 0 (kMain) | Index 1 (kAux) | Index 2 (kAux) | +| :-| :- | :- |:- | +| Bus activated| Yes | Yes | No | +| Buffer| available | available | optional | +| | | | | --- diff --git a/src/pages/Technical+Documentation/Workflow+Diagrams/Bus+Arrangement+Setting+Sequence.md b/src/pages/Technical+Documentation/Workflow+Diagrams/Bus+Arrangement+Setting+Sequence.md index a3056cf3..e61273f8 100644 --- a/src/pages/Technical+Documentation/Workflow+Diagrams/Bus+Arrangement+Setting+Sequence.md +++ b/src/pages/Technical+Documentation/Workflow+Diagrams/Bus+Arrangement+Setting+Sequence.md @@ -50,7 +50,7 @@ sequenceDiagram P-->>-H: return H->>+P: setBusArrangements (req. Ins, req. Outs) - P-->>P: Adapt its buses according to the requested ones if possible + P-->>P: Adapt its busses according to the requested ones if possible P-->>P: return kResultFalse if not match. P-->>-H: return kResultFalse