You are here: Using External Control Systems with HAL > Introduction

Introduction to Using External Control Systems with HAL

This section is a brief overview of the support that the HAL system provides for external controls and how your system can connect to and use these controls. For more information on this topic, please see the Halogen Online Help.

Configuring External Controls in Halogen

Halogen provides the ability to configure controls for use with external control systems. These controls can be of any of the four types that Halogen supports: Level, Toggle, Selector, and Command. Once you create an external control in Halogen using the Control Systems dialog, you can then link it to any other linkable control of the same type in your Halogen configuration. This lets your external control system set and monitor any linkable parameter in your HAL configuration. Since the external controls can link to any other linkable control in a configuration, you have tremendous flexibility in the access that you provide to end users and seamless integration of your control system with internal controls, such as those in DSP block parameters and Rane Digital Remotes.

Each control that you configure for external access includes a unique number that allows external control systems to identify each control. For example, you might define a level control to be number 1 while a toggle control is number 2.

Connecting to a Halogen/HAL Control Server

The HAL system contains a Control Server to provide a way for your control system to connect and use the configured external controls. To integrate your external control system with a HAL system, your control system simply connects to the Control Server over TCP/IP. In the spirit of allowing you to configure and test your HAL system as much as possible without needing actual HAL hardware present, there are two ways that you can connect to a HAL Control Server to develop, test and use your external control system.

First, when developing and testing your system, the Halogen software includes the Control Server, which runs whenever Halogen is not connected to a HAL. Even though the configured HAL system hardware is not present, using the Control Server built into Halogen allows you develop your configuration, including all of the external controls, and test them with your external control system. Of course, because the actual hardware is not present, you cannot process audio or use physical devices such as Digital Remotes.

note: To use the Control Server built into Halogen, connect to port 4996 on the TCP/IP address of the PC that is running Halogen.

The other way to use the Control Server is to connect to a HAL DSP Processor itself. This server is always available on a HAL at port 4996 on any of its TCP/IP addresses. Once you have created and applied a HAL configuration that contains external controls, these controls are available to your external control system via the Control Server. We recommend that you configure a static IP address on your HAL when using the HAL Control Server, so that the server is always available to your control system at a stable address.

note: To use the Control Server built into HAL, connect to port 4996 on the TCP/IP address of the HAL.

Communicating with a Halogen/HAL Control Server

Once connected to either the Control Server built into Halogen or to the server in an actual HAL, your external control system communicates with the Control Server using the HAL system External Control Message Protocol. This is an ASCII text based protocol that allows one or more control systems to access the external controls in your HAL configuration. Appendix A External Control Message Protocol fully defines these messages, but an example would be: <L&4&510>. This message is a ‘set level’ message that tells the HAL to set external level control number 4 to a new value of 51.0%. The protocol provides similar messages for getting and setting values for each of the four control types.

In addition to responding to messages it receives, the Halogen/HAL Control Server also sends messages to connected control systems whenever one of the external controls configured in HAL changes. This helps all of the connected external control systems remain up to date as values or links change.

Using a Telnet Client to Test and Monitor the System

Because the message protocol is ASCII text, you can use a standard telnet client to connect to a Halogen or HAL Control Server and send/receive messages. This can be a great way to initially test your control system and to troubleshoot any problems that occur while developing and deploying your system. Appendix B Using PuTTY to Test External Control Systems provides complete information for you to use a simple public domain Windows telnet client, PuTTY, with the Halogen/HAL Control Server.