LibraryConfig.pcm.Config {

	pcm.goxlr_stereo_out {
		@args [ CARD CHN0 CHN1 ]
		@args {
			CARD.type string
			CHN0.type integer
			CHN1.type integer
		}
		type dshare
		ipc_key 5678493
		ipc_perm 0600
		slave {
			pcm {
				type hw
				card $CARD
				device 0
			}
			channels 10
		}
		bindings.0 $CHN0
		bindings.1 $CHN1
	}

	pcm.goxlr_stereo_in {
		@args [ CARD CHN0 CHN1 ]
		@args {
			CARD.type string
			CHN0.type integer
			CHN1.type integer
		}
		type dsnoop
		ipc_key 5678593
		ipc_perm 0600
		slave {
			pcm {
				type hw
				card $CARD
				device 0
			}
			channels 23
		}
		bindings.0 $CHN0
		bindings.1 $CHN1
	}

	pcm.goxlr_system {
		@args [ CARD ]
		@args.CARD.type string
		type empty
		slave.pcm {
			@func concat
			strings [ "goxlr_stereo_out:" $CARD ",0,1" ]
		}
	}

	pcm.goxlr_game {
		@args [ CARD ]
		@args.CARD.type string
		type empty
		slave.pcm {
			@func concat
			strings [ "goxlr_stereo_out:" $CARD ",2,3" ]
		}
	}

	pcm.goxlr_chat {
		@args [ CARD ]
		@args.CARD.type string
		type empty
		slave.pcm {
			@func concat
			strings [ "goxlr_stereo_out:" $CARD ",4,5" ]
		}
	}

	pcm.goxlr_music {
		@args [ CARD ]
		@args.CARD.type string
		type empty
		slave.pcm {
			@func concat
			strings [ "goxlr_stereo_out:" $CARD ",6,7" ]
		}
	}

	pcm.goxlr_sample {
		@args [ CARD ]
		@args.CARD.type string
		type empty
		slave.pcm {
			@func concat
			strings [ "goxlr_stereo_out:" $CARD ",8,9" ]
		}
	}

	pcm.goxlr_mix {
		@args [ CARD ]
		@args.CARD.type string
		type empty
		slave.pcm {
			@func concat
			strings [ "goxlr_stereo_in:" $CARD ",0,1" ]
		}
	}

	pcm.goxlr_chatmic {
		@args [ CARD ]
		@args.CARD.type string
		type empty
		slave.pcm {
			@func concat
			strings [ "goxlr_stereo_in:" $CARD ",2,3" ]
		}
	}

	pcm.goxlr_sample_input {
		@args [ CARD ]
		@args.CARD.type string
		type empty
		slave.pcm {
			@func concat
			strings [ "goxlr_stereo_in:" $CARD ",16,17" ]
		}
	}

}

SectionDevice."Speaker" {
	Comment "System"

	Value {
		PlaybackPriority 100
		PlaybackPCM "goxlr_system:${CardId}"
	}
}

SectionDevice."Line1" {
	Comment "Game"

	Value {
		PlaybackPriority 300
		PlaybackPCM "goxlr_game:${CardId}"
	}
}

SectionDevice."Line2" {
	Comment "Music"

	Value {
		PlaybackPriority 400
		PlaybackPCM "goxlr_music:${CardId}"
	}
}

SectionDevice."Headphones" {
	Comment "Chat"

	Value {
		PlaybackPriority 200
		PlaybackPCM "goxlr_chat:${CardId}"
	}
}

SectionDevice."Line3" {
	Comment "Sample"

	Value {
		PlaybackPriority 500
		PlaybackPCM "goxlr_sample:${CardId}"
	}
}

SectionDevice."Line4" {
	Comment "Broadcast Stream Mix"

	Value {
		CapturePriority 200
		CapturePCM "goxlr_mix:${CardId}"
	}
}

SectionDevice."Headset" {
	Comment "Chat Mic"

	Value {
		CapturePriority 100
		CapturePCM "goxlr_chatmic:${CardId}"
	}
}

SectionDevice."Line5" {
	Comment "Sample"

	Value {
		CapturePriority 300
		CapturePCM "goxlr_sample_input:${CardId}"
	}
}
