From 185ef47bc4003a8516c1f18b0de0a569fe9ddcd0 Mon Sep 17 00:00:00 2001
From: Tristan Walter <twalter@orn.mpg.de>
Date: Wed, 7 Oct 2020 21:37:39 +0200
Subject: [PATCH] moving files around

---
 .gitmodules                                   |   6 +
 Application/CMakeLists.txt                    |  46 ++-
 Application/cmake_conda_osx.sh                |  91 +++++
 Application/cmake_osx.sh                      |   2 -
 .../zip_source_winzip_aes_encode.c            | 242 ++++++++++++
 Application/src/cnpy                          |   1 +
 Application/src/commons/FindBaslerPylon.cmake |  78 ----
 .../src/commons/FindLibMicroHttpd.cmake       |  68 ----
 Application/src/commons/FindSFML.cmake        | 368 ------------------
 Application/src/commons/common/CMakeLists.txt | 100 +++++
 Application/src/commons/{ => common}/JSON.h   |   0
 .../src/commons/{ => common}/commons.pc.h     |   0
 .../{ => common}/cpputils/CMakeLists.txt      |   0
 .../commons/{ => common}/cpputils/cpputils.h  |   0
 .../{ => common}/cpputils/debug/Debug.cpp     |   0
 .../{ => common}/cpputils/debug/Debug.h       |   0
 .../{ => common}/cpputils/debug/DynamicTree.h |   0
 .../{ => common}/cpputils/debug/Printable.cpp |   0
 .../{ => common}/cpputils/debug/Printable.h   |   0
 .../{ => common}/cpputils/hashutils.cpp       |   0
 .../commons/{ => common}/cpputils/hashutils.h |   0
 .../{ => common}/cpputils/miscutils.cpp       |   0
 .../commons/{ => common}/cpputils/miscutils.h |   0
 .../{ => common}/cpputils/stringutils.cpp     |   0
 .../{ => common}/cpputils/stringutils.h       |   0
 .../{ => common}/cpputils/utilsexception.cpp  |   0
 .../{ => common}/cpputils/utilsexception.h    |   0
 .../commons/{ => common}/file/CSVExport.cpp   |   0
 .../src/commons/{ => common}/file/CSVExport.h |   0
 .../commons/{ => common}/file/DataFormat.cpp  |   0
 .../commons/{ => common}/file/DataFormat.h    |   0
 .../src/commons/{ => common}/file/Export.cpp  |   0
 .../src/commons/{ => common}/file/Export.h    |   0
 .../src/commons/{ => common}/file/Path.cpp    |   0
 .../src/commons/{ => common}/file/Path.h      |   0
 .../commons/{ => common}/gui/CrossPlatform.h  |   0
 .../src/commons/{ => common}/gui/DrawBase.cpp |   0
 .../src/commons/{ => common}/gui/DrawBase.h   |   0
 .../commons/{ => common}/gui/DrawCVBase.cpp   |   0
 .../src/commons/{ => common}/gui/DrawCVBase.h |   0
 .../commons/{ => common}/gui/DrawHTMLBase.cpp |   0
 .../commons/{ => common}/gui/DrawHTMLBase.h   |   0
 .../commons/{ => common}/gui/DrawObject.cpp   |   0
 .../src/commons/{ => common}/gui/DrawObject.h |   0
 .../commons/{ => common}/gui/DrawSFBase.cpp   |   0
 .../src/commons/{ => common}/gui/DrawSFBase.h |   0
 .../{ => common}/gui/DrawStructure.cpp        |   0
 .../commons/{ => common}/gui/DrawStructure.h  |   0
 .../{ => common}/gui/DrawableCollection.cpp   |   0
 .../{ => common}/gui/DrawableCollection.h     |   0
 .../src/commons/{ => common}/gui/Event.cpp    |   0
 .../src/commons/{ => common}/gui/Event.h      |   0
 .../commons/{ => common}/gui/FileChooser.cpp  |   0
 .../commons/{ => common}/gui/FileChooser.h    |   0
 .../src/commons/{ => common}/gui/GLImpl.cpp   |   0
 .../src/commons/{ => common}/gui/GLImpl.h     |   0
 .../src/commons/{ => common}/gui/Graph.cpp    |   0
 .../src/commons/{ => common}/gui/Graph.h      |   0
 .../src/commons/{ => common}/gui/GuiTypes.cpp |   0
 .../src/commons/{ => common}/gui/GuiTypes.h   |   0
 .../commons/{ => common}/gui/HttpClient.cpp   |   0
 .../src/commons/{ => common}/gui/HttpClient.h |   0
 .../commons/{ => common}/gui/IMGUIBase.cpp    |   0
 .../src/commons/{ => common}/gui/IMGUIBase.h  |   0
 .../src/commons/{ => common}/gui/MetalImpl.h  |   0
 .../src/commons/{ => common}/gui/MetalImpl.mm |   0
 .../src/commons/{ => common}/gui/SFLoop.cpp   |   0
 .../src/commons/{ => common}/gui/SFLoop.h     |   0
 .../src/commons/{ => common}/gui/SVG.cpp      |   0
 .../src/commons/{ => common}/gui/SVG.h        |   0
 .../src/commons/{ => common}/gui/Section.cpp  |   0
 .../src/commons/{ => common}/gui/Section.h    |   0
 .../commons/{ => common}/gui/Transform.cpp    |   0
 .../src/commons/{ => common}/gui/Transform.h  |   0
 .../src/commons/{ => common}/gui/colors.cpp   |   0
 .../src/commons/{ => common}/gui/colors.h     |   0
 .../commons/{ => common}/gui/types/Basic.cpp  |   0
 .../commons/{ => common}/gui/types/Basic.h    |   0
 .../commons/{ => common}/gui/types/Button.cpp |   0
 .../commons/{ => common}/gui/types/Button.h   |   0
 .../{ => common}/gui/types/Checkbox.cpp       |   0
 .../commons/{ => common}/gui/types/Checkbox.h |   0
 .../{ => common}/gui/types/Drawable.cpp       |   0
 .../commons/{ => common}/gui/types/Drawable.h |   0
 .../{ => common}/gui/types/Dropdown.cpp       |   0
 .../commons/{ => common}/gui/types/Dropdown.h |   0
 .../{ => common}/gui/types/Entangled.cpp      |   0
 .../{ => common}/gui/types/Entangled.h        |   0
 .../{ => common}/gui/types/HistOptions.h      |   0
 .../{ => common}/gui/types/Histogram.cpp      |   0
 .../{ => common}/gui/types/Histogram.h        |   0
 .../commons/{ => common}/gui/types/Layout.cpp |   0
 .../commons/{ => common}/gui/types/Layout.h   |   0
 .../commons/{ => common}/gui/types/List.cpp   |   0
 .../src/commons/{ => common}/gui/types/List.h |   0
 .../{ => common}/gui/types/ListItemTypes.cpp  |   0
 .../{ => common}/gui/types/ListItemTypes.h    |   0
 .../{ => common}/gui/types/MiscShapes.cpp     |   0
 .../{ => common}/gui/types/MiscShapes.h       |   0
 .../{ => common}/gui/types/PieChart.cpp       |   0
 .../commons/{ => common}/gui/types/PieChart.h |   0
 .../{ => common}/gui/types/ScrollableList.h   |   0
 .../{ => common}/gui/types/Serializable.cpp   |   0
 .../{ => common}/gui/types/Serializable.h     |   0
 .../gui/types/SingletonObject.cpp             |   0
 .../{ => common}/gui/types/SingletonObject.h  |   0
 .../{ => common}/gui/types/StaticText.cpp     |   0
 .../{ => common}/gui/types/StaticText.h       |   0
 .../commons/{ => common}/gui/types/Table.cpp  |   0
 .../commons/{ => common}/gui/types/Table.h    |   0
 .../{ => common}/gui/types/Textfield.cpp      |   0
 .../{ => common}/gui/types/Textfield.h        |   0
 .../{ => common}/gui/types/Tooltip.cpp        |   0
 .../commons/{ => common}/gui/types/Tooltip.h  |   0
 .../src/commons/{ => common}/http/httpd.cpp   |   0
 .../src/commons/{ => common}/http/httpd.h     |   0
 .../src/commons/{ => common}/misc/Base64.cpp  |   0
 .../src/commons/{ => common}/misc/Base64.h    |   0
 .../src/commons/{ => common}/misc/Blob.cpp    |   0
 .../src/commons/{ => common}/misc/Blob.h      |   0
 .../{ => common}/misc/CircularGraph.cpp       |   0
 .../commons/{ => common}/misc/CircularGraph.h |   0
 .../commons/{ => common}/misc/CommandLine.cpp |   0
 .../commons/{ => common}/misc/CommandLine.h   |   0
 .../commons/{ => common}/misc/CropOffsets.cpp |   0
 .../commons/{ => common}/misc/CropOffsets.h   |   0
 .../src/commons/{ => common}/misc/EnumClass.h |   0
 .../{ => common}/misc/GlobalSettings.cpp      |   0
 .../{ => common}/misc/GlobalSettings.h        |   0
 .../src/commons/{ => common}/misc/Grid.cpp    |   0
 .../src/commons/{ => common}/misc/Grid.h      |   0
 .../src/commons/{ => common}/misc/Image.cpp   |   0
 .../src/commons/{ => common}/misc/Image.h     |   0
 .../src/commons/{ => common}/misc/Median.h    |   0
 .../commons/{ => common}/misc/MetaObject.h    |   0
 .../src/commons/{ => common}/misc/PVBlob.cpp  |   0
 .../src/commons/{ => common}/misc/PVBlob.h    |   0
 .../commons/{ => common}/misc/PixelTree.cpp   |   0
 .../src/commons/{ => common}/misc/PixelTree.h |   0
 .../{ => common}/misc/ProximityGrid.cpp       |   0
 .../commons/{ => common}/misc/ProximityGrid.h |   0
 .../{ => common}/misc/ReverseAdapter.h        |   0
 .../commons/{ => common}/misc/SpriteMap.cpp   |   0
 .../src/commons/{ => common}/misc/SpriteMap.h |   0
 .../{ => common}/misc/SpriteProperty.cpp      |   0
 .../{ => common}/misc/SpriteProperty.h        |   0
 .../commons/{ => common}/misc/ThreadPool.cpp  |   0
 .../commons/{ => common}/misc/ThreadPool.h    |   0
 .../{ => common}/misc/ThreadedAnalysis.h      |   0
 .../{ => common}/misc/ThreadedAnalysis_impl.h |   0
 .../src/commons/{ => common}/misc/Timer.cpp   |   0
 .../src/commons/{ => common}/misc/Timer.h     |   0
 .../{ => common}/misc/cnpy_wrapper.cpp        |   0
 .../commons/{ => common}/misc/cnpy_wrapper.h  |   0
 .../{ => common}/misc/curve_discussion.cpp    |   0
 .../{ => common}/misc/curve_discussion.h      |   0
 .../{ => common}/misc/default_settings.cpp    |   0
 .../{ => common}/misc/default_settings.h      |   0
 .../src/commons/{ => common}/misc/defines.h   |   0
 .../src/commons/{ => common}/misc/detail.cpp  |   0
 .../src/commons/{ => common}/misc/detail.h    |   0
 .../src/commons/{ => common}/misc/math.h      |   0
 .../commons/{ => common}/misc/metastring.h    |   0
 .../src/commons/{ => common}/misc/ocl.cpp     |   0
 .../src/commons/{ => common}/misc/ocl.h       |   0
 .../src/commons/{ => common}/misc/pretty.cpp  |   0
 .../src/commons/{ => common}/misc/pretty.h    |   0
 .../commons/{ => common}/misc/stacktrace.h    |   0
 .../commons/{ => common}/misc/string_view.cpp |   0
 .../commons/{ => common}/misc/string_view.h   |   0
 .../src/commons/{ => common}/misc/vec2.cpp    |   0
 .../src/commons/{ => common}/misc/vec2.h      |   0
 .../src/commons/{ => common}/misc/zipper.h    |   0
 .../{ => common}/processing/Background.h      |   0
 .../{ => common}/processing/CPULabeling.cpp   |   0
 .../{ => common}/processing/CPULabeling.h     |   0
 .../{ => common}/processing/LuminanceGrid.cpp |   0
 .../{ => common}/processing/LuminanceGrid.h   |   0
 .../{ => common}/processing/PadImage.cpp      |   0
 .../{ => common}/processing/PadImage.h        |   0
 .../{ => common}/processing/RawProcessing.cpp |   0
 .../{ => common}/processing/RawProcessing.h   |   0
 .../src/commons/{ => common}/types.cpp        |   0
 Application/src/commons/{ => common}/types.h  |   0
 .../{ => common}/video/GenericVideo.cpp       |   0
 .../commons/{ => common}/video/GenericVideo.h |   0
 .../src/commons/{ => common}/video/Video.cpp  |   0
 .../src/commons/{ => common}/video/Video.h    |   0
 .../{ => common}/video/VideoSource.cpp        |   0
 .../commons/{ => common}/video/VideoSource.h  |   0
 Application/src/imgui                         |   1 +
 191 files changed, 469 insertions(+), 534 deletions(-)
 create mode 100644 .gitmodules
 create mode 100755 Application/cmake_conda_osx.sh
 delete mode 100755 Application/cmake_osx.sh
 create mode 100644 Application/libzip_windows/zip_source_winzip_aes_encode.c
 create mode 160000 Application/src/cnpy
 delete mode 100644 Application/src/commons/FindBaslerPylon.cmake
 delete mode 100644 Application/src/commons/FindLibMicroHttpd.cmake
 delete mode 100644 Application/src/commons/FindSFML.cmake
 create mode 100644 Application/src/commons/common/CMakeLists.txt
 rename Application/src/commons/{ => common}/JSON.h (100%)
 rename Application/src/commons/{ => common}/commons.pc.h (100%)
 rename Application/src/commons/{ => common}/cpputils/CMakeLists.txt (100%)
 rename Application/src/commons/{ => common}/cpputils/cpputils.h (100%)
 rename Application/src/commons/{ => common}/cpputils/debug/Debug.cpp (100%)
 rename Application/src/commons/{ => common}/cpputils/debug/Debug.h (100%)
 rename Application/src/commons/{ => common}/cpputils/debug/DynamicTree.h (100%)
 rename Application/src/commons/{ => common}/cpputils/debug/Printable.cpp (100%)
 rename Application/src/commons/{ => common}/cpputils/debug/Printable.h (100%)
 rename Application/src/commons/{ => common}/cpputils/hashutils.cpp (100%)
 rename Application/src/commons/{ => common}/cpputils/hashutils.h (100%)
 rename Application/src/commons/{ => common}/cpputils/miscutils.cpp (100%)
 rename Application/src/commons/{ => common}/cpputils/miscutils.h (100%)
 rename Application/src/commons/{ => common}/cpputils/stringutils.cpp (100%)
 rename Application/src/commons/{ => common}/cpputils/stringutils.h (100%)
 rename Application/src/commons/{ => common}/cpputils/utilsexception.cpp (100%)
 rename Application/src/commons/{ => common}/cpputils/utilsexception.h (100%)
 rename Application/src/commons/{ => common}/file/CSVExport.cpp (100%)
 rename Application/src/commons/{ => common}/file/CSVExport.h (100%)
 rename Application/src/commons/{ => common}/file/DataFormat.cpp (100%)
 rename Application/src/commons/{ => common}/file/DataFormat.h (100%)
 rename Application/src/commons/{ => common}/file/Export.cpp (100%)
 rename Application/src/commons/{ => common}/file/Export.h (100%)
 rename Application/src/commons/{ => common}/file/Path.cpp (100%)
 rename Application/src/commons/{ => common}/file/Path.h (100%)
 rename Application/src/commons/{ => common}/gui/CrossPlatform.h (100%)
 rename Application/src/commons/{ => common}/gui/DrawBase.cpp (100%)
 rename Application/src/commons/{ => common}/gui/DrawBase.h (100%)
 rename Application/src/commons/{ => common}/gui/DrawCVBase.cpp (100%)
 rename Application/src/commons/{ => common}/gui/DrawCVBase.h (100%)
 rename Application/src/commons/{ => common}/gui/DrawHTMLBase.cpp (100%)
 rename Application/src/commons/{ => common}/gui/DrawHTMLBase.h (100%)
 rename Application/src/commons/{ => common}/gui/DrawObject.cpp (100%)
 rename Application/src/commons/{ => common}/gui/DrawObject.h (100%)
 rename Application/src/commons/{ => common}/gui/DrawSFBase.cpp (100%)
 rename Application/src/commons/{ => common}/gui/DrawSFBase.h (100%)
 rename Application/src/commons/{ => common}/gui/DrawStructure.cpp (100%)
 rename Application/src/commons/{ => common}/gui/DrawStructure.h (100%)
 rename Application/src/commons/{ => common}/gui/DrawableCollection.cpp (100%)
 rename Application/src/commons/{ => common}/gui/DrawableCollection.h (100%)
 rename Application/src/commons/{ => common}/gui/Event.cpp (100%)
 rename Application/src/commons/{ => common}/gui/Event.h (100%)
 rename Application/src/commons/{ => common}/gui/FileChooser.cpp (100%)
 rename Application/src/commons/{ => common}/gui/FileChooser.h (100%)
 rename Application/src/commons/{ => common}/gui/GLImpl.cpp (100%)
 rename Application/src/commons/{ => common}/gui/GLImpl.h (100%)
 rename Application/src/commons/{ => common}/gui/Graph.cpp (100%)
 rename Application/src/commons/{ => common}/gui/Graph.h (100%)
 rename Application/src/commons/{ => common}/gui/GuiTypes.cpp (100%)
 rename Application/src/commons/{ => common}/gui/GuiTypes.h (100%)
 rename Application/src/commons/{ => common}/gui/HttpClient.cpp (100%)
 rename Application/src/commons/{ => common}/gui/HttpClient.h (100%)
 rename Application/src/commons/{ => common}/gui/IMGUIBase.cpp (100%)
 rename Application/src/commons/{ => common}/gui/IMGUIBase.h (100%)
 rename Application/src/commons/{ => common}/gui/MetalImpl.h (100%)
 rename Application/src/commons/{ => common}/gui/MetalImpl.mm (100%)
 rename Application/src/commons/{ => common}/gui/SFLoop.cpp (100%)
 rename Application/src/commons/{ => common}/gui/SFLoop.h (100%)
 rename Application/src/commons/{ => common}/gui/SVG.cpp (100%)
 rename Application/src/commons/{ => common}/gui/SVG.h (100%)
 rename Application/src/commons/{ => common}/gui/Section.cpp (100%)
 rename Application/src/commons/{ => common}/gui/Section.h (100%)
 rename Application/src/commons/{ => common}/gui/Transform.cpp (100%)
 rename Application/src/commons/{ => common}/gui/Transform.h (100%)
 rename Application/src/commons/{ => common}/gui/colors.cpp (100%)
 rename Application/src/commons/{ => common}/gui/colors.h (100%)
 rename Application/src/commons/{ => common}/gui/types/Basic.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/Basic.h (100%)
 rename Application/src/commons/{ => common}/gui/types/Button.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/Button.h (100%)
 rename Application/src/commons/{ => common}/gui/types/Checkbox.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/Checkbox.h (100%)
 rename Application/src/commons/{ => common}/gui/types/Drawable.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/Drawable.h (100%)
 rename Application/src/commons/{ => common}/gui/types/Dropdown.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/Dropdown.h (100%)
 rename Application/src/commons/{ => common}/gui/types/Entangled.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/Entangled.h (100%)
 rename Application/src/commons/{ => common}/gui/types/HistOptions.h (100%)
 rename Application/src/commons/{ => common}/gui/types/Histogram.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/Histogram.h (100%)
 rename Application/src/commons/{ => common}/gui/types/Layout.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/Layout.h (100%)
 rename Application/src/commons/{ => common}/gui/types/List.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/List.h (100%)
 rename Application/src/commons/{ => common}/gui/types/ListItemTypes.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/ListItemTypes.h (100%)
 rename Application/src/commons/{ => common}/gui/types/MiscShapes.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/MiscShapes.h (100%)
 rename Application/src/commons/{ => common}/gui/types/PieChart.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/PieChart.h (100%)
 rename Application/src/commons/{ => common}/gui/types/ScrollableList.h (100%)
 rename Application/src/commons/{ => common}/gui/types/Serializable.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/Serializable.h (100%)
 rename Application/src/commons/{ => common}/gui/types/SingletonObject.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/SingletonObject.h (100%)
 rename Application/src/commons/{ => common}/gui/types/StaticText.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/StaticText.h (100%)
 rename Application/src/commons/{ => common}/gui/types/Table.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/Table.h (100%)
 rename Application/src/commons/{ => common}/gui/types/Textfield.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/Textfield.h (100%)
 rename Application/src/commons/{ => common}/gui/types/Tooltip.cpp (100%)
 rename Application/src/commons/{ => common}/gui/types/Tooltip.h (100%)
 rename Application/src/commons/{ => common}/http/httpd.cpp (100%)
 rename Application/src/commons/{ => common}/http/httpd.h (100%)
 rename Application/src/commons/{ => common}/misc/Base64.cpp (100%)
 rename Application/src/commons/{ => common}/misc/Base64.h (100%)
 rename Application/src/commons/{ => common}/misc/Blob.cpp (100%)
 rename Application/src/commons/{ => common}/misc/Blob.h (100%)
 rename Application/src/commons/{ => common}/misc/CircularGraph.cpp (100%)
 rename Application/src/commons/{ => common}/misc/CircularGraph.h (100%)
 rename Application/src/commons/{ => common}/misc/CommandLine.cpp (100%)
 rename Application/src/commons/{ => common}/misc/CommandLine.h (100%)
 rename Application/src/commons/{ => common}/misc/CropOffsets.cpp (100%)
 rename Application/src/commons/{ => common}/misc/CropOffsets.h (100%)
 rename Application/src/commons/{ => common}/misc/EnumClass.h (100%)
 rename Application/src/commons/{ => common}/misc/GlobalSettings.cpp (100%)
 rename Application/src/commons/{ => common}/misc/GlobalSettings.h (100%)
 rename Application/src/commons/{ => common}/misc/Grid.cpp (100%)
 rename Application/src/commons/{ => common}/misc/Grid.h (100%)
 rename Application/src/commons/{ => common}/misc/Image.cpp (100%)
 rename Application/src/commons/{ => common}/misc/Image.h (100%)
 rename Application/src/commons/{ => common}/misc/Median.h (100%)
 rename Application/src/commons/{ => common}/misc/MetaObject.h (100%)
 rename Application/src/commons/{ => common}/misc/PVBlob.cpp (100%)
 rename Application/src/commons/{ => common}/misc/PVBlob.h (100%)
 rename Application/src/commons/{ => common}/misc/PixelTree.cpp (100%)
 rename Application/src/commons/{ => common}/misc/PixelTree.h (100%)
 rename Application/src/commons/{ => common}/misc/ProximityGrid.cpp (100%)
 rename Application/src/commons/{ => common}/misc/ProximityGrid.h (100%)
 rename Application/src/commons/{ => common}/misc/ReverseAdapter.h (100%)
 rename Application/src/commons/{ => common}/misc/SpriteMap.cpp (100%)
 rename Application/src/commons/{ => common}/misc/SpriteMap.h (100%)
 rename Application/src/commons/{ => common}/misc/SpriteProperty.cpp (100%)
 rename Application/src/commons/{ => common}/misc/SpriteProperty.h (100%)
 rename Application/src/commons/{ => common}/misc/ThreadPool.cpp (100%)
 rename Application/src/commons/{ => common}/misc/ThreadPool.h (100%)
 rename Application/src/commons/{ => common}/misc/ThreadedAnalysis.h (100%)
 rename Application/src/commons/{ => common}/misc/ThreadedAnalysis_impl.h (100%)
 rename Application/src/commons/{ => common}/misc/Timer.cpp (100%)
 rename Application/src/commons/{ => common}/misc/Timer.h (100%)
 rename Application/src/commons/{ => common}/misc/cnpy_wrapper.cpp (100%)
 rename Application/src/commons/{ => common}/misc/cnpy_wrapper.h (100%)
 rename Application/src/commons/{ => common}/misc/curve_discussion.cpp (100%)
 rename Application/src/commons/{ => common}/misc/curve_discussion.h (100%)
 rename Application/src/commons/{ => common}/misc/default_settings.cpp (100%)
 rename Application/src/commons/{ => common}/misc/default_settings.h (100%)
 rename Application/src/commons/{ => common}/misc/defines.h (100%)
 rename Application/src/commons/{ => common}/misc/detail.cpp (100%)
 rename Application/src/commons/{ => common}/misc/detail.h (100%)
 rename Application/src/commons/{ => common}/misc/math.h (100%)
 rename Application/src/commons/{ => common}/misc/metastring.h (100%)
 rename Application/src/commons/{ => common}/misc/ocl.cpp (100%)
 rename Application/src/commons/{ => common}/misc/ocl.h (100%)
 rename Application/src/commons/{ => common}/misc/pretty.cpp (100%)
 rename Application/src/commons/{ => common}/misc/pretty.h (100%)
 rename Application/src/commons/{ => common}/misc/stacktrace.h (100%)
 rename Application/src/commons/{ => common}/misc/string_view.cpp (100%)
 rename Application/src/commons/{ => common}/misc/string_view.h (100%)
 rename Application/src/commons/{ => common}/misc/vec2.cpp (100%)
 rename Application/src/commons/{ => common}/misc/vec2.h (100%)
 rename Application/src/commons/{ => common}/misc/zipper.h (100%)
 rename Application/src/commons/{ => common}/processing/Background.h (100%)
 rename Application/src/commons/{ => common}/processing/CPULabeling.cpp (100%)
 rename Application/src/commons/{ => common}/processing/CPULabeling.h (100%)
 rename Application/src/commons/{ => common}/processing/LuminanceGrid.cpp (100%)
 rename Application/src/commons/{ => common}/processing/LuminanceGrid.h (100%)
 rename Application/src/commons/{ => common}/processing/PadImage.cpp (100%)
 rename Application/src/commons/{ => common}/processing/PadImage.h (100%)
 rename Application/src/commons/{ => common}/processing/RawProcessing.cpp (100%)
 rename Application/src/commons/{ => common}/processing/RawProcessing.h (100%)
 rename Application/src/commons/{ => common}/types.cpp (100%)
 rename Application/src/commons/{ => common}/types.h (100%)
 rename Application/src/commons/{ => common}/video/GenericVideo.cpp (100%)
 rename Application/src/commons/{ => common}/video/GenericVideo.h (100%)
 rename Application/src/commons/{ => common}/video/Video.cpp (100%)
 rename Application/src/commons/{ => common}/video/Video.h (100%)
 rename Application/src/commons/{ => common}/video/VideoSource.cpp (100%)
 rename Application/src/commons/{ => common}/video/VideoSource.h (100%)
 create mode 160000 Application/src/imgui

diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..96b18b5
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,6 @@
+[submodule "Application/src/cnpy"]
+	path = Application/src/cnpy
+	url = https://github.com/mooch443/cnpy.git
+[submodule "Application/src/imgui"]
+	path = Application/src/imgui
+	url = https://github.com/mooch443/imgui.git
diff --git a/Application/CMakeLists.txt b/Application/CMakeLists.txt
index d47a523..1c67f2a 100644
--- a/Application/CMakeLists.txt
+++ b/Application/CMakeLists.txt
@@ -423,7 +423,9 @@ if(WITH_FFMPEG)
     find_library(LIBSWSSCALE_LIBRARY swscale)
 
     if(NOT AVCODEC_LIBRARY OR NOT AVFORMAT_LIBRARY OR NOT AVDEVICE_LIBRARY OR NOT LIBSWSSCALE_LIBRARY)
-        message(FATAL_ERROR "Cannot find the FFMPEG libraries (WITH_FFMPEG=ON) avformat:${AVFORMAT_LIBRARY} avdevice:${AVDEVICE_LIBRARY} swsscale:${LIBSWSSCALE_LIBRARY}")
+        message(STATUS "Cannot find the FFMPEG libraries (WITH_FFMPEG=ON) avformat:${AVFORMAT_LIBRARY} avdevice:${AVDEVICE_LIBRARY} swsscale:${LIBSWSSCALE_LIBRARY}")
+        message(STATUS "Disabling FFMPEG.")
+        set(WITH_FFMPEG OFF)
     else()
         set(FFMPEG_INCLUDE_DIRS ${AVCODEC_INCLUDE_DIR} ${AVFORMAT_INCLUDE_DIR} ${AVUTIL_INCLUDE_DIR} ${AVDEVICE_INCLUDE_DIR})
         set(FFMPEG_LIBRARIES ${AVCODEC_LIBRARY} ${AVFORMAT_LIBRARY} ${AVUTIL_LIBRARY} ${AVDEVICE_LIBRARY} ${LIBSWSSCALE_LIBRARY})
