ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/Client.xs
(Generate patch)

Comparing deliantra/Deliantra-Client/Client.xs (file contents):
Revision 1.213 by root, Sun Jul 29 04:14:45 2007 UTC vs.
Revision 1.217 by root, Wed Aug 1 12:43:31 2007 UTC

804 XPUSHs (sv_2mortal (sv_bless (newRV_noinc ((SV *)hv), gv_stashpv ("CFPlus::UI::Event", 1)))); 804 XPUSHs (sv_2mortal (sv_bless (newRV_noinc ((SV *)hv), gv_stashpv ("CFPlus::UI::Event", 1))));
805 } 805 }
806} 806}
807 807
808int 808int
809Mix_OpenAudio (int frequency = 44100, int format = MIX_DEFAULT_FORMAT, int channels = 2, int chunksize = 4096) 809Mix_OpenAudio (int frequency = 44100, int format = MIX_DEFAULT_FORMAT, int channels = 2, int chunksize = 1024)
810 POSTCALL: 810 POSTCALL:
811 Mix_HookMusicFinished (music_finished); 811 Mix_HookMusicFinished (music_finished);
812 Mix_ChannelFinished (channel_finished); 812 Mix_ChannelFinished (channel_finished);
813 813
814void 814void
815Mix_CloseAudio () 815Mix_CloseAudio ()
816 816
817int 817int
818Mix_AllocateChannels (int numchans = -1) 818Mix_AllocateChannels (int numchans = -1)
819
820const char *
821Mix_GetError ()
819 822
820void 823void
821lowdelay (int fd, int val = 1) 824lowdelay (int fd, int val = 1)
822 CODE: 825 CODE:
823 setsockopt (fd, IPPROTO_TCP, TCP_NODELAY, (void *)&val, sizeof (val)); 826 setsockopt (fd, IPPROTO_TCP, TCP_NODELAY, (void *)&val, sizeof (val));
2266 2269
2267MODULE = CFPlus PACKAGE = CFPlus::Channel 2270MODULE = CFPlus PACKAGE = CFPlus::Channel
2268 2271
2269PROTOTYPES: DISABLE 2272PROTOTYPES: DISABLE
2270 2273
2274CFPlus::Channel
2275find ()
2276 CODE:
2277{
2278 RETVAL = Mix_GroupAvailable (-1);
2279
2280 if (RETVAL < 0)
2281 {
2282 RETVAL = Mix_GroupOldest (-1);
2283
2284 if (RETVAL < 0)
2285 XSRETURN_UNDEF;
2286
2287 Mix_HaltChannel (RETVAL);
2288 }
2289
2290 Mix_UnregisterAllEffects (RETVAL);
2291 Mix_Volume (RETVAL, 128);
2292}
2293 OUTPUT:
2294 RETVAL
2295
2271void 2296void
2272halt (CFPlus::Channel self) 2297halt (CFPlus::Channel self)
2273 CODE: 2298 CODE:
2274 Mix_HaltChannel (self); 2299 Mix_HaltChannel (self);
2275 2300
2284 Mix_FadeOutChannel (self, ticks); 2309 Mix_FadeOutChannel (self, ticks);
2285 2310
2286int 2311int
2287volume (CFPlus::Channel self, int volume) 2312volume (CFPlus::Channel self, int volume)
2288 CODE: 2313 CODE:
2289 RETVAL = Mix_Volume (self, volume); 2314 RETVAL = Mix_Volume (self, CLAMP (volume, 0, 128));
2290 OUTPUT: 2315 OUTPUT:
2291 RETVAL 2316 RETVAL
2292 2317
2293void 2318void
2294unregister_all_effects (CFPlus::Channel self) 2319unregister_all_effects (CFPlus::Channel self)
2296 Mix_UnregisterAllEffects (self); 2321 Mix_UnregisterAllEffects (self);
2297 2322
2298void 2323void
2299set_panning (CFPlus::Channel self, int left, int right) 2324set_panning (CFPlus::Channel self, int left, int right)
2300 CODE: 2325 CODE:
2326 left = CLAMP (left , 0, 255);
2327 right = CLAMP (right, 0, 255);
2301 Mix_SetPanning (self, left, right); 2328 Mix_SetPanning (self, left, right);
2302 2329
2303void 2330void
2304set_distance (CFPlus::Channel self, int distance) 2331set_distance (CFPlus::Channel self, int distance)
2305 CODE: 2332 CODE:
2306 Mix_SetDistance (self, distance); 2333 Mix_SetDistance (self, CLAMP (distance, 0, 255));
2307 2334
2308void 2335void
2309set_position (CFPlus::Channel self, int angle, int distance) 2336set_position (CFPlus::Channel self, int angle, int distance)
2310 CODE: 2337 CODE:
2311 Mix_SetPosition (self, angle, distance); 2338 Mix_SetPosition (self, angle, CLAMP (distance, 0, 255));
2312 2339
2313void 2340void
2314set_reverse_stereo (CFPlus::Channel self, int flip) 2341set_reverse_stereo (CFPlus::Channel self, int flip)
2315 CODE: 2342 CODE:
2316 Mix_SetReverseStereo (self, flip); 2343 Mix_SetReverseStereo (self, flip);
2332 Mix_FreeChunk (self); 2359 Mix_FreeChunk (self);
2333 2360
2334int 2361int
2335volume (CFPlus::MixChunk self, int volume = -1) 2362volume (CFPlus::MixChunk self, int volume = -1)
2336 CODE: 2363 CODE:
2364 if (items > 1)
2365 volume = CLAMP (volume, 0, 128);
2337 RETVAL = Mix_VolumeChunk (self, volume); 2366 RETVAL = Mix_VolumeChunk (self, volume);
2338 OUTPUT: 2367 OUTPUT:
2339 RETVAL 2368 RETVAL
2340 2369
2341CFPlus::Channel 2370CFPlus::Channel
2342play (CFPlus::MixChunk self, int channel = -1, int loops = 0, int ticks = -1) 2371play (CFPlus::MixChunk self, CFPlus::Channel channel = -1, int loops = 0, int ticks = -1)
2343 CODE: 2372 CODE:
2373{
2344 RETVAL = Mix_PlayChannelTimed (channel, self, loops, ticks); 2374 RETVAL = Mix_PlayChannelTimed (channel, self, loops, ticks);
2375
2376 if (RETVAL < 0)
2377 XSRETURN_UNDEF;
2378
2379 if (channel < 0)
2380 {
2345 Mix_UnregisterAllEffects (RETVAL); 2381 Mix_UnregisterAllEffects (RETVAL);
2382 Mix_Volume (RETVAL, 128);
2383 }
2384}
2346 OUTPUT: 2385 OUTPUT:
2347 RETVAL 2386 RETVAL
2348 2387
2349MODULE = CFPlus PACKAGE = CFPlus::MixMusic 2388MODULE = CFPlus PACKAGE = CFPlus::MixMusic
2350 2389
2351int 2390int
2352volume (int volume = -1) 2391volume (int volume = -1)
2353 PROTOTYPE: ;$ 2392 PROTOTYPE: ;$
2354 CODE: 2393 CODE:
2394 if (items > 0)
2395 volume = CLAMP (volume, 0, 128);
2355 RETVAL = Mix_VolumeMusic (volume); 2396 RETVAL = Mix_VolumeMusic (volume);
2356 OUTPUT: 2397 OUTPUT:
2357 RETVAL 2398 RETVAL
2358 2399
2359void 2400void

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines