Extensions are additional functions, usually developed in C or Fortran, which extend the core functionality of LME, the programming language of Sysquake. Extensions are grouped in so-called shared libraries or dynamically-linked libraries (DLL) files. At startup, Sysquake loads all extensions it finds in the folder LMEExt in the same location as the Sysquake program file. Each extension initializes itself and usually displays a line of information in the Command window. No further action is needed in order to use the new functions.
You can also develop and add your own extensions, as explained in the next chapter.
Here is the list of the extensions currently provided with Sysquake.
- Lapack (Windows, Mac, Unix)
- LAPACK-based linear algebra functions.
- Long integers (Windows, Mac, Unix)
- Arithmetic on arbitrary-length integer numbers.
File input/output and data compression
- Memory mapping (macOS, Unix)
- Mapping of files in memory, which can be read and written like regular arrays.
- Data compression (Windows, Mac, Unix)
- Support for compressing and uncompressing data using ZLib.
- Image Input/Output (Windows, Mac, Unix)
- Support for reading and writing arrays as PNG or JPEG image files.
- MAT-file (Windows, Mac, Unix)
- Support for reading and writing MAT-files (native MATLAB binary files).
- JSON (Windows, Mac, Unix)
- JSON encoding and decoding.
- SQLite (Windows, macOS, Unix)
- SQLite, an embedded relational database in single files also using SQL as its query language.
- Socket (Windows, Mac, Unix)
- TCP/IP communication with servers or clients on the same computer, on a local network or on the Internet.
- Launch URL (Windows, Mac, Unix)
- Opening of documents in a World Wide Web browser.
- Download URL (Windows, Mac, Linux)
- Download of documents from the World Wide Web.
- Open Script Architecture (Mac)
- Communication with other applications.
- Power Management (Windows, Mac)
- Functions related to power management.
- System Log (macOS, Unix)
- Output to system log.
- Shell (Windows, macOS, Unix)
- Shell related functions.
- Signal (macOS, Unix)
- Support for signals (POSIX functions kill and signal).
- Web Services (Windows, macOS, Unix)
- Web Services (standard remote procedure calls using XML-RPC and SOAP).
- Windows Registry (Windows)
- Windows registry query.
- Serial port (Windows, Mac, Unix)
- Communication with the serial port.
- I2C bus (Linux)
- Communication with devices on an I2C bus.
- Joystick (Windows, macOS, Linux)
- Support for reading the state of a joystick or other similar device.
- Audio playback (Windows, macOS, Linux)
- Audio output.
- Audio recording (Windows, macOS, Linux)
- Audio input.
- Speech (Windows, Mac)
- Speech output.
- Image Capture (macOS)
- Support for getting images from digital cameras.
- OpenCL (macOS)
- Support for executing code on GPU with OpenCL.