Communications Protocols
Applications can talk to each other via one of the following protocols:
- DDE
- Named Pipes
- COM
- WM_COPYDATA
DBM can handle all four protocols but most other Digas applications know a subset only.
DBM must be configured so that it knows which protocol to use when sending messages to a specific application.
Defining which Protocol DBM Uses
When DBM acts as a receiver of messages, it accepts messages via all four protocols.
When DBM is the sender, it uses DDE by default, with some exceptions noted below.
The following configuration entries can be defined to modify this defult behaviour:
- DBM\Communication\UseCopyData to use WM_COPYDATA
- DBM\Communication\UseNamedPipes to use Named Pipes
- DBM\Communication\UseCom to use COM
These 3 parameters are read from LOCAL and GLOBAL registries; LOCAL overwrites GLOBAL. Their content must be a comma-separated list of receivers for which the respective protocol is to be used. You should not list an application in more than one of these parameters because that makes behaviour unpredictable.
The Digas system has a predefined set of known application names from which you can pick names for the UseCopyData, UseNamedPipes, and UseCom parameters; for example, Multitrack-Editor, EasyTrack, or DigaIngester. Names are case sensitive.
Exceptions to the default DDE protocol are NewsCenter, DigaClipboard, DigaBurnDvd, DigaCut, StoryEditor, DIGATRANSFERCLIENT, and DIGAISDNIP. For these applications, DBM uses COM unless configured to use Named Pipes. DDE or WM_COPYDATA cannot be used for these applications.
Example to configure DBM to use Named Pipes with MTE, ETE and DigAIRange: DBM\Communication\UseNamedPipes=Multitrack-Editor,EasyTrack,DigAIRange
Parameters
The parameter DBM\DDETimeout
determines the time which DBM allows to pass before it reports a communications timeout. It is specified in milliseconds. Despite its name, it applies to all communications protocols. Some protocols, however, rely on Windows system calls that have a different timeout which may jump in before the configured timeout has elapsed.
Defining which Protocols other Applications Use
(This information is only correct for some applications. It is correct for MultiTrack, SingleTrack, and EasyTrack editors.)
DigaSystem applications read the subkeys of the DDESettings
folder which is located at the root of the GLOBAL or LOCAL registry (in this case, GLOBAL overrides LOCAL!). Each subkey configures the communications protocol that all applications (except DBM) should use when sending messages to a specific DigaSystem application.
The name of the subkey defines the use-friendly name which is used in the GUI of some applications. The DDE_NAME
parameter identifies the (receiving) application, and contains one of the predefined DigaSystem application names, like DIGASDBM
. These names are case sensitive.
The Communication_Type parameter selects the protocol. The value can be one of DDE, COPYDATA, or NAMEDPIPES.
Parameters
The parameter DDETimeout
is used by many applications to define a communications timeout. It is specified in milliseconds. Despite its name, it applies to all communications protocols. Some protocols, however, rely on Windows system calls that have a different timeout which may jump in before the configured timeout has elapsed.
Side Aspects
It is not required to use the same protocol for both communications directions. For example, it is perfectly valid to use WM_COPYDATA when DBM sends messages to MTE, but to use Named Pipes for the reverse direction.