The DataBeaver's Domain

Software - Libraries

I've written quite a few libraries to support my other programs. Some of them are written because no C++ library existed for that purpose, others were born when none of the existing libraries were to my liking. All of the libraries are distributed under the Lesser GNU Public License, which in short means: You are free to use my libraries or parts of them in your own applications, whether open or closed source, as long as you publish any modifications to my code and give me credit for my work.

A note about version numbers: They are of form major.minor.patch. The patch number may be absent if it would be zero. Within the same major version, libraries will stay backwards compatible on source code level. If the minor version also matches, binary compatibility is guaranteed as well. Versions before 1.0 are considered beta and follow relaxed rules; binary compatiblity may not exist at all and even minor versions may break source code compatibility.

At the moment the releases are very old, so using git versions is recommended unless you need compatibility with older software.

For downloading git versions I recommend using mspget.sh, which handles dependencies to other MSP libraries automatically.

All libraries are developed with cross-platform support in mind and currently support Linux, Windows, OS X. Basic android support exists, but some parts of platform integration are still missing. Other Unix-like platforms may work as well.

Most of the libraries require libsigc++ 2.0 either directly or by virtue of depending on mspcore. Other dependencies have been listed under individual libraries.

AL

C++ wrappers for OpenAL.

Requires OpenAL and libvorbisfile

Latest version: 0.10
Public git access: http://git.tdb.fi/?p=libs/al.git

Core

Base application framework and common utilities. Former mspfs, mspio and mspstrings have been merged here.

Latest version: 1.1
Public git access: http://git.tdb.fi/?p=libs/core.git

DataFile

A parser for my custom structured datafile format. Supports both a text-based and a binary format transparently to applications.

Latest version: 1.1.1
Public git access: http://git.tdb.fi/?p=libs/datafile.git

GUI

Graphics and input base library.

Requires xlib on Linux.

Recommends libpng and libjpeg for image loading (OS X can use quartz)

Latest version: 1.1
Public git access: http://git.tdb.fi/?p=libs/gui.git

GL

OpenGL-based 3D engine. Started out as simple OpenGL wrappers, but has since evolved many advanced features.

Latest version: 1.1
Public git access: http://git.tdb.fi/?p=libs/gl.git

GLtk

OpenGL-based widget toolkit.

Latest version: 1.1
Public git access: http://git.tdb.fi/?p=libs/gltk.git

Math

Mathematical utilities library.

Public git access: http://git.tdb.fi/?p=libs/math.git

Net

Network sockets built on top of the I/O framework in mspcore. Also contains simple HTTP client and server implementations.

Public git access: http://git.tdb.fi/?p=libs/net.git

VR

Virtual reality support for mspgl. Currently supports Oculus Rift with SDK version 0.4.4.

Requires the Oculus Rift SDK

Public git access: http://git.tdb.fi/?p=libs/vr.git