Syntax 4

Define.ProfileName ""

If.linked {
	Condition {
		Type RegexMatch
		String "${CardComponents}"
		# Aorus Master Front Headphone 0414:a000
		Regex "USB0414:a000"
	}
	True.Define.ProfileName "../common/linked"
}

If.realtek-alc1220-vb {

	Condition {
		Type RegexMatch
		String "${CardComponents}"
		# 0414:a002 Gigabyte TRX40 Aorus Pro WiFi
		# 0b05:1917 ASUS ROG Strix
		# 0b05:1918 ASUS PRIME TRX40 PRO-S
		# 0db0:0d64 MSI TRX40 Creator
		# 0db0:543d MSI TRX40
		# 26ce:0a01 Asrock TRX40 Creator
		Regex "USB((0414:a002)|(0b05:191[78])|(0db0:(0d64|543d))|(26ce:0a01))"
	}
	True.Define.ProfileName "Realtek/ALC1220-VB-Desktop"
}

If.gigabyte-aorus-main {
	Condition {
		Type String
		Haystack "${CardComponents}"
		Needle "USB0414:a001"
	}
	True.Define.ProfileName "Gigabyte/Aorus-Master-Main-Audio"
}

If.dell-wd15 {
	Condition {
		Type RegexMatch
		String "${CardComponents}"
		Regex "USB0bda:40(14|2e)"
	}
	True.Define.ProfileName "Dell/WD15-Dock"
}

If.dell-desktop-front {
	Condition {
		Type String
		Haystack "${CardComponents}"
		Needle "USB0bda:4c54"
	}
	True.Define.ProfileName "Dell/Desktop-Front"
}

If.dell-desktop-rear {
	Condition {
		Type String
		Haystack "${CardComponents}"
		Needle "USB0bda:4c55"
	}
	True.Define.ProfileName "Dell/Desktop-Rear"
}

If.goxlr {
	Condition {
		Type RegexMatch
		String "${CardComponents}"
		Regex "USB1220:8fe[04]"
	}
	True.Define.ProfileName "GoXLR/GoXLR"
}

If.lenovo-p620-rear {
	Condition {
		Type String
		Haystack "${CardComponents}"
		Needle "USB17aa:1046"
	}
	True.Define.ProfileName "Lenovo/ThinkStation-P620-Rear"
}

If.lenovo-p620-main {
	Condition {
		Type String
		Haystack "${CardComponents}"
		Needle "USB17aa:104d"
	}
	True.Define.ProfileName "Lenovo/ThinkStation-P620-Main"
}

If.inc {
	Condition {
		Type String
		Empty "${var:ProfileName}"
	}
	True.Error "UCM is not supported for this USB device (${CardLongName} @ ${CardComponents})"
	False.Include.prof.File "/USB-Audio/${var:ProfileName}.conf"
}
