#
# Remap controls
#

#
# Macro CtlRemapMonoVolSw
#
# Arguments:
#   Dst - Destination control name
#   Src - Source control name
#   Index - hardware index for value 0 (mono)
#

DefineMacro.CtlRemapMonoVolSw {
	LibraryConfig.pcm.SubstiConfig {
		ctl.default.map {
			"name='${var:__Dst} Volume'"."name='${var:__Src} Volume'" {
				vindex.0 "${evali:$__Index}"
			}
			"name='${var:__Dst} Switch'"."name='${var:__Src} Switch'" {
				vindex.0 "${evali:$__Index}"
			}
		}
	}
}

#
# Macro CtlRemapStereoVolSw
#
# Arguments:
#   Dst - Destination control name
#   Src - Source control name
#   Index0 - hardware index for the application index 0
#   Index1 - hardware index for the application index 1
#

DefineMacro.CtlRemapStereoVolSw {
	LibraryConfig.pcm.SubstiConfig {
		ctl.default.map {
			"name='${var:__Dst} Volume'"."name='${var:__Src} Volume'" {
				vindex.0 "${evali:$__Index0}"
				vindex.1 "${evali:$__Index1}"
			}
			"name='${var:__Dst} Switch'"."name='${var:__Src} Switch'" {
				vindex.0 "${evali:$__Index0}"
				vindex.1 "${evali:$__Index1}"
			}
		}
	}
}
