# # dmix output # pcm.!dmix { @args [ CARD DEV SUBDEV FORMAT RATE ] @args.CARD { type string default { @func refer name defaults.pcm.dmix.card } } @args.DEV { type integer default { @func refer name defaults.pcm.dmix.device } } @args.SUBDEV { type integer default 0 } @args.FORMAT { type string default { @func refer name defaults.pcm.dmix.format } } @args.RATE { type integer default { @func refer name defaults.pcm.dmix.rate } } type dmix ipc_key { @func refer name defaults.pcm.ipc_key } ipc_gid { @func refer name defaults.pcm.ipc_gid } ipc_perm { @func refer name defaults.pcm.ipc_perm } slave { pcm { type hw card $CARD device $DEV subdevice $SUBDEV } format $FORMAT rate $RATE period_size { @func refer name { @func concat strings [ "cards." { @func card_driver card $CARD } ".pcm.dmix.period_size" ] } default 1024 } period_time { @func refer name { @func concat strings [ "cards." { @func card_driver card $CARD } ".pcm.dmix.period_time" ] } default -1 } periods { @func refer name { @func concat strings [ "cards." { @func card_driver card $CARD } ".pcm.dmix.periods" ] } default 16 } } hint { show { @func refer name defaults.namehint.extended } description "Direct sample mixing device" device $DEV } }