/*
 * Module code.
 *
 * Generated by SIP 4.19.16
 *
 *     Copyright: (c) 2018 by Total Control Software
 *     License:   wxWindows License
 */

#include "sipAPI_media.h"

        #include <wx/object.h>
        #include <wx/event.h>
        #include <wx/gdicmn.h>
        #include <wx/validate.h>
        #include <wx/window.h>
        #include <wx/gdicmn.h>

/* Define the strings used by this module. */
const char sipStrings__media[] = {
    'M', 'E', 'D', 'I', 'A', 'C', 'T', 'R', 'L', 'P', 'L', 'A', 'Y', 'E', 'R', 'C', 'O', 'N', 'T', 'R', 'O', 'L', 'S', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', 0,
    'G', 'e', 't', 'M', 'a', 'i', 'n', 'W', 'i', 'n', 'd', 'o', 'w', 'O', 'f', 'C', 'o', 'm', 'p', 'o', 's', 'i', 't', 'e', 'C', 'o', 'n', 't', 'r', 'o', 'l', 0,
    'M', 'E', 'D', 'I', 'A', 'C', 'T', 'R', 'L', 'P', 'L', 'A', 'Y', 'E', 'R', 'C', 'O', 'N', 'T', 'R', 'O', 'L', 'S', '_', 'V', 'O', 'L', 'U', 'M', 'E', 0,
    'M', 'E', 'D', 'I', 'A', 'C', 'T', 'R', 'L', 'P', 'L', 'A', 'Y', 'E', 'R', 'C', 'O', 'N', 'T', 'R', 'O', 'L', 'S', '_', 'S', 'T', 'E', 'P', 0,
    'M', 'E', 'D', 'I', 'A', 'C', 'T', 'R', 'L', 'P', 'L', 'A', 'Y', 'E', 'R', 'C', 'O', 'N', 'T', 'R', 'O', 'L', 'S', '_', 'N', 'O', 'N', 'E', 0,
    'G', 'e', 't', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'B', 'o', 'r', 'd', 'e', 'r', 'F', 'o', 'r', 'C', 'o', 'n', 't', 'r', 'o', 'l', 0,
    'w', 'x', 'M', 'e', 'd', 'i', 'a', 'C', 't', 'r', 'l', 'P', 'l', 'a', 'y', 'e', 'r', 'C', 'o', 'n', 't', 'r', 'o', 'l', 's', 0,
    'w', 'x', 'E', 'V', 'T', '_', 'M', 'E', 'D', 'I', 'A', '_', 'S', 'T', 'A', 'T', 'E', 'C', 'H', 'A', 'N', 'G', 'E', 'D', 0,
    'H', 'a', 's', 'T', 'r', 'a', 'n', 's', 'p', 'a', 'r', 'e', 'n', 't', 'B', 'a', 'c', 'k', 'g', 'r', 'o', 'u', 'n', 'd', 0,
    'A', 'c', 'c', 'e', 'p', 't', 's', 'F', 'o', 'c', 'u', 's', 'F', 'r', 'o', 'm', 'K', 'e', 'y', 'b', 'o', 'a', 'r', 'd', 0,
    'A', 'c', 'c', 'e', 'p', 't', 's', 'F', 'o', 'c', 'u', 's', 'R', 'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', 'l', 'y', 0,
    'T', 'r', 'a', 'n', 's', 'f', 'e', 'r', 'D', 'a', 't', 'a', 'F', 'r', 'o', 'm', 'W', 'i', 'n', 'd', 'o', 'w', 0,
    'w', 'x', 'E', 'V', 'T', '_', 'M', 'E', 'D', 'I', 'A', '_', 'F', 'I', 'N', 'I', 'S', 'H', 'E', 'D', 0,
    'T', 'r', 'a', 'n', 's', 'f', 'e', 'r', 'D', 'a', 't', 'a', 'T', 'o', 'W', 'i', 'n', 'd', 'o', 'w', 0,
    'S', 'h', 'o', 'u', 'l', 'd', 'I', 'n', 'h', 'e', 'r', 'i', 't', 'C', 'o', 'l', 'o', 'u', 'r', 's', 0,
    'I', 'n', 'f', 'o', 'r', 'm', 'F', 'i', 'r', 's', 't', 'D', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', 0,
    'D', 'o', 'G', 'e', 't', 'B', 'e', 's', 't', 'C', 'l', 'i', 'e', 'n', 't', 'S', 'i', 'z', 'e', 0,
    'G', 'e', 't', 'C', 'l', 'i', 'e', 'n', 't', 'A', 'r', 'e', 'a', 'O', 'r', 'i', 'g', 'i', 'n', 0,
    'S', 'h', 'o', 'w', 'P', 'l', 'a', 'y', 'e', 'r', 'C', 'o', 'n', 't', 'r', 'o', 'l', 's', 0,
    'w', 'x', 'E', 'V', 'T', '_', 'M', 'E', 'D', 'I', 'A', '_', 'L', 'O', 'A', 'D', 'E', 'D', 0,
    'M', 'E', 'D', 'I', 'A', 'S', 'T', 'A', 'T', 'E', '_', 'P', 'L', 'A', 'Y', 'I', 'N', 'G', 0,
    'M', 'E', 'D', 'I', 'A', 'S', 'T', 'A', 'T', 'E', '_', 'S', 'T', 'O', 'P', 'P', 'E', 'D', 0,
    'D', 'o', 'S', 'e', 't', 'W', 'i', 'n', 'd', 'o', 'w', 'V', 'a', 'r', 'i', 'a', 'n', 't', 0,
    'w', 'x', 'E', 'V', 'T', '_', 'M', 'E', 'D', 'I', 'A', '_', 'P', 'A', 'U', 'S', 'E', 0,
    'M', 'E', 'D', 'I', 'A', 'S', 'T', 'A', 'T', 'E', '_', 'P', 'A', 'U', 'S', 'E', 'D', 0,
    'I', 'n', 'h', 'e', 'r', 'i', 't', 'A', 't', 't', 'r', 'i', 'b', 'u', 't', 'e', 's', 0,
    'L', 'o', 'a', 'd', 'U', 'R', 'I', 'W', 'i', 't', 'h', 'P', 'r', 'o', 'x', 'y', 0,
    'w', 'x', 'E', 'V', 'T', '_', 'M', 'E', 'D', 'I', 'A', '_', 'P', 'L', 'A', 'Y', 0,
    'w', 'x', 'E', 'V', 'T', '_', 'M', 'E', 'D', 'I', 'A', '_', 'S', 'T', 'O', 'P', 0,
    'S', 'e', 'n', 'd', 'D', 'e', 's', 't', 'r', 'o', 'y', 'E', 'v', 'e', 'n', 't', 0,
    'G', 'e', 't', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'B', 'o', 'r', 'd', 'e', 'r', 0,
    'G', 'e', 't', 'E', 'v', 'e', 'n', 't', 'C', 'a', 't', 'e', 'g', 'o', 'r', 'y', 0,
    'S', 'e', 't', 'P', 'l', 'a', 'y', 'b', 'a', 'c', 'k', 'R', 'a', 't', 'e', 0,
    'G', 'e', 't', 'P', 'l', 'a', 'y', 'b', 'a', 'c', 'k', 'R', 'a', 't', 'e', 0,
    'D', 'o', 'G', 'e', 't', 'B', 'o', 'r', 'd', 'e', 'r', 'S', 'i', 'z', 'e', 0,
    'D', 'o', 'S', 'e', 't', 'C', 'l', 'i', 'e', 'n', 't', 'S', 'i', 'z', 'e', 0,
    'D', 'o', 'G', 'e', 't', 'C', 'l', 'i', 'e', 'n', 't', 'S', 'i', 'z', 'e', 0,
    'D', 'o', 'S', 'e', 't', 'S', 'i', 'z', 'e', 'H', 'i', 'n', 't', 's', 0,
    'O', 'n', 'I', 'n', 't', 'e', 'r', 'n', 'a', 'l', 'I', 'd', 'l', 'e', 0,
    'U', 'S', 'E', '_', 'M', 'E', 'D', 'I', 'A', 'C', 'T', 'R', 'L', 0,
    'D', 'o', 'G', 'e', 't', 'B', 'e', 's', 't', 'S', 'i', 'z', 'e', 0,
    'D', 'o', 'G', 'e', 't', 'P', 'o', 's', 'i', 't', 'i', 'o', 'n', 0,
    'w', 'x', 'M', 'e', 'd', 'i', 'a', 'E', 'v', 'e', 'n', 't', 0,
    'w', 'x', 'M', 'e', 'd', 'i', 'a', 'S', 't', 'a', 't', 'e', 0,
    'D', 'o', 'M', 'o', 'v', 'e', 'W', 'i', 'n', 'd', 'o', 'w', 0,
    'S', 'e', 't', 'V', 'a', 'l', 'i', 'd', 'a', 't', 'o', 'r', 0,
    'G', 'e', 't', 'V', 'a', 'l', 'i', 'd', 'a', 't', 'o', 'r', 0,
    'A', 'c', 'c', 'e', 'p', 't', 's', 'F', 'o', 'c', 'u', 's', 0,
    'P', 'r', 'o', 'c', 'e', 's', 's', 'E', 'v', 'e', 'n', 't', 0,
    'w', 'x', 'M', 'e', 'd', 'i', 'a', 'C', 't', 'r', 'l', 0,
    'S', 'e', 't', 'C', 'a', 'n', 'F', 'o', 'c', 'u', 's', 0,
    'R', 'e', 'm', 'o', 'v', 'e', 'C', 'h', 'i', 'l', 'd', 0,
    'c', 'o', 'm', 'm', 'a', 'n', 'd', 'T', 'y', 'p', 'e', 0,
    'w', 'i', 'd', 't', 'h', 'T', 'i', 't', 'l', 'e', 0,
    'I', 'n', 'i', 't', 'D', 'i', 'a', 'l', 'o', 'g', 0,
    'S', 'e', 't', 'V', 'o', 'l', 'u', 'm', 'e', 0,
    'G', 'e', 't', 'V', 'o', 'l', 'u', 'm', 'e', 0,
    's', 'z', 'B', 'a', 'c', 'k', 'e', 'n', 'd', 0,
    'c', 'o', 'l', 'u', 'm', 'n', 'M', 'a', 'x', 0,
    'c', 'o', 'l', 'u', 'm', 'n', 'M', 'i', 'n', 0,
    'D', 'o', 'S', 'e', 't', 'S', 'i', 'z', 'e', 0,
    'D', 'o', 'G', 'e', 't', 'S', 'i', 'z', 'e', 0,
    'v', 'a', 'l', 'i', 'd', 'a', 't', 'o', 'r', 0,
    's', 'i', 'z', 'e', 'F', 'l', 'a', 'g', 's', 0,
    'T', 'r', 'y', 'B', 'e', 'f', 'o', 'r', 'e', 0,
    'w', 'x', '.', '_', 'm', 'e', 'd', 'i', 'a', 0,
    'D', 'o', 'F', 'r', 'e', 'e', 'z', 'e', 0,
    'D', 'o', 'E', 'n', 'a', 'b', 'l', 'e', 0,
    'V', 'a', 'l', 'i', 'd', 'a', 't', 'e', 0,
    'A', 'd', 'd', 'C', 'h', 'i', 'l', 'd', 0,
    'f', 'i', 'l', 'e', 'N', 'a', 'm', 'e', 0,
    'T', 'r', 'y', 'A', 'f', 't', 'e', 'r', 0,
    'G', 'e', 't', 'S', 't', 'a', 't', 'e', 0,
    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 0,
    'd', 'V', 'o', 'l', 'u', 'm', 'e', 0,
    'L', 'o', 'a', 'd', 'U', 'R', 'I', 0,
    'u', 'n', 'i', 't', 'M', 'a', 'x', 0,
    'u', 'n', 'i', 't', 'M', 'i', 'n', 0,
    'v', 'a', 'r', 'i', 'a', 'n', 't', 0,
    'D', 'e', 's', 't', 'r', 'o', 'y', 0,
    'c', 'l', 'i', 'e', 'n', 't', 0,
    'd', 'i', 'a', 'l', 'o', 'g', 0,
    'r', 'o', 'w', 'M', 'a', 'x', 0,
    'r', 'o', 'w', 'M', 'i', 'n', 0,
    'D', 'o', 'T', 'h', 'a', 'w', 0,
    'p', 'a', 'r', 'e', 'n', 't', 0,
    'e', 'n', 'a', 'b', 'l', 'e', 0,
    'C', 'r', 'e', 'a', 't', 'e', 0,
    's', 't', 'r', 'e', 'a', 'm', 0,
    'L', 'e', 'n', 'g', 't', 'h', 0,
    'c', 'o', 'l', 'u', 'm', 'n', 0,
    'h', 'e', 'i', 'g', 'h', 't', 0,
    'd', 'R', 'a', 't', 'e', 0,
    'w', 'h', 'e', 'r', 'e', 0,
    'p', 'r', 'o', 'x', 'y', 0,
    'p', 'o', 'p', 'u', 'p', 0,
    's', 'i', 'z', 'e', 'r', 0,
    'w', 'i', 'n', 'i', 'd', 0,
    'C', 'l', 'o', 'n', 'e', 0,
    'e', 'v', 'e', 'n', 't', 0,
    'l', 'e', 'v', 'e', 'l', 0,
    's', 't', 'y', 'l', 'e', 0,
    'w', 'i', 'd', 't', 'h', 0,
    'c', 'o', 'u', 'n', 't', 0,
    'P', 'a', 'u', 's', 'e', 0,
    'f', 'l', 'a', 'g', 's', 0,
    'T', 'e', 'l', 'l', 0,
    'S', 'e', 'e', 'k', 0,
    'u', 'n', 'i', 't', 0,
    'i', 'n', 'c', 'H', 0,
    'i', 'n', 'c', 'W', 0,
    'm', 'a', 'x', 'H', 0,
    'm', 'a', 'x', 'W', 0,
    'm', 'i', 'n', 'H', 0,
    'm', 'i', 'n', 'W', 0,
    'S', 't', 'o', 'p', 0,
    's', 'h', 'o', 'w', 0,
    'L', 'o', 'a', 'd', 0,
    'P', 'l', 'a', 'y', 0,
    'r', 'e', 'c', 't', 0,
    's', 'i', 'z', 'e', 0,
    'n', 'a', 'm', 'e', 0,
    'm', 'o', 'd', 'e', 0,
    't', 'i', 'm', 'e', 0,
    'i', 't', 'e', 'm', 0,
    'i', 'n', 'f', 'o', 0,
    'u', 'r', 'i', 0,
    'i', 'd', 'x', 0,
    'm', 's', 'g', 0,
    'r', 'o', 'w', 0,
    'p', 'o', 's', 0,
    'd', 'c', 0,
};
#if !wxUSE_MEDIACTRL
wxEventType wxEVT_MEDIA_LOADED;
wxEventType wxEVT_MEDIA_STOP;
wxEventType wxEVT_MEDIA_FINISHED;
wxEventType wxEVT_MEDIA_STATECHANGED;
wxEventType wxEVT_MEDIA_PLAY;
wxEventType wxEVT_MEDIA_PAUSE;
#endif //!wxUSE_MEDIACTRL


 ::wxEvent* sipVH__media_19(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod)
{
     ::wxEvent* sipRes = 0;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "");

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H2", sipType_wxEvent, &sipRes);

    return sipRes;
}

 ::wxEventCategory sipVH__media_18(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod)
{
     ::wxEventCategory sipRes = ::wxEVT_CATEGORY_UI;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "");

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "F", sipType_wxEventCategory, &sipRes);

    return sipRes;
}

 ::wxBorder sipVH__media_17(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod)
{
     ::wxBorder sipRes = ::wxBORDER_DEFAULT;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "");

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "F", sipType_wxBorder, &sipRes);

    return sipRes;
}