@@ -517,8 +519,9 @@ if((NOT ${TREX_BUILD_ZLIB}) AND ZLIB_FOUND AND ZLIB_VERSION_STRING VERSION_GREAT
     unset(ZLIB_LIBRARY)
     
 else()
-    message(STATUS "Building libZ")
+    message(STATUS "Building libZ and libZIP")
 	set(TREX_BUILD_ZLIB ON)
+    set(TREX_BUILD_ZIP ON)
     set(ZLIB_LIBRARY "z")
     set(zlib_install_dir "${CMAKE_BINARY_DIR}/zlib")
     
@@ -700,6 +703,28 @@ if(WIN32)
     set(OpenCV_STATIC ON)
 endif()
 
+if(NOT TREX_BUILD_OPENCV)
+    find_package( OpenCV )
+    
+    if(NOT OpenCV_FOUND)
+        set(TREX_BUILD_OPENCV ON)
+        message(STATUS "Cannot find OpenCV. Trying to build it.")
+    else()
+        include_directories( ${OpenCV_INCLUDE_DIRS} )
+        message(STATUS "Found OpenCV Version: ${OpenCV_VERSION} include: ${OpenCV_INCLUDE_DIRS} libs: ${OpenCV_LIBRARIES}")
+        set(OpenCV_LIBS ${OpenCV_LIBRARIES})
+    
+        add_library (TRex::OpenCV INTERFACE IMPORTED)
+        target_link_libraries (TRex::OpenCV INTERFACE ${OpenCV_LIBS})
+        if(UNIX AND NOT APPLE)
+            find_package(TIFF)
+            message(STATUS "TIFF libraries: ${TIFF_LIBRARIES}")
+            target_link_libraries(TRex::OpenCV INTERFACE tiff cairo)
+        endif()
+        set(OpenCV_LIBS TRex::OpenCV)
+    endif()
+endif()
+
 if(TREX_BUILD_OPENCV)
     set(trigger_build_dir ${CMAKE_BINARY_DIR}/force_opencv)
     set(BUILD_SHARED_LIBS OFF)
@@ -777,7 +802,7 @@ if(TREX_BUILD_OPENCV)
             -DBUILD_WITH_DEBUG_INFO=OFF
             -DWITH_EIGEN:BOOL=FALSE
             -DWITH_CUDA:BOOL=FALSE
-            -DWITH_FFMPEG:BOOL=TRUE
+            -DWITH_FFMPEG:BOOL=${WITH_FFMPEG}
             -DWITH_MSMF:BOOL=FALSE
             -DWITH_IPP:BOOL=FALSE
             -DWITH_PNG:BOOL=TRUE
@@ -892,21 +917,6 @@ if(TREX_BUILD_OPENCV)
     add_dependencies(TRex::OpenCV CustomOpenCV)
     message(STATUS "OpenCV: ${OpenCV_LIBS}")
     set(OpenCV_LIBS TRex::OpenCV)
-else()
-    find_package( OpenCV REQUIRED )
-
-    include_directories( ${OpenCV_INCLUDE_DIRS} )
-    message(STATUS "OpenCV Version: ${OpenCV_VERSION} include: ${OpenCV_INCLUDE_DIRS} libs: ${OpenCV_LIBRARIES}")
-    set(OpenCV_LIBS ${OpenCV_LIBRARIES})
-    
-    add_library (TRex::OpenCV INTERFACE IMPORTED)
-    target_link_libraries (TRex::OpenCV INTERFACE ${OpenCV_LIBS})
-    if(UNIX AND NOT APPLE)
-        find_package(TIFF)
-        message(STATUS "TIFF libraries: ${TIFF_LIBRARIES}")
-        target_link_libraries(TRex::OpenCV INTERFACE tiff cairo)
-    endif()
-    set(OpenCV_LIBS TRex::OpenCV)
 endif()
 
 
diff --git a/Application/cmake_conda_osx.sh b/Application/cmake_conda_osx.sh
new file mode 100755
index 0000000..c66183b
--- /dev/null
+++ b/Application/cmake_conda_osx.sh
@@ -0,0 +1,91 @@
+if [ ! $(which python3) ]; then
+    echo "Python is not installed. Please install python3 first, or simply use a conda environment that provides python3."
+    exit 1
+else
+    echo "Using python at '$(which python3)'..."
+fi
+
+if [ ! $(which cmake) ]; then
+    echo "CMake >=3 is required to build this project."
+    exit 1
+fi
+
+IN_CONDA=""
+if [ ! $(printenv CONDA_PREFIX_1) ] ]; then
+    IN_CONDA=${CONDA_PREFIX}
+fi
+
+if [ "$(uname)" == "Linux" ]; then
+    echo "Setting up for Linux."
+    echo ""
+    
+    CC=$(which gcc)
+    CXX=$(which g++)
+
+    if [ $(printenv CC) ]; then
+        CC=$(printenv CC)
+    fi
+    if [ $(printenv CXX) ]; then
+        CXX=$(printenv CXX)
+    fi
+    
+    if [ ! $CC ]; then
+        echo "No gcc compiler found. Please provide it in PATH or as a CC environment variable."
+        exit 1
+    fi
+    
+    if [ ! $CXX ]; then
+        echo "No g++ compiler found. Please provide it in PATH or as a CXX environment variable."
+        exit 1
+    fi
+
+    if [ ${IN_CONDA} ]; then
+        CC=${CC} CXX=${CXX} PKG_CONFIG_PATH=$CONDA_PREFIX/lib/pkgconfig cmake .. -DPYTHON_INCLUDE_DIR:FILEPATH=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())")  -DPYTHON_LIBRARY:FILEPATH=$(python3 ../find_library.py) -DPYTHON_EXECUTABLE:FILEPATH=$(which python3)  -DCMAKE_BUILD_TYPE=Release -DWITH_FFMPEG=ON -DCMAKE_PREFIX_PATH=$CONDA_PREFIX -DWITH_PYLON=ON
+    else
+        CC=${CC} CXX=${CXX} PKG_CONFIG_PATH=$CONDA_PREFIX/lib/pkgconfig cmake .. -DPYTHON_INCLUDE_DIR:FILEPATH=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())")  -DPYTHON_LIBRARY:FILEPATH=$(python3 ../find_library.py)  -DPYTHON_EXECUTABLE:FILEPATH=$(which python3)  -DCMAKE_BUILD_TYPE=Release -DWITH_FFMPEG=ON -DWITH_HTTPD=ON -DWITH_PYLON=ON
+    fi
+else
+    echo "Setting up for macOS."
+    echo ""
+    
+    if [ ${IN_CONDA} ]; then
+        echo "**************************************"
+        echo "Using conda environment $CONDA_PREFIX"
+        echo "If you dont want this, please deactivate the conda environment first."
+        echo "**************************************"
+        
+        PKG_CONFIG_PATH=$CONDA_PREFIX/lib/pkgconfig cmake .. \
+            -DPYTHON_INCLUDE_DIR:FILEPATH=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
+            -DPYTHON_LIBRARY:FILEPATH=$(python3 ../find_library.py) \
+            -DPYTHON_EXECUTABLE:FILEPATH=$(which python3) \
+            -DCMAKE_BUILD_TYPE=Release  \
+            -G Xcode \
+            -DWITH_FFMPEG=ON \
+            -DPYTHON3_PACKAGES_PATH=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
+            -DTREX_BUILD_ZLIB=ON \
+            -DTREX_BUILD_ZIP=ON \
+            -DCMAKE_PREFIX_PATH="$CONDA_PREFIX;$CONDA_PREFIX/lib/pkgconfig;$CONDA_PREFIX/lib"
+    else
+        echo "**************************************"
+        echo "Not in a conda environment."
+        echo "Trying to build everything on my own."
+        echo "If you wish to use a conda environment, please activate it first."
+        echo "**************************************"
+        
+        echo "Building GLFW, checking for OpenCV. If you want to specify an FFMPEG path, please set the PKG_CONFIG_PATH environment variable accordingly."
+        echo ""
+        
+        cmake .. \
+            -DPYTHON_INCLUDE_DIR:FILEPATH=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
+            -DPYTHON_LIBRARY:FILEPATH=$(python3 ../find_library.py) \
+            -DPYTHON_EXECUTABLE:FILEPATH=$(which python3) \
+            -DCMAKE_BUILD_TYPE=Release  \
+            -G Xcode \
+            -DWITH_FFMPEG=ON
+    fi
+fi
+
+cmake --build . --target Z_LIB --config Release
+cmake --build . --target CustomOpenCV --config Release
+cmake ..
+cmake --build . --target ALL_BUILD --config Release
diff --git a/Application/cmake_osx.sh b/Application/cmake_osx.sh
deleted file mode 100755
index 4027f95..0000000
--- a/Application/cmake_osx.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-cmake .. -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DCMAKE_MODULE_PATH=/usr/local/Cellar/opencv3/$(ls -t /usr/local/Cellar/opencv3/ | head -1)/share/OpenCV/ -DOpenCV_DIR=/usr/local/Cellar/opencv3/$(ls -t /usr/local/Cellar/opencv3/ | head -1)/share/OpenCV/ -DQTDIR=/usr/local/Cellar/qt5/5.6.0/ -G Xcode
-xcodebuild -configuration Release
diff --git a/Application/libzip_windows/zip_source_winzip_aes_encode.c b/Application/libzip_windows/zip_source_winzip_aes_encode.c
new file mode 100644
index 0000000..772799b
--- /dev/null
+++ b/Application/libzip_windows/zip_source_winzip_aes_encode.c
@@ -0,0 +1,242 @@
+/*
+  zip_source_winzip_aes_encode.c -- Winzip AES encryption routines
+  Copyright (C) 2009-2019 Dieter Baron and Thomas Klausner
+
+  This file is part of libzip, a library to manipulate ZIP archives.
+  The authors can be contacted at <libzip@nih.at>
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+  notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+  notice, this list of conditions and the following disclaimer in
+  the documentation and/or other materials provided with the
+  distribution.
+  3. The names of the authors may not be used to endorse or promote
+  products derived from this software without specific prior
+  written permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
+  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+  IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+  IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "zipint.h"
+
+
+struct winzip_aes {
+    char *password;
+    zip_uint16_t encryption_method;
+
+    zip_uint8_t data[ZIP_MAX(WINZIP_AES_MAX_HEADER_LENGTH, SHA1_LENGTH)];
+    zip_buffer_t *buffer;
+
+    zip_winzip_aes_t *aes_ctx;
+    bool eof;
+    zip_error_t error;
+};
+
+
+static int encrypt_header(zip_source_t *src, struct winzip_aes *ctx);
+static void winzip_aes_free(struct winzip_aes *);
+static zip_int64_t winzip_aes_encrypt(zip_source_t *src, void *ud, void *data, zip_uint64_t len, zip_source_cmd_t cmd);
+static struct winzip_aes *winzip_aes_new(zip_uint16_t encryption_method, const char *password, zip_error_t *error);
+
+
+zip_source_t *
+zip_source_winzip_aes_encode(zip_t *za, zip_source_t *src, zip_uint16_t encryption_method, int flags, const char *password) {
+    zip_source_t *s2;
+    struct winzip_aes *ctx;
+
+    if ((encryption_method != ZIP_EM_AES_128 && encryption_method != ZIP_EM_AES_192 && encryption_method != ZIP_EM_AES_256) || password == NULL || src == NULL) {
+	zip_error_set(&za->error, ZIP_ER_INVAL, 0);
+	return NULL;
+    }
+
+    if ((ctx = winzip_aes_new(encryption_method, password, &za->error)) == NULL) {
+	return NULL;
+    }
+
+    if ((s2 = zip_source_layered(za, src, winzip_aes_encrypt, ctx)) == NULL) {
+	winzip_aes_free(ctx);
+	return NULL;
+    }
+
+    return s2;
+}
+
+
+static int
+encrypt_header(zip_source_t *src, struct winzip_aes *ctx) {
+    zip_uint16_t salt_length = SALT_LENGTH(ctx->encryption_method);
+    if (!zip_random(ctx->data, salt_length)) {
+	zip_error_set(&ctx->error, ZIP_ER_INTERNAL, 0);
+	return -1;
+    }
+
+    if ((ctx->aes_ctx = _zip_winzip_aes_new((zip_uint8_t *)ctx->password, strlen(ctx->password), ctx->data, ctx->encryption_method, ctx->data + salt_length, &ctx->error)) == NULL) {
+	return -1;
+    }
+
+    if ((ctx->buffer = _zip_buffer_new(ctx->data, salt_length + WINZIP_AES_PASSWORD_VERIFY_LENGTH)) == NULL) {
+	_zip_winzip_aes_free(ctx->aes_ctx);
+	ctx->aes_ctx = NULL;
+	zip_error_set(&ctx->error, ZIP_ER_MEMORY, 0);
+	return -1;
+    }
+
+    return 0;
+}
+
+
+static zip_int64_t
+winzip_aes_encrypt(zip_source_t *src, void *ud, void *data, zip_uint64_t length, zip_source_cmd_t cmd) {
+    struct winzip_aes *ctx;
+    zip_int64_t ret;
+    zip_uint64_t buffer_n;
+
+    ctx = (struct winzip_aes *)ud;
+
+    switch (cmd) {
+    case ZIP_SOURCE_OPEN:
+	ctx->eof = false;
+	if (encrypt_header(src, ctx) < 0) {
+	    return -1;
+	}
+	return 0;
+
+    case ZIP_SOURCE_READ:
+	buffer_n = 0;
+
+	if (ctx->buffer) {
+	    buffer_n = _zip_buffer_read(ctx->buffer, data, length);
+
+	    data = (zip_uint8_t *)data + buffer_n;
+	    length -= buffer_n;
+
+	    if (_zip_buffer_eof(ctx->buffer)) {
+		_zip_buffer_free(ctx->buffer);
+		ctx->buffer = NULL;
+	    }
+	}
+
+	if (ctx->eof) {
+	    return (zip_int64_t)buffer_n;
+	}
+
+	if ((ret = zip_source_read(src, data, length)) < 0) {
+	    _zip_error_set_from_source(&ctx->error, src);
+	    return -1;
+	}
+
+	if (!_zip_winzip_aes_encrypt(ctx->aes_ctx, data, (zip_uint64_t)ret)) {
+	    zip_error_set(&ctx->error, ZIP_ER_INTERNAL, 0);
+	    /* TODO: return partial read? */
+	    return -1;
+	}
+
+	if ((zip_uint64_t)ret < length) {
+	    ctx->eof = true;
+	    if (!_zip_winzip_aes_finish(ctx->aes_ctx, ctx->data)) {
+		zip_error_set(&ctx->error, ZIP_ER_INTERNAL, 0);
+		/* TODO: return partial read? */
+		return -1;
+	    }
+	    _zip_winzip_aes_free(ctx->aes_ctx);
+	    ctx->aes_ctx = NULL;
+	    if ((ctx->buffer = _zip_buffer_new(ctx->data, HMAC_LENGTH)) == NULL) {
+		zip_error_set(&ctx->error, ZIP_ER_MEMORY, 0);
+		/* TODO: return partial read? */
+		return -1;
+	    }
+	    buffer_n += _zip_buffer_read(ctx->buffer, (zip_uint8_t*)data + ret, length - (zip_uint64_t)ret);
+	}
+
+	return (zip_int64_t)(buffer_n + (zip_uint64_t)ret);
+
+    case ZIP_SOURCE_CLOSE:
+	return 0;
+
+    case ZIP_SOURCE_STAT: {
+	zip_stat_t *st;
+
+	st = (zip_stat_t *)data;
+	st->encryption_method = ctx->encryption_method;
+	st->valid |= ZIP_STAT_ENCRYPTION_METHOD;
+	if (st->valid & ZIP_STAT_COMP_SIZE) {
+	    st->comp_size += 12 + SALT_LENGTH(ctx->encryption_method);
+	}
+
+	return 0;
+    }
+
+    case ZIP_SOURCE_SUPPORTS:
+	return zip_source_make_command_bitmap(ZIP_SOURCE_OPEN, ZIP_SOURCE_READ, ZIP_SOURCE_CLOSE, ZIP_SOURCE_STAT, ZIP_SOURCE_ERROR, ZIP_SOURCE_FREE, -1);
+
+    case ZIP_SOURCE_ERROR:
+	return zip_error_to_data(&ctx->error, data, length);
+
+    case ZIP_SOURCE_FREE:
+	winzip_aes_free(ctx);
+	return 0;
+
+    default:
+	zip_error_set(&ctx->error, ZIP_ER_INVAL, 0);
+	return -1;
+    }
+}
+
+
+static void
+winzip_aes_free(struct winzip_aes *ctx) {
+    if (ctx == NULL) {
+	return;
+    }
+
+    _zip_crypto_clear(ctx->password, strlen(ctx->password));
+    free(ctx->password);
+    zip_error_fini(&ctx->error);
+    _zip_buffer_free(ctx->buffer);
+    _zip_winzip_aes_free(ctx->aes_ctx);
+    free(ctx);
+}
+
+
+static struct winzip_aes *
+winzip_aes_new(zip_uint16_t encryption_method, const char *password, zip_error_t *error) {
+    struct winzip_aes *ctx;
+
+    if ((ctx = (struct winzip_aes *)malloc(sizeof(*ctx))) == NULL) {
+	zip_error_set(error, ZIP_ER_MEMORY, 0);
+	return NULL;
+    }
+
+    if ((ctx->password = strdup(password)) == NULL) {
+	free(ctx);
+	zip_error_set(error, ZIP_ER_MEMORY, 0);
+	return NULL;
+    }
+
+    ctx->encryption_method = encryption_method;
+    ctx->buffer = NULL;
+    ctx->aes_ctx = NULL;
+
+    zip_error_init(&ctx->error);
+
+    ctx->eof = false;
+    return ctx;
+}
diff --git a/Application/src/cnpy b/Application/src/cnpy
new file mode 160000
index 0000000..fd9e97c
--- /dev/null
+++ b/Application/src/cnpy
@@ -0,0 +1 @@
+Subproject commit fd9e97c5255d2866117b28c68635daf435c84cdc
diff --git a/Application/src/commons/FindBaslerPylon.cmake b/Application/src/commons/FindBaslerPylon.cmake
deleted file mode 100644
index 72adbdb..0000000
--- a/Application/src/commons/FindBaslerPylon.cmake
+++ /dev/null
@@ -1,78 +0,0 @@
-# - Try to find Pylon
-# Once done this will define
-#  PYLON_FOUND - System has Pylon
-#  PYLON_INCLUDE_DIRS - The Pylon include directories
-#  PYLON_LIBRARIES - The libraries needed to use Pylon
-
-IF(${OperatingSystem} MATCHES "Windows")
-	if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
-		set( PYLON_LIBRARY "$ENV{PYLON_ROOT}/lib/x64" )
-	else()
-		set( PYLON_LIBRARY "$ENV{PYLON_ROOT}/lib/Win32" )
-	endif()
-ELSE()
-		if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
-			set( PYLON_LIBRARY "/opt/pylon5/lib64" )
-		else()
-			set( PYLON_LIBRARY "/opt/pylon5/lib32" )
-		endif()
-ENDIF()
-
-message(STATUS "Searching for pylon at " ${PYLON_LIBRARY})
-
-FIND_PATH(	PYLON_INCLUDE_DIR pylon/PylonBase.h
-			PATHS
-			/opt/pylon5/include
-			"$ENV{PYLON_ROOT}/include"
-)
-
-FIND_LIBRARY(	PYLONBASE_LIBRARY 
-				NAMES 
-				pylonbase PylonBase_MD_VC100 PylonBase_v6_0
-				PATHS
-				${PYLON_LIBRARY}
-)
-
-FIND_LIBRARY(	PYLON_UTILITY_LIBRARY 
-				NAMES 
-				pylonutility PylonUtility_MD_VC100 PylonUtility_v6_0
-				PATHS
-				${PYLON_LIBRARY}
-)
-
-FIND_LIBRARY( PYLON_GEN_LIBRARY
-	NAMES
-	GenApi_gcc_v3_0_Basler_pylon_v5_0 GenApi_MD_VC141_v3_1_Basler_pylon
-	PATHS
-	${PYLON_LIBRARY}
-)
-
-FIND_LIBRARY( PYLON_GEN2_LIBRARY
-	NAMES
-	GCBase_gcc_v3_0_Basler_pylon_v5_0 GCBase_MD_VC141_v3_1_Basler_pylon
-	PATHS
-	${PYLON_LIBRARY}
-)
-
-set( XERCES-C_LIBRARY "" )
-FIND_LIBRARY(	XERCES-C_LIBRARY 
-				NAMES 
-				Xerces-C_gcc40_v2_7 Xerces-C_MD_VC100_v2_7_1
-				PATHS
-				${PYLON_LIBRARY}
-)
-
-if( NOT XERCES-C_LIBRARY)
-    set(XERCES-C_LIBRARY "")
-endif(NOT XERCES-C_LIBRARY)
-
-set(PYLON_LIBRARIES  ${PYLONBASE_LIBRARY} ${XERCES-C_LIBRARY} ${PYLON_UTILITY_LIBRARY} ${PYLON_GEN_LIBRARY} ${PYLON_GEN2_LIBRARY})
-set(PYLON_INCLUDE_DIRS ${PYLON_INCLUDE_DIR})
-
-INCLUDE(FindPackageHandleStandardArgs)
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(PYLON DEFAULT_MSG
-  PYLON_INCLUDE_DIR
-  PYLON_LIBRARY)
-
-mark_as_advanced(PYLON_INCLUDE_DIR PYLON_LIBRARIES)
diff --git a/Application/src/commons/FindLibMicroHttpd.cmake b/Application/src/commons/FindLibMicroHttpd.cmake
deleted file mode 100644
index e5c28fa..0000000
--- a/Application/src/commons/FindLibMicroHttpd.cmake
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-#  Copyright (c) 2010 Carlos Junior <address@hidden>
-#
-# - Try to find libmicrohttpd
-# Once done this will define
-#
-#  MHD_FOUND - system has libmicrohttpd
-#  MHD_INCLUDE_DIRS - the libmicrohttpd include directory
-#  MHD_LIBRARIES - Link these to use libmicrohttpd
-#  MHD_DEFINITIONS - Compiler switches required for using libmicrohttpd
-#
-#  Redistribution and use is allowed according to the terms of the GPLv3 license
-#  For details see the accompanying LICENSE file.
-#
-
-if (MHD_LIBRARIES AND MHD_INCLUDE_DIRS)
-  # in cache already
-  set(MHD_FOUND TRUE)
-else (MHD_LIBRARIES AND MHD_INCLUDE_DIRS)
-  set(MHD_DEFINITIONS "")
-
-  find_path(MHD_INCLUDE_DIR
-    NAMES
-      microhttpd.h
-    PATHS
-      /usr/include
-      /usr/local/include
-      /opt/local/include
-      /sw/include
-  )
-
-  find_library(MHD_LIBRARY
-    NAMES
-      microhttpd
-    PATHS
-      /usr/lib
-      /usr/local/lib
-      /opt/local/lib
-      /sw/lib
-  )
-
-  if (MHD_LIBRARY)
-    set(MHD_FOUND TRUE)
-  endif (MHD_LIBRARY)
-
-  set(MHD_INCLUDE_DIRS
-    ${MHD_INCLUDE_DIR}
-  )
-
-  if (MHD_FOUND)
-    set(MHD_LIBRARIES
-      ${MHD_LIBRARIES}
-      ${MHD_LIBRARY}
-    )
-  endif (MHD_FOUND)
-
-  if (MHD_INCLUDE_DIRS AND MHD_LIBRARIES)
-    set(MHD_FOUND TRUE)
-  endif (MHD_INCLUDE_DIRS AND MHD_LIBRARIES)
-
-  if (MHD_FIND_REQUIRED AND NOT MHD_FOUND)
-    message(FATAL_ERROR "Could not find LibMicroHTTPD")
-  endif (MHD_FIND_REQUIRED AND NOT MHD_FOUND)
-
-  # show the MHD_INCLUDE_DIRS and MHD_LIBRARIES variables only in the advanced view
-  mark_as_advanced(MHD_INCLUDE_DIRS MHD_LIBRARIES)
-
-endif (MHD_LIBRARIES AND MHD_INCLUDE_DIRS)
\ No newline at end of file
diff --git a/Application/src/commons/FindSFML.cmake b/Application/src/commons/FindSFML.cmake
deleted file mode 100644
index fdea1eb..0000000
--- a/Application/src/commons/FindSFML.cmake
+++ /dev/null
@@ -1,368 +0,0 @@
-# This script locates the SFML library
-# ------------------------------------
-#
-# Usage
-# -----
-#
-# When you try to locate the SFML libraries, you must specify which modules you want to use (system, window, graphics, network, audio, main).
-# If none is given, the SFML_LIBRARIES variable will be empty and you'll end up linking to nothing.
-# example:
-#   find_package(SFML COMPONENTS graphics window system) # find the graphics, window and system modules
-#
-# You can enforce a specific version, either MAJOR.MINOR or only MAJOR.
-# If nothing is specified, the version won't be checked (i.e. any version will be accepted).
-# example:
-#   find_package(SFML COMPONENTS ...)     # no specific version required
-#   find_package(SFML 2 COMPONENTS ...)   # any 2.x version
-#   find_package(SFML 2.4 COMPONENTS ...) # version 2.4 or greater
-#
-# By default, the dynamic libraries of SFML will be found. To find the static ones instead,
-# you must set the SFML_STATIC_LIBRARIES variable to TRUE before calling find_package(SFML ...).
-# Since you have to link yourself all the SFML dependencies when you link it statically, the following
-# additional variables are defined: SFML_XXX_DEPENDENCIES and SFML_DEPENDENCIES (see their detailed
-# description below).
-# In case of static linking, the SFML_STATIC macro will also be defined by this script.
-# example:
-#   set(SFML_STATIC_LIBRARIES TRUE)
-#   find_package(SFML 2 COMPONENTS network system)
-#
-# On Mac OS X if SFML_STATIC_LIBRARIES is not set to TRUE then by default CMake will search for frameworks unless
-# CMAKE_FIND_FRAMEWORK is set to "NEVER" for example. Please refer to CMake documentation for more details.
-# Moreover, keep in mind that SFML frameworks are only available as release libraries unlike dylibs which
-# are available for both release and debug modes.
-#
-# If SFML is not installed in a standard path, you can use the SFML_ROOT CMake (or environment) variable
-# to tell CMake where SFML is.
-#
-# Output
-# ------
-#
-# This script defines the following variables:
-# - For each specified module XXX (system, window, graphics, network, audio, main):
-#   - SFML_XXX_LIBRARY_DEBUG:   the name of the debug library of the xxx module (set to SFML_XXX_LIBRARY_RELEASE is no debug version is found)
-#   - SFML_XXX_LIBRARY_RELEASE: the name of the release library of the xxx module (set to SFML_XXX_LIBRARY_DEBUG is no release version is found)
-#   - SFML_XXX_LIBRARY:         the name of the library to link to for the xxx module (includes both debug and optimized names if necessary)
-#   - SFML_XXX_FOUND:           true if either the debug or release library of the xxx module is found
-#   - SFML_XXX_DEPENDENCIES:    the list of libraries the module depends on, in case of static linking
-# - SFML_LIBRARIES:    the list of all libraries corresponding to the required modules
-# - SFML_FOUND:        true if all the required modules are found
-# - SFML_INCLUDE_DIR:  the path where SFML headers are located (the directory containing the SFML/Config.hpp file)
-# - SFML_DEPENDENCIES: the list of libraries SFML depends on, in case of static linking
-#
-# example:
-#   find_package(SFML 2 COMPONENTS system window graphics audio REQUIRED)
-#   include_directories(${SFML_INCLUDE_DIR})
-#   add_executable(myapp ...)
-#   target_link_libraries(myapp ${SFML_LIBRARIES})
-
-# define the SFML_STATIC macro if static build was chosen
-if(SFML_STATIC_LIBRARIES)
-    add_definitions(-DSFML_STATIC)
-endif()
-
-# define the list of search paths for headers and libraries
-set(FIND_SFML_PATHS
-    ${SFML_ROOT}
-    $ENV{SFML_ROOT}
-    ~/Library/Frameworks
-    /Library/Frameworks
-    /usr/local
-    /usr
-    /sw
-    /opt/local
-    /opt/csw
-    /opt)
-
-# find the SFML include directory
-find_path(SFML_INCLUDE_DIR SFML/Config.hpp
-          PATH_SUFFIXES include
-          PATHS ${FIND_SFML_PATHS})
-
-# check the version number
-set(SFML_VERSION_OK TRUE)
-if(SFML_FIND_VERSION AND SFML_INCLUDE_DIR)
-    # extract the major and minor version numbers from SFML/Config.hpp
-    # we have to handle framework a little bit differently:
-    if("${SFML_INCLUDE_DIR}" MATCHES "SFML.framework")
-        set(SFML_CONFIG_HPP_INPUT "${SFML_INCLUDE_DIR}/Headers/Config.hpp")
-    else()
-        set(SFML_CONFIG_HPP_INPUT "${SFML_INCLUDE_DIR}/SFML/Config.hpp")
-    endif()
-    FILE(READ "${SFML_CONFIG_HPP_INPUT}" SFML_CONFIG_HPP_CONTENTS)
-    STRING(REGEX REPLACE ".*#define SFML_VERSION_MAJOR ([0-9]+).*" "\\1" SFML_VERSION_MAJOR "${SFML_CONFIG_HPP_CONTENTS}")
-    STRING(REGEX REPLACE ".*#define SFML_VERSION_MINOR ([0-9]+).*" "\\1" SFML_VERSION_MINOR "${SFML_CONFIG_HPP_CONTENTS}")
-    STRING(REGEX REPLACE ".*#define SFML_VERSION_PATCH ([0-9]+).*" "\\1" SFML_VERSION_PATCH "${SFML_CONFIG_HPP_CONTENTS}")
-    if (NOT "${SFML_VERSION_PATCH}" MATCHES "^[0-9]+$")
-        set(SFML_VERSION_PATCH 0)
-    endif()
-    math(EXPR SFML_REQUESTED_VERSION "${SFML_FIND_VERSION_MAJOR} * 10000 + ${SFML_FIND_VERSION_MINOR} * 100 + ${SFML_FIND_VERSION_PATCH}")
-
-    # if we could extract them, compare with the requested version number
-    if (SFML_VERSION_MAJOR)
-        # transform version numbers to an integer
-        math(EXPR SFML_VERSION "${SFML_VERSION_MAJOR} * 10000 + ${SFML_VERSION_MINOR} * 100 + ${SFML_VERSION_PATCH}")
-
-        # compare them
-        if(SFML_VERSION LESS SFML_REQUESTED_VERSION)
-            set(SFML_VERSION_OK FALSE)
-        endif()
-    else()
-        # SFML version is < 2.0
-        if (SFML_REQUESTED_VERSION GREATER 10900)
-            set(SFML_VERSION_OK FALSE)
-            set(SFML_VERSION_MAJOR 1)
-            set(SFML_VERSION_MINOR x)
-            set(SFML_VERSION_PATCH x)
-        endif()
-    endif()
-endif()
-
-# find the requested modules
-set(SFML_FOUND TRUE) # will be set to false if one of the required modules is not found
-foreach(FIND_SFML_COMPONENT ${SFML_FIND_COMPONENTS})
-    string(TOLOWER ${FIND_SFML_COMPONENT} FIND_SFML_COMPONENT_LOWER)
-    string(TOUPPER ${FIND_SFML_COMPONENT} FIND_SFML_COMPONENT_UPPER)
-    set(FIND_SFML_COMPONENT_NAME sfml-${FIND_SFML_COMPONENT_LOWER})
-
-    # no suffix for sfml-main, it is always a static library
-    if(FIND_SFML_COMPONENT_LOWER STREQUAL "main")
-        # release library
-        find_library(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE
-                     NAMES ${FIND_SFML_COMPONENT_NAME}
-                     PATH_SUFFIXES lib64 lib
-                     PATHS ${FIND_SFML_PATHS})
-
-        # debug library
-        find_library(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG
-                     NAMES ${FIND_SFML_COMPONENT_NAME}-d
-                     PATH_SUFFIXES lib64 lib
-                     PATHS ${FIND_SFML_PATHS})
-    else()
-        # static release library
-        find_library(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_STATIC_RELEASE
-                     NAMES ${FIND_SFML_COMPONENT_NAME}-s
-                     PATH_SUFFIXES lib64 lib
-                     PATHS ${FIND_SFML_PATHS})
-
-        # static debug library
-        find_library(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_STATIC_DEBUG
-                     NAMES ${FIND_SFML_COMPONENT_NAME}-s-d
-                     PATH_SUFFIXES lib64 lib
-                     PATHS ${FIND_SFML_PATHS})
-
-        # dynamic release library
-        find_library(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DYNAMIC_RELEASE
-                     NAMES ${FIND_SFML_COMPONENT_NAME}
-                     PATH_SUFFIXES lib64 lib
-                     PATHS ${FIND_SFML_PATHS})
-
-        # dynamic debug library
-        find_library(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DYNAMIC_DEBUG
-                     NAMES ${FIND_SFML_COMPONENT_NAME}-d
-                     PATH_SUFFIXES lib64 lib
-                     PATHS ${FIND_SFML_PATHS})
-
-        # choose the entries that fit the requested link type
-        if(SFML_STATIC_LIBRARIES)
-            if(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_STATIC_RELEASE)
-                set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_STATIC_RELEASE})
-            endif()
-            if(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_STATIC_DEBUG)
-                set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_STATIC_DEBUG})
-            endif()
-        else()
-            if(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DYNAMIC_RELEASE)
-                set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DYNAMIC_RELEASE})
-            endif()
-            if(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DYNAMIC_DEBUG)
-                set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DYNAMIC_DEBUG})
-            endif()
-        endif()
-    endif()
-
-    if (SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG OR SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE)
-        # library found
-        set(SFML_${FIND_SFML_COMPONENT_UPPER}_FOUND TRUE)
-
-        # if both are found, set SFML_XXX_LIBRARY to contain both
-        if (SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG AND SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE)
-            set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY debug     ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG}
-                                                          optimized ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE})
-        endif()
-
-        # if only one debug/release variant is found, set the other to be equal to the found one
-        if (SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG AND NOT SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE)
-            # debug and not release
-            set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG})
-            set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY         ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG})
-        endif()
-        if (SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE AND NOT SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG)
-            # release and not debug
-            set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE})
-            set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY       ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE})
-        endif()
-    else()
-        # library not found
-        set(SFML_FOUND FALSE)
-        set(SFML_${FIND_SFML_COMPONENT_UPPER}_FOUND FALSE)
-        set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY "")
-        set(FIND_SFML_MISSING "${FIND_SFML_MISSING} SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY")
-    endif()
-
-    # mark as advanced
-    MARK_AS_ADVANCED(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY
-                     SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE
-                     SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG
-                     SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_STATIC_RELEASE
-                     SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_STATIC_DEBUG
-                     SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DYNAMIC_RELEASE
-                     SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DYNAMIC_DEBUG)
-
-    # add to the global list of libraries
-    set(SFML_LIBRARIES ${SFML_LIBRARIES} "${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY}")
-endforeach()
-
-# in case of static linking, we must also define the list of all the dependencies of SFML libraries
-if(SFML_STATIC_LIBRARIES)
-
-    # detect the OS
-    if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
-        set(FIND_SFML_OS_WINDOWS 1)
-    elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-        set(FIND_SFML_OS_LINUX 1)
-    elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
-        set(FIND_SFML_OS_FREEBSD 1)
-    elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-        set(FIND_SFML_OS_MACOSX 1)
-    endif()
-
-    # start with an empty list
-    set(SFML_DEPENDENCIES)
-    set(FIND_SFML_DEPENDENCIES_NOTFOUND)
-
-    # macro that searches for a 3rd-party library
-    macro(find_sfml_dependency output friendlyname)
-        # No lookup in environment variables (PATH on Windows), as they may contain wrong library versions
-        find_library(${output} NAMES ${ARGN} PATHS ${FIND_SFML_PATHS} PATH_SUFFIXES lib NO_SYSTEM_ENVIRONMENT_PATH)
-        if(${${output}} STREQUAL "${output}-NOTFOUND")
-            unset(output)
-            set(FIND_SFML_DEPENDENCIES_NOTFOUND "${FIND_SFML_DEPENDENCIES_NOTFOUND} ${friendlyname}")
-        endif()
-    endmacro()
-
-    # sfml-system
-    list(FIND SFML_FIND_COMPONENTS "system" FIND_SFML_SYSTEM_COMPONENT)
-    if(NOT ${FIND_SFML_SYSTEM_COMPONENT} EQUAL -1)
-
-        # update the list -- these are only system libraries, no need to find them
-        if(FIND_SFML_OS_LINUX OR FIND_SFML_OS_FREEBSD OR FIND_SFML_OS_MACOSX)
-            set(SFML_SYSTEM_DEPENDENCIES "pthread")
-        endif()
-        if(FIND_SFML_OS_LINUX)
-            set(SFML_SYSTEM_DEPENDENCIES ${SFML_SYSTEM_DEPENDENCIES} "rt")
-        endif()
-        if(FIND_SFML_OS_WINDOWS)
-            set(SFML_SYSTEM_DEPENDENCIES "winmm")
-        endif()
-        set(SFML_DEPENDENCIES ${SFML_SYSTEM_DEPENDENCIES} ${SFML_DEPENDENCIES})
-    endif()
-
-    # sfml-network
-    list(FIND SFML_FIND_COMPONENTS "network" FIND_SFML_NETWORK_COMPONENT)
-    if(NOT ${FIND_SFML_NETWORK_COMPONENT} EQUAL -1)
-
-        # update the list -- these are only system libraries, no need to find them
-        if(FIND_SFML_OS_WINDOWS)
-            set(SFML_NETWORK_DEPENDENCIES "ws2_32")
-        endif()
-        set(SFML_DEPENDENCIES ${SFML_NETWORK_DEPENDENCIES} ${SFML_DEPENDENCIES})
-    endif()
-
-    # sfml-window
-    list(FIND SFML_FIND_COMPONENTS "window" FIND_SFML_WINDOW_COMPONENT)
-    if(NOT ${FIND_SFML_WINDOW_COMPONENT} EQUAL -1)
-
-        # find libraries
-        if(FIND_SFML_OS_LINUX OR FIND_SFML_OS_FREEBSD)
-            find_sfml_dependency(X11_LIBRARY "X11" X11)
-            find_sfml_dependency(LIBXCB_LIBRARIES "XCB" xcb libxcb)
-            find_sfml_dependency(X11_XCB_LIBRARY "X11-xcb" X11-xcb libX11-xcb)
-            find_sfml_dependency(XCB_RANDR_LIBRARY "xcb-randr" xcb-randr libxcb-randr)
-            find_sfml_dependency(XCB_IMAGE_LIBRARY "xcb-image" xcb-image libxcb-image)
-        endif()
-
-        if(FIND_SFML_OS_LINUX)
-            find_sfml_dependency(UDEV_LIBRARIES "UDev" udev libudev)
-        endif()
-
-        # update the list
-        if(FIND_SFML_OS_WINDOWS)
-            set(SFML_WINDOW_DEPENDENCIES ${SFML_WINDOW_DEPENDENCIES} "opengl32" "winmm" "gdi32")
-        elseif(FIND_SFML_OS_LINUX)
-            set(SFML_WINDOW_DEPENDENCIES ${SFML_WINDOW_DEPENDENCIES} "GL" ${X11_LIBRARY} ${LIBXCB_LIBRARIES} ${X11_XCB_LIBRARY} ${XCB_RANDR_LIBRARY} ${XCB_IMAGE_LIBRARY} ${UDEV_LIBRARIES})
-        elseif(FIND_SFML_OS_FREEBSD)
-            set(SFML_WINDOW_DEPENDENCIES ${SFML_WINDOW_DEPENDENCIES} "GL" ${X11_LIBRARY} ${LIBXCB_LIBRARIES} ${X11_XCB_LIBRARY} ${XCB_RANDR_LIBRARY} ${XCB_IMAGE_LIBRARY} "usbhid")
-        elseif(FIND_SFML_OS_MACOSX)
-            set(SFML_WINDOW_DEPENDENCIES ${SFML_WINDOW_DEPENDENCIES} "-framework OpenGL -framework Foundation -framework AppKit -framework IOKit -framework Carbon")
-        endif()
-        set(SFML_DEPENDENCIES ${SFML_WINDOW_DEPENDENCIES} ${SFML_DEPENDENCIES})
-    endif()
-
-    # sfml-graphics
-    list(FIND SFML_FIND_COMPONENTS "graphics" FIND_SFML_GRAPHICS_COMPONENT)
-    if(NOT ${FIND_SFML_GRAPHICS_COMPONENT} EQUAL -1)
-
-        # find libraries
-        find_sfml_dependency(FREETYPE_LIBRARY "FreeType" freetype)
-        find_sfml_dependency(JPEG_LIBRARY "libjpeg" jpeg)
-
-        # update the list
-        set(SFML_GRAPHICS_DEPENDENCIES ${FREETYPE_LIBRARY} ${JPEG_LIBRARY})
-        set(SFML_DEPENDENCIES ${SFML_GRAPHICS_DEPENDENCIES} ${SFML_DEPENDENCIES})
-    endif()
-
-    # sfml-audio
-    list(FIND SFML_FIND_COMPONENTS "audio" FIND_SFML_AUDIO_COMPONENT)
-    if(NOT ${FIND_SFML_AUDIO_COMPONENT} EQUAL -1)
-
-        # find libraries
-        find_sfml_dependency(OPENAL_LIBRARY "OpenAL" openal openal32)
-        find_sfml_dependency(OGG_LIBRARY "Ogg" ogg)
-        find_sfml_dependency(VORBIS_LIBRARY "Vorbis" vorbis)
-        find_sfml_dependency(VORBISFILE_LIBRARY "VorbisFile" vorbisfile)
-        find_sfml_dependency(VORBISENC_LIBRARY "VorbisEnc" vorbisenc)
-        find_sfml_dependency(FLAC_LIBRARY "FLAC" FLAC)
-
-        # update the list
-        set(SFML_AUDIO_DEPENDENCIES ${OPENAL_LIBRARY} ${FLAC_LIBRARY} ${VORBISENC_LIBRARY} ${VORBISFILE_LIBRARY} ${VORBIS_LIBRARY} ${OGG_LIBRARY})
-        set(SFML_DEPENDENCIES ${SFML_DEPENDENCIES} ${SFML_AUDIO_DEPENDENCIES})
-    endif()
-
-endif()
-
-# handle errors
-if(NOT SFML_VERSION_OK)
-    # SFML version not ok
-    set(FIND_SFML_ERROR "SFML found but version too low (requested: ${SFML_FIND_VERSION}, found: ${SFML_VERSION_MAJOR}.${SFML_VERSION_MINOR}.${SFML_VERSION_PATCH})")
-    set(SFML_FOUND FALSE)
-elseif(SFML_STATIC_LIBRARIES AND FIND_SFML_DEPENDENCIES_NOTFOUND)
-    set(FIND_SFML_ERROR "SFML found but some of its dependencies are missing (${FIND_SFML_DEPENDENCIES_NOTFOUND})")
-    set(SFML_FOUND FALSE)
-elseif(NOT SFML_FOUND)
-    # include directory or library not found
-    set(FIND_SFML_ERROR "Could NOT find SFML (missing: ${FIND_SFML_MISSING})")
-endif()
-if (NOT SFML_FOUND)
-    if(SFML_FIND_REQUIRED)
-        # fatal error
-        message(FATAL_ERROR ${FIND_SFML_ERROR})
-    elseif(NOT SFML_FIND_QUIETLY)
-        # error but continue
-        message("${FIND_SFML_ERROR}")
-    endif()
-endif()
-
-# handle success
-if(SFML_FOUND AND NOT SFML_FIND_QUIETLY)
-    message(STATUS "Found SFML ${SFML_VERSION_MAJOR}.${SFML_VERSION_MINOR}.${SFML_VERSION_PATCH} in ${SFML_INCLUDE_DIR}")
-endif()
diff --git a/Application/src/commons/common/CMakeLists.txt b/Application/src/commons/common/CMakeLists.txt
new file mode 100644
index 0000000..03a3127
--- /dev/null
+++ b/Application/src/commons/common/CMakeLists.txt
@@ -0,0 +1,100 @@
+set(RESOURCES_ADDED "")
+
+add_subdirectory(cpputils)
+
+message(STATUS "INCLUDE: ${CMAKE_SOURCE_DIR}")
+include_directories(${CMAKE_SOURCE_DIR}/src/cnpy/)
+include_directories(${CMAKE_SOURE_DIR}/cpputils)
+
+file(GLOB HDRS video/*.h processing/*.h misc/*.h file/*.h gui/*.h gui/types/*.h *.h)
+file(GLOB SRCS video/*.cpp processing/*.cpp misc/*.cpp file/*.cpp gui/*.cpp gui/types/*.cpp *.cpp)
+
+if(APPLE AND CMAKE_CXX_COMPILER_ID MATCHES "^(Apple)?Clang$" AND METAL_LIBRARY)
+    set(SRCS ${SRCS} gui/MetalImpl.mm )
+else()
+    message(STATUS "Skipping metal implementation")
+endif()
+
+if(WITH_HTTPD)
+	file(GLOB _HDRS http/*.h)
+	file(GLOB _SRCS http/*.cpp)
+	
+	set(HDRS ${HDRS} ${_HDRS})
+	set(SRCS ${SRCS} ${_SRCS})
+endif()
+
+# automatic moc file generation by Qt MOC
+set(CMAKE_AUTOMOC OFF)
+# to include generated moc headers, since they are generated in binary dir
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+if(${CMAKE_VERSION} VERSION_LESS "3.16.0")
+    set(HDRS ${HDRS} commons.pc.h)
+endif()
+
+# add actual library
+if(APPLE)
+  add_library(commons STATIC ${SRCS} ${HDRS})
+elseif(WIN32)
+  add_library(commons STATIC ${SRCS} ${HDRS})
+else()
+  add_library(commons STATIC ${SRCS} ${HDRS})
+endif()
+
+option(TREX_DONT_USE_PCH OFF)
+if(${CMAKE_VERSION} VERSION_LESS "3.16.0" OR TREX_DONT_USE_PCH)
+    message("Please consider to switch to CMake 3.16.0")
+else()
+    target_precompile_headers(commons
+      PUBLIC
+        commons.pc.h
+      PRIVATE
+    )
+endif()
+
+add_dependencies(commons TRex::LibZIP TRex::LibZ cnpy gladex TRex::GLFW imgui)
+if(APPLE OR NOT UNIX)
+    add_dependencies(commons TRex::LibPNG)
+endif()
+
+#if(NOT APPLE AND NOT WIN32)
+#find_library(tiff REQUIRED)
+#target_link_libraries(commons PUBLIC tiff)
+#set_property(TARGET commons PROPERTY POSITION_INDEPENDENT_CODE ON)
+#endif()
+
+foreach(FILE ${SRCS} ${HDRS}) 
+    # Get the directory of the source file
+    get_filename_component(PARENT_DIR "${FILE}" DIRECTORY)
+
+    # Remove common directory prefix to make the group
+    string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}" "" GROUP "${PARENT_DIR}")
+
+    # Make sure we are using windows slashes
+    string(REPLACE "/" "\\" GROUP "${GROUP}")
+
+    # Group into "Source Files" and "Header Files"
+    if ("${FILE}" MATCHES ".*\\.cpp")
+       set(GROUP "${GROUP}")
+    elseif("${FILE}" MATCHES ".*\\.h")
+       set(GROUP "${GROUP}")
+    endif()
+
+    source_group("${GROUP}" FILES "${FILE}")
+endforeach()
+
+target_link_libraries(commons
+    PUBLIC cpputils
+    PRIVATE cnpy
+)
+
+if(${PYLON_FOUND} AND ${WITH_PYLON})
+	target_link_libraries( commons PRIVATE ${PYLON_LIBRARIES} )
+endif()
+
+if(WITH_HTTPD)
+	target_link_libraries(commons PRIVATE ${MHD_LIBRARIES})
+    add_dependencies(commons LibMicroHttpd)
+endif()
+
+add_dependencies(commons TRex::OpenCV)
diff --git a/Application/src/commons/JSON.h b/Application/src/commons/common/JSON.h
similarity index 100%
rename from Application/src/commons/JSON.h
rename to Application/src/commons/common/JSON.h
diff --git a/Application/src/commons/commons.pc.h b/Application/src/commons/common/commons.pc.h
similarity index 100%
rename from Application/src/commons/commons.pc.h
rename to Application/src/commons/common/commons.pc.h
diff --git a/Application/src/commons/cpputils/CMakeLists.txt b/Application/src/commons/common/cpputils/CMakeLists.txt
similarity index 100%
rename from Application/src/commons/cpputils/CMakeLists.txt
rename to Application/src/commons/common/cpputils/CMakeLists.txt
diff --git a/Application/src/commons/cpputils/cpputils.h b/Application/src/commons/common/cpputils/cpputils.h
similarity index 100%
rename from Application/src/commons/cpputils/cpputils.h
rename to Application/src/commons/common/cpputils/cpputils.h
diff --git a/Application/src/commons/cpputils/debug/Debug.cpp b/Application/src/commons/common/cpputils/debug/Debug.cpp
similarity index 100%
rename from Application/src/commons/cpputils/debug/Debug.cpp
rename to Application/src/commons/common/cpputils/debug/Debug.cpp
diff --git a/Application/src/commons/cpputils/debug/Debug.h b/Application/src/commons/common/cpputils/debug/Debug.h
similarity index 100%
rename from Application/src/commons/cpputils/debug/Debug.h
rename to Application/src/commons/common/cpputils/debug/Debug.h
diff --git a/Application/src/commons/cpputils/debug/DynamicTree.h b/Application/src/commons/common/cpputils/debug/DynamicTree.h
similarity index 100%
rename from Application/src/commons/cpputils/debug/DynamicTree.h
rename to Application/src/commons/common/cpputils/debug/DynamicTree.h
diff --git a/Application/src/commons/cpputils/debug/Printable.cpp b/Application/src/commons/common/cpputils/debug/Printable.cpp
similarity index 100%
rename from Application/src/commons/cpputils/debug/Printable.cpp
rename to Application/src/commons/common/cpputils/debug/Printable.cpp
diff --git a/Application/src/commons/cpputils/debug/Printable.h b/Application/src/commons/common/cpputils/debug/Printable.h
similarity index 100%
rename from Application/src/commons/cpputils/debug/Printable.h
rename to Application/src/commons/common/cpputils/debug/Printable.h
diff --git a/Application/src/commons/cpputils/hashutils.cpp b/Application/src/commons/common/cpputils/hashutils.cpp
similarity index 100%
rename from Application/src/commons/cpputils/hashutils.cpp
rename to Application/src/commons/common/cpputils/hashutils.cpp
diff --git a/Application/src/commons/cpputils/hashutils.h b/Application/src/commons/common/cpputils/hashutils.h
similarity index 100%
rename from Application/src/commons/cpputils/hashutils.h
rename to Application/src/commons/common/cpputils/hashutils.h
diff --git a/Application/src/commons/cpputils/miscutils.cpp b/Application/src/commons/common/cpputils/miscutils.cpp
similarity index 100%
rename from Application/src/commons/cpputils/miscutils.cpp
rename to Application/src/commons/common/cpputils/miscutils.cpp
diff --git a/Application/src/commons/cpputils/miscutils.h b/Application/src/commons/common/cpputils/miscutils.h
similarity index 100%
rename from Application/src/commons/cpputils/miscutils.h
rename to Application/src/commons/common/cpputils/miscutils.h
diff --git a/Application/src/commons/cpputils/stringutils.cpp b/Application/src/commons/common/cpputils/stringutils.cpp
similarity index 100%
rename from Application/src/commons/cpputils/stringutils.cpp
rename to Application/src/commons/common/cpputils/stringutils.cpp
diff --git a/Application/src/commons/cpputils/stringutils.h b/Application/src/commons/common/cpputils/stringutils.h
similarity index 100%
rename from Application/src/commons/cpputils/stringutils.h
rename to Application/src/commons/common/cpputils/stringutils.h
diff --git a/Application/src/commons/cpputils/utilsexception.cpp b/Application/src/commons/common/cpputils/utilsexception.cpp
similarity index 100%
rename from Application/src/commons/cpputils/utilsexception.cpp
rename to Application/src/commons/common/cpputils/utilsexception.cpp
diff --git a/Application/src/commons/cpputils/utilsexception.h b/Application/src/commons/common/cpputils/utilsexception.h
similarity index 100%
rename from Application/src/commons/cpputils/utilsexception.h
rename to Application/src/commons/common/cpputils/utilsexception.h
diff --git a/Application/src/commons/file/CSVExport.cpp b/Application/src/commons/common/file/CSVExport.cpp
similarity index 100%
rename from Application/src/commons/file/CSVExport.cpp
rename to Application/src/commons/common/file/CSVExport.cpp
diff --git a/Application/src/commons/file/CSVExport.h b/Application/src/commons/common/file/CSVExport.h
similarity index 100%
rename from Application/src/commons/file/CSVExport.h
rename to Application/src/commons/common/file/CSVExport.h
diff --git a/Application/src/commons/file/DataFormat.cpp b/Application/src/commons/common/file/DataFormat.cpp
similarity index 100%
rename from Application/src/commons/file/DataFormat.cpp
rename to Application/src/commons/common/file/DataFormat.cpp
diff --git a/Application/src/commons/file/DataFormat.h b/Application/src/commons/common/file/DataFormat.h
similarity index 100%
rename from Application/src/commons/file/DataFormat.h
rename to Application/src/commons/common/file/DataFormat.h
diff --git a/Application/src/commons/file/Export.cpp b/Application/src/commons/common/file/Export.cpp
similarity index 100%
rename from Application/src/commons/file/Export.cpp
rename to Application/src/commons/common/file/Export.cpp
diff --git a/Application/src/commons/file/Export.h b/Application/src/commons/common/file/Export.h
similarity index 100%
rename from Application/src/commons/file/Export.h
rename to Application/src/commons/common/file/Export.h
diff --git a/Application/src/commons/file/Path.cpp b/Application/src/commons/common/file/Path.cpp
similarity index 100%
rename from Application/src/commons/file/Path.cpp
rename to Application/src/commons/common/file/Path.cpp
diff --git a/Application/src/commons/file/Path.h b/Application/src/commons/common/file/Path.h
similarity index 100%
rename from Application/src/commons/file/Path.h
rename to Application/src/commons/common/file/Path.h
diff --git a/Application/src/commons/gui/CrossPlatform.h b/Application/src/commons/common/gui/CrossPlatform.h
similarity index 100%
rename from Application/src/commons/gui/CrossPlatform.h
rename to Application/src/commons/common/gui/CrossPlatform.h
diff --git a/Application/src/commons/gui/DrawBase.cpp b/Application/src/commons/common/gui/DrawBase.cpp
similarity index 100%
rename from Application/src/commons/gui/DrawBase.cpp
rename to Application/src/commons/common/gui/DrawBase.cpp
diff --git a/Application/src/commons/gui/DrawBase.h b/Application/src/commons/common/gui/DrawBase.h
similarity index 100%
rename from Application/src/commons/gui/DrawBase.h
rename to Application/src/commons/common/gui/DrawBase.h
diff --git a/Application/src/commons/gui/DrawCVBase.cpp b/Application/src/commons/common/gui/DrawCVBase.cpp
similarity index 100%
rename from Application/src/commons/gui/DrawCVBase.cpp
rename to Application/src/commons/common/gui/DrawCVBase.cpp
diff --git a/Application/src/commons/gui/DrawCVBase.h b/Application/src/commons/common/gui/DrawCVBase.h
similarity index 100%
rename from Application/src/commons/gui/DrawCVBase.h
rename to Application/src/commons/common/gui/DrawCVBase.h
diff --git a/Application/src/commons/gui/DrawHTMLBase.cpp b/Application/src/commons/common/gui/DrawHTMLBase.cpp
similarity index 100%
rename from Application/src/commons/gui/DrawHTMLBase.cpp
rename to Application/src/commons/common/gui/DrawHTMLBase.cpp
diff --git a/Application/src/commons/gui/DrawHTMLBase.h b/Application/src/commons/common/gui/DrawHTMLBase.h
similarity index 100%
rename from Application/src/commons/gui/DrawHTMLBase.h
rename to Application/src/commons/common/gui/DrawHTMLBase.h
diff --git a/Application/src/commons/gui/DrawObject.cpp b/Application/src/commons/common/gui/DrawObject.cpp
similarity index 100%
rename from Application/src/commons/gui/DrawObject.cpp
rename to Application/src/commons/common/gui/DrawObject.cpp
diff --git a/Application/src/commons/gui/DrawObject.h b/Application/src/commons/common/gui/DrawObject.h
similarity index 100%
rename from Application/src/commons/gui/DrawObject.h
rename to Application/src/commons/common/gui/DrawObject.h
diff --git a/Application/src/commons/gui/DrawSFBase.cpp b/Application/src/commons/common/gui/DrawSFBase.cpp
similarity index 100%
rename from Application/src/commons/gui/DrawSFBase.cpp
rename to Application/src/commons/common/gui/DrawSFBase.cpp
diff --git a/Application/src/commons/gui/DrawSFBase.h b/Application/src/commons/common/gui/DrawSFBase.h
similarity index 100%
rename from Application/src/commons/gui/DrawSFBase.h
rename to Application/src/commons/common/gui/DrawSFBase.h
diff --git a/Application/src/commons/gui/DrawStructure.cpp b/Application/src/commons/common/gui/DrawStructure.cpp
similarity index 100%
rename from Application/src/commons/gui/DrawStructure.cpp
rename to Application/src/commons/common/gui/DrawStructure.cpp
diff --git a/Application/src/commons/gui/DrawStructure.h b/Application/src/commons/common/gui/DrawStructure.h
similarity index 100%
rename from Application/src/commons/gui/DrawStructure.h
rename to Application/src/commons/common/gui/DrawStructure.h
diff --git a/Application/src/commons/gui/DrawableCollection.cpp b/Application/src/commons/common/gui/DrawableCollection.cpp
similarity index 100%
rename from Application/src/commons/gui/DrawableCollection.cpp
rename to Application/src/commons/common/gui/DrawableCollection.cpp
diff --git a/Application/src/commons/gui/DrawableCollection.h b/Application/src/commons/common/gui/DrawableCollection.h
similarity index 100%
rename from Application/src/commons/gui/DrawableCollection.h
rename to Application/src/commons/common/gui/DrawableCollection.h
diff --git a/Application/src/commons/gui/Event.cpp b/Application/src/commons/common/gui/Event.cpp
similarity index 100%
rename from Application/src/commons/gui/Event.cpp
rename to Application/src/commons/common/gui/Event.cpp
diff --git a/Application/src/commons/gui/Event.h b/Application/src/commons/common/gui/Event.h
similarity index 100%
rename from Application/src/commons/gui/Event.h
rename to Application/src/commons/common/gui/Event.h
diff --git a/Application/src/commons/gui/FileChooser.cpp b/Application/src/commons/common/gui/FileChooser.cpp
similarity index 100%
rename from Application/src/commons/gui/FileChooser.cpp
rename to Application/src/commons/common/gui/FileChooser.cpp
diff --git a/Application/src/commons/gui/FileChooser.h b/Application/src/commons/common/gui/FileChooser.h
similarity index 100%
rename from Application/src/commons/gui/FileChooser.h
rename to Application/src/commons/common/gui/FileChooser.h
diff --git a/Application/src/commons/gui/GLImpl.cpp b/Application/src/commons/common/gui/GLImpl.cpp
similarity index 100%
rename from Application/src/commons/gui/GLImpl.cpp
rename to Application/src/commons/common/gui/GLImpl.cpp
diff --git a/Application/src/commons/gui/GLImpl.h b/Application/src/commons/common/gui/GLImpl.h
similarity index 100%
rename from Application/src/commons/gui/GLImpl.h
rename to Application/src/commons/common/gui/GLImpl.h
diff --git a/Application/src/commons/gui/Graph.cpp b/Application/src/commons/common/gui/Graph.cpp
similarity index 100%
rename from Application/src/commons/gui/Graph.cpp
rename to Application/src/commons/common/gui/Graph.cpp
diff --git a/Application/src/commons/gui/Graph.h b/Application/src/commons/common/gui/Graph.h
similarity index 100%
rename from Application/src/commons/gui/Graph.h
rename to Application/src/commons/common/gui/Graph.h
diff --git a/Application/src/commons/gui/GuiTypes.cpp b/Application/src/commons/common/gui/GuiTypes.cpp
similarity index 100%
rename from Application/src/commons/gui/GuiTypes.cpp
rename to Application/src/commons/common/gui/GuiTypes.cpp
diff --git a/Application/src/commons/gui/GuiTypes.h b/Application/src/commons/common/gui/GuiTypes.h
similarity index 100%
rename from Application/src/commons/gui/GuiTypes.h
rename to Application/src/commons/common/gui/GuiTypes.h
diff --git a/Application/src/commons/gui/HttpClient.cpp b/Application/src/commons/common/gui/HttpClient.cpp
similarity index 100%
rename from Application/src/commons/gui/HttpClient.cpp
rename to Application/src/commons/common/gui/HttpClient.cpp
diff --git a/Application/src/commons/gui/HttpClient.h b/Application/src/commons/common/gui/HttpClient.h
similarity index 100%
rename from Application/src/commons/gui/HttpClient.h
rename to Application/src/commons/common/gui/HttpClient.h
diff --git a/Application/src/commons/gui/IMGUIBase.cpp b/Application/src/commons/common/gui/IMGUIBase.cpp
similarity index 100%
rename from Application/src/commons/gui/IMGUIBase.cpp
rename to Application/src/commons/common/gui/IMGUIBase.cpp
diff --git a/Application/src/commons/gui/IMGUIBase.h b/Application/src/commons/common/gui/IMGUIBase.h
similarity index 100%
rename from Application/src/commons/gui/IMGUIBase.h
rename to Application/src/commons/common/gui/IMGUIBase.h
diff --git a/Application/src/commons/gui/MetalImpl.h b/Application/src/commons/common/gui/MetalImpl.h
similarity index 100%
rename from Application/src/commons/gui/MetalImpl.h
rename to Application/src/commons/common/gui/MetalImpl.h
diff --git a/Application/src/commons/gui/MetalImpl.mm b/Application/src/commons/common/gui/MetalImpl.mm
similarity index 100%
rename from Application/src/commons/gui/MetalImpl.mm
rename to Application/src/commons/common/gui/MetalImpl.mm
diff --git a/Application/src/commons/gui/SFLoop.cpp b/Application/src/commons/common/gui/SFLoop.cpp
similarity index 100%
rename from Application/src/commons/gui/SFLoop.cpp
rename to Application/src/commons/common/gui/SFLoop.cpp
diff --git a/Application/src/commons/gui/SFLoop.h b/Application/src/commons/common/gui/SFLoop.h
similarity index 100%
rename from Application/src/commons/gui/SFLoop.h
rename to Application/src/commons/common/gui/SFLoop.h
diff --git a/Application/src/commons/gui/SVG.cpp b/Application/src/commons/common/gui/SVG.cpp
similarity index 100%
rename from Application/src/commons/gui/SVG.cpp
rename to Application/src/commons/common/gui/SVG.cpp
diff --git a/Application/src/commons/gui/SVG.h b/Application/src/commons/common/gui/SVG.h
similarity index 100%
rename from Application/src/commons/gui/SVG.h
rename to Application/src/commons/common/gui/SVG.h
diff --git a/Application/src/commons/gui/Section.cpp b/Application/src/commons/common/gui/Section.cpp
similarity index 100%
rename from Application/src/commons/gui/Section.cpp
rename to Application/src/commons/common/gui/Section.cpp
diff --git a/Application/src/commons/gui/Section.h b/Application/src/commons/common/gui/Section.h
similarity index 100%
rename from Application/src/commons/gui/Section.h
rename to Application/src/commons/common/gui/Section.h
diff --git a/Application/src/commons/gui/Transform.cpp b/Application/src/commons/common/gui/Transform.cpp
similarity index 100%
rename from Application/src/commons/gui/Transform.cpp
rename to Application/src/commons/common/gui/Transform.cpp
diff --git a/Application/src/commons/gui/Transform.h b/Application/src/commons/common/gui/Transform.h
similarity index 100%
rename from Application/src/commons/gui/Transform.h
rename to Application/src/commons/common/gui/Transform.h
diff --git a/Application/src/commons/gui/colors.cpp b/Application/src/commons/common/gui/colors.cpp
similarity index 100%
rename from Application/src/commons/gui/colors.cpp
rename to Application/src/commons/common/gui/colors.cpp
diff --git a/Application/src/commons/gui/colors.h b/Application/src/commons/common/gui/colors.h
similarity index 100%
rename from Application/src/commons/gui/colors.h
rename to Application/src/commons/common/gui/colors.h
diff --git a/Application/src/commons/gui/types/Basic.cpp b/Application/src/commons/common/gui/types/Basic.cpp
similarity index 100%
rename from Application/src/commons/gui/types/Basic.cpp
rename to Application/src/commons/common/gui/types/Basic.cpp
diff --git a/Application/src/commons/gui/types/Basic.h b/Application/src/commons/common/gui/types/Basic.h
similarity index 100%
rename from Application/src/commons/gui/types/Basic.h
rename to Application/src/commons/common/gui/types/Basic.h
diff --git a/Application/src/commons/gui/types/Button.cpp b/Application/src/commons/common/gui/types/Button.cpp
similarity index 100%
rename from Application/src/commons/gui/types/Button.cpp
rename to Application/src/commons/common/gui/types/Button.cpp
diff --git a/Application/src/commons/gui/types/Button.h b/Application/src/commons/common/gui/types/Button.h
similarity index 100%
rename from Application/src/commons/gui/types/Button.h
rename to Application/src/commons/common/gui/types/Button.h
diff --git a/Application/src/commons/gui/types/Checkbox.cpp b/Application/src/commons/common/gui/types/Checkbox.cpp
similarity index 100%
rename from Application/src/commons/gui/types/Checkbox.cpp
rename to Application/src/commons/common/gui/types/Checkbox.cpp
diff --git a/Application/src/commons/gui/types/Checkbox.h b/Application/src/commons/common/gui/types/Checkbox.h
similarity index 100%
rename from Application/src/commons/gui/types/Checkbox.h
rename to Application/src/commons/common/gui/types/Checkbox.h
diff --git a/Application/src/commons/gui/types/Drawable.cpp b/Application/src/commons/common/gui/types/Drawable.cpp
similarity index 100%
rename from Application/src/commons/gui/types/Drawable.cpp
rename to Application/src/commons/common/gui/types/Drawable.cpp
diff --git a/Application/src/commons/gui/types/Drawable.h b/Application/src/commons/common/gui/types/Drawable.h
similarity index 100%
rename from Application/src/commons/gui/types/Drawable.h
rename to Application/src/commons/common/gui/types/Drawable.h
diff --git a/Application/src/commons/gui/types/Dropdown.cpp b/Application/src/commons/common/gui/types/Dropdown.cpp
similarity index 100%
rename from Application/src/commons/gui/types/Dropdown.cpp
rename to Application/src/commons/common/gui/types/Dropdown.cpp
diff --git a/Application/src/commons/gui/types/Dropdown.h b/Application/src/commons/common/gui/types/Dropdown.h
similarity index 100%
rename from Application/src/commons/gui/types/Dropdown.h
rename to Application/src/commons/common/gui/types/Dropdown.h
diff --git a/Application/src/commons/gui/types/Entangled.cpp b/Application/src/commons/common/gui/types/Entangled.cpp
similarity index 100%
rename from Application/src/commons/gui/types/Entangled.cpp
rename to Application/src/commons/common/gui/types/Entangled.cpp
diff --git a/Application/src/commons/gui/types/Entangled.h b/Application/src/commons/common/gui/types/Entangled.h
similarity index 100%
rename from Application/src/commons/gui/types/Entangled.h
rename to Application/src/commons/common/gui/types/Entangled.h
diff --git a/Application/src/commons/gui/types/HistOptions.h b/Application/src/commons/common/gui/types/HistOptions.h
similarity index 100%
rename from Application/src/commons/gui/types/HistOptions.h
rename to Application/src/commons/common/gui/types/HistOptions.h
diff --git a/Application/src/commons/gui/types/Histogram.cpp b/Application/src/commons/common/gui/types/Histogram.cpp
similarity index 100%
rename from Application/src/commons/gui/types/Histogram.cpp
rename to Application/src/commons/common/gui/types/Histogram.cpp
diff --git a/Application/src/commons/gui/types/Histogram.h b/Application/src/commons/common/gui/types/Histogram.h
similarity index 100%
rename from Application/src/commons/gui/types/Histogram.h
rename to Application/src/commons/common/gui/types/Histogram.h
diff --git a/Application/src/commons/gui/types/Layout.cpp b/Application/src/commons/common/gui/types/Layout.cpp
similarity index 100%
rename from Application/src/commons/gui/types/Layout.cpp
rename to Application/src/commons/common/gui/types/Layout.cpp
diff --git a/Application/src/commons/gui/types/Layout.h b/Application/src/commons/common/gui/types/Layout.h
similarity index 100%
rename from Application/src/commons/gui/types/Layout.h
rename to Application/src/commons/common/gui/types/Layout.h
diff --git a/Application/src/commons/gui/types/List.cpp b/Application/src/commons/common/gui/types/List.cpp
similarity index 100%
rename from Application/src/commons/gui/types/List.cpp
rename to Application/src/commons/common/gui/types/List.cpp
diff --git a/Application/src/commons/gui/types/List.h b/Application/src/commons/common/gui/types/List.h
similarity index 100%
rename from Application/src/commons/gui/types/List.h
rename to Application/src/commons/common/gui/types/List.h
diff --git a/Application/src/commons/gui/types/ListItemTypes.cpp b/Application/src/commons/common/gui/types/ListItemTypes.cpp
similarity index 100%
rename from Application/src/commons/gui/types/ListItemTypes.cpp
rename to Application/src/commons/common/gui/types/ListItemTypes.cpp
diff --git a/Application/src/commons/gui/types/ListItemTypes.h b/Application/src/commons/common/gui/types/ListItemTypes.h
similarity index 100%
rename from Application/src/commons/gui/types/ListItemTypes.h
rename to Application/src/commons/common/gui/types/ListItemTypes.h
diff --git a/Application/src/commons/gui/types/MiscShapes.cpp b/Application/src/commons/common/gui/types/MiscShapes.cpp
similarity index 100%
rename from Application/src/commons/gui/types/MiscShapes.cpp
rename to Application/src/commons/common/gui/types/MiscShapes.cpp
diff --git a/Application/src/commons/gui/types/MiscShapes.h b/Application/src/commons/common/gui/types/MiscShapes.h
similarity index 100%
rename from Application/src/commons/gui/types/MiscShapes.h
rename to Application/src/commons/common/gui/types/MiscShapes.h
diff --git a/Application/src/commons/gui/types/PieChart.cpp b/Application/src/commons/common/gui/types/PieChart.cpp
similarity index 100%
rename from Application/src/commons/gui/types/PieChart.cpp
rename to Application/src/commons/common/gui/types/PieChart.cpp
diff --git a/Application/src/commons/gui/types/PieChart.h b/Application/src/commons/common/gui/types/PieChart.h
similarity index 100%
rename from Application/src/commons/gui/types/PieChart.h
rename to Application/src/commons/common/gui/types/PieChart.h
diff --git a/Application/src/commons/gui/types/ScrollableList.h b/Application/src/commons/common/gui/types/ScrollableList.h
similarity index 100%
rename from Application/src/commons/gui/types/ScrollableList.h
rename to Application/src/commons/common/gui/types/ScrollableList.h
diff --git a/Application/src/commons/gui/types/Serializable.cpp b/Application/src/commons/common/gui/types/Serializable.cpp
similarity index 100%
rename from Application/src/commons/gui/types/Serializable.cpp
rename to Application/src/commons/common/gui/types/Serializable.cpp
diff --git a/Application/src/commons/gui/types/Serializable.h b/Application/src/commons/common/gui/types/Serializable.h
similarity index 100%
rename from Application/src/commons/gui/types/Serializable.h
rename to Application/src/commons/common/gui/types/Serializable.h
diff --git a/Application/src/commons/gui/types/SingletonObject.cpp b/Application/src/commons/common/gui/types/SingletonObject.cpp
similarity index 100%
rename from Application/src/commons/gui/types/SingletonObject.cpp
rename to Application/src/commons/common/gui/types/SingletonObject.cpp
diff --git a/Application/src/commons/gui/types/SingletonObject.h b/Application/src/commons/common/gui/types/SingletonObject.h
similarity index 100%
rename from Application/src/commons/gui/types/SingletonObject.h
rename to Application/src/commons/common/gui/types/SingletonObject.h
diff --git a/Application/src/commons/gui/types/StaticText.cpp b/Application/src/commons/common/gui/types/StaticText.cpp
similarity index 100%
rename from Application/src/commons/gui/types/StaticText.cpp
rename to Application/src/commons/common/gui/types/StaticText.cpp
diff --git a/Application/src/commons/gui/types/StaticText.h b/Application/src/commons/common/gui/types/StaticText.h
similarity index 100%
rename from Application/src/commons/gui/types/StaticText.h
rename to Application/src/commons/common/gui/types/StaticText.h
diff --git a/Application/src/commons/gui/types/Table.cpp b/Application/src/commons/common/gui/types/Table.cpp
similarity index 100%
rename from Application/src/commons/gui/types/Table.cpp
rename to Application/src/commons/common/gui/types/Table.cpp
diff --git a/Application/src/commons/gui/types/Table.h b/Application/src/commons/common/gui/types/Table.h
similarity index 100%
rename from Application/src/commons/gui/types/Table.h
rename to Application/src/commons/common/gui/types/Table.h
diff --git a/Application/src/commons/gui/types/Textfield.cpp b/Application/src/commons/common/gui/types/Textfield.cpp
similarity index 100%
rename from Application/src/commons/gui/types/Textfield.cpp
rename to Application/src/commons/common/gui/types/Textfield.cpp
diff --git a/Application/src/commons/gui/types/Textfield.h b/Application/src/commons/common/gui/types/Textfield.h
similarity index 100%
rename from Application/src/commons/gui/types/Textfield.h
rename to Application/src/commons/common/gui/types/Textfield.h
diff --git a/Application/src/commons/gui/types/Tooltip.cpp b/Application/src/commons/common/gui/types/Tooltip.cpp
similarity index 100%
rename from Application/src/commons/gui/types/Tooltip.cpp
rename to Application/src/commons/common/gui/types/Tooltip.cpp
diff --git a/Application/src/commons/gui/types/Tooltip.h b/Application/src/commons/common/gui/types/Tooltip.h
similarity index 100%
rename from Application/src/commons/gui/types/Tooltip.h
rename to Application/src/commons/common/gui/types/Tooltip.h
diff --git a/Application/src/commons/http/httpd.cpp b/Application/src/commons/common/http/httpd.cpp
similarity index 100%
rename from Application/src/commons/http/httpd.cpp
rename to Application/src/commons/common/http/httpd.cpp
diff --git a/Application/src/commons/http/httpd.h b/Application/src/commons/common/http/httpd.h
similarity index 100%
rename from Application/src/commons/http/httpd.h
rename to Application/src/commons/common/http/httpd.h
diff --git a/Application/src/commons/misc/Base64.cpp b/Application/src/commons/common/misc/Base64.cpp
similarity index 100%
rename from Application/src/commons/misc/Base64.cpp
rename to Application/src/commons/common/misc/Base64.cpp
diff --git a/Application/src/commons/misc/Base64.h b/Application/src/commons/common/misc/Base64.h
similarity index 100%
rename from Application/src/commons/misc/Base64.h
rename to Application/src/commons/common/misc/Base64.h
diff --git a/Application/src/commons/misc/Blob.cpp b/Application/src/commons/common/misc/Blob.cpp
similarity index 100%
rename from Application/src/commons/misc/Blob.cpp
rename to Application/src/commons/common/misc/Blob.cpp
diff --git a/Application/src/commons/misc/Blob.h b/Application/src/commons/common/misc/Blob.h
similarity index 100%
rename from Application/src/commons/misc/Blob.h
rename to Application/src/commons/common/misc/Blob.h
diff --git a/Application/src/commons/misc/CircularGraph.cpp b/Application/src/commons/common/misc/CircularGraph.cpp
similarity index 100%
rename from Application/src/commons/misc/CircularGraph.cpp
rename to Application/src/commons/common/misc/CircularGraph.cpp
diff --git a/Application/src/commons/misc/CircularGraph.h b/Application/src/commons/common/misc/CircularGraph.h
similarity index 100%
rename from Application/src/commons/misc/CircularGraph.h
rename to Application/src/commons/common/misc/CircularGraph.h
diff --git a/Application/src/commons/misc/CommandLine.cpp b/Application/src/commons/common/misc/CommandLine.cpp
similarity index 100%
rename from Application/src/commons/misc/CommandLine.cpp
rename to Application/src/commons/common/misc/CommandLine.cpp
diff --git a/Application/src/commons/misc/CommandLine.h b/Application/src/commons/common/misc/CommandLine.h
similarity index 100%
rename from Application/src/commons/misc/CommandLine.h
rename to Application/src/commons/common/misc/CommandLine.h
diff --git a/Application/src/commons/misc/CropOffsets.cpp b/Application/src/commons/common/misc/CropOffsets.cpp
similarity index 100%
rename from Application/src/commons/misc/CropOffsets.cpp
rename to Application/src/commons/common/misc/CropOffsets.cpp
diff --git a/Application/src/commons/misc/CropOffsets.h b/Application/src/commons/common/misc/CropOffsets.h
similarity index 100%
rename from Application/src/commons/misc/CropOffsets.h
rename to Application/src/commons/common/misc/CropOffsets.h
diff --git a/Application/src/commons/misc/EnumClass.h b/Application/src/commons/common/misc/EnumClass.h
similarity index 100%
rename from Application/src/commons/misc/EnumClass.h
rename to Application/src/commons/common/misc/EnumClass.h
diff --git a/Application/src/commons/misc/GlobalSettings.cpp b/Application/src/commons/common/misc/GlobalSettings.cpp
similarity index 100%
rename from Application/src/commons/misc/GlobalSettings.cpp
rename to Application/src/commons/common/misc/GlobalSettings.cpp
diff --git a/Application/src/commons/misc/GlobalSettings.h b/Application/src/commons/common/misc/GlobalSettings.h
similarity index 100%
rename from Application/src/commons/misc/GlobalSettings.h
rename to Application/src/commons/common/misc/GlobalSettings.h
diff --git a/Application/src/commons/misc/Grid.cpp b/Application/src/commons/common/misc/Grid.cpp
similarity index 100%
rename from Application/src/commons/misc/Grid.cpp
rename to Application/src/commons/common/misc/Grid.cpp
diff --git a/Application/src/commons/misc/Grid.h b/Application/src/commons/common/misc/Grid.h
similarity index 100%
rename from Application/src/commons/misc/Grid.h
rename to Application/src/commons/common/misc/Grid.h
diff --git a/Application/src/commons/misc/Image.cpp b/Application/src/commons/common/misc/Image.cpp
similarity index 100%
rename from Application/src/commons/misc/Image.cpp
rename to Application/src/commons/common/misc/Image.cpp
diff --git a/Application/src/commons/misc/Image.h b/Application/src/commons/common/misc/Image.h
similarity index 100%
rename from Application/src/commons/misc/Image.h
rename to Application/src/commons/common/misc/Image.h
diff --git a/Application/src/commons/misc/Median.h b/Application/src/commons/common/misc/Median.h
similarity index 100%
rename from Application/src/commons/misc/Median.h
rename to Application/src/commons/common/misc/Median.h
diff --git a/Application/src/commons/misc/MetaObject.h b/Application/src/commons/common/misc/MetaObject.h
similarity index 100%
rename from Application/src/commons/misc/MetaObject.h
rename to Application/src/commons/common/misc/MetaObject.h
diff --git a/Application/src/commons/misc/PVBlob.cpp b/Application/src/commons/common/misc/PVBlob.cpp
similarity index 100%
rename from Application/src/commons/misc/PVBlob.cpp
rename to Application/src/commons/common/misc/PVBlob.cpp
diff --git a/Application/src/commons/misc/PVBlob.h b/Application/src/commons/common/misc/PVBlob.h
similarity index 100%
rename from Application/src/commons/misc/PVBlob.h
rename to Application/src/commons/common/misc/PVBlob.h
diff --git a/Application/src/commons/misc/PixelTree.cpp b/Application/src/commons/common/misc/PixelTree.cpp
similarity index 100%
rename from Application/src/commons/misc/PixelTree.cpp
rename to Application/src/commons/common/misc/PixelTree.cpp
diff --git a/Application/src/commons/misc/PixelTree.h b/Application/src/commons/common/misc/PixelTree.h
similarity index 100%
rename from Application/src/commons/misc/PixelTree.h
rename to Application/src/commons/common/misc/PixelTree.h
diff --git a/Application/src/commons/misc/ProximityGrid.cpp b/Application/src/commons/common/misc/ProximityGrid.cpp
similarity index 100%
rename from Application/src/commons/misc/ProximityGrid.cpp
rename to Application/src/commons/common/misc/ProximityGrid.cpp
diff --git a/Application/src/commons/misc/ProximityGrid.h b/Application/src/commons/common/misc/ProximityGrid.h
similarity index 100%
rename from Application/src/commons/misc/ProximityGrid.h
rename to Application/src/commons/common/misc/ProximityGrid.h
diff --git a/Application/src/commons/misc/ReverseAdapter.h b/Application/src/commons/common/misc/ReverseAdapter.h
similarity index 100%
rename from Application/src/commons/misc/ReverseAdapter.h
rename to Application/src/commons/common/misc/ReverseAdapter.h
diff --git a/Application/src/commons/misc/SpriteMap.cpp b/Application/src/commons/common/misc/SpriteMap.cpp
similarity index 100%
rename from Application/src/commons/misc/SpriteMap.cpp
rename to Application/src/commons/common/misc/SpriteMap.cpp
diff --git a/Application/src/commons/misc/SpriteMap.h b/Application/src/commons/common/misc/SpriteMap.h
similarity index 100%
rename from Application/src/commons/misc/SpriteMap.h
rename to Application/src/commons/common/misc/SpriteMap.h
diff --git a/Application/src/commons/misc/SpriteProperty.cpp b/Application/src/commons/common/misc/SpriteProperty.cpp
similarity index 100%
rename from Application/src/commons/misc/SpriteProperty.cpp
rename to Application/src/commons/common/misc/SpriteProperty.cpp
diff --git a/Application/src/commons/misc/SpriteProperty.h b/Application/src/commons/common/misc/SpriteProperty.h
similarity index 100%
rename from Application/src/commons/misc/SpriteProperty.h
rename to Application/src/commons/common/misc/SpriteProperty.h
diff --git a/Application/src/commons/misc/ThreadPool.cpp b/Application/src/commons/common/misc/ThreadPool.cpp
similarity index 100%
rename from Application/src/commons/misc/ThreadPool.cpp
rename to Application/src/commons/common/misc/ThreadPool.cpp
diff --git a/Application/src/commons/misc/ThreadPool.h b/Application/src/commons/common/misc/ThreadPool.h
similarity index 100%
rename from Application/src/commons/misc/ThreadPool.h
rename to Application/src/commons/common/misc/ThreadPool.h
diff --git a/Application/src/commons/misc/ThreadedAnalysis.h b/Application/src/commons/common/misc/ThreadedAnalysis.h
similarity index 100%
rename from Application/src/commons/misc/ThreadedAnalysis.h
rename to Application/src/commons/common/misc/ThreadedAnalysis.h
diff --git a/Application/src/commons/misc/ThreadedAnalysis_impl.h b/Application/src/commons/common/misc/ThreadedAnalysis_impl.h
similarity index 100%
rename from Application/src/commons/misc/ThreadedAnalysis_impl.h
rename to Application/src/commons/common/misc/ThreadedAnalysis_impl.h
diff --git a/Application/src/commons/misc/Timer.cpp b/Application/src/commons/common/misc/Timer.cpp
similarity index 100%
rename from Application/src/commons/misc/Timer.cpp
rename to Application/src/commons/common/misc/Timer.cpp
diff --git a/Application/src/commons/misc/Timer.h b/Application/src/commons/common/misc/Timer.h
similarity index 100%
rename from Application/src/commons/misc/Timer.h
rename to Application/src/commons/common/misc/Timer.h
diff --git a/Application/src/commons/misc/cnpy_wrapper.cpp b/Application/src/commons/common/misc/cnpy_wrapper.cpp
similarity index 100%
rename from Application/src/commons/misc/cnpy_wrapper.cpp
rename to Application/src/commons/common/misc/cnpy_wrapper.cpp
diff --git a/Application/src/commons/misc/cnpy_wrapper.h b/Application/src/commons/common/misc/cnpy_wrapper.h
similarity index 100%
rename from Application/src/commons/misc/cnpy_wrapper.h
rename to Application/src/commons/common/misc/cnpy_wrapper.h
diff --git a/Application/src/commons/misc/curve_discussion.cpp b/Application/src/commons/common/misc/curve_discussion.cpp
similarity index 100%
rename from Application/src/commons/misc/curve_discussion.cpp
rename to Application/src/commons/common/misc/curve_discussion.cpp
diff --git a/Application/src/commons/misc/curve_discussion.h b/Application/src/commons/common/misc/curve_discussion.h
similarity index 100%
rename from Application/src/commons/misc/curve_discussion.h
rename to Application/src/commons/common/misc/curve_discussion.h
diff --git a/Application/src/commons/misc/default_settings.cpp b/Application/src/commons/common/misc/default_settings.cpp
similarity index 100%
rename from Application/src/commons/misc/default_settings.cpp
rename to Application/src/commons/common/misc/default_settings.cpp
diff --git a/Application/src/commons/misc/default_settings.h b/Application/src/commons/common/misc/default_settings.h
similarity index 100%
rename from Application/src/commons/misc/default_settings.h
rename to Application/src/commons/common/misc/default_settings.h
diff --git a/Application/src/commons/misc/defines.h b/Application/src/commons/common/misc/defines.h
similarity index 100%
rename from Application/src/commons/misc/defines.h
rename to Application/src/commons/common/misc/defines.h
diff --git a/Application/src/commons/misc/detail.cpp b/Application/src/commons/common/misc/detail.cpp
similarity index 100%
rename from Application/src/commons/misc/detail.cpp
rename to Application/src/commons/common/misc/detail.cpp
diff --git a/Application/src/commons/misc/detail.h b/Application/src/commons/common/misc/detail.h
similarity index 100%
rename from Application/src/commons/misc/detail.h
rename to Application/src/commons/common/misc/detail.h
diff --git a/Application/src/commons/misc/math.h b/Application/src/commons/common/misc/math.h
similarity index 100%
rename from Application/src/commons/misc/math.h
rename to Application/src/commons/common/misc/math.h
diff --git a/Application/src/commons/misc/metastring.h b/Application/src/commons/common/misc/metastring.h
similarity index 100%
rename from Application/src/commons/misc/metastring.h
rename to Application/src/commons/common/misc/metastring.h
diff --git a/Application/src/commons/misc/ocl.cpp b/Application/src/commons/common/misc/ocl.cpp
similarity index 100%
rename from Application/src/commons/misc/ocl.cpp
rename to Application/src/commons/common/misc/ocl.cpp
diff --git a/Application/src/commons/misc/ocl.h b/Application/src/commons/common/misc/ocl.h
similarity index 100%
rename from Application/src/commons/misc/ocl.h
rename to Application/src/commons/common/misc/ocl.h
diff --git a/Application/src/commons/misc/pretty.cpp b/Application/src/commons/common/misc/pretty.cpp
similarity index 100%
rename from Application/src/commons/misc/pretty.cpp
rename to Application/src/commons/common/misc/pretty.cpp
diff --git a/Application/src/commons/misc/pretty.h b/Application/src/commons/common/misc/pretty.h
similarity index 100%
rename from Application/src/commons/misc/pretty.h
rename to Application/src/commons/common/misc/pretty.h
diff --git a/Application/src/commons/misc/stacktrace.h b/Application/src/commons/common/misc/stacktrace.h
similarity index 100%
rename from Application/src/commons/misc/stacktrace.h
rename to Application/src/commons/common/misc/stacktrace.h
diff --git a/Application/src/commons/misc/string_view.cpp b/Application/src/commons/common/misc/string_view.cpp
similarity index 100%
rename from Application/src/commons/misc/string_view.cpp
rename to Application/src/commons/common/misc/string_view.cpp
diff --git a/Application/src/commons/misc/string_view.h b/Application/src/commons/common/misc/string_view.h
similarity index 100%
rename from Application/src/commons/misc/string_view.h
rename to Application/src/commons/common/misc/string_view.h
diff --git a/Application/src/commons/misc/vec2.cpp b/Application/src/commons/common/misc/vec2.cpp
similarity index 100%
rename from Application/src/commons/misc/vec2.cpp
rename to Application/src/commons/common/misc/vec2.cpp
diff --git a/Application/src/commons/misc/vec2.h b/Application/src/commons/common/misc/vec2.h
similarity index 100%
rename from Application/src/commons/misc/vec2.h
rename to Application/src/commons/common/misc/vec2.h
diff --git a/Application/src/commons/misc/zipper.h b/Application/src/commons/common/misc/zipper.h
similarity index 100%
rename from Application/src/commons/misc/zipper.h
rename to Application/src/commons/common/misc/zipper.h
diff --git a/Application/src/commons/processing/Background.h b/Application/src/commons/common/processing/Background.h
similarity index 100%
rename from Application/src/commons/processing/Background.h
rename to Application/src/commons/common/processing/Background.h
diff --git a/Application/src/commons/processing/CPULabeling.cpp b/Application/src/commons/common/processing/CPULabeling.cpp
similarity index 100%
rename from Application/src/commons/processing/CPULabeling.cpp
rename to Application/src/commons/common/processing/CPULabeling.cpp
diff --git a/Application/src/commons/processing/CPULabeling.h b/Application/src/commons/common/processing/CPULabeling.h
similarity index 100%
rename from Application/src/commons/processing/CPULabeling.h
rename to Application/src/commons/common/processing/CPULabeling.h
diff --git a/Application/src/commons/processing/LuminanceGrid.cpp b/Application/src/commons/common/processing/LuminanceGrid.cpp
similarity index 100%
rename from Application/src/commons/processing/LuminanceGrid.cpp
rename to Application/src/commons/common/processing/LuminanceGrid.cpp
diff --git a/Application/src/commons/processing/LuminanceGrid.h b/Application/src/commons/common/processing/LuminanceGrid.h
similarity index 100%
rename from Application/src/commons/processing/LuminanceGrid.h
rename to Application/src/commons/common/processing/LuminanceGrid.h
diff --git a/Application/src/commons/processing/PadImage.cpp b/Application/src/commons/common/processing/PadImage.cpp
similarity index 100%
rename from Application/src/commons/processing/PadImage.cpp
rename to Application/src/commons/common/processing/PadImage.cpp
diff --git a/Application/src/commons/processing/PadImage.h b/Application/src/commons/common/processing/PadImage.h
similarity index 100%
rename from Application/src/commons/processing/PadImage.h
rename to Application/src/commons/common/processing/PadImage.h
diff --git a/Application/src/commons/processing/RawProcessing.cpp b/Application/src/commons/common/processing/RawProcessing.cpp
similarity index 100%
rename from Application/src/commons/processing/RawProcessing.cpp
rename to Application/src/commons/common/processing/RawProcessing.cpp
diff --git a/Application/src/commons/processing/RawProcessing.h b/Application/src/commons/common/processing/RawProcessing.h
similarity index 100%
rename from Application/src/commons/processing/RawProcessing.h
rename to Application/src/commons/common/processing/RawProcessing.h
diff --git a/Application/src/commons/types.cpp b/Application/src/commons/common/types.cpp
similarity index 100%
rename from Application/src/commons/types.cpp
rename to Application/src/commons/common/types.cpp
diff --git a/Application/src/commons/types.h b/Application/src/commons/common/types.h
similarity index 100%
rename from Application/src/commons/types.h
rename to Application/src/commons/common/types.h
diff --git a/Application/src/commons/video/GenericVideo.cpp b/Application/src/commons/common/video/GenericVideo.cpp
similarity index 100%
rename from Application/src/commons/video/GenericVideo.cpp
rename to Application/src/commons/common/video/GenericVideo.cpp
diff --git a/Application/src/commons/video/GenericVideo.h b/Application/src/commons/common/video/GenericVideo.h
similarity index 100%
rename from Application/src/commons/video/GenericVideo.h
rename to Application/src/commons/common/video/GenericVideo.h
diff --git a/Application/src/commons/video/Video.cpp b/Application/src/commons/common/video/Video.cpp
similarity index 100%
rename from Application/src/commons/video/Video.cpp
rename to Application/src/commons/common/video/Video.cpp
diff --git a/Application/src/commons/video/Video.h b/Application/src/commons/common/video/Video.h
similarity index 100%
rename from Application/src/commons/video/Video.h
rename to Application/src/commons/common/video/Video.h
diff --git a/Application/src/commons/video/VideoSource.cpp b/Application/src/commons/common/video/VideoSource.cpp
similarity index 100%
rename from Application/src/commons/video/VideoSource.cpp
rename to Application/src/commons/common/video/VideoSource.cpp
diff --git a/Application/src/commons/video/VideoSource.h b/Application/src/commons/common/video/VideoSource.h
similarity index 100%
rename from Application/src/commons/video/VideoSource.h
rename to Application/src/commons/common/video/VideoSource.h
diff --git a/Application/src/imgui b/Application/src/imgui
new file mode 160000
index 0000000..16ff3c2
--- /dev/null
+++ b/Application/src/imgui
@@ -0,0 +1 @@
+Subproject commit 16ff3c2bb477c56cdf8434768cee5c76eeb39d63
-- 
GitLab