Rane NM 84 User Manual

Page 13

Advertising
background image

Manual-13

Software and Applications

ActiveX and Software issues

Microsoft ActiveX controls (defined in the next section)

are of concern to the pro audio community. This technology

allows designers of computer-controlled sound systems to

create common front-end software control panels that operate

different manufacturers’ units, without having to know

anything about their internal code or algorithms. This is

powerful. When more manufacturers jump on the ActiveX

bandwagon, systems designers will no longer be limited by

the products offered by a single, platform-specific (i.e., closed

architecture) manufacturer.

What is ActiveX anyway?

ActiveX is a Microsoft-developed software technology

released in 1996. ActiveX, formerly called OLE (Object

Linking and Embedding), is loosely based on the Component

Object Model (COM), but provides substantially different

services to developers. At this point, you might think:

WHAT!?^* But keep reading! An ActiveX control is a unit of

executable code (such as an .EXE file) that follows the

ActiveX specification for providing software objects. This

technology allows programmers to assemble reusable software

controls into applications and services. However, software

development using ActiveX technology should not be

confused with Object-Oriented Programming (OOP). OOP is

concerned with creating objects, while ActiveX is concerned

with making objects work together. Simply stated, ActiveX is

a technology that lets a program (the ActiveX control) interact

with other programs over a network (e.g., the Internet or

Ethernet), regardless of the language in which they were

written. ActiveX controls can do similar things as Java, but

they are quite different. Java is a programming language,

while ActiveX controls can be written in any language (e.g.,

Visual Basic, C, C++, even Java). Also, ActiveX runs in a

variety of applications, while Java and Javascript usually run

only in Web browsers. ActiveX controls can be used in web

pages and within visual programming languages such as

Borland’s Delphi, Sybase’s PowerBuilder, Microsoft’s Visual

Basic and even in tools such as Adobe’s GoLive,

Macromedia’s DreamWeaver and National Instrument’s

LabVIEW.

In English, for our pro audio applications, ActiveX control

objects are the sliders, buttons, indicators and other graphical

screen entities. The objects have properties such as slider

position and slider range and on or off for buttons and

indicators, etc. Once the screen objects are chosen and placed,

further ActiveX controls can then be used to link the object’s

properties to other ActiveX controls. Thus, allowing linking

an ActiveX slider to the ActiveX control for a device’s level

control. Then moving the level control graphic slider subse-

quently varies the audio level and vice versa.

Each ActiveX control is made up of Properties and Events.

ActiveX control Properties are values associated with the

control, which might include such things as level settings,

mute condition and meter readings. ActiveX control Events

tell the computer something significant has happened, such as

a switch closure, button press or clip detection.

ActiveX allows the manufacturer to create an object (a

piece of software code) which fully describes a device, while

hiding the implementation details such as protocol from the

programmer. By hiding the communication details, there is no

longer a need for different manufacturers’ to agree on proto-

col. This lack of a protocol standard means that cooperation

between manufacturers is not required. It allows each manu-

facturer to choose the best protocol for their devices.

For example, no longer would you need to know that the

17th byte of a 32-byte status message meant that the unit’s

second output channel was muted. With an ActiveX control,

you might simply refer to the device’s output 2 mute status as

“Device1.Out2Mute”. See the RaneNote “Emerging Standards

for Networked Audio System Control” and “Controlling

Audio Systems with ActiveX Controls over CobraNet and

other Ethernet-based Networks,” both downloadable from the

Rane website Library.

Implementing ActiveX controls

An example might help clear this up. A few assumptions

are that a computer is used to control an audio system over an

Ethernet network and that something on the computer’s screen

controls some function of the system. The basic idea is to

place controls on the computer screen and link them, using

ActiveX, to a parameter in the system. What’s important here

is that only the controls required by the computer’s end user

need be displayed. Additionally, more detailed interfaces

(hidden or password-protected web pages) can then be created

to provide any level of system parameter access desirable—

from complete system control, to a lone system power button

or anything in-between. No longer are systems limited to the

number of security levels provided by vendor’s software, nor

are you limited to controlling a single system parameter per

screen control. For example, you can link multiple ActiveX

controls to a single screen object, thus adjusting EQ level

simultaneously with master level control and limiter threshold.

You can also program actions when certain events occur, such

as triggering audio playback or turning a system off at a

certain time or adjusting delay time as the temperature

changes.

You can control different parameters inside the same

device from different computers on the network as well as

controlling the same parameter from multiple computers. This

is one of the major advantages of networks – multiple control

locations will automatically be updated when changes are

made by any control location.

Microsoft FrontPage 2000 ActiveX Example

Many use Microsoft’s FrontPage 2000 to create user

interface web pages for computer-controlled systems. These

web pages may or may not be accessible over the Internet.

Once you master the ActiveX concept, using FrontPage with

ActiveX provides literally an infinite number of programming

possibilities. More information about the NM 84’s ActiveX

controls and the ActiveX controls for Rane’s RW 232 devices

is found in the sections on the next page.

Advertising