void sipVH__media_16(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod,  ::wxWindowVariant variant)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "F", variant, sipType_wxWindowVariant);
}

void sipVH__media_15(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int x,int y,int width,int height)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "iiii", x, y, width, height);
}

 ::wxSize sipVH__media_14(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod)
{
     ::wxSize sipRes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "");

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_wxSize, &sipRes);

    return sipRes;
}

void sipVH__media_13(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int minW,int minH,int maxW,int maxH,int incW,int incH)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "iiiiii", minW, minH, maxW, maxH, incW, incH);
}

void sipVH__media_12(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int width,int height)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "ii", width, height);
}

void sipVH__media_11(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int x,int y,int width,int height,int sizeFlags)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "iiiii", x, y, width, height, sizeFlags);
}

void sipVH__media_10(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int*x,int*y)
{
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "");

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "(ii)", x, y);
}

 ::wxWindow* sipVH__media_9(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod)
{
     ::wxWindow* sipRes = 0;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "");

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H0", sipType_wxWindow, &sipRes);

    return sipRes;
}

void sipVH__media_8(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "");
}

void sipVH__media_7(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::wxValidator& validator)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "D", const_cast< ::wxValidator *>(&validator), sipType_wxValidator, SIP_NULLPTR);
}

 ::wxValidator* sipVH__media_6(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod)
{
     ::wxValidator* sipRes = 0;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "");

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H0", sipType_wxValidator, &sipRes);

    return sipRes;
}

 ::wxPoint sipVH__media_5(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod)
{
     ::wxPoint sipRes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "");

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_wxPoint, &sipRes);

    return sipRes;
}

