Technical information

The RMS Enterprise SDK (v4)
26
RMS Enterprise - NetLinx Programmer’s Guide
// add all assets to tracked for source usage
// using the mutually exclusive assignment method means that
// only a single mutually exclusive source can be active at
// any given time. If a source asset is activated, then all
// other sources configured as mutually exclusive will
// be automatically deactivated.
// set of sources.
RmsSourceUsageAssignAssetMutExcl(1, dvDSS);
RmsSourceUsageAssignAssetMutExcl(2, dvDVR);
RmsSourceUsageAssignAssetMutExcl(3, dvDiscDevice);
RmsSourceUsageAssignAssetMutExcl(4, dvDocCamera);
Now that all the tracked sources are registered with the RmsSourceUsageMonitor module, the NetLinx programmer must
implement the tracking code to tell the RmsSourceUsageMonitor module when sources are activated (and possibly de-activated).
The RmsSourceUsageMonitor module and RmsSourceUsage include files are provided as a full open source NetLinx code in the
RMS SDK. Sample source files are included in the RMS SDK that provide a complete source usage integration example. For more
detailed programming information, see Tracking Source Usage on page 112.
RmsSourceUsage.axi - Wrapper Functions
The "RmsSourceUsage.axi" Include File contains the following set of wrapper functions to make tracking source usage as simple
as possible:
RmsSourceUsage.axi - Wrapper Functions
RmsSourceUsageReset Description: This function is used to deactivate and reset all source selected asset tracking. Call this method anytime a
condition exists where are selected sources should be de-selected and no active sources apply.
This reset will also reset any currently pending cached source usage.
This function is typically only used on program startup.
Arguments:
none
Syntax:
DEFINE_FUNCTION RmsSourceUsageReset()
{
// to reset the selected source and all cached source usage
SEND_COMMAND vdvRMSSourceUsage, 'SOURCE.RESET';
}
RmsSourceUsage
AssignAsset
Description: This function is used to assign a RMS asset to be monitored for non-mutually exclusive source usage tracking.
This method should be called on startup to assign each source based asset to an index for source usage monitoring.
Non-mutually exclusive source usage tracking allows any combination of sources to be active concurrently at any given
time. When using non-mutually exclusive source tracking, you the implementation programmer are 100% responsible for
coordinating the 'Activated' 'Deactivated' states for each source index in the source usage tracking monitor.
Non-mutually exclusive source usage tracking is provided to allow you to handle complex or more sophisticated setups
where perhaps more than one source can be active at the same time such as cases with split or quad screen setups or in
cases where there are multiple display outputs devices that can accept a variety of difference selected sources.
Note: If you combine both mutually exclusive and non-mutually exclusive source usage registrations, then be aware that
you cannot reuse index number. Each source usage asset but be assigned exclusively to a single index number.
Arguments:
index - source index position for source device
sourceDevice - device to use as a source device
Syntax:
DEFINE_FUNCTION RmsSourceUsageAssignAsset(INTEGER index, DEV sourceDevice)
{
STACK_VAR CHAR commandString[RMS_MAX_CMD_LEN];
commandString = RmsPackCmdHeader('SOURCE.ASSIGN');
commandString = RmsPackCmdParam(commandString,ITOA(index));
commandString = RmsPackCmdParam(commandString,RmsDevToString
(sourceDevice));
SEND_COMMAND vdvRMSSourceUsage, commandString;
}