[PATCH 00/13] ctl: add interfaces for element information

GitHub pull_request - opened github at alsa-project.org
Wed Jun 1 05:04:17 CEST 2022


alsa-project/alsa-gobject pull request #71 was opened from takaswie:

Current implementation uses function of ElemInfo to express variants of element
information, however it's not enough convenient in the case of language bindings.
The usage of GObject.Value in object property is expected to be supported widely
instead.

This patchset uses object classes derived from GObject to express the variants.
The common properties are expressed by two interfaces; ElemInfoCommon and
ElemInfoSingleArray. All of classes implement the former, and the latter is
implemented except for IEC60958 element information.

```
Takashi Sakamoto (13):
  ctl: card: fix indentation
  fix missing usage of declaration macro
  ctl: card: add error path when generating name list at element addition
  ctl: elem-info-common: add common interface for element information
  ctl: elem-info-iec60958: add class for element information of IEC60958 type
  ctl: elem-info-single-array: add interface for single array element information
  ctl: elem-info-boolean: add class for element information of boolean type
  ctl: elem-info-bytes: add class for element information of bytes type
  ctl: elem-info-integer: add class for element information of integer type
  ctl: elem-info-integer64: add class for element information of integer64 type
  ctl: elem-info-enumerated: add class for element information of enumerated type
  ctl: card: use ALSACtl.ElemInfoCommon instead of ElemInfo
  ctl: elem-info: remove unused classes

 samples/ctl                                   |  56 +--
 src/ctl/alsactl-enum-types.h                  |   4 +
 src/ctl/alsactl.h                             |  10 +-
 src/ctl/alsactl.map                           |  30 +-
 src/ctl/card.c                                | 156 ++++---
 src/ctl/card.h                                |   6 +-
 src/ctl/elem-info-boolean.c                   |  90 +++++
 src/ctl/elem-info-boolean.h                   |  22 +
 src/ctl/elem-info-bytes.c                     |  89 ++++
 src/ctl/elem-info-bytes.h                     |  21 +
 src/ctl/elem-info-common.c                    | 135 +++++++
 src/ctl/elem-info-common.h                    |  20 +
 src/ctl/elem-info-enumerated.c                | 137 +++++++
 src/ctl/elem-info-enumerated.h                |  22 +
 src/ctl/elem-info-iec60958.c                  |  80 ++++
 src/ctl/elem-info-iec60958.h                  |  22 +
 src/ctl/elem-info-integer.c                   | 162 ++++++++
 src/ctl/elem-info-integer.h                   |  22 +
 src/ctl/elem-info-integer64.c                 | 162 ++++++++
 src/ctl/elem-info-integer64.h                 |  22 +
 src/ctl/elem-info-single-array.c              |  68 ++++
 src/ctl/elem-info-single-array.h              |  20 +
 src/ctl/elem-info.c                           | 379 ------------------
 src/ctl/elem-info.h                           |  30 --
 src/ctl/meson.build                           |  18 +-
 src/ctl/privates.h                            |  54 ++-
 src/hwdep/alsahwdep-enum-types.h              |   4 +
 src/rawmidi/alsarawmidi-enum-types.h          |   4 +
 src/seq/alsaseq-enum-types.h                  |   4 +
 src/timer/alsatimer-enum-types.h              |   4 +
 ...tl-elem-info => alsactl-elem-info-boolean} |  10 +-
 tests/alsactl-elem-info-bytes                 |  26 ++
 tests/alsactl-elem-info-enumerated            |  27 ++
 tests/alsactl-elem-info-iec60958              |  25 ++
 tests/alsactl-elem-info-integer               |  29 ++
 tests/alsactl-elem-info-integer64             |  29 ++
 tests/meson.build                             |   7 +-
 37 files changed, 1492 insertions(+), 514 deletions(-)
 create mode 100644 src/ctl/elem-info-boolean.c
 create mode 100644 src/ctl/elem-info-boolean.h
 create mode 100644 src/ctl/elem-info-bytes.c
 create mode 100644 src/ctl/elem-info-bytes.h
 create mode 100644 src/ctl/elem-info-common.c
 create mode 100644 src/ctl/elem-info-common.h
 create mode 100644 src/ctl/elem-info-enumerated.c
 create mode 100644 src/ctl/elem-info-enumerated.h
 create mode 100644 src/ctl/elem-info-iec60958.c
 create mode 100644 src/ctl/elem-info-iec60958.h
 create mode 100644 src/ctl/elem-info-integer.c
 create mode 100644 src/ctl/elem-info-integer.h
 create mode 100644 src/ctl/elem-info-integer64.c
 create mode 100644 src/ctl/elem-info-integer64.h
 create mode 100644 src/ctl/elem-info-single-array.c
 create mode 100644 src/ctl/elem-info-single-array.h
 delete mode 100644 src/ctl/elem-info.c
 delete mode 100644 src/ctl/elem-info.h
 rename tests/{alsactl-elem-info => alsactl-elem-info-boolean} (68%)
 create mode 100644 tests/alsactl-elem-info-bytes
 create mode 100644 tests/alsactl-elem-info-enumerated
 create mode 100644 tests/alsactl-elem-info-iec60958
 create mode 100644 tests/alsactl-elem-info-integer
 create mode 100644 tests/alsactl-elem-info-integer64
```

Request URL   : https://github.com/alsa-project/alsa-gobject/pull/71
Patch URL     : https://github.com/alsa-project/alsa-gobject/pull/71.patch
Repository URL: https://github.com/alsa-project/alsa-gobject


More information about the Alsa-devel mailing list