Skip to content

Commit

Permalink
Tools: Topology2: Add widget class TDFB
Browse files Browse the repository at this point in the history
This patch adds the class for the Time domain fixed beamformer
(TDFB) and example blobs for line arrays.

Signed-off-by: Seppo Ingalsuo <[email protected]>
  • Loading branch information
singalsu authored and kv2019i committed Oct 26, 2023
1 parent d27d068 commit 613021b
Show file tree
Hide file tree
Showing 13 changed files with 4,047 additions and 0 deletions.
175 changes: 175 additions & 0 deletions tools/topology/topology2/include/components/tdfb.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
#
#
# A generic Time Domain Fixed Beamformer (TDFB) component. All attributes
# defined herein are namespaced by alsatplg to
# "Object.Widget.tdfb.attribute_name"
#
# Usage: this component can be used by declaring in the parent object. i.e.
#
# Object.Widget.tdfb."N" {
# index 1
# }
# }

#
# Where M is pipeline ID and N is a unique integer in the parent object.

<include/controls/mixer.conf>
<include/controls/enum.conf>

Class.Widget."tdfb" {
#
# Pipeline ID
#
DefineAttribute."index" {
type "integer"
}

#
# Unique instance for TDFB widget
#
DefineAttribute."instance" {
type "integer"
}

# Include common widget attributes definition
<include/components/widget-common.conf>

attributes {
!constructor [
"index"
"instance"
]
!mandatory [
"num_input_pins"
"num_output_pins"
"num_input_audio_formats"
"num_output_audio_formats"
]

!immutable [
"uuid"
"type"
]
!deprecated [
"preload_count"
]
unique "instance"
}

#
# tdfb widget switch control
#
Object.Control {
# Switch controls
mixer."1" {
Object.Base.channel.1 {
name "fc"
shift 0
}
Object.Base.ops.1 {
name "ctl"
info "volsw"
#259 binds the mixer control to switch get/put handlers
get 259
put 259
}
max 1
}
mixer."2" {
Object.Base.channel.1 {
name "fc"
shift 0
}
Object.Base.ops.1 {
name "ctl"
info "volsw"
#259 binds the mixer control to switch get/put handlers
get 259
put 259
}
max 1
}

# Enum controls
enum."1" {
Object.Base {
channel.1 {
name "fc"
reg 3
shift 0
}
text.0 {
name "tdfb_enum_plus_minus_90_text"
!values [
"-90"
"-75"
"-60"
"-45"
"-30"
"-15"
"0"
"15"
"30"
"45"
"60"
"75"
"90"
]
}
ops.1 {
name "ctl"
info "enum"
#257 binds the mixer control to enum get/put handlers
get 257
put 257
}
}
}
enum."2" {
Object.Base {
channel.1 {
name "fc"
reg 3
shift 0
}
text.0 {
name "mytext"
!values [
"-90"
"-75"
"-60"
"-45"
"-30"
"-15"
"0"
"15"
"30"
"45"
"60"
"75"
"90"
]
}
ops.1 {
name "ctl"
info "enum"
#257 binds the mixer control to enum get/put handlers
get 257
put 257
}
}
}
}

#
# Default attributes for tdfb
#

# dd511749-d9fa-455c-b3a7-13585693f1af
uuid "49:17:51:dd:fa:d9:5c:45:b3:a7:13:58:56:93:f1:af"
type "effect"
no_pm "true"
num_input_pins 1
num_output_pins 1
}
Loading

0 comments on commit 613021b

Please sign in to comment.