bool sipVH__media_4(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int direction,int size,int availableOtherDir)
{
    bool sipRes = 0;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "iii", direction, size, availableOtherDir);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes);

    return sipRes;
}

void sipVH__media_3(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, bool canFocus)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "b", canFocus);
}

bool sipVH__media_2(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod)
{
    bool sipRes = 0;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "");

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes);

    return sipRes;
}

bool sipVH__media_1(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod,  ::wxEvent& event)
{
    bool sipRes = 0;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "D", &event, sipType_wxEvent, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes);

    return sipRes;
}

void sipVH__media_0(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod,  ::wxWindowBase*child)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "D", child, sipType_wxWindowBase, SIP_NULLPTR);
}
static sipEnumTypeDef enumTypes[] = {
    {{-1, 0, 0, SIP_TYPE_ENUM, sipNameNr_wxMediaCtrlPlayerControls, {0}, 0}, sipNameNr_MediaCtrlPlayerControls, -1, SIP_NULLPTR},
    {{-1, 0, 0, SIP_TYPE_ENUM, sipNameNr_wxMediaState, {0}, 0}, sipNameNr_MediaState, -1, SIP_NULLPTR},
};

/* These are the enum members of all global enums. */
static sipEnumMemberDef enummembers[] = {
    {sipName_MEDIACTRLPLAYERCONTROLS_DEFAULT, static_cast<int>(::wxMEDIACTRLPLAYERCONTROLS_DEFAULT), 1},
    {sipName_MEDIACTRLPLAYERCONTROLS_NONE, static_cast<int>(::wxMEDIACTRLPLAYERCONTROLS_NONE), 1},
    {sipName_MEDIACTRLPLAYERCONTROLS_STEP, static_cast<int>(::wxMEDIACTRLPLAYERCONTROLS_STEP), 1},
    {sipName_MEDIACTRLPLAYERCONTROLS_VOLUME, static_cast<int>(::wxMEDIACTRLPLAYERCONTROLS_VOLUME), 1},
    {sipName_MEDIASTATE_PAUSED, static_cast<int>(::wxMEDIASTATE_PAUSED), 3},
    {sipName_MEDIASTATE_PLAYING, static_cast<int>(::wxMEDIASTATE_PLAYING), 3},
    {sipName_MEDIASTATE_STOPPED, static_cast<int>(::wxMEDIASTATE_STOPPED), 3},
};


