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.300 by root, Thu Dec 24 10:47:45 2009 UTC vs.
Revision 1.302 by root, Tue Apr 20 10:53:11 2010 UTC

2798 if (RETVAL < 0) 2798 if (RETVAL < 0)
2799 { 2799 {
2800 RETVAL = Mix_GroupOldest (-1); 2800 RETVAL = Mix_GroupOldest (-1);
2801 2801
2802 if (RETVAL < 0) 2802 if (RETVAL < 0)
2803 {
2804 // happens sometimes, maybe it just stopped playing(?)
2805 RETVAL = Mix_GroupAvailable (-1);
2806
2807 if (RETVAL < 0)
2803 XSRETURN_UNDEF; 2808 XSRETURN_UNDEF;
2804 2809 }
2810 else
2805 Mix_HaltChannel (RETVAL); 2811 Mix_HaltChannel (RETVAL);
2806 } 2812 }
2807 2813
2808 Mix_UnregisterAllEffects (RETVAL); 2814 Mix_UnregisterAllEffects (RETVAL);
2809 Mix_Volume (RETVAL, 128); 2815 Mix_Volume (RETVAL, 128);
2810} 2816}
2869 Mix_SetReverseStereo (self, flip); 2875 Mix_SetReverseStereo (self, flip);
2870 2876
2871MODULE = Deliantra::Client PACKAGE = DC::MixChunk 2877MODULE = Deliantra::Client PACKAGE = DC::MixChunk
2872 2878
2873PROTOTYPES: DISABLE 2879PROTOTYPES: DISABLE
2880
2881void
2882decoders ()
2883 PPCODE:
2884#if SDL_MIXER_MAJOR_VERSION > 1 || SDL_MIXER_MINOR_VERSION > 2 || SDL_MIXER_PATCHLEVEL >= 10
2885 int i, num = Mix_GetNumChunkDecoders ();
2886 EXTEND (SP, num);
2887 for (i = 0; i < num; ++i)
2888 PUSHs (sv_2mortal (newSVpv (Mix_GetChunkDecoder (i), 0)));
2889#else
2890 XPUSHs (sv_2mortal (newSVpv ("(sdl mixer too old)", 0)));
2891#endif
2874 2892
2875DC::MixChunk 2893DC::MixChunk
2876new (SV *class, DC::RW rwops) 2894new (SV *class, DC::RW rwops)
2877 CODE: 2895 CODE:
2878 RETVAL = Mix_LoadWAV_RW (rwops, 1); 2896 RETVAL = Mix_LoadWAV_RW (rwops, 1);
2911 OUTPUT: 2929 OUTPUT:
2912 RETVAL 2930 RETVAL
2913 2931
2914MODULE = Deliantra::Client PACKAGE = DC::MixMusic 2932MODULE = Deliantra::Client PACKAGE = DC::MixMusic
2915 2933
2934void
2935decoders ()
2936 PPCODE:
2937#if SDL_MIXER_MAJOR_VERSION > 1 || SDL_MIXER_MINOR_VERSION > 2 || SDL_MIXER_PATCHLEVEL >= 10
2938 int i, num = Mix_GetNumMusicDecoders ();
2939 EXTEND (SP, num);
2940 for (i = 0; i < num; ++i)
2941 PUSHs (sv_2mortal (newSVpv (Mix_GetMusicDecoder (i), 0)));
2942#else
2943 XPUSHs (sv_2mortal (newSVpv ("(sdl mixer too old)", 0)));
2944#endif
2945
2916int 2946int
2917volume (int volume = -1) 2947volume (int volume = -1)
2918 PROTOTYPE: ;$ 2948 PROTOTYPE: ;$
2919 CODE: 2949 CODE:
2920 if (items > 0) 2950 if (items > 0)
2930 2960
2931void 2961void
2932halt () 2962halt ()
2933 CODE: 2963 CODE:
2934 Mix_HaltMusic (); 2964 Mix_HaltMusic ();
2965
2966int
2967playing ()
2968 CODE:
2969 RETVAL = Mix_PlayingMusic ();
2970 OUTPUT:
2971 RETVAL
2935 2972
2936DC::MixMusic 2973DC::MixMusic
2937new (SV *class, DC::RW rwops) 2974new (SV *class, DC::RW rwops)
2938 CODE: 2975 CODE:
2939 RETVAL = Mix_LoadMUS_RW (rwops); 2976 RETVAL = Mix_LoadMUS_RW (rwops);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines