SDL-widgets

SDL-widgets is a GUI toolkit on top of the SDL-1.2 libraries. The toolkit is written in C++. It's not especially intended for games, it aims at normal applications with a possibly complicated SDL_Surface hierarchy, where surfaces can be hidden or shown, with sliders, menus, text areas, etc. Threads are supported, they communicate with the main thread via messages.

This is version 2.0, using C++0x features. Especially the lambda closures are very handy for a toolkit like this. This implicates that it is incompatible with last version 1.0, although porting is straightforward. If the compiler doesn't complain, then your program will work as before.

The following widgets are available:

  • subwindows
  • alert window
  • push buttons
  • radio buttons in 1 column
  • radio buttons at arbitrary locations
  • horizontal, vertical and 2-dimensional sliders
  • dial widgets
  • check boxes
  • horizontal and vertical scrollbars
  • indicator lamp
  • non-editable text windows
  • editable text windows
  • dialog widgets
  • menus
  • file chooser
  • temporary, movable windows

This toolkit is easily hackable: source code consists of 1 file + 2 header files.

Source code with documentation: SDL-widgets-2.0.tar.gz (date: jan 23, 2012)

Former version: SDL-widgets-1.0.tar.gz (date: dec 12, 2011)

Part of the tar files are 3 small example audio applications. Listen to a tune created with one of them: rising.ogg

Another application:
BigBand - a program to compose music for small ensembles - has its own site: members.chello.nl/w.boeke/bigband

Example programs
physical modelling
additive synthesis
waveform entry
filter test
toolkit demo program
physical modelling app