Go to the documentation of this file. 1 #define STB_VORBIS_HEADER_ONLY
2 #include "../extras/stb_vorbis.c"
4 #define MA_EXPERIMENTAL__DATA_LOOPING_AND_CHAINING
5 #define MA_DEBUG_OUTPUT
6 #define MA_IMPLEMENTATION
7 #include "../miniaudio.h"
46 printf(
"No input file.\n");
58 printf(
"Failed to initialize resource manager.\n");
67 printf(
"Failed to initialize audio engine.\n");
73 printf(
"Failed to initialize sound group.");
80 loadNotification.
pSound = &sound;
84 printf(
"Failed to load sound: %s\n",
argv[1]);
91 printf(
"Failed to copy sound.\n");
98 printf(
"Failed to load sound: %s\n",
argv[1]);
163 float stepAngle = 0.02f;
167 float pitchStep = 0.01f;
168 float pitchMin = 0.125f;
172 if (pitch < pitchMin) {
174 pitchStep = -pitchStep;
176 if (pitch > pitchMax) {
178 pitchStep = -pitchStep;
193 }
else if (posX < minX) {
211 printf(
"Press Enter to quit...");
221 #if defined(_MSC_VER) && !defined(__clang__)
222 #pragma warning(push)
223 #pragma warning(disable:4100)
224 #pragma warning(disable:4244)
225 #pragma warning(disable:4245)
226 #pragma warning(disable:4456)
227 #pragma warning(disable:4457)
228 #pragma warning(disable:4701)
231 #undef STB_VORBIS_HEADER_ONLY
232 #include "../extras/stb_vorbis.c"
233 #if defined(_MSC_VER) && !defined(__clang__)
ma_uint32 decodedSampleRate
MA_API ma_result ma_engine_init(const ma_engine_config *pConfig, ma_engine *pEngine)
MA_API void ma_engine_listener_set_position(ma_engine *pEngine, ma_uint32 listenerIndex, float x, float y, float z)
MA_API ma_engine_config ma_engine_config_init(void)
MA_API void ma_engine_listener_set_direction(ma_engine *pEngine, ma_uint32 listenerIndex, float x, float y, float z)
int main(int argc, char **argv)
void on_sound_loaded(ma_async_notification *pNotification)
#define MA_DATA_SOURCE_FLAG_ASYNC
ma_async_notification_callbacks cb
MA_API void ma_sound_group_set_pitch(ma_sound_group *pGroup, float pitch)
MA_API ma_result ma_resource_manager_process_next_job(ma_resource_manager *pResourceManager)
MA_API ma_result ma_sound_group_init(ma_engine *pEngine, ma_uint32 flags, ma_sound_group *pParentGroup, ma_sound_group *pGroup)
MA_API ma_result ma_resource_manager_init(const ma_resource_manager_config *pConfig, ma_resource_manager *pResourceManager)
MA_API void ma_sound_set_position(ma_sound *pSound, float x, float y, float z)
void ma_async_notification
#define MA_DATA_SOURCE_FLAG_DECODE
void(* onSignal)(ma_async_notification *pNotification)
MA_API void ma_sound_uninit(ma_sound *pSound)
MA_API ma_result ma_sound_init_copy(ma_engine *pEngine, const ma_sound *pExistingSound, ma_uint32 flags, ma_sound_group *pGroup, ma_sound *pSound)
MA_API ma_resource_manager_config ma_resource_manager_config_init(void)
ma_resource_manager * pResourceManager
MA_API ma_result ma_sound_init_from_file(ma_engine *pEngine, const char *pFilePath, ma_uint32 flags, ma_sound_group *pGroup, ma_fence *pDoneFence, ma_sound *pSound)
MA_API void ma_engine_uninit(ma_engine *pEngine)
MA_API void ma_sound_set_looping(ma_sound *pSound, ma_bool8 isLooping)
MA_API ma_result ma_sound_start(ma_sound *pSound)