Instructions to get Friture running =================================== Most of Friture code-base is written in Python. As such, it is interpreted and does not need compilation, apart from the special cases below. Dependencies ------------ + Python3 (3.4 or later recommended) + PyQt5 + PyAudio + PyOpenGL + PyOpenGL-accelerate + Numpy + Scipy + Cython + docutils + psutil UI and resource files --------------------- If friture.ui or resource.qrc are changed, the corresponding python files need to be rebuilt:: pyuic4 ui/friture.ui --from-imports > friture/ui_friture.py pyuic4 ui/settings.ui --from-imports > friture/ui_settings.py pyrcc4 resources/friture.qrc -o friture/friture_rc.py Cython extension ---------------- Friture uses Cython extensions where computing is a bottleneck. These extensions can be built automatically with:: python setup.py build_ext --inplace On Windows, if you use mingw:: python setup.py build_ext --inplace --compiler=mingw32) Alternatively, to build the 'exp_smoothing_conv' extension manually on Linux, you can do:: cython exp_smoothing_conv.pyx then (all as one command) gcc -shared -pthread -fPIC -fwrapv -O2 -Wall -fno-strict-aliasing -I/usr/include/python2.6 -o exp_smoothing_conv.so exp_smoothing_conv.c Filters parameters ------------------ The filters parameters are precomputed in a file called 'generated_filters.py'. To rebuild this file, run the script named 'filter_design.py'. Windows executable ------------------ To build an executable for Windows, with the python interpreter included, run:: python setup.py py2exe You get a 'dist' directory with friture.exe and a collection of dependencies (dlls and compiled python extensions), that can be bundled together in an installer.