import { IOcaDBr, OcaDBr } from '../../types/OcaDBr.js'; import { IOcaDynamicsFunction, OcaDynamicsFunction, } from '../../types/OcaDynamicsFunction.js'; import { IOcaLevelDetectionLaw, OcaLevelDetectionLaw, } from '../../types/OcaLevelDetectionLaw.js'; import { IOcaParameterMask } from '../../types/OcaParameterMask.js'; import { IOcaPresentationUnit, OcaPresentationUnit, } from '../../types/OcaPresentationUnit.js'; import { Arguments } from '../arguments.js'; import { PropertyEvent } from '../property_event.js'; import { RemoteDevice } from '../remote_device.js'; import { OcaActuator } from './OcaActuator.js'; /** * Multipurpose dynamics processor. Can be configured as compressor, limiter, * expander, or gate. This class is designed 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; /** * This event is emitted whenever DynamicGain changes. */ OnDynamicGainChanged: PropertyEvent; /** * This event is emitted whenever Function changes. */ OnFunctionChanged: PropertyEvent; /** * This event is emitted whenever Ratio changes. */ OnRatioChanged: PropertyEvent; /** * This event is emitted whenever Threshold changes. */ OnThresholdChanged: PropertyEvent; /** * This event is emitted whenever ThresholdPresentationUnits changes. */ OnThresholdPresentationUnitsChanged: PropertyEvent; /** * This event is emitted whenever DetectorLaw changes. */ OnDetectorLawChanged: PropertyEvent; /** * This event is emitted whenever AttackTime changes. */ OnAttackTimeChanged: PropertyEvent; /** * This event is emitted whenever ReleaseTime changes. */ OnReleaseTimeChanged: PropertyEvent; /** * This event is emitted whenever HoldTime changes. */ OnHoldTimeChanged: PropertyEvent; /** * This event is emitted whenever DynamicGainCeiling changes. */ OnDynamicGainCeilingChanged: PropertyEvent; /** * This event is emitted whenever DynamicGainFloor changes. */ OnDynamicGainFloorChanged: PropertyEvent; /** * This event is emitted whenever KneeParameter changes. */ OnKneeParameterChanged: PropertyEvent; /** * This event is emitted whenever Slope changes. */ OnSlopeChanged: PropertyEvent; constructor(objectNumber: number, device: RemoteDevice); /** * Gets the value of the **Triggered** property. * * @method OcaDynamics#GetTriggered * @returns {Promise} * A promise which resolves to a single value of type ``boolean``. */ GetTriggered(): Promise; /** * Gets the value of the **DynamicGain** property. * * @method OcaDynamics#GetDynamicGain * @returns {Promise} * A promise which resolves to a single value of type ``number``. */ GetDynamicGain(): Promise; /** * Sets the value of the **Function** property. * * @method OcaDynamics#GetFunction * @returns {Promise} * A promise which resolves to a single value of type :class:`OcaDynamicsFunction`. */ GetFunction(): Promise; /** * Sets the value of the **Function** property. * * @method OcaDynamics#SetFunction * @param {IOcaDynamicsFunction} Func * * @returns {Promise} */ SetFunction(Func: IOcaDynamicsFunction): Promise; /** * Gets the value and limits of the **Ratio** property. 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>} */ GetRatio(): Promise>; /** * Sets the value of the **Ratio** property. DEPRECATED method, please use * **SetSlope()** instead. * * @method OcaDynamics#SetRatio * @param {number} Ratio * * @returns {Promise} */ SetRatio(Ratio: number): Promise; /** * Gets the value and limits of the **Threshold** property. * The return values of this method are * * - Threshold of type ``IOcaDBr`` * - minThreshold of type ``number`` * - maxThreshold of type ``number`` * * @method OcaDynamics#GetThreshold * @returns {Promise>} */ GetThreshold(): Promise>; /** * Sets the value of the **Threshold** property. * * @method OcaDynamics#SetThreshold * @param {IOcaDBr} threshold * * @returns {Promise} */ SetThreshold(threshold: IOcaDBr): Promise; /** * Gets the value of the **ThresholdPresentationUnits** property. * * @method OcaDynamics#GetThresholdPresentationUnits * @returns {Promise} * A promise which resolves to a single value of type :class:`OcaPresentationUnit`. */ GetThresholdPresentationUnits(): Promise; /** * Sets the value of the **ThresholdPresentationUnits** property. * * @method OcaDynamics#SetThresholdPresentationUnits * @param {IOcaPresentationUnit} Units * * @returns {Promise} */ SetThresholdPresentationUnits(Units: IOcaPresentationUnit): Promise; /** * Sets the value of the **DetectorLaw** property. * * @method OcaDynamics#GetDetectorLaw * @returns {Promise} * A promise which resolves to a single value of type :class:`OcaLevelDetectionLaw`. */ GetDetectorLaw(): Promise; /** * Sets the value of the **DetectorLaw** property. * * @method OcaDynamics#SetDetectorLaw * @param {IOcaLevelDetectionLaw} Law * * @returns {Promise} */ SetDetectorLaw(Law: IOcaLevelDetectionLaw): Promise; /** * Gets the value and limits of the **AttackTime** property. * The return values of this method are * * - Time of type ``number`` * - minTime of type ``number`` * - maxTime of type ``number`` * * @method OcaDynamics#GetAttackTime * @returns {Promise>} */ GetAttackTime(): Promise>; /** * Sets the value of the **AttackTime** property. * * @method OcaDynamics#SetAttackTime * @param {number} Time * * @returns {Promise} */ SetAttackTime(Time: number): Promise; /** * Gets the value and limits of the **ReleaseTime** property. * The return values of this method are * * - Time of type ``number`` * - minTime of type ``number`` * - maxTime of type ``number`` * * @method OcaDynamics#GetReleaseTime * @returns {Promise>} */ GetReleaseTime(): Promise>; /** * Sets the value of the **ReleaseTime** property. * * @method OcaDynamics#SetReleaseTime * @param {number} Time * * @returns {Promise} */ SetReleaseTime(Time: number): Promise; /** * Gets the value and limits of the **HoldTime** property. * The return values of this method are * * - Time of type ``number`` * - minTime of type ``number`` * - maxTime of type ``number`` * * @method OcaDynamics#GetHoldTime * @returns {Promise>} */ GetHoldTime(): Promise>; /** * Sets the value of the **HoldTime** property. * * @method OcaDynamics#SetHoldTime * @param {number} Time * * @returns {Promise} */ SetHoldTime(Time: number): Promise; /** * Gets the value and limits of the **DynamicGainFloor** property. * The return values of this method are * * - Limit of type ``number`` * - minLimit of type ``number`` * - maxLimit of type ``number`` * * @method OcaDynamics#GetDynamicGainFloor * @returns {Promise>} */ GetDynamicGainFloor(): Promise>; /** * Sets the value of the **DynamicGainFloor** property. * * @method OcaDynamics#SetDynamicGainFloor * @param {number} Limit * * @returns {Promise} */ SetDynamicGainFloor(Limit: number): Promise; /** * Gets the value and limits of the **DynamicGainCeiling** property. * The return values of this method are * * - Limit of type ``number`` * - minLimit of type ``number`` * - maxLimit of type ``number`` * * @method OcaDynamics#GetDynamicGainCeiling * @returns {Promise>} */ GetDynamicGainCeiling(): Promise>; /** * Value to which the DynamicGainCeiling property shall be set if the method * succeeds * * @method OcaDynamics#SetDynamicGainCeiling * @param {number} Limit * * @returns {Promise} */ SetDynamicGainCeiling(Limit: number): Promise; /** * Gets the value and limits of the **KneeParameter** property. * The return values of this method are * * - Parameter of type ``number`` * - minParameter of type ``number`` * - maxParameter of type ``number`` * * @method OcaDynamics#GetKneeParameter * @returns {Promise>} */ GetKneeParameter(): Promise>; /** * Sets the value of the **KneeParameter** property. * * @method OcaDynamics#SetKneeParameter * @param {number} Parameter * * @returns {Promise} */ SetKneeParameter(Parameter: number): Promise; /** * Gets the value and limits of the **Slope** property. * The return values of this method are * * - Slope of type ``number`` * - minSlope of type ``number`` * - maxSlope of type ``number`` * * @method OcaDynamics#GetSlope * @returns {Promise>} */ GetSlope(): Promise>; /** * Sets the value of the **Slope** property. * * @method OcaDynamics#SetSlope * @param {number} Slope * * @returns {Promise} */ SetSlope(Slope: number): Promise; /** * Sets some or all dynamics parameters. The action of this method shall be * atomic - if any of the value changes fails, **none** of the changes shall * be 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} KneeParameter * @param {number} Slope * * @returns {Promise} */ SetMultiple( Mask: IOcaParameterMask, Function: IOcaDynamicsFunction, Threshold: IOcaDBr, ThresholdPresentationUnits: IOcaPresentationUnit, DetectorLaw: IOcaLevelDetectionLaw, AttackTime: number, ReleaseTime: number, HoldTime: number, DynamicGainCeiling: number, DynamicGainFloor: number, KneeParameter: number, Slope: number ): Promise; }