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/24] protocols/motu: add traits to parse and update parameters in Register DSP models #166

Closed takaswie closed 1 year ago

takaswie commented 1 year ago

For Register DSP models, current implementation of protocol crate uses several traits with ad-hoc methods to cache, update, and parse for parameters, while it is it is possible to unify the traits. It is convenient since it is enough to maintain single interface. This patchset is for the purpose.

Takashi Sakamoto (24):
  protocols/motu: add a trait for specification of Register DSP
  protocols/motu: implement trait to cache and update mixer return
    parameters in Register DSP models
  runtime/motu: use trait implementation to operate mixer return
    parameters in Register DSP models
  protocols/motu: implement trait to cache, update, and parse mixer
    output parameters in Register DSP models
  runtime/motu: use trait implementations to operate mixer output
    parameters in Register DSP models
  protocols/motu: implement trait to cache, update, and parse output
    parameters in Register DSP models
  runtime/motu: use trait implementation to operate output parameters in
    Register DSP models
  protocols/motu: implement trait to cache, update, and parse mixer
    monaural source parameters in Register DSP models
  runtime/motu: use trait implementation to operate mixer monaural
    source parameters in Register DSP models
  protocols/motu: implement trait to cache, update, and parse line input
    parameters in Register DSP models
  runtime/motu: use trait implementations to operate line input
    parameters
  protocols/motu: implement trait to cache, update, and parse monaural
    input parameters in Register DSP models
  runtime/motu: use trait implementations to operate monaural input
    parameters in Register DSP models
  protocols/motu: implement trait to cache, update, and parse mixer
    stereo source parameters in Register DSP models
  runtime/motu: use trait implementations to operate mixer stereo source
    parameters in Register DSP models
  protocols/motu: implement trait to cache, update, and parse mixer
    stereo input parameters in Register DSP models
  runtime/motu: use trait implementations to operate stereo input
    parameters in Register DSP models
  protocols/motu: implement trait to update and parse meter parameters
    in Register DSP models
  runtime/motu: use trait implementations to operate meter parameters in
    Register DSP models
  protocols/motu: implement trait to update meter output target
    parameters in Register DSP models
  runtime/motu: use trait implementations to operate meter output target
    parameters in Register DSP models
  protocols/motu: implement trait to parse phone assignment parameters
    in Register DSP models
  runtime/motu: use trait implementation to parse image and event for
    phone parameters in Register DSP models
  runtime/motu: use card interface instead of mixer interface for phone
    control

 protocols/motu/src/register_dsp.rs    | 2075 +++++++++++++------------
 protocols/motu/src/version_2.rs       |   76 +-
 protocols/motu/src/version_3.rs       |   30 +-
 runtime/motu/src/audioexpress.rs      |    9 +-
 runtime/motu/src/common_ctls.rs       |    2 +-
 runtime/motu/src/f828mk2.rs           |   21 +-
 runtime/motu/src/f896hd.rs            |   18 +-
 runtime/motu/src/f8pre.rs             |    6 +-
 runtime/motu/src/h4pre.rs             |    9 +-
 runtime/motu/src/register_dsp_ctls.rs |  900 ++++++-----
 runtime/motu/src/traveler.rs          |   21 +-
 runtime/motu/src/ultralite.rs         |    6 +-
 12 files changed, 1683 insertions(+), 1490 deletions(-)
takaswie commented 1 year ago

Merged.