SDL 2.0
loopwave.c File Reference
#include "SDL_config.h"
#include <stdio.h>
#include <stdlib.h>
#include "SDL.h"
+ Include dependency graph for loopwave.c:

Go to the source code of this file.

Functions

static void quit (int rc)
 
static void close_audio ()
 
static void open_audio ()
 
static void reopen_audio ()
 
void fillerup (void *unused, Uint8 *stream, int len)
 
int main (int argc, char *argv[])
 

Variables

struct {
   SDL_AudioSpec   spec
 
   Uint8 *   sound
 
   Uint32   soundlen
 
   int   soundpos
 
wave
 
static SDL_AudioDeviceID device
 
static int done = 0
 

Function Documentation

◆ close_audio()

static void close_audio ( )
static

Definition at line 48 of file loopwave.c.

49{
50 if (device != 0) {
52 device = 0;
53 }
54}
#define SDL_CloseAudioDevice
static SDL_AudioDeviceID device
Definition: loopwave.c:37

References device, and SDL_CloseAudioDevice.

Referenced by main(), and reopen_audio().

◆ fillerup()

void fillerup ( void unused,
Uint8 stream,
int  len 
)

Definition at line 80 of file loopwave.c.

81{
82 Uint8 *waveptr;
83 int waveleft;
84
85 /* Set up the pointers */
86 waveptr = wave.sound + wave.soundpos;
87 waveleft = wave.soundlen - wave.soundpos;
88
89 /* Go! */
90 while (waveleft <= len) {
91 SDL_memcpy(stream, waveptr, waveleft);
92 stream += waveleft;
93 len -= waveleft;
94 waveptr = wave.sound;
95 waveleft = wave.soundlen;
96 wave.soundpos = 0;
97 }
98 SDL_memcpy(stream, waveptr, len);
99 wave.soundpos += len;
100}
#define SDL_memcpy
GLuint GLuint stream
GLenum GLsizei len
uint8_t Uint8
Definition: SDL_stdinc.h:179
static struct @285 wave

References SDL_memcpy, and wave.

Referenced by main().

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 114 of file loopwave.c.

115{
116 int i;
117 char filename[4096];
118
119 /* Enable standard application logging */
121
122 /* Load the SDL library */
124 SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't initialize SDL: %s\n", SDL_GetError());
125 return (1);
126 }
127
128 if (argc > 1) {
129 SDL_strlcpy(filename, argv[1], sizeof(filename));
130 } else {
131 SDL_strlcpy(filename, "sample.wav", sizeof(filename));
132 }
133 /* Load the wave file into memory */
134 if (SDL_LoadWAV(filename, &wave.spec, &wave.sound, &wave.soundlen) == NULL) {
135 SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't load %s: %s\n", filename, SDL_GetError());
136 quit(1);
137 }
138
139 wave.spec.callback = fillerup;
140
141 /* Show the list of available drivers */
142 SDL_Log("Available audio drivers:");
143 for (i = 0; i < SDL_GetNumAudioDrivers(); ++i) {
144 SDL_Log("%i: %s", i, SDL_GetAudioDriver(i));
145 }
146
147 SDL_Log("Using audio driver: %s\n", SDL_GetCurrentAudioDriver());
148
149 open_audio();
150
152
153#ifdef __EMSCRIPTEN__
154 emscripten_set_main_loop(loop, 0, 1);
155#else
156 while (!done) {
158
159 while (SDL_PollEvent(&event) > 0) {
160 if (event.type == SDL_QUIT) {
161 done = 1;
162 }
163 if ((event.type == SDL_AUDIODEVICEADDED && !event.adevice.iscapture) ||
164 (event.type == SDL_AUDIODEVICEREMOVED && !event.adevice.iscapture && event.adevice.which == device)) {
165 reopen_audio();
166 }
167 }
168 SDL_Delay(100);
169 }
170#endif
171
172 /* Clean up on signal */
173 close_audio();
174 SDL_FreeWAV(wave.sound);
175 SDL_Quit();
176 return (0);
177}
#define SDL_INIT_AUDIO
Definition: SDL.h:78
#define SDL_INIT_EVENTS
Definition: SDL.h:83
#define SDL_LoadWAV(file, spec, audio_buf, audio_len)
Definition: SDL_audio.h:484
#define SDL_GetError
#define SDL_PollEvent
#define SDL_GetNumAudioDrivers
#define SDL_GetCurrentAudioDriver
#define SDL_strlcpy
#define SDL_LogSetPriority
#define SDL_LogError
#define SDL_FreeWAV
#define SDL_Delay
#define SDL_Quit
#define SDL_Init
#define SDL_GetAudioDriver
#define SDL_FlushEvents
#define SDL_Log
@ SDL_QUIT
Definition: SDL_events.h:60
@ SDL_AUDIODEVICEREMOVED
Definition: SDL_events.h:148
@ SDL_AUDIODEVICEADDED
Definition: SDL_events.h:147
@ SDL_LOG_PRIORITY_INFO
Definition: SDL_log.h:106
@ SDL_LOG_CATEGORY_APPLICATION
Definition: SDL_log.h:66
struct _cl_event * event
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
Definition: SDL_x11sym.h:50
#define NULL
Definition: begin_code.h:167
void loop()
Definition: checkkeys.c:152
static void open_audio()
Definition: loopwave.c:57
static void quit(int rc)
Definition: loopwave.c:41
static int done
Definition: loopwave.c:102
static void close_audio()
Definition: loopwave.c:48
void fillerup(void *unused, Uint8 *stream, int len)
Definition: loopwave.c:80
static void reopen_audio()
Definition: loopwave.c:72
General event structure.
Definition: SDL_events.h:558

