Contents

Using the DHRC2 Module
Hooking up the DHRC2A and the Module Validator
 

Next
 

The DHRC2A module

A SynthEdit VST plugin, like most VST plugins today, is divided internally into 2 parts: the DSP side that processes the audio, and the GUI side that interacts with the user. Communication between the 2 sides is through the VST host. The DH Registration Control System, not having much to do with the actual audio processing, and needing to interact with the user through a dialog, operates mostly on the GUI side. That's why most of the pins on the DHRC2 are on a blue background. This is a good arrangement most of the time.

In most cases, we want to use the registration system's results to control some aspect of audio processing, such as shutting off the volume if the product isn't registered and the demo period has expired. Usually, this is no problem. In a few host programs, however, the GUI side gets shut down, or its communication with the DSP side is suspended when certain tasks, such as rendering a song to audio, are performed. In such cases, if we have things set up so that the audio side of the VST won't play unless it gets a positive response from the registration control system on the GUI side, we've got a problem.

The DHRC2A module provides a backup to cover for this type of situation. It runs entirely on the DSP side, at startup, and checks the Registry to see if the VST is registered or in demo status. If so it sets the corresponding pin to a positive value, indicating True. Otherwise, the pins are set to 0 for False.


You need to fill in the Product ID and Demo Days fields to enable the DHRC2A module to check for valid registration or demo information in the Registry. This is identical to the information you enter into the Properties of the DHRC2 module for these 2 fields.

The information from the output pins should be used together with the information from the DHRC2's "Registered?" and "In Demo Period?" outputs, in a logical OR relationship, i.e., if an output is True for either module or both, take that as True. See the diagram in the next section for an example.

 

The DHRC2.1.2 Validator Prefab

The DHRC2.1.2 Validator prefab helps to make it more difficult to bypass the system. The Validator prefab compares its own response to a randomly generated voltage to the responses from the DHRC2 and DHRC2A modules to the same random voltage, and outputs 10 volts if they match, 0 volts if they do not. The correct response to any given voltage also depends on a Product Key# that is derived from your product's Product ID, so that it will be unique to your product.

The DHRC2.1.2 Validator's output lets you know if the DHRC2 and DHRC2A modules are present and working, and should be used together with the "Registered?" and "In Demo Period?" outputs to control access to your product. If you combine the outputs with an AND Gate, as shown below, the gate will only be positive if all conditions are met.

You can set it up in a few simple steps:

  1. Insert a Random Voltage module (Insert > Special), and connect it to the "Random Voltage In" inputs of both the DHRC2 and the DHRC2A. The "Trigger in" property should be set to the On position.
     
  2. Insert a DHRC2.1.2 Validator prefab (Insert > Special), and connect as show above.
     
  3. After you have assigned your product a Product ID, and entered it into the DHRC2 module's Product ID property, check the DHRC2's Float type Product Key# output (with SE's audio running). A FloatViewer prefab is a handy way to obtain this. Then right-click on the DHRC2.1.2 Validator container, and copy and paste the Product Key# there.

Once you have copied the Product Key#, you should delete the FloatViewer.

 

Next