CuteMedia

Last modified: 
08/06/2017 - 17:35
Platforms: 
BlackBerry
PlayBook
BlackBerry 10
Linux
Sailfish OS

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
  • FLAC

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

Currently work in progress, test app is using QAudioOutput

  • Qt QAudioOutput
  • Linux ALSA
  • QNX QSA
  • Raw data file writer
  • WAV file writer