From what I can see,
VolumeControlHandle:.set_volume doesn't need &mut because,
Producer::push doesn't need &mut since,
Producer::push_access doesn't need &mut since,
SharedVec::get_mut(), CachePadded::load nor CachePadded::store don't need &mut
I'm trusting that Producer::push does need &mut because that's what it says in the API. If you believe otherwise, I'd open an issue in the ringbuf repo. If a ringbuf update changes Producer::push to take &self, then I'll be happy to update the functions in Kira.
From what I can see, VolumeControlHandle:.set_volume doesn't need &mut because, Producer::push doesn't need &mut since, Producer::push_access doesn't need &mut since, SharedVec::get_mut(), CachePadded::load nor CachePadded::store don't need &mut