]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - snd_3dras.c
snd_alsa: MIDI input support! MIDI events get mapped to MIDINOTE<n> events (n = 0...
[xonotic/darkplaces.git] / snd_3dras.c
index 30b3c4df9b595d1cc4bbc0ea83fa0785bf495d7a..0f54d1742fe2fecf3dd0266359ed4309b099ba6c 100644 (file)
@@ -268,7 +268,7 @@ static void S_Play_Common (float fvol, float attenuation){
                                i++;
                        }
 
-                       sfx = S_PrecacheSound (name, true, false);
+                       sfx = S_PrecacheSound (name, true, true);
                        if (sfx)
                                S_StartSound (-1, 0, sfx, listener_location, fvol, attenuation);
                }
@@ -686,11 +686,11 @@ int S_LoadSound(sfx_t *sfx, int complain){
        }
        return false;
 }
-sfx_t *S_PrecacheSound (const char *name, qboolean complain, qboolean lock){
+sfx_t *S_PrecacheSound (const char *name, qboolean complain, qboolean serversound){
        sfx_t *sfx;
        if(ras_version>0 && ras_dll){
                #ifdef RAS_PRINT
-               Con_Printf("Called S_PrecacheSound %s, %i, %i\n",name,complain,lock);
+               Con_Printf("Called S_PrecacheSound %s, %i, %i\n",name,complain,serversound);
                #endif
                if (name == NULL || name[0] == 0)
                        return NULL;
@@ -702,12 +702,12 @@ sfx_t *S_PrecacheSound (const char *name, qboolean complain, qboolean lock){
        }
        return NULL;
 }
-void S_ServerSounds (char serversound [][MAX_QPATH], unsigned int numsounds){
+void S_ClearUsed (void){
        sfx_t *prev_s, *now_s;
        unsigned int i;
 
        if(ras_version>0 && ras_dll){
-               Con_Printf("Called S_ServerSounds\n");
+               Con_Printf("Called S_ClearUsed\n");
                for(i=0;i<numsounds;++i){
                        Con_Printf("Loading :'%s'\n",serversound[i]);
                        // Load the ambient sounds
@@ -720,18 +720,12 @@ void S_ServerSounds (char serversound [][MAX_QPATH], unsigned int numsounds){
                                if (now_s->flags & SFXFLAG_SERVERSOUND) now_s->flags &= ~SFXFLAG_SERVERSOUND;
                                sfx_next(&prev_s,&now_s);
                        }
-                       
-                       // Add 1 lock and the SFXFLAG_SERVERSOUND flag to each sfx in "serversound"
-                       for (i = 1; i < numsounds; i++){
-                               now_s = S_FindName (serversound[i]);
-                               if (now_s != NULL)
-                                       now_s->flags |= SFXFLAG_SERVERSOUND;
-                       }
-                       
-                       Free_Unlocked_Sfx();
                }
        }
 }
+void S_PurgeUnused(void){
+       Free_Unlocked_Sfx();
+}
 qboolean S_IsSoundPrecached (const sfx_t *sfx){
        if(ras_version>0 && ras_dll){
                return !sfx->rasptr;
@@ -905,7 +899,7 @@ qboolean S_LocalSound (const char *s){
                Con_Printf("Called S_LocalSound %s\n",s);
                #endif
 
-               sfx = S_PrecacheSound (s, true, false);
+               sfx = S_PrecacheSound (s, true, true);
                if (!sfx)
                {
                        Con_Printf("S_LocalSound: can't precache %s\n", s);
@@ -1008,6 +1002,12 @@ void S_SetChannelVolume (unsigned int ch_ind, float fvol){
        }
 }
 
+float S_GetChannelPosition (unsigned int ch_ind)
+{
+       // FIXME unsupported
+       return -1;
+}
+
 void S_BlockSound (void){
        soundblocked++;
 }
@@ -1029,3 +1029,15 @@ int S_GetSoundChannels (void){
        Con_Printf("So let's assume 2.\n");
        return 2;
 }
+
+/*
+====================
+SndSys_SendKeyEvents
+
+Send keyboard events originating from the sound system (e.g. MIDI)
+====================
+*/
+void SndSys_SendKeyEvents(void)
+{
+       // not supported
+}