Lou, thanks for your interest. Yes the entire thing was made purely with GRC and there was no modification to the generated Python. All that is required to run the scanoo_rx GRC file unmodified is a UHD compatible device and an installation done with "./pybombs install uhd gnuradio". Johnathan's GNURadio Live DVD should work too -
http://gnuradio.org/redmine/projects/gnuradio/wiki/GNURadioLiveDVD .
For reference, here is a screenshot of the scanoo_rx GRC flowgraph -
https://raw.githubusercontent.com/m0mik/scanoo/master/apps/scanoo.com_rx.grc.png
Starting at the top left, the 'UHD USRP Source' block receives complex time domain samples from your UHD compatible SDR hardware and sends these complex time domain samples to the 'Stream to Vector' block and the three 'WX GUI' display blocks.
The 'Stream to Vector' block sends the complex time domain samples in vector chunks of size 'fft_len' to the 'FFT' block which outputs the vector chunks of complex samples in frequency domain format. FYI, the 'WX GUI FFT Sink' blocks (aka 'FFT Rough Tune'/'FFT Fine Tune') do this internally in order to display the signals in the frequency domain.
The output of the 'FFT' block is sent to a 'Selector' block which is the pathway to the 'Probe Signal Vector' block used for spectrum sensing. The 'FFT' block also sends samples to a 'Vector to Stream' block which puts the vector chunks back into a single stream of samples in frequency domain format.
The 'Vector to Stream' block sends the stream of frequency domain samples to the 'Keep M in N' block which is responsible for picking out the channel we want and at the same time it decimates the signal to 'channel_samp_rate' in order to reduce the amount of data processing required for blocks further down the chain. The channel is chosen by either a mouse click on the 'FFT Fine Tune' / 'FFT Zoom' displays or by enabling 'Spectrum Sense' mode. When 'Spectrum Sense' mode is enabled, the maximum signal found is selected as determined by the 'Probe Signal Vector' block.