I have made significant progress now with this project. While it is still not usable in its current state, it does the following:

*Displays FFT of Blackman Windowed audio input in real-time.

*Displays the transfer function, H(f) = Y(f) / X(f), of the measured system (channel one divided by channel two, or output (measured) divided by input (reference)), where X(f), Y(f) is the fourier transform of the output and input respectively.

*GUI now uses the quick excellently documented gtkdatabox library instead of the scantily documented libgoffice. Great Success!

*Averaging function for the H(f) frame, so graph doesn't bounce/jump in time and smoothing of the plot to make the data more readable by humans, ex: H(f) = (H(f-1) + H(f) + H(f+1))/3.

*Output is in dB and Octaves like humans hear, as opposed to Voltage and frequency in Hz, with actual frequency in Hz displayed under mouse cursor.

Todo:

* Auto delay finding function for reference trace, basically a data correlation guess and test function

* Take four sample snapshots (store a current array), average them together (add and divide each frequency bin), and flip the result (multiply by -1)

These items are actually trivial to implement. As an engineer all the fft/data related processing is easy to me, the hard part has been the programming read tape (fixing Makefiles to include libraries, using the libraries API's). But I have learned some excellent concepts along the way.