The HAL service is a wrapper around the xAFVirtualAmp library. It’s been created mainly because GTT is a 64-bit application, while xAFVirtualAmp is a 32-bit library, hence it is not possible to launch both binaries in the address space of the same process. Internally, the HAL service is implemented as a WCF service hosted in a Windows service. It communicates with GTT via named pipes. HAL exposes the following xAF API to GTT:
- getAudioToolboxBuffer – returns the AudioToolbox.xml file as a string. AudioToolbox.xml contains definitions of audio blocks known to a particular version of the xAFVirtualAmp library.
- getIoObjectInformation – the method accepts audio block configuration parameters and returns the IO layout of the block (# audio ins, # audio outs, # control ins and # of control outs).
- getTuningInformationBuffer – returns a device description snippet for an audio block. Iterative invocation of that method for each audio block across all framework instances produces a device description file.
The HAL service should be started by default after a successful GTT installation.
If that’s not the case or the service has turned off for one reason or another (the application communicates such situations via error messages):
Go to the GTT Service Monitor.
Choose Harman Audio Library.
Press the Refresh button.
