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); }
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();