Over the last week I've been implementing ambisonic support in Luppp. It didn't add up to too much work, only that JACK ports had to be named differently, the signal path adjusted somewhat (1 input, 3 outputs rather than 2 ins ,2 outs.
At the moment 2D horizontal B-Format ambisonic is supported, but implementing the 3D dimension of the first order wouldn't be too much work.. (add another channel to the process() functions.. )
The pan widget got a little haul over just to support 2D's rather than the one...
Till next, -Harry