
GTT allows external tools to interact with devices. The tuning of 3rd party audio objects can be done directly in GTT, or it can also be done from an external tool.
The requests from external tuning tools will come to GTT and GTT will forward these requests to the device. This is enabled through a WCF service endpoint that external tools can tap into.
To help external tools integrate with GTT, the GTT process hosts a WCF endpoint; external tools can connect to that endpoint and use the exposed APIs.
Refer the contact information mentioned in the latest release notes to get more details on “External third party tool” documentation and package.
By default External Endpoints will use port 8080 for the communication.
Before proceeding with the following sections, it is understood that you have received 3 compressed zip files. It is recommended that you use these for integration purposes.
The “WcfServiceProxy.dll” is a .net dll which has the implementation of the client code for the endpoint hosted in the GTT.
By default Third Party tuning tool will use port 8080 for the communication.
Setup
GTT needs a minimum setup for external endpoints to function.
For the external endpoint feature to work correctly, it is necessary to run GTT as an administrator.
A license is required to use this feature. Contact the solution management team to enable the feature.
Supported Features
Sending and Receiving Tuning Data
To support sending and receiving tuning data, the following methods are exposed.
Sending and Receiving Control Data
To support sending and receiving control data, the following methods are exposed.
The control data supports 16.16 format.
Streaming Methods
GTT also supports streaming with the following methods.
To know more about all the API methods described above, refer to the API Reference section in the GTT Third Party Tool Integration User Guide.
External Tool Interaction
The following are the steps to integrate with GTT.
By default GTT will host the WCF endpoint on this URL (http://localhost:8080/XtpHandlerService).
Steps to get started with the WCF service.
Otherwise, developers can follow the “Third Party Tool Tuning Sequence Workflow” and “Third Party Tool Streaming Sequence Workflow” to write code to consume the endpoint hosted by GTT using the proxy library (WcfServiceProxy.dll) shared and explained in the GTT Third Party Tool Integration User Guide.
API References
GTT endpoint APIs definition and parameter details are provided in the GTT Third Party Tool Integration User Guide.
API: ExternalAudioObject
API Function:
Description: This function will return all the audio objects that are used in the currently open signal flow in GTT. It returns only those audio objects which have Class ID between 9000 and 9999. Also, any audio objects that are listed in external category. |
API: SendTuningDataAsync
API Function:
Description: This function will apply the data payload to the ExternalAudioObject passed into the function. |
API: ReceiveTuningDataAsync
API Function:
Description: This function will retrieve tuning data from the ExternalAudioObject. |
API: SendControlDataAsync
API Function:
Description: This function will send control data to the control id mentioned in the function. |
API: ReceiveControlDataAsync
API Function:
Description: This function will get the control data from the control id that is passed into the function. |
API: EstablishSocketConnection
API Function:
Description: This function will instruct GTT to connect to the socket connection listening at the port passed as parameter. The integrating application will create a socket connection and listen at a port and send this port id to GTT, so GTT can establish a connection and send stream data through the socket. |
API: DisconnectSocketConnection
API Function:
Description: This function will instruct GTT to disconnect the previously established connection. The integrating application will close the socket connection. |
API: SubscribeForStreamDataAsync
API Function:
Description: This function will create a subscription for data streaming of a particular state variable of the audio object mentioned at subblock/offset. This function can be used to subscribe for streaming of a particular data from audio object. Parameters include audio object, its subblock. There is an option to send the number of messages to be streamed per second and if the streaming data is to be retrieved before calc or after calc. All this needs to be supported by the audio object. Once the subscription is complete, the subscription id and status are returned to the object. |
API: UnSubscribeForStreamData
API Function:
Description: This function will terminate the subscription that is currently running. GTT will stop the subscription that is started with the subscritionId passed as parameter. |
Use Cases and Workarounds
Use Case | Workarounds |
Use Case 1: While starting External Endpoints from GTT, if you gets notification of port already being used. Then you need to perform configuration in GTT as well as in ExternalTuningTool. ![]() |
Close the GTT application and perform the below configurations:
By default the key does not exists in the config file. When configuring the config file, you need to add the key and the required port number. GTT configuration settings:
ExternalTuningTool configuration settings:
Key name must be ‘HarmanExternalEndPointPort’ and value must be same in GTT config as well as in ExternalTuningTool config. |