A multimedia framework using pure Qt with a QIODevice interface. Supports both Qt 4 and 5. It got started when RetroPlayer code started to become a mess and I needed something that didn't require too many external dependecies like gstreamer does.
It consists of a couple of components: sources, sinks, scanner, decoder and player.
Sources
Audio sources are QIODevice based so they can be read and written to like any Qt IO source.
Currently implemented are:
- libsidplayfp for SID files
- libopenmtp for Tracker modules (Prefered!)
- (libmodplug for Tracker modules (Optional, deprecated))
- libasap for SAP files
- sc68 for Atari and Amiga SC68 and sndh files
- AYEMU
- FLAC
- OPUS
Basic usage of source goes like this:
- The source file data is loaded normally into a buffer, say a QByteArray
- source is opened for writing and the data is written to it
- source is closed
- source is opened for reading
- source is assigned to a sink, for example a QAudioOutput
- playback!
Sinks
- Qt QAudioOutput
- Linux ALSA
- QNX QSA
- Raw data file writer
- WAV file writer