alsa-project / snd-firewire-ctl-services

A set of server programs for audio and music units on IEEE 1394 bus supported by Linux sound subsystem a.k.a. ALSA.
GNU General Public License v3.0
35 stars 5 forks source link

[PATCH 00/12] protocols/tascam: add traits to cache and update parameters #158

Closed takaswie closed 1 year ago

takaswie commented 1 year ago

Current implementation has ad-hoc implementations for control operations, while it is not necessarily convenient in a point of code maintenance, especially for the case that the device includes out-of-specification behaviour.

This patchset introduces a trait to express hardware specification, then implements the trait for each model. Some trait is added for cache and update operation for hardware parameters, and they are implemented for operations.

Takashi Sakamoto (12):
  runtime/tascam: add model-level cache function splitted from load
    function
  protocols/tascam: add traits to cache and update parameters for isoch
    models
  protocols/tascam: implement traits to cache and update parameters of
    sampling and media clocks
  protocols/tascam: implement traits to cache and update parameters of
    input signal detection
  protocols/tascam: implement traits to cache and update parameters of
    coaxial output interface
  protocols/tascam: implement traits to cache and update parameters of
    optical interfaces
  protocols/tascam: implement traits to update parameters of rack inputs
  protocols/tascam: implement traits to cache and update parameters
    specific to FW-1884
  protocols/tascam: add trait to express specification of hardware image
  protocols/tascam: add trait to parse image of hardware state
  protocols/tascam: implement traits to parse image for meter parameters
  protocols/tascam: implement traits to cache and update parameters of
    console

 protocols/tascam/src/asynch.rs              |   2 +
 protocols/tascam/src/asynch/fe8.rs          |   4 +
 protocols/tascam/src/isoch.rs               | 869 ++++++++++++--------
 protocols/tascam/src/isoch/fw1082.rs        |  20 +-
 protocols/tascam/src/isoch/fw1804.rs        |  26 +-
 protocols/tascam/src/isoch/fw1884.rs        |  47 +-
 protocols/tascam/src/lib.rs                 |   9 +
 runtime/tascam/src/fe8_model.rs             |   2 +-
 runtime/tascam/src/fw1082_model.rs          |  39 +-
 runtime/tascam/src/fw1804_model.rs          |  40 +-
 runtime/tascam/src/fw1884_model.rs          |  68 +-
 runtime/tascam/src/isoch_console_runtime.rs |  27 +-
 runtime/tascam/src/isoch_ctls.rs            | 214 +++--
 runtime/tascam/src/isoch_rack_runtime.rs    |  24 +-
 14 files changed, 785 insertions(+), 606 deletions(-)
takaswie commented 1 year ago

Merged.