Show
Ignore:
Timestamp:
11/06/11 03:36:56 (7 months ago)
Author:
aldacron
Message:

It is now possible to disable automatic unloading of shared libraries.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Derelict2/DerelictPA/derelict/portaudio/pa.d

    r484 r591  
    3030public 
    3131{ 
    32    import derelict.portaudio.patypes; 
    33    import derelict.portaudio.pafuncs; 
     32    import derelict.portaudio.patypes; 
     33    import derelict.portaudio.pafuncs; 
    3434} 
    3535 
    3636private 
    3737{ 
    38    import derelict.util.loader; 
     38    import derelict.util.loader; 
    3939} 
    4040 
     
    4242{ 
    4343public: 
    44    this() 
    45    
    46        super( 
    47            "PortAudio.dll", 
    48            "portaudio.so,libportaudio.so", 
    49            "" 
    50        ); 
    51    
    52      
     44    this() 
     45   
     46        super( 
     47            "PortAudio.dll", 
     48            "portaudio.so,libportaudio.so", 
     49            "" 
     50        ); 
     51   
     52 
    5353protected: 
    54    override void loadSymbols() 
    55    
    56        bindFunc(cast(void**)&Pa_GetVersion, "Pa_GetVersion"); 
    57        bindFunc(cast(void**)&Pa_GetVersionText, "Pa_GetVersionText"); 
    58        bindFunc(cast(void**)&Pa_GetErrorText, "Pa_GetErrorText"); 
    59        bindFunc(cast(void**)&Pa_Initialize, "Pa_Initialize"); 
    60        bindFunc(cast(void**)&Pa_Terminate, "Pa_Terminate"); 
    61        bindFunc(cast(void**)&Pa_GetDefaultHostApi, "Pa_GetDefaultHostApi"); 
    62        bindFunc(cast(void**)&Pa_GetHostApiInfo, "Pa_GetHostApiInfo"); 
    63        bindFunc(cast(void**)&Pa_HostApiTypeIdToHostApiIndex, "Pa_HostApiTypeIdToHostApiIndex"); 
    64        bindFunc(cast(void**)&Pa_HostApiDeviceIndexToDeviceIndex, "Pa_HostApiDeviceIndexToDeviceIndex"); 
    65        bindFunc(cast(void**)&Pa_GetLastHostErrorInfo, "Pa_GetLastHostErrorInfo"); 
    66        bindFunc(cast(void**)&Pa_GetDeviceCount, "Pa_GetDeviceCount"); 
    67      
    68        bindFunc(cast(void**)&Pa_GetDefaultInputDevice, "Pa_GetDefaultInputDevice"); 
    69        bindFunc(cast(void**)&Pa_GetDefaultOutputDevice, "Pa_GetDefaultOutputDevice"); 
    70        bindFunc(cast(void**)&Pa_GetDeviceInfo, "Pa_GetDeviceInfo"); 
    71        bindFunc(cast(void**)&Pa_IsFormatSupported, "Pa_IsFormatSupported"); 
    72        bindFunc(cast(void**)&Pa_OpenStream, "Pa_OpenStream"); 
    73        bindFunc(cast(void**)&Pa_OpenDefaultStream, "Pa_OpenDefaultStream"); 
    74        bindFunc(cast(void**)&Pa_CloseStream, "Pa_CloseStream"); 
    75        bindFunc(cast(void**)&Pa_SetStreamFinishedCallback, "Pa_SetStreamFinishedCallback"); 
    76        bindFunc(cast(void**)&Pa_StartStream, "Pa_StartStream"); 
    77        bindFunc(cast(void**)&Pa_StopStream, "Pa_StopStream"); 
    78        bindFunc(cast(void**)&Pa_AbortStream, "Pa_AbortStream"); 
    79        bindFunc(cast(void**)&Pa_IsStreamStopped, "Pa_IsStreamStopped"); 
    80        bindFunc(cast(void**)&Pa_IsStreamActive, "Pa_IsStreamActive"); 
    81        bindFunc(cast(void**)&Pa_GetStreamInfo, "Pa_GetStreamInfo"); 
    82        bindFunc(cast(void**)&Pa_GetStreamTime, "Pa_GetStreamTime"); 
    83        bindFunc(cast(void**)&Pa_GetStreamCpuLoad, "Pa_GetStreamCpuLoad"); 
    84        bindFunc(cast(void**)&Pa_ReadStream, "Pa_ReadStream"); 
    85        bindFunc(cast(void**)&Pa_WriteStream, "Pa_WriteStream"); 
    86        bindFunc(cast(void**)&Pa_GetStreamReadAvailable, "Pa_GetStreamReadAvailable"); 
    87        bindFunc(cast(void**)&Pa_GetStreamWriteAvailable, "Pa_GetStreamWriteAvailable"); 
    88        bindFunc(cast(void**)&Pa_GetSampleSize, "Pa_GetSampleSize"); 
    89        bindFunc(cast(void**)&Pa_Sleep, "Pa_Sleep"); 
    90    
     54    override void loadSymbols() 
     55   
     56        bindFunc(cast(void**)&Pa_GetVersion, "Pa_GetVersion"); 
     57        bindFunc(cast(void**)&Pa_GetVersionText, "Pa_GetVersionText"); 
     58        bindFunc(cast(void**)&Pa_GetErrorText, "Pa_GetErrorText"); 
     59        bindFunc(cast(void**)&Pa_Initialize, "Pa_Initialize"); 
     60        bindFunc(cast(void**)&Pa_Terminate, "Pa_Terminate"); 
     61        bindFunc(cast(void**)&Pa_GetDefaultHostApi, "Pa_GetDefaultHostApi"); 
     62        bindFunc(cast(void**)&Pa_GetHostApiInfo, "Pa_GetHostApiInfo"); 
     63        bindFunc(cast(void**)&Pa_HostApiTypeIdToHostApiIndex, "Pa_HostApiTypeIdToHostApiIndex"); 
     64        bindFunc(cast(void**)&Pa_HostApiDeviceIndexToDeviceIndex, "Pa_HostApiDeviceIndexToDeviceIndex"); 
     65        bindFunc(cast(void**)&Pa_GetLastHostErrorInfo, "Pa_GetLastHostErrorInfo"); 
     66        bindFunc(cast(void**)&Pa_GetDeviceCount, "Pa_GetDeviceCount"); 
     67 
     68        bindFunc(cast(void**)&Pa_GetDefaultInputDevice, "Pa_GetDefaultInputDevice"); 
     69        bindFunc(cast(void**)&Pa_GetDefaultOutputDevice, "Pa_GetDefaultOutputDevice"); 
     70        bindFunc(cast(void**)&Pa_GetDeviceInfo, "Pa_GetDeviceInfo"); 
     71        bindFunc(cast(void**)&Pa_IsFormatSupported, "Pa_IsFormatSupported"); 
     72        bindFunc(cast(void**)&Pa_OpenStream, "Pa_OpenStream"); 
     73        bindFunc(cast(void**)&Pa_OpenDefaultStream, "Pa_OpenDefaultStream"); 
     74        bindFunc(cast(void**)&Pa_CloseStream, "Pa_CloseStream"); 
     75        bindFunc(cast(void**)&Pa_SetStreamFinishedCallback, "Pa_SetStreamFinishedCallback"); 
     76        bindFunc(cast(void**)&Pa_StartStream, "Pa_StartStream"); 
     77        bindFunc(cast(void**)&Pa_StopStream, "Pa_StopStream"); 
     78        bindFunc(cast(void**)&Pa_AbortStream, "Pa_AbortStream"); 
     79        bindFunc(cast(void**)&Pa_IsStreamStopped, "Pa_IsStreamStopped"); 
     80        bindFunc(cast(void**)&Pa_IsStreamActive, "Pa_IsStreamActive"); 
     81        bindFunc(cast(void**)&Pa_GetStreamInfo, "Pa_GetStreamInfo"); 
     82        bindFunc(cast(void**)&Pa_GetStreamTime, "Pa_GetStreamTime"); 
     83        bindFunc(cast(void**)&Pa_GetStreamCpuLoad, "Pa_GetStreamCpuLoad"); 
     84        bindFunc(cast(void**)&Pa_ReadStream, "Pa_ReadStream"); 
     85        bindFunc(cast(void**)&Pa_WriteStream, "Pa_WriteStream"); 
     86        bindFunc(cast(void**)&Pa_GetStreamReadAvailable, "Pa_GetStreamReadAvailable"); 
     87        bindFunc(cast(void**)&Pa_GetStreamWriteAvailable, "Pa_GetStreamWriteAvailable"); 
     88        bindFunc(cast(void**)&Pa_GetSampleSize, "Pa_GetSampleSize"); 
     89        bindFunc(cast(void**)&Pa_Sleep, "Pa_Sleep"); 
     90   
    9191} 
    9292 
     
    9595static this() 
    9696{ 
    97    DerelictPA = new DerelictPALoader(); 
     97    DerelictPA = new DerelictPALoader(); 
    9898} 
    9999 
    100100static ~this() 
    101101{ 
    102     DerelictPA.unload(); 
     102    if(SharedLibLoader.isAutoUnloadEnabled()) 
     103        DerelictPA.unload(); 
    103104}