示例#1
0
PyMODINIT_FUNC initconstants (void)
#endif
{
    PyObject *module;

#ifdef IS_PYTHON_3
    static struct PyModuleDef _module = {
        PyModuleDef_HEAD_INIT,
        "constants",
        "Pygame OpenAL constants",
        -1,
        NULL,
        NULL, NULL, NULL, NULL
    };
    module = PyModule_Create (&_module);
#else
    module = Py_InitModule3 ("constants", NULL, "Pygame OpenAL constants");
#endif
    if (!module)
        goto fail;

    DEC_CONST(AL_INVALID);
    DEC_CONST(AL_ILLEGAL_ENUM);
    DEC_CONST(AL_ILLEGAL_COMMAND);
    
    DEC_CONST(AL_NONE);
    DEC_CONST(AL_FALSE);
    DEC_CONST(AL_TRUE);
    
    DEC_CONST(AL_SOURCE_RELATIVE);
    DEC_CONST(AL_CONE_INNER_ANGLE);
    DEC_CONST(AL_CONE_OUTER_ANGLE);
    DEC_CONST(AL_PITCH);
    DEC_CONST(AL_POSITION);
    DEC_CONST(AL_DIRECTION);
    DEC_CONST(AL_VELOCITY);
    DEC_CONST(AL_LOOPING);
    DEC_CONST(AL_BUFFER);
    DEC_CONST(AL_GAIN);
    DEC_CONST(AL_MIN_GAIN);
    DEC_CONST(AL_MAX_GAIN);
    DEC_CONST(AL_ORIENTATION);
    
    DEC_CONST(AL_SOURCE_STATE);
    DEC_CONST(AL_INITIAL);
    DEC_CONST(AL_PLAYING);
    DEC_CONST(AL_PAUSED);
    DEC_CONST(AL_STOPPED);
    
    DEC_CONST(AL_BUFFERS_QUEUED);
    DEC_CONST(AL_BUFFERS_PROCESSED);
    
    DEC_CONST(AL_SEC_OFFSET);
    DEC_CONST(AL_SAMPLE_OFFSET);
    DEC_CONST(AL_BYTE_OFFSET);
    
    DEC_CONST(AL_SOURCE_TYPE);
    DEC_CONST(AL_STATIC);
    DEC_CONST(AL_STREAMING);
    DEC_CONST(AL_UNDETERMINED);
    
    DEC_CONST(AL_FORMAT_MONO8);
    DEC_CONST(AL_FORMAT_MONO16);
    DEC_CONST(AL_FORMAT_STEREO8);
    DEC_CONST(AL_FORMAT_STEREO16);
    
    DEC_CONST(AL_REFERENCE_DISTANCE);
    DEC_CONST(AL_ROLLOFF_FACTOR);
    DEC_CONST(AL_CONE_OUTER_GAIN);
    DEC_CONST(AL_MAX_DISTANCE);
    
    DEC_CONST(AL_FREQUENCY);
    DEC_CONST(AL_BITS);
    DEC_CONST(AL_CHANNELS);
    DEC_CONST(AL_SIZE);
    
    DEC_CONST(AL_UNUSED);
    DEC_CONST(AL_PENDING);
    DEC_CONST(AL_PROCESSED);
    
    DEC_CONST(AL_NO_ERROR);
    DEC_CONST(AL_INVALID_NAME);
    DEC_CONST(AL_INVALID_ENUM);
    DEC_CONST(AL_INVALID_VALUE);
    DEC_CONST(AL_INVALID_OPERATION);
    DEC_CONST(AL_OUT_OF_MEMORY);
    
    DEC_CONST(AL_VENDOR);
    DEC_CONST(AL_VERSION);
    DEC_CONST(AL_RENDERER);
    DEC_CONST(AL_EXTENSIONS);
    
    DEC_CONST(AL_DOPPLER_FACTOR);
    DEC_CONST(AL_DOPPLER_VELOCITY);
    
    DEC_CONST(AL_SPEED_OF_SOUND);
    
    DEC_CONST(AL_DISTANCE_MODEL);
    DEC_CONST(AL_INVERSE_DISTANCE);
    DEC_CONST(AL_INVERSE_DISTANCE_CLAMPED);
    DEC_CONST(AL_LINEAR_DISTANCE);
    DEC_CONST(AL_LINEAR_DISTANCE_CLAMPED);
    DEC_CONST(AL_EXPONENT_DISTANCE);
    DEC_CONST(AL_EXPONENT_DISTANCE_CLAMPED);

    /* ALC constants */
    DEC_CONST(ALC_INVALID);
    DEC_CONST(ALC_FALSE);
    DEC_CONST(ALC_TRUE);
    DEC_CONST(ALC_FREQUENCY);
    DEC_CONST(ALC_REFRESH);
    DEC_CONST(ALC_SYNC);
    
    DEC_CONST(ALC_MONO_SOURCES);
    DEC_CONST(ALC_STEREO_SOURCES);
    
    DEC_CONST(ALC_NO_ERROR);
    DEC_CONST(ALC_INVALID_DEVICE);
    DEC_CONST(ALC_INVALID_CONTEXT);
    DEC_CONST(ALC_INVALID_ENUM);
    DEC_CONST(ALC_INVALID_VALUE);
    DEC_CONST(ALC_OUT_OF_MEMORY);
    
    DEC_CONST(ALC_DEFAULT_DEVICE_SPECIFIER);
    DEC_CONST(ALC_DEVICE_SPECIFIER);
    DEC_CONST(ALC_EXTENSIONS);
    
    DEC_CONST(ALC_MAJOR_VERSION);
    DEC_CONST(ALC_MINOR_VERSION);
    
    DEC_CONST(ALC_ATTRIBUTES_SIZE);
    DEC_CONST(ALC_ALL_ATTRIBUTES);
    
    DEC_CONST(ALC_CAPTURE_DEVICE_SPECIFIER);
    DEC_CONST(ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER);
    DEC_CONST(ALC_CAPTURE_SAMPLES);
    
    /* AL/ALC extensions */
    DEC_CONST(AL_FORMAT_IMA_ADPCM_MONO16_EXT);
    DEC_CONST(AL_FORMAT_IMA_ADPCM_STEREO16_EXT);
    
    DEC_CONST(AL_FORMAT_WAVE_EXT);
    
    DEC_CONST(AL_FORMAT_VORBIS_EXT);
    
    DEC_CONST(AL_FORMAT_QUAD8_LOKI);
    DEC_CONST(AL_FORMAT_QUAD16_LOKI);
    
    DEC_CONST(AL_FORMAT_MONO_FLOAT32);
    DEC_CONST(AL_FORMAT_STEREO_FLOAT32);
    
    DEC_CONST(AL_FORMAT_MONO_DOUBLE_EXT);
    DEC_CONST(AL_FORMAT_STEREO_DOUBLE_EXT);
    
    DEC_CONST(ALC_CHAN_MAIN_LOKI);
    DEC_CONST(ALC_CHAN_PCM_LOKI);
    DEC_CONST(ALC_CHAN_CD_LOKI);
    
    DEC_CONST(ALC_DEFAULT_ALL_DEVICES_SPECIFIER);
    DEC_CONST(ALC_ALL_DEVICES_SPECIFIER);
    
    DEC_CONST(AL_FORMAT_QUAD8);
    DEC_CONST(AL_FORMAT_QUAD16);
    DEC_CONST(AL_FORMAT_QUAD32);
    DEC_CONST(AL_FORMAT_REAR8);
    DEC_CONST(AL_FORMAT_REAR16);
    DEC_CONST(AL_FORMAT_REAR32);
    DEC_CONST(AL_FORMAT_51CHN8);
    DEC_CONST(AL_FORMAT_51CHN16);
    DEC_CONST(AL_FORMAT_51CHN32);
    DEC_CONST(AL_FORMAT_61CHN8);
    DEC_CONST(AL_FORMAT_61CHN16);
    DEC_CONST(AL_FORMAT_61CHN32);
    DEC_CONST(AL_FORMAT_71CHN8);
    DEC_CONST(AL_FORMAT_71CHN16);
    DEC_CONST(AL_FORMAT_71CHN32);
    
    DEC_CONST(AL_FORMAT_MONO_IMA4);
    DEC_CONST(AL_FORMAT_STEREO_IMA4);
    
    DEC_CONST(AL_BYTE_RW_OFFSETS_EXT);
    DEC_CONST(AL_SAMPLE_RW_OFFSETS_EXT);
    DEC_CONST(AL_SAMPLE_SOURCE_EXT);
    DEC_CONST(AL_SAMPLE_SINK_EXT);
    DEC_CONST(AL_READ_ONLY_EXT);
    DEC_CONST(AL_WRITE_ONLY_EXT);
    DEC_CONST(AL_READ_WRITE_EXT);
    DEC_CONST(AL_STREAM_WRITE_EXT);
    DEC_CONST(AL_STREAM_READ_EXT);
    DEC_CONST(AL_STREAM_COPY_EXT);
    DEC_CONST(AL_STATIC_WRITE_EXT);
    DEC_CONST(AL_STATIC_READ_EXT);
    DEC_CONST(AL_STATIC_COPY_EXT);
    DEC_CONST(AL_DYNAMIC_WRITE_EXT);
    DEC_CONST(AL_DYNAMIC_READ_EXT);
    DEC_CONST(AL_DYNAMIC_COPY_EXT);
    
    DEC_CONST(ALC_CONNECTED);
    
    DEC_CONST(AL_SOURCE_DISTANCE_MODEL);
    
    MODINIT_RETURN(module);
fail:
    Py_XDECREF (module);
    MODINIT_RETURN (NULL);
}
示例#2
0
文件: rudl.c 项目: matozoid/rudl
DECKLSPECKL void Init_RUDL()
{
    DEBUG_S("Init_RUDL()");

    moduleRUDL=rb_define_module("RUDL");

    rb_define_singleton_method(moduleRUDL, "at_exit", RUDL_at_exit, 0);
    rb_define_singleton_method(moduleRUDL, "init_subsystem", RUDL_init, 1);
    rb_define_singleton_method(moduleRUDL, "quit_subsystem", RUDL_quit, 1);
    rb_define_singleton_method(moduleRUDL, "is_subsystem_init", RUDL_is_init, 1);
    rb_define_singleton_method(moduleRUDL, "versions", RUDL_versions, 0);

/**
@class RUDL::SDLError
SDLError is the class that is thrown when SDL or RUDL find an SDL-specific
problem.
*/
    classSDLError=rb_define_class("SDLError", rb_eStandardError);

/**
@class RUDL::Pit
The @Pit is where the things end up that don't fit anywhere else.
The methods are documented where they fit best.
*/
    classPit=rb_define_class_under(moduleRUDL, "Pit", rb_cObject);

/**
@class RUDL::Version
@Version is the class used for version comparisons.
It defines four version levels: major, minor, patch and deepest.
*/
/**
@method initialize( major=0, minor=0, patch=0, deepest=0 )
Initializes a new Version object.
*/
/**
@method <( v )
Compares this version number with the one in @v.
Returns <code>true</code> if older.
*/
/**
@method to_s
Returns the version as a string: "major.minor.patch.deepest"
*/
    rb_eval_string(
        "module RUDL\n"
        "   class Version\n"
        "       attr_accessor :major, :minor, :patch, :deepest\n"
        "       def <(v)\n"
        "           (@major<v.major) or\n"
        "           (@major==v.major and @minor<v.minor) or\n"
        "           (@major==v.major and @minor==v.minor and @patch<v.patch) or\n"
        "           (@major==v.major and @minor==v.minor and @patch==v.patch and @deepest<v.deepest)\n"
        "       end\n"
        "       def initialize(major=0, minor=0, patch=0, deepest=0)\n"
        "           @major=major\n"
        "           @minor=minor\n"
        "           @patch=patch\n"
        "           @deepest=deepest\n"
        "       end\n"
        "       def to_s\n"
        "           \"#{major}.#{minor}.#{patch}.#{deepest}\"\n"
        "       end\n"
        "   end\n"
        "end\n"
    );

    id_begin=rb_intern("begin");
    id_end=rb_intern("end");
    id_new=rb_intern("new");
    id_clone=rb_intern("clone");

/**
@class RUDL::Constants
All for the hacked @init_subsystem and @quit_subsystem,
which should officially never be needed:
<code>INIT_TIMER, INIT_AUDIO, INIT_VIDEO, INIT_CDROM, INIT_JOYSTICK, INIT_NOPARACHUTE, INIT_EVERYTHING</code>
*/
    moduleConstant=rb_define_module_under(moduleRUDL, "Constant");
    DEC_CONST(INIT_TIMER);
    DEC_CONST(INIT_AUDIO);
    DEC_CONST(INIT_VIDEO);
    DEC_CONST(INIT_CDROM);
    DEC_CONST(INIT_JOYSTICK);
    DEC_CONST(INIT_NOPARACHUTE);
    DEC_CONST(INIT_EVERYTHING);

    initAudioClasses();
    initCDClasses();
    initEventsClasses();
    initTrueTypeFontClasses();
    initJoystickClasses();
    initKeyClasses();
    initMouseClasses();
    initTimerClasses();
    initVideoClasses();
    initSFontClasses();
    initFLXClasses();

    initNetClasses();
    initSDL();