The most difficult and frustrating part of writing software is debugging. It may be especially
complicated when a big subsystem of shared libraries and objects (like
Reggae) is used by an
application. To make the task easy, Reggae has some debugging features built in. The most important one
is event logging. Every Reggae object logs important events like creation, disposition, port connections,
changing attributes, handling data requests etc. There is a special function in multimedia.class
(MediaLog() namely), used by all Reggae objects for sending log messages. All these messages may
be sent to a public message port. MediaLogger creates such a port, receives messages and presents them in a
simple GUI (see screenshots below). It allows for importance level based filtering and saving messages to
a file. This application will help in developing applications using Reggae, developing third party Reggae
classes and Reggae itself (it is used by me regularly).

Screenshots

Main MediaLogger window.

Different levels of improtance may have user defined colors.

Installation and usage

There is no installation procedure. Just copy the file with its icon whereever you want. Usage is fairly
simple. Run the program by doubleclicking its icon and it will catch all the Reggae activity. You can change
level of message filtering with a cycle gadget on the bottom. There are also some menu entries. 'Copy'
copies selected messages to the system clipboard. 'Clear' removes all messages from the listview, 'Save' stores all messages from the listview to a file choosen
with a filerequester. 'Settings' menu item opens a configuration window, where you can set colors for
different message importance levels. This is done with standard MUI color selectors.