--- /dev/null
+SectionDevice."Headphones" {
+ Comment "Headphones / Line Out"
+
+ Value {
+ PlaybackPriority 200
+ PlaybackPCM "hw:${CardId},0"
+ PlaybackMixerElem "Speaker"
+ PlaybackVolume "Speaker Playback Volume"
+ PlaybackSwitch "Speaker Playback Switch"
+ }
+}
+
+SectionDevice."Mic" {
+ Comment "Microphone"
+ ConflictingDevice [ "Line In" "SPDIF In" "Direct 1" ]
+
+ EnableSequence [
+ cset "name='PCM Capture Source' 'External Mic'"
+ cset "name='External Mic Capture Switch' on"
+ ]
+ DisableSequence [
+ cset "name='External Mic Capture Switch' off"
+ ]
+
+ Value {
+ CapturePriority 500
+ CapturePCM "hw:${CardId},0"
+ CaptureMixerElem "External Mic"
+ CaptureVolume "External Mic Capture Volume"
+ CaptureSwitch "External Mic Capture Switch"
+ }
+}
+
+SectionDevice."Line In" {
+ Comment "Line In (Analog)"
+ ConflictingDevice [ "Mic" "SPDIF In" "Direct 1" ]
+
+ EnableSequence [
+ cset "name='PCM Capture Source' 'Line In'"
+ cset "name='Line In Capture Switch' on"
+ ]
+ DisableSequence [
+ cset "name='Line In Capture Switch' off"
+ ]
+
+ Value {
+ CapturePriority 400
+ CapturePCM "hw:${CardId},0"
+ CaptureMixerElem "Line In"
+ CaptureVolume "Line In Capture Volume"
+ CaptureSwitch "Line In Capture Switch"
+ }
+}
+
+SectionDevice."SPDIF In" {
+ Comment "S/PDIF Input"
+ ConflictingDevice [ "Mic" "Line In" "Direct 1" ]
+
+ EnableSequence [
+ cset "name='PCM Capture Source' 'S/PDIF In'"
+ cset "name='S/PDIF In Capture Switch' on"
+ ]
+ DisableSequence [
+ cset "name='S/PDIF In Capture Switch' off"
+ ]
+
+ Value {
+ CapturePriority 300
+ CapturePCM "hw:${CardId},0"
+ CaptureMixerElem "S/PDIF In"
+ CaptureVolume "S/PDIF In Capture Volume"
+ CaptureSwitch "S/PDIF In Capture Switch"
+ }
+}
+
+SectionDevice."Direct 1" {
+ Comment "Loopback"
+ ConflictingDevice [ "Mic" "Line In" "SPDIF In" ]
+
+ EnableSequence [
+ cset "name='PCM Capture Source' 'What U Hear'"
+ cset "name='What U Hear Capture Switch' on"
+ ]
+ DisableSequence [
+ cset "name='What U Hear Capture Switch' off"
+ ]
+
+ Value {
+ CapturePriority 200
+ CapturePCM "hw:${CardId},0"
+ CaptureMixerElem "What U Hear"
+ CaptureVolume "What U Hear Capture Volume"
+ CaptureSwitch "What U Hear Capture Switch"
+ }
+}
--- /dev/null
+Comment "Creative Sound Blaster G8"
+
+BootSequence [
+ cset "name='Speaker Playback Switch' on"
+ cset "name='Line In Playback Switch' off"
+ cset "name='S/PDIF In Playback Switch' off"
+ cset "name='PCM Capture Source' 'External Mic'"
+]
+
+SectionUseCase."HiFi" {
+ Comment "Default"
+ File "/USB-Audio/Creative/SoundBlaster-G8-HiFi.conf"
+}
+
+Include.dhw.File "/common/directm.conf"
+
+Macro.0.DirectUseCase { Id="Direct" PlaybackChannels=2 CaptureChannels=2 }
Macro.hp-tb-dock.StringMatch "Id='03f0:0269' Profile='HP/Thunderbolt-Dock-Audio-Headset'"
Macro.hyperx-solocast.StringMatch "Id='03f0:0b8b' Profile='HyperX/SoloCast'"
Macro.gigabyte-aorus-main.StringMatch "Id='0414:a001' Profile='Gigabyte/Aorus-Master-Main-Audio'"
+Macro.creative-g8.StringMatch "Id='041e:329b' Profile='Creative/SoundBlaster-G8'"
Macro.steinberg-ur22c.StringMatch "Id='0499:172f' Profile='Steinberg/UR22C'"
Macro.steinberg-ur22mkii.StringMatch "Id='0499:170f' Profile='Steinberg/UR22mkII'"
Macro.steinberg-ur24c.StringMatch "Id='0499:174d' Profile='Steinberg/UR24C'"