References close_audio(), device, done, sort_controllers::filename, fillerup(), i, loop(), NULL, open_audio(), quit(), reopen_audio(), SDL_AUDIODEVICEADDED, SDL_AUDIODEVICEREMOVED, SDL_Delay, SDL_FlushEvents, SDL_FreeWAV, SDL_GetAudioDriver, SDL_GetCurrentAudioDriver, SDL_GetError, SDL_GetNumAudioDrivers, SDL_Init, SDL_INIT_AUDIO, SDL_INIT_EVENTS, SDL_LoadWAV, SDL_Log, SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO, SDL_LogError, SDL_LogSetPriority, SDL_PollEvent, SDL_QUIT, SDL_Quit, SDL_strlcpy, and wave.

◆ open_audio()

static void open_audio ( )
static

Definition at line 57 of file loopwave.c.

58{
59 /* Initialize fillerup() variables */
61 if (!device) {
62 SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't open audio: %s\n", SDL_GetError());
63 SDL_FreeWAV(wave.sound);
64 quit(2);
65 }
66
67
68 /* Let the audio run */
70}
#define SDL_OpenAudioDevice
#define SDL_PauseAudioDevice
@ SDL_FALSE
Definition: SDL_stdinc.h:163

References device, NULL, quit(), SDL_FALSE, SDL_FreeWAV, SDL_GetError, SDL_LOG_CATEGORY_APPLICATION, SDL_LogError, SDL_OpenAudioDevice, SDL_PauseAudioDevice, and wave.

Referenced by main(), and reopen_audio().

◆ quit()

static void quit ( int  rc)
static

Definition at line 41 of file loopwave.c.

42{
43 SDL_Quit();
44 exit(rc);
45}

References SDL_Quit.

Referenced by main(), and open_audio().

◆ reopen_audio()

static void reopen_audio ( )
static

Definition at line 72 of file loopwave.c.

73{
75 open_audio();
76}

References close_audio(), and open_audio().

Referenced by main().

Variable Documentation

◆ device

SDL_AudioDeviceID device
static

Definition at line 37 of file loopwave.c.