/*
 * This defines each type in this module.
 */
sipTypeDef *sipExportedTypes__media[] = {
    &sipTypeDef__media_wxMediaCtrl.ctd_base,
    &enumTypes[0].etd_base,
    &sipTypeDef__media_wxMediaEvent.ctd_base,
    &enumTypes[1].etd_base,
};


/* This defines the types that this module needs to import from _core. */
sipImportedTypeDef sipImportedTypes__media__core[] = {
    {"wxBorder"},
    {"wxCommandEvent"},
    {"wxControl"},
    {"wxEvent"},
    {"wxEventCategory"},
    {"wxEvtHandler"},
    {"wxNotifyEvent"},
    {"wxObject"},
    {"wxPoint"},
    {"wxSeekMode"},
    {"wxSize"},
    {"wxString"},
    {"wxTrackable"},
    {"wxValidator"},
    {"wxWindow"},
    {"wxWindowBase"},
    {"wxWindowVariant"},
    {SIP_NULLPTR}
};


/* This defines the modules that this module needs to import. */
static sipImportedModuleDef importsTable[] = {
    {"wx._core", sipImportedTypes__media__core, SIP_NULLPTR, SIP_NULLPTR},
    {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR}
};


/* Define the ints to be added to this module dictionary. */
static sipIntInstanceDef intInstances[] = {
    {sipName_USE_MEDIACTRL, wxUSE_MEDIACTRL},
    {sipName_wxEVT_MEDIA_FINISHED, wxEVT_MEDIA_FINISHED},
    {sipName_wxEVT_MEDIA_LOADED, wxEVT_MEDIA_LOADED},
    {sipName_wxEVT_MEDIA_PAUSE, wxEVT_MEDIA_PAUSE},
    {sipName_wxEVT_MEDIA_PLAY, wxEVT_MEDIA_PLAY},
    {sipName_wxEVT_MEDIA_STATECHANGED, wxEVT_MEDIA_STATECHANGED},
    {sipName_wxEVT_MEDIA_STOP, wxEVT_MEDIA_STOP},
    {0, 0}
};


