Skip to content

OcaFilterPolynomial#

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

Generic Z-domain rational polynomial filter section with transfer function expression of the form:

A(0) + A(1)z + A(2)z^2 + A(3)z^3 + ...
B(0) + B(1)z + B(2)z^2 + B(3)z^3 + ...

Overview#

Class Declaration#

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

    // Control Methods
    // Calls GetCoefficients and calls on_result or on_failure
    void GetCoefficients(auto on_result, failure_callback on_failure);
    // Calls SetCoefficients and calls on_result or on_failure
    void SetCoefficients(OcaList<OcaFloat32> A, OcaList<OcaFloat32> B, auto on_result, failure_callback on_failure);
    // Calls SetCoefficients and does not wait for the response
    void SetCoefficients(OcaList<OcaFloat32> A, OcaList<OcaFloat32> B);
    // 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 GetMaxOrder and calls on_result or on_failure
    void GetMaxOrder(auto on_result, failure_callback on_failure);

    // Observing Properties
    subscription observeA(auto callback, failure_callback on_failure);
    subscription observeB(auto callback, failure_callback on_failure);
    subscription observeSampleRate(auto callback, failure_callback on_failure);

    // Property Changed Subscriptions
    subscription OnAChanged(auto callback, failure_callback on_failure);
    subscription OnBChanged(auto callback, failure_callback on_failure);
    subscription OnSampleRateChanged(auto callback, failure_callback on_failure);
  };
}

Methods#

GetCoefficients#

void GetCoefficients(auto on_result, failure_callback on_failure)

Calls the method GetCoefficients in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaList<OcaFloat32> A
    • OcaList<OcaFloat32> B
  • failure_callback on_failure: A callback which is called on error.

SetCoefficients#

void SetCoefficients(OcaList<OcaFloat32> A, OcaList<OcaFloat32> B, auto on_result, failure_callback on_failure)

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

Parameters:#

  • OcaList<OcaFloat32> A
  • OcaList<OcaFloat32> B
  • 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.

GetMaxOrder#

void GetMaxOrder(auto on_result, failure_callback on_failure)

Calls the method GetMaxOrder in the remote device.

Parameters:#

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

observeA#

subscription observeA(auto callback, failure_callback on_failure)

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

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaList<OcaFloat32> A
  • failure_callback on_failure: A callback which is called on error.

observeB#

subscription observeB(auto callback, failure_callback on_failure)

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

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaList<OcaFloat32> B
  • 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.

OnAChanged#

subscription OnAChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaList<OcaFloat32> A
  • failure_callback on_failure: A callback which is called on error.

OnBChanged#

subscription OnBChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaList<OcaFloat32> B
  • 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.