Changeset 61

Show
Ignore:
Timestamp:
12/01/04 21:34:12 (4 years ago)
Author:
aldacron
Message:

[DerelictSDL]
* JJR found that SDL_mixer (mixer.d) was not versioned for Linux. This adds his fix. I also did the same for SDL_image (image.d)
* formatting on mixer.d was horrible (copied and pasted it from the forums, IIRC), so I cleaned that up.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/DerelictSDL/derelict/sdl/image.d

    r54 r61  
    129129        hsdlImg = ExeModule_Load("SDL_image.dll"); 
    130130         
     131    version(linux) 
     132        hsdlImg = ExeModule_Load("libSDL_image.so"); 
     133         
    131134    load(); 
    132135} 
  • trunk/DerelictSDL/derelict/sdl/mixer.d

    r58 r61  
    6666const int MIX_MAJOR_VERSION         = 1; 
    6767const int MIX_MINOR_VERSION         = 2; 
    68 const int MIX_PATCHLEVEL         = 5; 
    69  
    70 const int MIX_CHANNELS            = 8; 
     68const int MIX_PATCHLEVEL            = 5; 
     69 
     70const int MIX_CHANNELS              = 8; 
    7171 
    7272/* Good default values for a PC soundcard */ 
    73 const int MIX_DEFAULT_FREQUENCY      = 22050; 
     73const int MIX_DEFAULT_FREQUENCY     = 22050; 
    7474 
    7575version (LittleEndian) { 
     
    8080 
    8181const int MIX_DEFAULT_CHANNELS      = 2; 
    82 const int MIX_MAX_VOLUME         = 128; 
    83  
    84 const int MIX_CHANNEL_POST         = -2; 
    85 const char[] MIX_EFFECTSMAXSPEED   = "MIX_EFFECTSMAXSPEED"; 
     82const int MIX_MAX_VOLUME            = 128; 
     83 
     84const int MIX_CHANNEL_POST          = -2; 
     85const char[] MIX_EFFECTSMAXSPEED    = "MIX_EFFECTSMAXSPEED"; 
    8686 
    8787extern(C) 
     
    9797 
    9898// FIXME:  Need to append \0 to file? 
    99 Mix_Chunk *Mix_LoadWAV(char[] file)  
    100 { 
    101    return Mix_LoadWAV_RW(SDL_RWFromFile(file, "rb"), 1); 
    102 } 
    103  
    104 int Mix_PlayChannel(int channel, Mix_Chunk *chunk, int loops)  
    105 { 
    106    return Mix_PlayChannelTimed(channel, chunk, loops, -1); 
    107 } 
    108  
    109 int Mix_FadeInChannel(int channel, Mix_Chunk *chunk, int loops, int ms)  
    110 { 
    111    return Mix_FadeInChannelTimed(channel, chunk, loops, ms, -1); 
     99Mix_Chunk *Mix_LoadWAV(char[] file) 
     100{ 
     101    return Mix_LoadWAV_RW(SDL_RWFromFile(file, "rb"), 1); 
     102} 
     103 
     104int Mix_PlayChannel(int channel, Mix_Chunk *chunk, int loops) 
     105{ 
     106    return Mix_PlayChannelTimed(channel, chunk, loops, -1); 
     107} 
     108 
     109int Mix_FadeInChannel(int channel, Mix_Chunk *chunk, int loops, int ms) 
     110{ 
     111    return Mix_FadeInChannelTimed(channel, chunk, loops, ms, -1); 
    112112} 
    113113 
     
    181181typedef void  function() pfMix_CloseAudio; 
    182182 
    183 pfMix_OpenAudio               Mix_OpenAudio; 
    184 pfMix_AllocateChannels         Mix_AllocateChannels; 
    185 pfMix_QuerySpec               Mix_QuerySpec; 
    186 pfMix_LoadWAV_RW            Mix_LoadWAV_RW; 
    187 pfMix_LoadMUS               Mix_LoadMUS; 
    188 pfMix_QuickLoad_WAV            Mix_QuickLoad_WAV; 
    189 pfMix_QuickLoad_RAW            Mix_QuickLoad_RAW; 
    190 pfMix_FreeChunk               Mix_FreeChunk; 
    191 pfMix_FreeMusic               Mix_FreeMusic; 
    192 pfMix_GetMusicType            Mix_GetMusicType; 
    193 pfMix_SetPostMix            Mix_SetPostMix; 
    194 pfMix_HookMusic               Mix_HookMusic; 
     183pfMix_OpenAudio                 Mix_OpenAudio; 
     184pfMix_AllocateChannels          Mix_AllocateChannels; 
     185pfMix_QuerySpec                 Mix_QuerySpec; 
     186pfMix_LoadWAV_RW                Mix_LoadWAV_RW; 
     187pfMix_LoadMUS                   Mix_LoadMUS; 
     188pfMix_QuickLoad_WAV            Mix_QuickLoad_WAV; 
     189pfMix_QuickLoad_RAW            Mix_QuickLoad_RAW; 
     190pfMix_FreeChunk                 Mix_FreeChunk; 
     191pfMix_FreeMusic                 Mix_FreeMusic; 
     192pfMix_GetMusicType              Mix_GetMusicType; 
     193pfMix_SetPostMix                Mix_SetPostMix; 
     194pfMix_HookMusic                 Mix_HookMusic; 
    195195pfMix_HookMusicFinished         Mix_HookMusicFinished; 
    196 pfMix_GetMusicHookData         Mix_GetMusicHookData; 
    197 pfMix_ChannelFinished         Mix_ChannelFinished; 
    198 pfMix_RegisterEffect         Mix_RegisterEffect; 
    199 pfMix_UnregisterEffect         Mix_UnregisterEffect; 
     196pfMix_GetMusicHookData          Mix_GetMusicHookData; 
     197pfMix_ChannelFinished           Mix_ChannelFinished; 
     198pfMix_RegisterEffect            Mix_RegisterEffect; 
     199pfMix_UnregisterEffect          Mix_UnregisterEffect; 
    200200pfMix_UnregisterAllEffects      Mix_UnregisterAllEffects; 
    201 pfMix_SetPanning            Mix_SetPanning; 
    202 pfMix_SetPosition            Mix_SetPosition; 
    203 pfMix_SetDistance            Mix_SetDistance; 
    204 pfMix_SetReverseStereo         Mix_SetReverseStereo; 
    205 pfMix_ReserveChannels         Mix_ReserveChannels; 
    206 pfMix_GroupChannel            Mix_GroupChannel; 
    207 pfMix_GroupChannels            Mix_GroupChannels; 
    208 pfMix_GroupAvailable         Mix_GroupAvailable; 
    209 pfMix_GroupCount            Mix_GroupCount; 
    210 pfMix_GroupOldest            Mix_GroupOldest; 
    211 pfMix_GroupNewer            Mix_GroupNewer; 
    212 pfMix_PlayChannelTimed         Mix_PlayChannelTimed; 
    213 pfMix_PlayMusic               Mix_PlayMusic; 
    214 pfMix_FadeInMusic            Mix_FadeInMusic; 
    215 pfMix_FadeInMusicPos         Mix_FadeInMusicPos; 
    216 pfMix_FadeInChannelTimed      Mix_FadeInChannelTimed; 
    217 pfMix_Volume               Mix_Volume; 
    218 pfMix_VolumeChunk            Mix_VolumeChunk; 
    219 pfMix_VolumeMusic            Mix_VolumeMusic; 
    220 pfMix_HaltChannel            Mix_HaltChannel; 
    221 pfMix_HaltGroup               Mix_HaltGroup; 
    222 pfMix_HaltMusic               Mix_HaltMusic; 
    223 pfMix_ExpireChannel            Mix_ExpireChannel; 
    224 pfMix_FadeOutChannel         Mix_FadeOutChannel; 
    225 pfMix_FadeOutGroup            Mix_FadeOutGroup; 
    226 pfMix_FadeOutMusic            Mix_FadeOutMusic; 
    227 pfMix_FadingMusic            Mix_FadingMusic; 
    228 pfMix_FadingChannel            Mix_FadingChannel; 
    229 pfMix_Pause                  Mix_Pause; 
    230 pfMix_Resume               Mix_Resume; 
    231 pfMix_Paused               Mix_Paused; 
    232 pfMix_PauseMusic            Mix_PauseMusic; 
    233 pfMix_ResumeMusic            Mix_ResumeMusic; 
    234 pfMix_RewindMusic            Mix_RewindMusic; 
    235 pfMix_PausedMusic            Mix_PausedMusic; 
    236 pfMix_SetMusicPosition         Mix_SetMusicPosition; 
    237 pfMix_Playing               Mix_Playing; 
    238 pfMix_PlayingMusic            Mix_PlayingMusic; 
    239 pfMix_SetMusicCMD            Mix_SetMusicCMD; 
    240 pfMix_SetSynchroValue         Mix_SetSynchroValue; 
    241 pfMix_GetSynchroValue         Mix_GetSynchroValue; 
    242 pfMix_GetChunk               Mix_GetChunk; 
    243 pfMix_CloseAudio            Mix_CloseAudio; 
     201pfMix_SetPanning                Mix_SetPanning; 
     202pfMix_SetPosition               Mix_SetPosition; 
     203pfMix_SetDistance               Mix_SetDistance; 
     204pfMix_SetReverseStereo          Mix_SetReverseStereo; 
     205pfMix_ReserveChannels           Mix_ReserveChannels; 
     206pfMix_GroupChannel              Mix_GroupChannel; 
     207pfMix_GroupChannels            Mix_GroupChannels; 
     208pfMix_GroupAvailable            Mix_GroupAvailable; 
     209pfMix_GroupCount                Mix_GroupCount; 
     210pfMix_GroupOldest               Mix_GroupOldest; 
     211pfMix_GroupNewer                Mix_GroupNewer; 
     212pfMix_PlayChannelTimed          Mix_PlayChannelTimed; 
     213pfMix_PlayMusic                 Mix_PlayMusic; 
     214pfMix_FadeInMusic               Mix_FadeInMusic; 
     215pfMix_FadeInMusicPos            Mix_FadeInMusicPos; 
     216pfMix_FadeInChannelTimed        Mix_FadeInChannelTimed; 
     217pfMix_Volume                    Mix_Volume; 
     218pfMix_VolumeChunk               Mix_VolumeChunk; 
     219pfMix_VolumeMusic               Mix_VolumeMusic; 
     220pfMix_HaltChannel               Mix_HaltChannel; 
     221pfMix_HaltGroup                 Mix_HaltGroup; 
     222pfMix_HaltMusic                 Mix_HaltMusic; 
     223pfMix_ExpireChannel            Mix_ExpireChannel; 
     224pfMix_FadeOutChannel            Mix_FadeOutChannel; 
     225pfMix_FadeOutGroup              Mix_FadeOutGroup; 
     226pfMix_FadeOutMusic              Mix_FadeOutMusic; 
     227pfMix_FadingMusic               Mix_FadingMusic; 
     228pfMix_FadingChannel            Mix_FadingChannel; 
     229pfMix_Pause                     Mix_Pause; 
     230pfMix_Resume                    Mix_Resume; 
     231pfMix_Paused                    Mix_Paused; 
     232pfMix_PauseMusic                Mix_PauseMusic; 
     233pfMix_ResumeMusic               Mix_ResumeMusic; 
     234pfMix_RewindMusic               Mix_RewindMusic; 
     235pfMix_PausedMusic               Mix_PausedMusic; 
     236pfMix_SetMusicPosition          Mix_SetMusicPosition; 
     237pfMix_Playing                   Mix_Playing; 
     238pfMix_PlayingMusic              Mix_PlayingMusic; 
     239pfMix_SetMusicCMD               Mix_SetMusicCMD; 
     240pfMix_SetSynchroValue           Mix_SetSynchroValue; 
     241pfMix_GetSynchroValue           Mix_GetSynchroValue; 
     242pfMix_GetChunk                  Mix_GetChunk; 
     243pfMix_CloseAudio                Mix_CloseAudio; 
    244244} 
    245245 
     
    252252private void* getProc(char[] procname) 
    253253{ 
    254    void *symbol = ExeModule_GetSymbol(hsdlMixer, procname); 
    255    if (symbol is null) 
    256       throw new Exception("Failed to load SDLMixer proc address " ~ procname); 
    257    return symbol; 
     254    void *symbol = ExeModule_GetSymbol(hsdlMixer, procname); 
     255    if (symbol is null) 
     256        throw new Exception("Failed to load SDLMixer proc address " ~ procname); 
     257    return symbol; 
    258258} 
    259259 
    260260private void load() 
    261261{ 
    262    Mix_OpenAudio = cast(pfMix_OpenAudio)getProc("Mix_OpenAudio"); 
    263    Mix_AllocateChannels = cast(pfMix_AllocateChannels)getProc("Mix_AllocateChannels"); 
    264    Mix_QuerySpec = cast(pfMix_QuerySpec)getProc("Mix_QuerySpec"); 
    265    Mix_LoadWAV_RW = cast(pfMix_LoadWAV_RW)getProc("Mix_LoadWAV_RW"); 
    266    Mix_LoadMUS = cast(pfMix_LoadMUS)getProc("Mix_LoadMUS"); 
    267    Mix_QuickLoad_WAV = cast(pfMix_QuickLoad_WAV)getProc("Mix_QuickLoad_WAV"); 
    268    Mix_QuickLoad_RAW = cast(pfMix_QuickLoad_RAW)getProc("Mix_QuickLoad_RAW"); 
    269    Mix_FreeChunk = cast(pfMix_FreeChunk)getProc("Mix_FreeChunk"); 
    270    Mix_FreeMusic = cast(pfMix_FreeMusic)getProc("Mix_FreeMusic"); 
    271    Mix_GetMusicType = cast(pfMix_GetMusicType)getProc("Mix_GetMusicType"); 
    272    Mix_SetPostMix = cast(pfMix_SetPostMix)getProc("Mix_SetPostMix"); 
    273    Mix_HookMusic = cast(pfMix_HookMusic)getProc("Mix_HookMusic"); 
    274    Mix_HookMusicFinished = cast(pfMix_HookMusicFinished)getProc("Mix_HookMusicFinished"); 
    275    Mix_GetMusicHookData = cast(pfMix_GetMusicHookData)getProc("Mix_GetMusicHookData"); 
    276    Mix_ChannelFinished = cast(pfMix_ChannelFinished)getProc("Mix_ChannelFinished"); 
    277    Mix_RegisterEffect = cast(pfMix_RegisterEffect)getProc("Mix_RegisterEffect"); 
    278    Mix_UnregisterEffect = cast(pfMix_UnregisterEffect)getProc("Mix_UnregisterEffect"); 
    279    Mix_UnregisterAllEffects = cast(pfMix_UnregisterAllEffects)getProc("Mix_UnregisterAllEffects"); 
    280    Mix_SetPanning = cast(pfMix_SetPanning)getProc("Mix_SetPanning"); 
    281    Mix_SetPosition = cast(pfMix_SetPosition)getProc("Mix_SetPosition"); 
    282    Mix_SetDistance = cast(pfMix_SetDistance)getProc("Mix_SetDistance"); 
    283    Mix_SetReverseStereo = cast(pfMix_SetReverseStereo)getProc("Mix_SetReverseStereo"); 
    284    Mix_ReserveChannels = cast(pfMix_ReserveChannels)getProc("Mix_ReserveChannels"); 
    285    Mix_GroupChannel = cast(pfMix_GroupChannel)getProc("Mix_GroupChannel"); 
    286    Mix_GroupChannels = cast(pfMix_GroupChannels)getProc("Mix_GroupChannels"); 
    287    Mix_GroupAvailable = cast(pfMix_GroupAvailable)getProc("Mix_GroupAvailable"); 
    288    Mix_GroupCount = cast(pfMix_GroupCount)getProc("Mix_GroupCount"); 
    289    Mix_GroupOldest = cast(pfMix_GroupOldest)getProc("Mix_GroupOldest"); 
    290    Mix_GroupNewer = cast(pfMix_GroupNewer)getProc("Mix_GroupNewer"); 
    291    Mix_PlayChannelTimed = cast(pfMix_PlayChannelTimed)getProc("Mix_PlayChannelTimed"); 
    292    Mix_PlayMusic = cast(pfMix_PlayMusic)getProc("Mix_PlayMusic"); 
    293    Mix_FadeInMusic = cast(pfMix_FadeInMusic)getProc("Mix_FadeInMusic"); 
    294    Mix_FadeInMusicPos = cast(pfMix_FadeInMusicPos)getProc("Mix_FadeInMusicPos"); 
    295    Mix_FadeInChannelTimed = cast(pfMix_FadeInChannelTimed)getProc("Mix_FadeInChannelTimed"); 
    296    Mix_Volume = cast(pfMix_Volume)getProc("Mix_Volume"); 
    297    Mix_VolumeChunk = cast(pfMix_VolumeChunk)getProc("Mix_VolumeChunk"); 
    298    Mix_VolumeMusic = cast(pfMix_VolumeMusic)getProc("Mix_VolumeMusic"); 
    299    Mix_HaltChannel = cast(pfMix_HaltChannel)getProc("Mix_HaltChannel"); 
    300    Mix_HaltGroup = cast(pfMix_HaltGroup)getProc("Mix_HaltGroup"); 
    301    Mix_HaltMusic = cast(pfMix_HaltMusic)getProc("Mix_HaltMusic"); 
    302    Mix_ExpireChannel = cast(pfMix_ExpireChannel)getProc("Mix_ExpireChannel"); 
    303    Mix_FadeOutChannel = cast(pfMix_FadeOutChannel)getProc("Mix_FadeOutChannel"); 
    304    Mix_FadeOutGroup = cast(pfMix_FadeOutGroup)getProc("Mix_FadeOutGroup"); 
    305    Mix_FadeOutMusic = cast(pfMix_FadeOutMusic)getProc("Mix_FadeOutMusic"); 
    306    Mix_FadingMusic = cast(pfMix_FadingMusic)getProc("Mix_FadingMusic"); 
    307    Mix_FadingChannel = cast(pfMix_FadingChannel)getProc("Mix_FadingChannel"); 
    308    Mix_Pause = cast(pfMix_Pause)getProc("Mix_Pause"); 
    309    Mix_Resume = cast(pfMix_Resume)getProc("Mix_Resume"); 
    310    Mix_Paused = cast(pfMix_Paused)getProc("Mix_Paused"); 
    311    Mix_PauseMusic = cast(pfMix_PauseMusic)getProc("Mix_PauseMusic"); 
    312    Mix_ResumeMusic = cast(pfMix_ResumeMusic)getProc("Mix_ResumeMusic"); 
    313    Mix_RewindMusic = cast(pfMix_RewindMusic)getProc("Mix_RewindMusic"); 
    314    Mix_PausedMusic = cast(pfMix_PausedMusic)getProc("Mix_PausedMusic"); 
    315    Mix_SetMusicPosition = cast(pfMix_SetMusicPosition)getProc("Mix_SetMusicPosition"); 
    316    Mix_Playing = cast(pfMix_Playing)getProc("Mix_Playing"); 
    317    Mix_PlayingMusic = cast(pfMix_PlayingMusic)getProc("Mix_PlayingMusic"); 
    318    Mix_SetMusicCMD = cast(pfMix_SetMusicCMD)getProc("Mix_SetMusicCMD"); 
    319    Mix_SetSynchroValue = cast(pfMix_SetSynchroValue)getProc("Mix_SetSynchroValue"); 
    320    Mix_GetSynchroValue = cast(pfMix_GetSynchroValue)getProc("Mix_GetSynchroValue"); 
    321    Mix_GetChunk = cast(pfMix_GetChunk)getProc("Mix_GetChunk"); 
    322    Mix_CloseAudio = cast(pfMix_CloseAudio)getProc("Mix_CloseAudio"); 
     262    Mix_OpenAudio = cast(pfMix_OpenAudio)getProc("Mix_OpenAudio"); 
     263    Mix_AllocateChannels = cast(pfMix_AllocateChannels)getProc("Mix_AllocateChannels"); 
     264    Mix_QuerySpec = cast(pfMix_QuerySpec)getProc("Mix_QuerySpec"); 
     265    Mix_LoadWAV_RW = cast(pfMix_LoadWAV_RW)getProc("Mix_LoadWAV_RW"); 
     266    Mix_LoadMUS = cast(pfMix_LoadMUS)getProc("Mix_LoadMUS"); 
     267    Mix_QuickLoad_WAV = cast(pfMix_QuickLoad_WAV)getProc("Mix_QuickLoad_WAV"); 
     268    Mix_QuickLoad_RAW = cast(pfMix_QuickLoad_RAW)getProc("Mix_QuickLoad_RAW"); 
     269    Mix_FreeChunk = cast(pfMix_FreeChunk)getProc("Mix_FreeChunk"); 
     270    Mix_FreeMusic = cast(pfMix_FreeMusic)getProc("Mix_FreeMusic"); 
     271    Mix_GetMusicType = cast(pfMix_GetMusicType)getProc("Mix_GetMusicType"); 
     272    Mix_SetPostMix = cast(pfMix_SetPostMix)getProc("Mix_SetPostMix"); 
     273    Mix_HookMusic = cast(pfMix_HookMusic)getProc("Mix_HookMusic"); 
     274    Mix_HookMusicFinished = cast(pfMix_HookMusicFinished)getProc("Mix_HookMusicFinished"); 
     275    Mix_GetMusicHookData = cast(pfMix_GetMusicHookData)getProc("Mix_GetMusicHookData"); 
     276    Mix_ChannelFinished = cast(pfMix_ChannelFinished)getProc("Mix_ChannelFinished"); 
     277    Mix_RegisterEffect = cast(pfMix_RegisterEffect)getProc("Mix_RegisterEffect"); 
     278    Mix_UnregisterEffect = cast(pfMix_UnregisterEffect)getProc("Mix_UnregisterEffect"); 
     279    Mix_UnregisterAllEffects = cast(pfMix_UnregisterAllEffects)getProc("Mix_UnregisterAllEffects"); 
     280    Mix_SetPanning = cast(pfMix_SetPanning)getProc("Mix_SetPanning"); 
     281    Mix_SetPosition = cast(pfMix_SetPosition)getProc("Mix_SetPosition"); 
     282    Mix_SetDistance = cast(pfMix_SetDistance)getProc("Mix_SetDistance"); 
     283    Mix_SetReverseStereo = cast(pfMix_SetReverseStereo)getProc("Mix_SetReverseStereo"); 
     284    Mix_ReserveChannels = cast(pfMix_ReserveChannels)getProc("Mix_ReserveChannels"); 
     285    Mix_GroupChannel = cast(pfMix_GroupChannel)getProc("Mix_GroupChannel"); 
     286    Mix_GroupChannels = cast(pfMix_GroupChannels)getProc("Mix_GroupChannels"); 
     287    Mix_GroupAvailable = cast(pfMix_GroupAvailable)getProc("Mix_GroupAvailable"); 
     288    Mix_GroupCount = cast(pfMix_GroupCount)getProc("Mix_GroupCount"); 
     289    Mix_GroupOldest = cast(pfMix_GroupOldest)getProc("Mix_GroupOldest"); 
     290    Mix_GroupNewer = cast(pfMix_GroupNewer)getProc("Mix_GroupNewer"); 
     291    Mix_PlayChannelTimed = cast(pfMix_PlayChannelTimed)getProc("Mix_PlayChannelTimed"); 
     292    Mix_PlayMusic = cast(pfMix_PlayMusic)getProc("Mix_PlayMusic"); 
     293    Mix_FadeInMusic = cast(pfMix_FadeInMusic)getProc("Mix_FadeInMusic"); 
     294    Mix_FadeInMusicPos = cast(pfMix_FadeInMusicPos)getProc("Mix_FadeInMusicPos"); 
     295    Mix_FadeInChannelTimed = cast(pfMix_FadeInChannelTimed)getProc("Mix_FadeInChannelTimed"); 
     296    Mix_Volume = cast(pfMix_Volume)getProc("Mix_Volume"); 
     297    Mix_VolumeChunk = cast(pfMix_VolumeChunk)getProc("Mix_VolumeChunk"); 
     298    Mix_VolumeMusic = cast(pfMix_VolumeMusic)getProc("Mix_VolumeMusic"); 
     299    Mix_HaltChannel = cast(pfMix_HaltChannel)getProc("Mix_HaltChannel"); 
     300    Mix_HaltGroup = cast(pfMix_HaltGroup)getProc("Mix_HaltGroup"); 
     301    Mix_HaltMusic = cast(pfMix_HaltMusic)getProc("Mix_HaltMusic"); 
     302    Mix_ExpireChannel = cast(pfMix_ExpireChannel)getProc("Mix_ExpireChannel"); 
     303    Mix_FadeOutChannel = cast(pfMix_FadeOutChannel)getProc("Mix_FadeOutChannel"); 
     304    Mix_FadeOutGroup = cast(pfMix_FadeOutGroup)getProc("Mix_FadeOutGroup"); 
     305    Mix_FadeOutMusic = cast(pfMix_FadeOutMusic)getProc("Mix_FadeOutMusic"); 
     306    Mix_FadingMusic = cast(pfMix_FadingMusic)getProc("Mix_FadingMusic"); 
     307    Mix_FadingChannel = cast(pfMix_FadingChannel)getProc("Mix_FadingChannel"); 
     308    Mix_Pause = cast(pfMix_Pause)getProc("Mix_Pause"); 
     309    Mix_Resume = cast(pfMix_Resume)getProc("Mix_Resume"); 
     310    Mix_Paused = cast(pfMix_Paused)getProc("Mix_Paused"); 
     311    Mix_PauseMusic = cast(pfMix_PauseMusic)getProc("Mix_PauseMusic"); 
     312    Mix_ResumeMusic = cast(pfMix_ResumeMusic)getProc("Mix_ResumeMusic"); 
     313    Mix_RewindMusic = cast(pfMix_RewindMusic)getProc("Mix_RewindMusic"); 
     314    Mix_PausedMusic = cast(pfMix_PausedMusic)getProc("Mix_PausedMusic"); 
     315    Mix_SetMusicPosition = cast(pfMix_SetMusicPosition)getProc("Mix_SetMusicPosition"); 
     316    Mix_Playing = cast(pfMix_Playing)getProc("Mix_Playing"); 
     317    Mix_PlayingMusic = cast(pfMix_PlayingMusic)getProc("Mix_PlayingMusic"); 
     318    Mix_SetMusicCMD = cast(pfMix_SetMusicCMD)getProc("Mix_SetMusicCMD"); 
     319    Mix_SetSynchroValue = cast(pfMix_SetSynchroValue)getProc("Mix_SetSynchroValue"); 
     320    Mix_GetSynchroValue = cast(pfMix_GetSynchroValue)getProc("Mix_GetSynchroValue"); 
     321    Mix_GetChunk = cast(pfMix_GetChunk)getProc("Mix_GetChunk"); 
     322    Mix_CloseAudio = cast(pfMix_CloseAudio)getProc("Mix_CloseAudio"); 
    323323} 
    324324 
    325325public void DerelictSDLMixer_Load() 
    326326{ 
    327    if (hsdlMixer !== null) 
    328       return; 
    329        
    330    version (Windows) 
    331       hsdlMixer = ExeModule_Load("SDL_mixer.dll"); 
    332        
    333    load(); 
     327    if (hsdlMixer !== null) 
     328        return; 
     329 
     330    version(Windows) 
     331        hsdlMixer = ExeModule_Load("SDL_mixer.dll"); 
     332 
     333    version(linux) 
     334        hsdlMixer = ExeModule_Load("libSDL_mixer.so"); 
     335 
     336    load(); 
    334337} 
    335338