# Das dmix-Plugin wird definiert.

# pcm.my_card { type hw card Speaker }

# pcm.dmixer {
	# type dmix
	# ipc_key 1024 #required and must be unique
	# ipc_key_add_uid 0
    # ipc_perm 0660 # Andere Benutzer können ebenfalls dmix gleichzeitig nutzen
    # slave.pcm { type hw card 0 }
	# slave {
		# pcm "hw:0,0"
       	 ### buffer_size kann bei Problemen der jeweiligen Karte angepasst werden.
		# period_time 0
		# period_size 1024
		# buffer_size 4096
        ### bei Störungen kann die Konvertierung auf die Rate 44100 eingeschaltet werden.
	# rate 44100
        ### einige Soundkarten benötigen das exakte Datenformat (zB ice1712)
        # format S32_LE
        ### Verfügbare Formate: S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE
        ###               S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE
        ###               IEC958_SUBFRAME_LE IEC958_SUBFRAME_BE MU_LAW A_LAW IMA_ADPCM MPEG GSM
        ### Anzahl channels muss mit den bindings übereinstimmen
        # channels 2
	# }
		# bindings {
		# 0 0
		# 1 1
	# }
# }

pcm.dsnooper {
	type dsnoop
	ipc_key 2048
	ipc_perm 0666 
	slave {
		pcm "hw:1,0"
#	period_time 0
#       period_size 1024
#        buffer_size 4096
        # bei Störungen kann die Konvertierung auf die Rate 44100 eingeschaltet werden.
        # rate 44100
        # einige Soundkarten benötigen das exakte Datenformat (zB ice1712)
        # format S32_LE
        ### Anzahl channels muss mit den bindings übereinstimmen
#   	channels 1
	}
	# bindings {
	   # 0 0
	   # 1 1
   # }
}

pcm.duplex {
	type asym
	playback.pcm "dmix"
	capture.pcm "dsnooper"
}


pcm.!default { 
	type plug 
	slave.pcm "duplex"
}


pcm.default {
	type plug
	slave.pcm "duplex"
}

ctl.!default {
	type hw
	card 0
}

# ctl.dmixer {
	# type hw
	# card 0
# }

# pcm.usb
# {
	# type dsnoop
	# slave {
		# pcm "hw:1,0"
	# }
# }

# pcm.!default
# {
	# type asym
	# playback.pcm
	# {
		# type plug
		# slave.pcm "dmix"
	# }
	# capture.pcm "dsnooper"
	# {
		# type plug
		# slave.pcm "usb"
	# }
# }

# pcm.default {
	# type asym
	# playback.pcm
	# {
		# type plug
		# slave.pcm "dmix"
	# }
	# capture.pcm "dsnooper"
# }

# ctl.!default {
	# type hw
	# card 0
# }
