
Downloads
- GeeXLab for Windows 64-bit
- GeeXLab for Linux 64-bit
- GeeXLab for Raspbian Buster+
- All GeeXLab Downloads
- Feedback thread / Forum (EN)
1 – Release Notes
GeeXLab 0.29.17 improves the support of Python and comes with a handy function that allows to use a NumPy array (np.array) as a texture. This function is like a bridge between NumPy and GeeXLab. Why NumPy? Because some popular Python libs like OpenCV, return NumPy images (a 2D numerical array).
In the following example, myTex is a regular GeeXLab texture and npImg is a Numpy image. We can update the texture with the new update_gpu_memory_from_numpy_img() function of the gh_texture lib:
gh_texture.update_gpu_memory_from_numpy_img(myTex, npImg)
I will start a series of Python + OpenCV articles and this function will be the core of some demos.
On Windows, the Python plugin has been updated with Python 3.8.2 that has been released few days ago. And GeeXLab for Windows comes with some popular Python libraries (NumPy, OpenCV, Scapy or feedreader) in the Python 3 site-packages folder.
On Linux, the Python 3 plugin (dylibs/plugin_gxl_python3_x64.so) is now linked to a shared object named libpython_3.so. libpython_3.so is a symlink (symbolic link) and points either to Python 3.5 shared object (on Linux Mint 18.3 for example) or to Python 3.6 (on Linux Mint 19.3). By default, libpython_3.so points to Python 3.5. The libpython_3.so should be deleted before the first launch of GeeXLab. Once deleted, it can be recreated to point to the correct version of Python using one of the following scripts (in GeeXLab folder):
– python3_plugin_update_symlink_for_python35.sh :
#!/bin/bash
ln -s /usr/lib/x86_64-linux-gnu/libpython3.5m.so.1.0 dylibs/libpython_3.so
– python3_plugin_update_symlink_for_python36.sh :
#!/bin/bash
ln -s /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0 dylibs/libpython_3.so
You can also link to Python 3.7 or 3.8. That should work. Sorry for that working but Python support on Linux is a bit messy.
Raspbian Buster (Raspberry Pi) is shipped with Python 3.7. So on Raspbian, GeeXLab uses Python 3.7.
2 – Changelog
This changelog is intended for all versions of GeeXLab.
Full changelog from beginning of time is available HERE.
Version 0.29.17.0 - 2020.03.05 ! (2020.03.05) [Linux] the Python 3 plugin is linked with libpython_3.so, a smylink towards the real Python shared object. + (2020.03.04) [Windows] Python 3 plugin updated plugin with Python 3.8.2. ! (2020.03.04) [Python 2/3] fixed a memory leak when a script was in live coding mode. + (2020.03.02) added get_num_strings(), get_string_num_chars(), set_string_char_position_offset() and set_string_char_color_factor() to gh_font lib. + (2020.02.27) [Python 3] added update_gpu_memory_from_numpy_img() to gh_texture lib. + (2020.02.27) [Windows] added feedreader, scapy, numpy and OpenCV in the Python 3 distribution that comes with GeeXLab ({GeeXLab}/python3/Lib/site-packages/). + (2020.02.25) [Python] added libfont2 in Python libs ({GeeXLab}/libs/python/libfont/). ! (2020.02.27) updated SMOL-V support with latest version. + (2020.02.21) added uniform_3x3f() to gh_gpu_program lib. + (2020.02.21) added math_from_to_rotation_matrix3x3() to gh_utils. + (2020.02.21) [PRO version] added check_for_new_version() to gh_utils.