aes70
Version:
A controller library for the AES70 protocol.
448 lines (405 loc) • 13.6 kB
TypeScript
import { IOcaDBr, OcaDBr } from '../../types/OcaDBr';
import {
IOcaDynamicsFunction,
OcaDynamicsFunction,
} from '../../types/OcaDynamicsFunction';
import {
IOcaLevelDetectionLaw,
OcaLevelDetectionLaw,
} from '../../types/OcaLevelDetectionLaw';
import { IOcaParameterMask } from '../../types/OcaParameterMask';
import {
IOcaPresentationUnit,
OcaPresentationUnit,
} from '../../types/OcaPresentationUnit';
import { Arguments } from '../arguments';
import { PropertyEvent } from '../property_event';
import { RemoteDevice } from '../remote_device';
import { OcaActuator } from './OcaActuator';
/**
* A multipurpose dynamics processor. Can be configured as compressor, limiter,
* expander, or gate. This class is expected to handle the majority of the basic
* cases. More complex devices may be described in a different manner, using one
* or more **OcaDynamicsDetector** and **OcaDynamicsCurve** objects, in
* conjunction with other Worker objects as needed.
* @extends OcaActuator
* @class OcaDynamics
*/
export declare class OcaDynamics extends OcaActuator {
/**
* This event is emitted whenever Triggered changes.
*/
OnTriggeredChanged: PropertyEvent<boolean>;
/**
* This event is emitted whenever DynamicGain changes.
*/
OnDynamicGainChanged: PropertyEvent<number>;
/**
* This event is emitted whenever Function changes.
*/
OnFunctionChanged: PropertyEvent<OcaDynamicsFunction>;
/**
* This event is emitted whenever Ratio changes.
*/
OnRatioChanged: PropertyEvent<number>;
/**
* This event is emitted whenever Threshold changes.
*/
OnThresholdChanged: PropertyEvent<OcaDBr>;
/**
* This event is emitted whenever ThresholdPresentationUnits changes.
*/
OnThresholdPresentationUnitsChanged: PropertyEvent<OcaPresentationUnit>;
/**
* This event is emitted whenever DetectorLaw changes.
*/
OnDetectorLawChanged: PropertyEvent<OcaLevelDetectionLaw>;
/**
* This event is emitted whenever AttackTime changes.
*/
OnAttackTimeChanged: PropertyEvent<number>;
/**
* This event is emitted whenever ReleaseTime changes.
*/
OnReleaseTimeChanged: PropertyEvent<number>;
/**
* This event is emitted whenever HoldTime changes.
*/
OnHoldTimeChanged: PropertyEvent<number>;
/**
* This event is emitted whenever DynamicGainCeiling changes.
*/
OnDynamicGainCeilingChanged: PropertyEvent<number>;
/**
* This event is emitted whenever DynamicGainFloor changes.
*/
OnDynamicGainFloorChanged: PropertyEvent<number>;
/**
* This event is emitted whenever KneeParameter changes.
*/
OnKneeParameterChanged: PropertyEvent<number>;
/**
* This event is emitted whenever Slope changes.
*/
OnSlopeChanged: PropertyEvent<number>;
constructor(objectNumber: number, device: RemoteDevice);
/**
* Gets the value of the Triggered property. The return value indicates
* whether the property was successfully retrieved.
*
* @method OcaDynamics#GetTriggered
* @returns {Promise<boolean>}
* A promise which resolves to a single value of type ``boolean``.
*/
GetTriggered(): Promise<boolean>;
/**
* Gets the value of the DynamicGain property. The return value indicates
* whether the property was successfully retrieved.
*
* @method OcaDynamics#GetDynamicGain
* @returns {Promise<number>}
* A promise which resolves to a single value of type ``number``.
*/
GetDynamicGain(): Promise<number>;
/**
* Sets the value of the Function property. The return value indicates whether
* the property was successfully retrieved.
*
* @method OcaDynamics#GetFunction
* @returns {Promise<OcaDynamicsFunction>}
* A promise which resolves to a single value of type :class:`OcaDynamicsFunction`.
*/
GetFunction(): Promise<OcaDynamicsFunction>;
/**
* Sets the value of the Function property. The return value indicates whether
* the property was successfully set.
*
* @method OcaDynamics#SetFunction
* @param {IOcaDynamicsFunction} Func
*
* @returns {Promise<void>}
*/
SetFunction(Func: IOcaDynamicsFunction): Promise<void>;
/**
* Gets the value of the Ratio property. The return value indicates whether
* the property was successfully retrieved. GetRatio() is a DEPRECATED method.
* Please use **GetSlope()** instead.
* The return values of this method are
*
* - Ratio of type ``number``
* - minRatio of type ``number``
* - maxRatio of type ``number``
*
* @method OcaDynamics#GetRatio
* @returns {Promise<Arguments<number,number,number>>}
*/
GetRatio(): Promise<Arguments<[number, number, number]>>;
/**
* Sets the value of the Ratio property. The return value indicates whether
* the property was successfully set. SetRatio() is a DEPRECATED method.
* Please use **SetSlope()** instead.
*
* @method OcaDynamics#SetRatio
* @param {number} Ratio
*
* @returns {Promise<void>}
*/
SetRatio(Ratio: number): Promise<void>;
/**
* Gets the value of the Threshold property. The return value indicates if the
* value was successfully retrieved.
* The return values of this method are
*
* - Threshold of type ``IOcaDBr``
* - minThreshold of type ``number``
* - maxThreshold of type ``number``
*
* @method OcaDynamics#GetThreshold
* @returns {Promise<Arguments<OcaDBr,number,number>>}
*/
GetThreshold(): Promise<Arguments<[OcaDBr, number, number]>>;
/**
* Sets the value of the Threshold property. The return value indicates if the
* value was successfully set.
*
* @method OcaDynamics#SetThreshold
* @param {IOcaDBr} threshold
*
* @returns {Promise<void>}
*/
SetThreshold(threshold: IOcaDBr): Promise<void>;
/**
* Gets the value of the ThresholdPresentationUnits property. The return value
* indicates if the value was successfully retrieved.
*
* @method OcaDynamics#GetThresholdPresentationUnits
* @returns {Promise<OcaPresentationUnit>}
* A promise which resolves to a single value of type :class:`OcaPresentationUnit`.
*/
GetThresholdPresentationUnits(): Promise<OcaPresentationUnit>;
/**
* Sets the value of the ThresholdPresentationUnits property. The return value
* indicates if the value was successfully set.
*
* @method OcaDynamics#SetThresholdPresentationUnits
* @param {IOcaPresentationUnit} Units
*
* @returns {Promise<void>}
*/
SetThresholdPresentationUnits(Units: IOcaPresentationUnit): Promise<void>;
/**
* Sets the value of the DetectorLaw property. The return value indicates if
* the value was successfully set.
*
* @method OcaDynamics#GetDetectorLaw
* @returns {Promise<OcaLevelDetectionLaw>}
* A promise which resolves to a single value of type :class:`OcaLevelDetectionLaw`.
*/
GetDetectorLaw(): Promise<OcaLevelDetectionLaw>;
/**
* Sets the value of the DetectorLaw property. The return value indicates if
* the value was successfully set.
*
* @method OcaDynamics#SetDetectorLaw
* @param {IOcaLevelDetectionLaw} Law
*
* @returns {Promise<void>}
*/
SetDetectorLaw(Law: IOcaLevelDetectionLaw): Promise<void>;
/**
* Gets the value of the AttackTime property. The return value indicates if
* the value was successfully retrieved.
* The return values of this method are
*
* - Time of type ``number``
* - minTime of type ``number``
* - maxTime of type ``number``
*
* @method OcaDynamics#GetAttackTime
* @returns {Promise<Arguments<number,number,number>>}
*/
GetAttackTime(): Promise<Arguments<[number, number, number]>>;
/**
* Sets the value of the AttackTime property. The return value indicates if
* the value was successfully set.
*
* @method OcaDynamics#SetAttackTime
* @param {number} Time
*
* @returns {Promise<void>}
*/
SetAttackTime(Time: number): Promise<void>;
/**
* Gets the value of the ReleaseTime property. The return value indicates if
* the value was successfully retrieved.
* The return values of this method are
*
* - Time of type ``number``
* - minTime of type ``number``
* - maxTime of type ``number``
*
* @method OcaDynamics#GetReleaseTime
* @returns {Promise<Arguments<number,number,number>>}
*/
GetReleaseTime(): Promise<Arguments<[number, number, number]>>;
/**
* Sets the value of the ReleaseTime property. The return value indicates if
* the value was successfully set.
*
* @method OcaDynamics#SetReleaseTime
* @param {number} Time
*
* @returns {Promise<void>}
*/
SetReleaseTime(Time: number): Promise<void>;
/**
* Gets the value of the HoldTime property. The return value indicates if the
* value was successfully retrieved.
* The return values of this method are
*
* - Time of type ``number``
* - minTime of type ``number``
* - maxTime of type ``number``
*
* @method OcaDynamics#GetHoldTime
* @returns {Promise<Arguments<number,number,number>>}
*/
GetHoldTime(): Promise<Arguments<[number, number, number]>>;
/**
* Sets the value of the HoldTime property. The return value indicates if the
* value was successfully set.
*
* @method OcaDynamics#SetHoldTime
* @param {number} Time
*
* @returns {Promise<void>}
*/
SetHoldTime(Time: number): Promise<void>;
/**
* Gets the value of the DynamicGainFLoor property. The return value indicates
* if the value was successfully retrieved.
* The return values of this method are
*
* - Limit of type ``number``
* - minLimit of type ``number``
* - maxLimit of type ``number``
*
* @method OcaDynamics#GetDynamicGainFloor
* @returns {Promise<Arguments<number,number,number>>}
*/
GetDynamicGainFloor(): Promise<Arguments<[number, number, number]>>;
/**
* Sets the value of the DynamicGainFloor property. The return value indicates
* if the value was successfully set.
*
* @method OcaDynamics#SetDynamicGainFloor
* @param {number} Limit
*
* @returns {Promise<void>}
*/
SetDynamicGainFloor(Limit: number): Promise<void>;
/**
* Gets the value of the DynamicGainCeiling property. The return value
* indicates if the value was successfully retrieved.
* The return values of this method are
*
* - Limit of type ``number``
* - minLimit of type ``number``
* - maxLimit of type ``number``
*
* @method OcaDynamics#GetDynamicGainCeiling
* @returns {Promise<Arguments<number,number,number>>}
*/
GetDynamicGainCeiling(): Promise<Arguments<[number, number, number]>>;
/**
* Sets the value of the DynamicGainCeiling property. The return value
* indicates if the value was successfully set.
*
* @method OcaDynamics#SetDynamicGainCeiling
* @param {number} Limit
*
* @returns {Promise<void>}
*/
SetDynamicGainCeiling(Limit: number): Promise<void>;
/**
* Gets the value of the KneeParameter property. The return value indicates if
* the value was successfully retrieved.
* The return values of this method are
*
* - Parameter of type ``number``
* - minParameter of type ``number``
* - maxParameter of type ``number``
*
* @method OcaDynamics#GetKneeParameter
* @returns {Promise<Arguments<number,number,number>>}
*/
GetKneeParameter(): Promise<Arguments<[number, number, number]>>;
/**
* Sets the value of the KneeParameter property. The return value indicates if
* the value was successfully set.
*
* @method OcaDynamics#SetKneeParameter
* @param {number} Parameter
*
* @returns {Promise<void>}
*/
SetKneeParameter(Parameter: number): Promise<void>;
/**
* Gets the value of the Slope property. The return value indicates whether
* the property was successfully retrieved.
* The return values of this method are
*
* - Slope of type ``number``
* - minSlope of type ``number``
* - maxSlope of type ``number``
*
* @method OcaDynamics#GetSlope
* @returns {Promise<Arguments<number,number,number>>}
*/
GetSlope(): Promise<Arguments<[number, number, number]>>;
/**
* Sets the value of the Slope property. The return value indicates whether
* the property was successfully set.
*
* @method OcaDynamics#SetSlope
* @param {number} Slope
*
* @returns {Promise<void>}
*/
SetSlope(Slope: number): Promise<void>;
/**
* Sets some or all dynamics parameters. The return value indicates if the
* parameters were successfully set. The action of this method is atomic - if
* any of the value changes fails, none of the changes are made.
*
* @method OcaDynamics#SetMultiple
* @param {IOcaParameterMask} Mask
* @param {IOcaDynamicsFunction} Function
* @param {IOcaDBr} Threshold
* @param {IOcaPresentationUnit} ThresholdPresentationUnits
* @param {IOcaLevelDetectionLaw} DetectorLaw
* @param {number} AttackTime
* @param {number} ReleaseTime
* @param {number} HoldTime
* @param {number} DynamicGainCeiling
* @param {number} DynamicGainFloor
* @param {number} Slope
* @param {number} KneeParameter
*
* @returns {Promise<void>}
*/
SetMultiple(
Mask: IOcaParameterMask,
Function: IOcaDynamicsFunction,
Threshold: IOcaDBr,
ThresholdPresentationUnits: IOcaPresentationUnit,
DetectorLaw: IOcaLevelDetectionLaw,
AttackTime: number,
ReleaseTime: number,
HoldTime: number,
DynamicGainCeiling: number,
DynamicGainFloor: number,
Slope: number,
KneeParameter: number
): Promise<void>;
}