Skip to content

OcaFilterArbitraryCurve#

This document describes the controller implementation of OcaFilterArbitraryCurve. This class is documented in the AES70 standard as:

Arbitrary-curve filter, with transfer function specified as amplitude and phase versus frequency.


Overview#

Class Declaration#

namespace aes70::controller
{
  class OcaFilterArbitraryCurve : public OcaActuator
  {
  public:
    OcaFilterArbitraryCurve(std::shared_ptr<connection> connection,
            uin32_t object_number);
    OcaFilterArbitraryCurve(const OcaFilterArbitraryCurve &o);

    // Control Methods
    // Calls GetTransferFunction and calls on_result or on_failure
    void GetTransferFunction(auto on_result, failure_callback on_failure);
    // Calls SetTransferFunction and calls on_result or on_failure
    void SetTransferFunction(OcaTransferFunction TransferFunction, auto on_result, failure_callback on_failure);
    // Calls SetTransferFunction and does not wait for the response
    void SetTransferFunction(OcaTransferFunction TransferFunction);
    // Calls GetSampleRate and calls on_result or on_failure
    void GetSampleRate(auto on_result, failure_callback on_failure);
    // Calls SetSampleRate and calls on_result or on_failure
    void SetSampleRate(OcaFrequency Rate, auto on_result, failure_callback on_failure);
    // Calls SetSampleRate and does not wait for the response
    void SetSampleRate(OcaFrequency Rate);
    // Calls GetTFMinLength and calls on_result or on_failure
    void GetTFMinLength(auto on_result, failure_callback on_failure);
    // Calls GetTFMaxLength and calls on_result or on_failure
    void GetTFMaxLength(auto on_result, failure_callback on_failure);

    // Observing Properties
    subscription observeTransferFunction(auto callback, failure_callback on_failure);
    subscription observeSampleRate(auto callback, failure_callback on_failure);
    subscription observeTFMinLength(auto callback, failure_callback on_failure);
    subscription observeTFMaxLength(auto callback, failure_callback on_failure);

    // Property Changed Subscriptions
    subscription OnTransferFunctionChanged(auto callback, failure_callback on_failure);
    subscription OnSampleRateChanged(auto callback, failure_callback on_failure);
    subscription OnTFMinLengthChanged(auto callback, failure_callback on_failure);
    subscription OnTFMaxLengthChanged(auto callback, failure_callback on_failure);
  };
}

Methods#

GetTransferFunction#

void GetTransferFunction(auto on_result, failure_callback on_failure)

Calls the method GetTransferFunction in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaTransferFunction TransferFunction
  • failure_callback on_failure: A callback which is called on error.

SetTransferFunction#

void SetTransferFunction(OcaTransferFunction TransferFunction, auto on_result, failure_callback on_failure)

Calls the method SetTransferFunction in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaTransferFunction TransferFunction
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetSampleRate#

void GetSampleRate(auto on_result, failure_callback on_failure)

Calls the method GetSampleRate in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaFrequency Rate
    • OcaFrequency minRate
    • OcaFrequency maxRate
  • failure_callback on_failure: A callback which is called on error.

SetSampleRate#

void SetSampleRate(OcaFrequency Rate, auto on_result, failure_callback on_failure)

Calls the method SetSampleRate in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaFrequency Rate
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetTFMinLength#

void GetTFMinLength(auto on_result, failure_callback on_failure)

Calls the method GetTFMinLength in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaUint16 Min
  • failure_callback on_failure: A callback which is called on error.

GetTFMaxLength#

void GetTFMaxLength(auto on_result, failure_callback on_failure)

Calls the method GetTFMaxLength in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaUint16 Max
  • failure_callback on_failure: A callback which is called on error.

observeTransferFunction#

subscription observeTransferFunction(auto callback, failure_callback on_failure)

Fetches the remote property TransferFunction and subscribes for modifications. The callback is called with the initial values of TransferFunction and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaTransferFunction TransferFunction
  • failure_callback on_failure: A callback which is called on error.

observeSampleRate#

subscription observeSampleRate(auto callback, failure_callback on_failure)

Fetches the remote property SampleRate and subscribes for modifications. The callback is called with the initial values of SampleRate and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaFrequency SampleRate
  • failure_callback on_failure: A callback which is called on error.

observeTFMinLength#

subscription observeTFMinLength(auto callback, failure_callback on_failure)

Fetches the remote property TFMinLength and subscribes for modifications. The callback is called with the initial values of TFMinLength and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaUint16 TFMinLength
  • failure_callback on_failure: A callback which is called on error.

observeTFMaxLength#

subscription observeTFMaxLength(auto callback, failure_callback on_failure)

Fetches the remote property TFMaxLength and subscribes for modifications. The callback is called with the initial values of TFMaxLength and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaUint16 TFMaxLength
  • failure_callback on_failure: A callback which is called on error.

OnTransferFunctionChanged#

subscription OnTransferFunctionChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaTransferFunction TransferFunction
  • failure_callback on_failure: A callback which is called on error.

OnSampleRateChanged#

subscription OnSampleRateChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaFrequency SampleRate
  • failure_callback on_failure: A callback which is called on error.

OnTFMinLengthChanged#

subscription OnTFMinLengthChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaUint16 TFMinLength
  • failure_callback on_failure: A callback which is called on error.

OnTFMaxLengthChanged#

subscription OnTFMaxLengthChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaUint16 TFMaxLength
  • failure_callback on_failure: A callback which is called on error.