-
Notifications
You must be signed in to change notification settings - Fork 321
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Tools: Topology2: Add widget class TDFB
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
Showing
13 changed files
with
4,047 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
} |
Oops, something went wrong.