PauseAll and ResumeAll + some linux stuff
							parent
							
								
									60b2775dee
								
							
						
					
					
						commit
						c73332c3a4
					
				|  | @ -38,6 +38,9 @@ I will not be supporting 32-bit Windows. Catch up to 2004 and switch to 64-bit. | |||
| - Xbox One | ||||
| - iOS | ||||
| 
 | ||||
| ## Kind of Supported | ||||
| - Android (nik provided android build scripts but I will not help you if it breaks, sorry, Android sucks) | ||||
| 
 | ||||
| ### Not Supported | ||||
| - Windows (32-bit) | ||||
| - HTML5 (if someone wants to try this go ahead but I'm not touching that garbage with a 10 foot pole) | ||||
|  |  | |||
|  | @ -155,7 +155,12 @@ | |||
|             2, | ||||
|             2, | ||||
|           ],"resourceVersion":"1.0","name":"FAudioGMS_SetListenerVelocity","tags":[],"resourceType":"GMExtensionFunction",}, | ||||
|       ],"constants":[],"ProxyFiles":[],"copyToTargets":64,"order":[ | ||||
|         {"externalName":"FAudioGMS_PauseAll","kind":1,"help":"FAudioGMS_PauseAll()","hidden":false,"returnType":2,"argCount":0,"args":[],"resourceVersion":"1.0","name":"FAudioGMS_PauseAll","tags":[],"resourceType":"GMExtensionFunction",}, | ||||
|         {"externalName":"FAudioGMS_ResumeAll","kind":1,"help":"FAudioGMS_ResumeAll()","hidden":false,"returnType":2,"argCount":0,"args":[],"resourceVersion":"1.0","name":"FAudioGMS_ResumeAll","tags":[],"resourceType":"GMExtensionFunction",}, | ||||
|       ],"constants":[],"ProxyFiles":[ | ||||
|         {"TargetMask":7,"resourceVersion":"1.0","name":"libFAudioGMS.so","tags":[],"resourceType":"GMProxyFile",}, | ||||
|         {"TargetMask":7,"resourceVersion":"1.0","name":"libSDL2.so","tags":[],"resourceType":"GMProxyFile",}, | ||||
|       ],"copyToTargets":192,"order":[ | ||||
|         {"name":"FAudioGMS_Init","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_StaticSound_LoadWAV","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_StaticSound_CreateSoundInstance","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|  | @ -188,6 +193,8 @@ | |||
|         {"name":"FAudioGMS_SoundInstance_SetEffectGain","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_SetListenerPosition","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_SetListenerVelocity","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_ResumeAll","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_PauseAll","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_StopAll","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_Update","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|         {"name":"FAudioGMS_Destroy","path":"extensions/FAudioGMS/FAudioGMS.yy",}, | ||||
|  | @ -221,7 +228,7 @@ | |||
|   "tvosThirdPartyFrameworkEntries": [], | ||||
|   "IncludedResources": [], | ||||
|   "androidPermissions": [], | ||||
|   "copyToTargets": 64, | ||||
|   "copyToTargets": 192, | ||||
|   "iosCocoaPods": "", | ||||
|   "tvosCocoaPods": "", | ||||
|   "iosCocoaPodDependencies": "", | ||||
|  |  | |||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -3,7 +3,7 @@ | |||
| // Playing a StaticSound returns a SoundInstance. | ||||
| function LoadStaticSound(filename) | ||||
| { | ||||
| 	var filePath = "audio\\static\\" + filename; | ||||
| 	var filePath = working_directory + "audio/static/" + filename; | ||||
| 	var staticSoundID = FAudioGMS_StaticSound_LoadWAV(filePath); | ||||
| 	return new StaticSound(staticSoundID); | ||||
| } | ||||
|  |  | |||
|  | @ -200,6 +200,8 @@ typedef struct FAudioGMS_SoundInstance | |||
|     F3DAUDIO_EMITTER* emitter; /* must not be NULL if is3D */ | ||||
|     float stereoAzimuth[2]; | ||||
| 
 | ||||
| 	uint8_t isGlobalPaused; | ||||
| 
 | ||||
|     union | ||||
|     { | ||||
|         FAudioGMS_StaticSound *staticSound; /* static sounds are loaded separately, so they do not belong to the instance */ | ||||
|  | @ -583,13 +585,6 @@ static void FAudioGMS_INTERNAL_SoundInstance_SetVolume(FAudioGMS_SoundInstance* | |||
|     FAudioVoice_SetVolume(instance->handle, volume, 0); | ||||
| } | ||||
| 
 | ||||
| static void FAudioGMS_INTERNAL_SoundInstance_SetProperties(FAudioGMS_SoundInstance* instance, double pan, double pitch, double volume) | ||||
| { | ||||
|     FAudioGMS_INTERNAL_SoundInstance_SetPan(instance, pan); | ||||
|     FAudioGMS_INTERNAL_SoundInstance_SetPitch(instance, pitch); | ||||
|     FAudioGMS_INTERNAL_SoundInstance_SetVolume(instance, volume); | ||||
| } | ||||
| 
 | ||||
| static FAudioGMS_SoundInstance* FAudioGMS_INTERNAL_SoundInstance_Init( | ||||
|     uint32_t channelCount, | ||||
|     uint32_t samplesPerSecond, | ||||
|  | @ -602,6 +597,7 @@ static FAudioGMS_SoundInstance* FAudioGMS_INTERNAL_SoundInstance_Init( | |||
|     instance->isStatic = isStatic; | ||||
|     instance->loop = 0; | ||||
|     instance->destroyOnFinish = 0; | ||||
| 	instance->isGlobalPaused = 0; | ||||
| 
 | ||||
|     instance->format.wFormatTag = FAUDIO_FORMAT_IEEE_FLOAT; | ||||
|     instance->format.wBitsPerSample = 32; | ||||
|  | @ -966,12 +962,9 @@ void FAudioGMS_SoundInstance_Play(double soundInstanceID, double loop) | |||
|     } | ||||
| } | ||||
| 
 | ||||
| void FAudioGMS_SoundInstance_Pause(double soundInstanceID) | ||||
| static void FAudioGMS_INTERNAL_SoundInstance_Pause(FAudioGMS_SoundInstance* instance) | ||||
| { | ||||
|     RETURN_ON_NULL_DEVICE() | ||||
|     FAudioGMS_SoundInstance* instance = FAudioGMS_INTERNAL_LookupSoundInstance((uint32_t)soundInstanceID); | ||||
| 
 | ||||
|     if (instance != NULL) | ||||
| 	if (instance != NULL) | ||||
|     { | ||||
|         if (instance->soundState == SoundState_Playing) | ||||
|         { | ||||
|  | @ -985,6 +978,13 @@ void FAudioGMS_SoundInstance_Pause(double soundInstanceID) | |||
|     } | ||||
| } | ||||
| 
 | ||||
| void FAudioGMS_SoundInstance_Pause(double soundInstanceID) | ||||
| { | ||||
|     RETURN_ON_NULL_DEVICE() | ||||
|     FAudioGMS_SoundInstance* instance = FAudioGMS_INTERNAL_LookupSoundInstance((uint32_t)soundInstanceID); | ||||
| 	FAudioGMS_INTERNAL_SoundInstance_Pause(instance); | ||||
| } | ||||
| 
 | ||||
| static void FAudioGMS_INTERNAL_SoundInstance_Stop(FAudioGMS_SoundInstance* instance) | ||||
| { | ||||
|     if (instance != NULL) | ||||
|  | @ -1639,6 +1639,38 @@ void FAudioGMS_Update() | |||
|     } | ||||
| } | ||||
| 
 | ||||
| void FAudioGMS_PauseAll() | ||||
| { | ||||
| 	RETURN_ON_NULL_DEVICE() | ||||
| 	uint32_t i; | ||||
| 
 | ||||
| 	for (i = 0; i < device->soundInstanceCount; i += 1) | ||||
| 	{ | ||||
| 		FAudioGMS_SoundInstance *instance = device->soundInstances[i]; | ||||
| 		if (instance != NULL) | ||||
| 		{ | ||||
| 			instance->isGlobalPaused = 1; | ||||
| 			FAudioGMS_INTERNAL_SoundInstance_Pause(instance); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| void FAudioGMS_ResumeAll() | ||||
| { | ||||
| 	RETURN_ON_NULL_DEVICE() | ||||
| 	uint32_t i; | ||||
| 
 | ||||
| 	for (i = 0; i < device->soundInstanceCount; i += 1) | ||||
| 	{ | ||||
| 		FAudioGMS_SoundInstance *instance = device->soundInstances[i]; | ||||
| 		if (instance != NULL && instance->isGlobalPaused) | ||||
| 		{ | ||||
| 			instance->isGlobalPaused = 0; | ||||
| 			FAudioGMS_INTERNAL_SoundInstance_Play(instance); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| void FAudioGMS_StopAll() | ||||
| { | ||||
|     RETURN_ON_NULL_DEVICE() | ||||
|  |  | |||
|  | @ -101,6 +101,8 @@ FAUDIOGMSAPI void FAudioGMS_SoundInstance_SetEffectGain(double soundInstanceID, | |||
| FAUDIOGMSAPI void FAudioGMS_SetListenerPosition(double x, double y, double z); | ||||
| FAUDIOGMSAPI void FAudioGMS_SetListenerVelocity(double xVelocity, double yVelocity, double zVelocity); | ||||
| 
 | ||||
| FAUDIOGMSAPI void FAudioGMS_PauseAll(); /* useful for mobile platforms, etc */ | ||||
| FAUDIOGMSAPI void FAudioGMS_ResumeAll(); /* same as above */ | ||||
| FAUDIOGMSAPI void FAudioGMS_StopAll(); | ||||
| 
 | ||||
| FAUDIOGMSAPI void FAudioGMS_Update(); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue