Composer Pro Version Independence

With the release of Composer Pro 3.1, Composer Pro now connects to Director running on the primary controller through a set of versioned APIs. The change allows Composer Pro to connect to any controller running OS 3 or newer. But most importantly, Composer Pro can now be released independently from Control4 OS releases which clears the path to accelerated enhancements, features, and fixes to Composer software.

Prior to this release, Composer Pro, Control4 OS updates, and Drivers and Agents were all released at the same time. When a revision to one of these components was published, they were all updated together. This was necessary because these components communicated with each another through conventional Application Programming Interfaces, or APIs. When any API was added, changed, removed, or in some cases just used differently, all other components had to be revised to match.  Here’s a simplified view of the prior relationships among these components:

With the release of Composer Pro 3.1, communication between Composer Pro and Drivers and Agents were made part of a versioned API. Now, new features can be added to Composer software while still allowing Composer to communicate to Drivers and Agents through a versioned API. 

Here’s what things look like now:

For systems running Control4 OS 3 or higher, versioned APIs between Composer Pro and Drivers and Agents allow the two components to be version-mismatched. In other words, Composer Pro is now version-independent of Drivers and Agents, which in turn makes it version-independent of Director.

Note: While Composer Pro and Drivers and Agents communicate through a versioned API, the OS’s built-in Drivers and Agents communicate with Director through conventional APIs. This means that for the time being, Drivers and Agents must continue to be version-matched with Director. APIs for Control4 and 3rd-party drivers that are based on the Driver Wizard or the DriverWorks SDK are independent of the OS version. Developers of drivers which use the DriverWorks SDK APIs may designate a minimum-OS version.

Connecting Composer Pro to a Virtual, Local, or Remote System

Composer Pro gives users three connection options at startup.  The same three options are presented after disconnecting:

 

Virtual System

Virtual System, also known as Virtual Director, is a software emulation of the software that runs on the primary Control4 controller (Director). Selecting Virtual System will connect Composer to a Virtual Director running on the same PC. There’s no need to be connected to the local network (LAN) or to the internet to establish this connection.

Local System

Selecting Local System allows Composer to connect to a Control4 controller running Director on the same LAN as the host PC. Neither the PC running Composer or the controller have to be connected to the internet to establish this connection.

Remote System

Selecting Remote System allows Composer to connect to a Control4 controller running Director—that is also registered to Control4 account—located on a different LAN than the host PC. The PC running Composer and the controller both need to be connected to the internet.

Composer Pro makes new decisions when connecting

When connecting Composer Pro to a Virtual, Local, or Remote System, Composer Pro now connects through a set of versioned APIs, if applicable, and allows you to manage those APIs when you connect.

Connecting to a Virtual System with versioned APIs

Each release of Composer Pro comes with the latest set of Drivers and Agents and Virtual Director. Connecting to Virtual System is straightforward for any version of Composer Pro, and as long as the user has not uninstalled its Drivers and Agents, the matched set of components will always be available.

Connecting to a Local or Remote System with versioned APIs

When connecting to a Local System or Remote System, the user must select the controller on the LAN or WAN to connect to. The Connect to Project (formerly, the Directors) screen presents a list of controllers to choose from, along with their IP addresses and OS version numbers. 

In prior releases, if the user selected a controller with an incompatible version, Composer would alert the user and then open the project in a read-only “compatibility mode.” 

With Composer Pro 3.1, the following changes have been made to the way the Connect To Project selection screen works:

  1. If the major component of the OS version number (for example, the ‘3’ in version number ‘3.1.0’) of the controller matches that of Composer Pro:
  • If the minor and revision components of the version number also match that of the Drivers and Agents installed on the PC, Composer Pro will display “Ready to connect” in the Status column for the controller, and a single action button labeled “Connect”: 

A screenshot of a cell phone

Description automatically generated

 

  • If the minor and revision components of the version number DO NOT match that of the Drivers and Agents installed on the PC, Composer Pro displays “Requires OS management package [version#]” in the Status column, and a single action button labeled “Install and Connect”.  If the PC is connected to the internet, Composer Pro will download and install the correct drivers before connecting to this instance of Director. If the PC is not connected to the internet, Composer Pro will use the OS management package that matches itself and connect to the project in compatibility mode.

A screenshot of a cell phone

Description automatically generated

  1. If the major component of the version number (for example, the ‘2’ in the OS version number ‘2.10.0’) of the controller DOES NOT MATCH that of Composer Pro (for example, ‘3.1.0’), Composer Pro displays “Ready to connect to view or update” in the Status column. Composer Pro displays an action button labeled “Connect”, which when clicked, connects to the project in compatibility mode. In addition,
  • If version 2.10.0 of Composer Pro is already installed on the PC, Composer Pro displays an additional action button, “Launch and Connect Composer 2.10.0”, which launches Composer 2.10.0 and connects to the project in full access mode.

A screenshot of a cell phone

Description automatically generated

 

  • If version 2.10.0 of Composer Pro is NOT installed on the PC, Composer Pro displays an additional action button, “Install and Connect Composer 2.10.0”, which downloads and installs Composer 2.10.0 before launching it and connecting to the project in full access mode.

A screenshot of a cell phone

Description automatically generated