summaryrefslogtreecommitdiffhomepage
path: root/cheatsheet/raylib_audio.c
blob: 3ced14c61e62a7fc13dd4c07ded41bfc035bbc6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

    // Audio device management functions
    void LoadAudioDevice(void);                                                     // Initialize audio device and context
    void CloseAudioDevice(void);                                                    // Close the audio device and context
    bool IsAudioDeviceReady(void);                                                  // Check if audio device has been initialized successfully
    void SetMasterVolume(float volume);                                             // Set master volume (listener)

    // Wave/Sound loading/unloading functions
    Wave LoadWave(const char *fileName);                                            // Load wave data from file
    Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize); // Load wave from memory buffer
    Sound LoadSound(const char *fileName);                                          // Load sound from file
    Sound LoadSoundFromWave(Wave wave);                                             // Load sound from wave data
    void UpdateSound(Sound sound, const void *data, int samplesCount);              // Update sound buffer with new data
    void UnloadWave(Wave wave);                                                     // Unload wave data
    void UnloadSound(Sound sound);                                                  // Unload sound
    bool ExportWave(Wave wave, const char *fileName);                               // Export wave data to file, returns true on success
    bool ExportWaveAsCode(Wave wave, const char *fileName);                         // Export wave sample data to code (.h), returns true on success

    // Wave/Sound management functions
    void PlaySound(Sound sound);                                                    // Play a sound
    void StopSound(Sound sound);                                                    // Stop playing a sound
    void PauseSound(Sound sound);                                                   // Pause a sound
    void ResumeSound(Sound sound);                                                  // Resume a paused sound
    void PlaySoundMulti(Sound sound);                                               // Play a sound (using multichannel buffer pool)
    void StopSoundMulti(void);                                                      // Stop any sound playing (using multichannel buffer pool)
    int GetSoundsPlaying(void);                                                     // Get number of sounds playing in the multichannel
    bool IsSoundPlaying(Sound sound);                                               // Check if a sound is currently playing
    void SetSoundVolume(Sound sound, float volume);                                 // Set volume for a sound (1.0 is max level)
    void SetSoundPitch(Sound sound, float pitch);                                   // Set pitch for a sound (1.0 is base level)
    void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels);      // Convert wave data to desired format
    Wave WaveCopy(Wave wave);                                                       // Copy a wave to a new wave
    void WaveCrop(Wave *wave, int initSample, int finalSample);                     // Crop a wave to defined samples range
    float *LoadWaveSamples(Wave wave);                                              // Load samples data from wave as a floats array
    void UnloadWaveSamples(float *samples);                                         // Unload samples data loaded with LoadWaveSamples()

    // Music management functions
    Music LoadMusicStream(const char *fileName);                                    // Load music stream from file
    Music LoadMusicStreamFromMemory(const char *fileType, unsigned char *data, int dataSize); // Load music stream from data
    void UnloadMusicStream(Music music);                                            // Unload music stream
    void PlayMusicStream(Music music);                                              // Start music playing
    bool IsMusicStreamPlaying(Music music);                                         // Check if music is playing
    void UpdateMusicStream(Music music);                                            // Updates buffers for music streaming
    void StopMusicStream(Music music);                                              // Stop music playing
    void PauseMusicStream(Music music);                                             // Pause music playing
    void ResumeMusicStream(Music music);                                            // Resume playing paused music
    void SeekMusicStream(Music music, float position);                              // Seek music to a position (in seconds)
    void SetMusicVolume(Music music, float volume);                                 // Set volume for music (1.0 is max level)
    void SetMusicPitch(Music music, float pitch);                                   // Set pitch for a music (1.0 is base level)
    float GetMusicTimeLength(Music music);                                          // Get music time length (in seconds)
    float GetMusicTimePlayed(Music music);                                          // Get current music time played (in seconds)

    // AudioStream management functions
    AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); // Init audio stream (to stream raw audio pcm data)
    void UpdateAudioStream(AudioStream stream, const void *data, int samplesCount); // Update audio stream buffers with data
    void CloseAudioStream(AudioStream stream);                                      // Close audio stream and free memory
    bool IsAudioStreamProcessed(AudioStream stream);                                // Check if any audio stream buffers requires refill
    void PlayAudioStream(AudioStream stream);                                       // Play audio stream
    void PauseAudioStream(AudioStream stream);                                      // Pause audio stream
    void ResumeAudioStream(AudioStream stream);                                     // Resume audio stream
    bool IsAudioStreamPlaying(AudioStream stream);                                  // Check if audio stream is playing
    void StopAudioStream(AudioStream stream);                                       // Stop audio stream
    void SetAudioStreamVolume(AudioStream stream, float volume);                    // Set volume for audio stream (1.0 is max level)
    void SetAudioStreamPitch(AudioStream stream, float pitch);                      // Set pitch for audio stream (1.0 is base level)
    void SetAudioStreamBufferSizeDefault(int size);                                 // Default size for new audio streams