ok, so for future reference: if you need an ALSA default device that can be opened by lots of things at once and has an equaliser in it, this is the .asoundrc that works for me:
ctl.!default {
type hw card 1
}
pcm.!default {
type plug
slave.pcm plugeql;
}
ctl.equal {
type equal;
}
pcm.plugeql {
type equal;
slave.pcm dplug;
}
pcm.equal {
type plug;
slave.pcm plugeql;
}
pcm.dplug {
type plug;
slave.pcm dmixed
}
pcm.dmixed {
type dmix;
ipc_key 1025;
slave.pcm "hw:1,0"
}
(my analogue sound device is hw:1,0)
beware, this is a bit cargo-culted; i can't pretend i understand what's going on in here, but i think essentially what it comes down to is:
a plug device can subsume any type of device
a dmix device can only subsume a hardware port
an equal device can only subsume a plug device
i've talked before about what i think of ALSA devs - that extends to their choice of keywords
@millihertz
I use apulse with Firefox. It adds a little lag, but works much better, when it uses ALSA natively, it doesn't support mic input, with apulse it works flawlessly.