![]() |
libpromeki 1
PROfessional MEdia toolKIt
|
PROfessional MEdia toolKIt - A C++ library targeted towards professional audio / video media needs.
The bulk of the code that makes up libpromeki started out life as code that existed across multiple libraries originally developed by my (now defunct) company, SpectSoft, for our video disk recorder product called RaveHD. During its run, it was used in post production, vfx, animation, and other media related sectors. At that time, the entire application stack was built on top of the Qt framework. The Qt design patterns, aesthetic, and general way of doing things has certainly informed much of how this library was architected.
What you see now is a library that takes the good bits from that old code base and has removed the Qt coupling and replaced it with modern C++ native STL. Hopefully you'll find it as useful as I have over the years. –jth
The library uses cmake for building, so building for your platform should be as easy as executing the following from within the root of the source tree:
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
Here's some tips on how to best utilize the library in your application:
#include <promeki/header.h>
method to include any promeki filespromeki
namespace. Often you can get away with using the entire namespace with: You can build the API documentation by using the docs
target in your cmake generated build. So, for example, if you've generated a make based build system, you should be able to type make docs
and doxygen will be run to generate the docs. NOTE: This target will only exist if you've got doxygen installed (and cmake can find it).
Additionally, you can find a copy of the documentation here: API Documentation
If you build the library with PROMEKI_DEBUG_ENABLE
defined, this will enable the promekiDebug()
function to write debug information to the log. Each source file that wants to use promekiDebug()
must also call PROMEKI_DEBUG(<DEBUG_NAME>)
at the top of the source file. This creates a debug channel by this name and assigns this source scope to this debug channel. You can then use the PROMEKI_DEBUG
environment variable to enable debug output of certain debug channels. You can provide a comma separated list for debugging multiple channels at once. So, for example:
In your source file:
And then when running your application:
And the promeki log output will now have all debug messages from the MyChannel debug channel.