/* This defines this module. */
sipExportedModuleDef sipModuleAPI__media = {
    0,
    SIP_API_MINOR_NR,
    sipNameNr_wx__media,
    0,
    sipStrings__media,
    importsTable,
    SIP_NULLPTR,
    4,
    sipExportedTypes__media,
    SIP_NULLPTR,
    7,
    enummembers,
    0,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, intInstances, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR
};


/* The SIP API and the APIs of any imported modules. */
const sipAPIDef *sipAPI__media;


/* The Python module initialisation function. */
#if PY_MAJOR_VERSION >= 3
#define SIP_MODULE_ENTRY        PyInit__media
#define SIP_MODULE_TYPE         PyObject *
#define SIP_MODULE_DISCARD(r)   Py_DECREF(r)
#define SIP_MODULE_RETURN(r)    return (r)
#else
#define SIP_MODULE_ENTRY        init_media
#define SIP_MODULE_TYPE         void
#define SIP_MODULE_DISCARD(r)
#define SIP_MODULE_RETURN(r)    return
#endif

#if defined(SIP_STATIC_MODULE)
extern "C" SIP_MODULE_TYPE SIP_MODULE_ENTRY()
#else
PyMODINIT_FUNC SIP_MODULE_ENTRY()
#endif
{
    static PyMethodDef sip_methods[] = {
        {SIP_NULLPTR, SIP_NULLPTR, 0, SIP_NULLPTR}
    };

#if PY_MAJOR_VERSION >= 3
    static PyModuleDef sip_module_def = {
        PyModuleDef_HEAD_INIT,
        "wx._media",
        SIP_NULLPTR,
        -1,
        sip_methods,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_NULLPTR
    };
#endif

    PyObject *sipModule, *sipModuleDict;
    PyObject *sip_sipmod, *sip_capiobj;

    /* Initialise the module and get it's dictionary. */
#if PY_MAJOR_VERSION >= 3
    sipModule = PyModule_Create(&sip_module_def);
#elif PY_VERSION_HEX >= 0x02050000
    sipModule = Py_InitModule(sipName_wx__media, sip_methods);
#else
    sipModule = Py_InitModule(const_cast<char *>(sipName_wx__media), sip_methods);
#endif

    if (sipModule == SIP_NULLPTR)
        SIP_MODULE_RETURN(SIP_NULLPTR);

    sipModuleDict = PyModule_GetDict(sipModule);

    /* Get the SIP module's API. */
#if PY_VERSION_HEX >= 0x02050000
    sip_sipmod = PyImport_ImportModule("wx.siplib");
#else
    sip_sipmod = PyImport_ImportModule(const_cast<char *>("wx.siplib"));
#endif

    if (sip_sipmod == SIP_NULLPTR)
    {
        SIP_MODULE_DISCARD(sipModule);
        SIP_MODULE_RETURN(SIP_NULLPTR);
    }

    sip_capiobj = PyDict_GetItemString(PyModule_GetDict(sip_sipmod), "_C_API");
    Py_DECREF(sip_sipmod);

#if defined(SIP_USE_PYCAPSULE)
    if (sip_capiobj == SIP_NULLPTR || !PyCapsule_CheckExact(sip_capiobj))
#else
    if (sip_capiobj == SIP_NULLPTR || !PyCObject_Check(sip_capiobj))
#endif
    {
        SIP_MODULE_DISCARD(sipModule);
        SIP_MODULE_RETURN(SIP_NULLPTR);
    }

#if defined(SIP_USE_PYCAPSULE)
    sipAPI__media = reinterpret_cast<const sipAPIDef *>(PyCapsule_GetPointer(sip_capiobj, "wx.siplib._C_API"));
#else
    sipAPI__media = reinterpret_cast<const sipAPIDef *>(PyCObject_AsVoidPtr(sip_capiobj));
#endif

#if defined(SIP_USE_PYCAPSULE)
    if (sipAPI__media == SIP_NULLPTR)
    {
        SIP_MODULE_DISCARD(sipModule);
        SIP_MODULE_RETURN(SIP_NULLPTR);
    }
#endif

    /* Export the module and publish it's API. */
    if (sipExportModule(&sipModuleAPI__media,SIP_API_MAJOR_NR,SIP_API_MINOR_NR,0) < 0)
    {
        SIP_MODULE_DISCARD(sipModule);
        SIP_MODULE_RETURN(SIP_NULLPTR);
    }
    /* Initialise the module now all its dependencies have been set up. */
    if (sipInitModule(&sipModuleAPI__media,sipModuleDict) < 0)
    {
        SIP_MODULE_DISCARD(sipModule);
        SIP_MODULE_RETURN(SIP_NULLPTR);
    }

    SIP_MODULE_RETURN(sipModule);
}
