Updated: October 26, 2022

Details for an mm-renderer event


#include <mm/renderer/events.h>
union mmr_event_details {
    struct mmr_event_state {
        mmr_state_t oldstate; 
        int oldspeed; 
    } state;
    struct mmr_event_error {
        mmr_error_info_t info; 
    } error; 
    struct mmr_event_warning {
        const char *str;  
        const strm_string_t *obj;  
    } warning; 
    struct mmr_event_metadata {
        unsigned index; 
    } metadata; 
    struct mmr_event_trkparam {
        unsigned index;
    } trkparam;
    struct mmr_event_playlist {
        unsigned start; 
        unsigned end; 
        unsigned length; 
    } playlist; 
    struct mmr_event_output {
        unsigned id; 
    } output; 
} details;


Used when mmr_event.type is MMR_EVENT_STATE.

The mmr_event_state structure has these members:

mmr_state_t oldstate
The state before the event.
int oldspeed
The speed before the event.
Used when mmr_event.type is MMR_EVENT_ERROR.

The mmr_event_error structure has these members:

mmr_error_info_t info
The error information.
Used when mmr_event.type is MMR_EVENT_WARNING.

The mmr_event_warning structure has these members:

const char* str
The warning string, as a C string.
const strm_string_t* obj
The warning string, as a shareable string.
Used when mmr_event.type is MMR_EVENT_METADATA.

The mmr_event_metadata structure has these members:

unsigned index
The playlist index for playlist-related events; otherwise, zero.
Used when mmr_event.type is MMR_EVENT_TRKPAR.

The mmr_event_trkparam structure has these members:

unsigned index
The playlist index.
Used when mmr_event.type is MMR_EVENT_PLAYLIST.

The mmr_event_playlist structure has these members:

unsigned start
The index of the first item in the playlist window.
unsigned end
The index of the last item in the playlist window.
unsigned length
The playlist length. Zero if the length isn't yet known because it's still being computed.
Used when mmr_event.type is MMR_EVENT_OUTPUT.

The mmr_event_output structure has these members:

unsigned id
The output ID.




The details field contains information specific to an event type. This field is a union; the descriptions of each structure that can be stored in it indicate the event type for which the structure is used.

For many events, additional information is kept in the data field of the mmr_event_t structure. The table that summarizes the possible contents of the data field by event type also lists the corresponding structure kept in details (if any).