Referenced by audio_lockUnlockOpenAudioDevice(), audio_openCloseAndGetAudioStatus(), audio_openCloseAudioDeviceConnected(), close_audio(), close_audio_device(), VULKAN_HPP_NAMESPACE::PhysicalDevice::createDevice(), createDevice(), VULKAN_HPP_NAMESPACE::PhysicalDevice::createDeviceUnique(), deleteDevice(), VULKAN_HPP_NAMESPACE::DispatchLoaderDynamic::DispatchLoaderDynamic(), GetDeviceForIndex(), VULKAN_HPP_NAMESPACE::DispatchLoaderDynamic::init(), IOS_AddJoystickDevice(), IOS_AddMFIJoystickDevice(), IOS_JoystickClose(), IOS_JoystickGetDeviceGUID(), IOS_JoystickGetDeviceInstanceID(), IOS_JoystickGetDeviceName(), IOS_JoystickGetDevicePlayerIndex(), IOS_JoystickOpen(), IOS_JoystickUpdate(), IOS_RemoveJoystickDevice(), is_in_audio_device_thread(), main(), open_audio(), open_audio_device(), SDL_AudioLockDevice_Default(), SDL_AudioUnlockDevice_Default(), SDL_BufferQueueDrainCallback(), SDL_BufferQueueFillCallback(), SDL_CaptureAudio(), SDL_ClearQueuedAudio(), SDL_DequeueAudio(), SDL_GetAudioDeviceStatus(), SDL_GetQueuedAudioSize(), SDL_LockAudioDevice(), SDL_MixAudio(), SDL_OpenAudioDevice(), SDL_OpenedAudioDeviceDisconnected(), SDL_PauseAudioDevice(), SDL_QueueAudio(), SDL_RemoveAudioDevice(), SDL_RunAudio(), SDL_UnlockAudioDevice(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkAcquireNextImage2KHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkAcquireNextImageKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkAllocateCommandBuffers(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkAllocateDescriptorSets(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkAllocateMemory(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkBindAccelerationStructureMemoryNV(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkBindBufferMemory(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkBindBufferMemory2(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkBindBufferMemory2KHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkBindImageMemory(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkBindImageMemory2(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkBindImageMemory2KHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCompileDeferredNV(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateAccelerationStructureNV(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateBuffer(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateBufferView(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateCommandPool(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateComputePipelines(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateDescriptorPool(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateDescriptorSetLayout(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateDescriptorUpdateTemplate(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateDescriptorUpdateTemplateKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateEvent(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateFence(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateFramebuffer(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateGraphicsPipelines(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateImage(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateImageView(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateIndirectCommandsLayoutNVX(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateObjectTableNVX(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreatePipelineCache(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreatePipelineLayout(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateQueryPool(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateRayTracingPipelinesNV(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateRenderPass(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateRenderPass2KHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateSampler(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateSamplerYcbcrConversion(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateSamplerYcbcrConversionKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateSemaphore(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateShaderModule(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateSharedSwapchainsKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateSwapchainKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkCreateValidationCacheEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDebugMarkerSetObjectNameEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDebugMarkerSetObjectTagEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyAccelerationStructureNV(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyBuffer(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyBufferView(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyCommandPool(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyDescriptorPool(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyDescriptorSetLayout(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyDescriptorUpdateTemplate(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyDescriptorUpdateTemplateKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyDevice(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyEvent(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyFence(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyFramebuffer(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyImage(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyImageView(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyIndirectCommandsLayoutNVX(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyObjectTableNVX(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyPipeline(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyPipelineCache(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyPipelineLayout(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyQueryPool(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyRenderPass(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroySampler(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroySamplerYcbcrConversion(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroySamplerYcbcrConversionKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroySemaphore(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyShaderModule(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroySwapchainKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDestroyValidationCacheEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDeviceWaitIdle(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkDisplayPowerControlEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkFlushMappedMemoryRanges(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkFreeCommandBuffers(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkFreeDescriptorSets(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkFreeMemory(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetAccelerationStructureHandleNV(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetAccelerationStructureMemoryRequirementsNV(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetBufferMemoryRequirements(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetBufferMemoryRequirements2(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetBufferMemoryRequirements2KHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetCalibratedTimestampsEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetDescriptorSetLayoutSupport(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetDescriptorSetLayoutSupportKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetDeviceGroupPeerMemoryFeatures(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetDeviceGroupPeerMemoryFeaturesKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetDeviceGroupPresentCapabilitiesKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetDeviceGroupSurfacePresentModesKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetDeviceMemoryCommitment(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetDeviceProcAddr(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetDeviceQueue(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetDeviceQueue2(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetEventStatus(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetFenceFdKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetFenceStatus(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetImageDrmFormatModifierPropertiesEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetImageMemoryRequirements(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetImageMemoryRequirements2(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetImageMemoryRequirements2KHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetImageSparseMemoryRequirements(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetImageSparseMemoryRequirements2(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetImageSparseMemoryRequirements2KHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetImageSubresourceLayout(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetMemoryFdKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetMemoryFdPropertiesKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetMemoryHostPointerPropertiesEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetPastPresentationTimingGOOGLE(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetPipelineCacheData(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetQueryPoolResults(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetRayTracingShaderGroupHandlesNV(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetRefreshCycleDurationGOOGLE(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetRenderAreaGranularity(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetSemaphoreFdKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetShaderInfoAMD(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetSwapchainCounterEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetSwapchainImagesKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetSwapchainStatusKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkGetValidationCacheDataEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkImportFenceFdKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkImportSemaphoreFdKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkInvalidateMappedMemoryRanges(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkMapMemory(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkMergePipelineCaches(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkMergeValidationCachesEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkRegisterDeviceEventEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkRegisterDisplayEventEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkRegisterObjectsNVX(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkResetCommandPool(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkResetDescriptorPool(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkResetEvent(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkResetFences(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkSetDebugUtilsObjectNameEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkSetDebugUtilsObjectTagEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkSetEvent(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkSetHdrMetadataEXT(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkTrimCommandPool(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkTrimCommandPoolKHR(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkUnmapMemory(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkUnregisterObjectsNVX(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkUpdateDescriptorSets(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkUpdateDescriptorSetWithTemplate(), VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkUpdateDescriptorSetWithTemplateKHR(), and VULKAN_HPP_NAMESPACE::DispatchLoaderStatic::vkWaitForFences().

◆ done

int done = 0
static

Definition at line 102 of file loopwave.c.

Referenced by main().

◆ sound

Uint8* sound

Definition at line 32 of file loopwave.c.

◆ soundlen

Uint32 soundlen

Definition at line 33 of file loopwave.c.

◆ soundpos

int soundpos

Definition at line 34 of file loopwave.c.

◆ spec

◆ 

struct { ... } wave

Referenced by fillerup(), main(), and open_audio().