diff --git a/module.jai b/module.jai index 2d061a6..4f89cdd 100644 --- a/module.jai +++ b/module.jai @@ -1,13 +1,11 @@ -#scope_module - -size_t :: u64; - -#import "Basic"; - -#if OS == .WINDOWS { - #load "windows.jai"; -} -else { - assert(false); -} - +#scope_module + +#import "Basic"; + +#if OS == .WINDOWS { + #load "windows.jai"; +} +else { + assert(false); +} + diff --git a/windows.jai b/windows.jai index 7d1230b..bdde359 100644 --- a/windows.jai +++ b/windows.jai @@ -209,8 +209,8 @@ drwav_version_string :: () -> *u8 #foreign dr_libs; /* Allocation Callbacks */ drwav_allocation_callbacks :: struct { pUserData: *void; - onMalloc: #type (sz: size_t, pUserData: *void) -> *void #c_call; - onRealloc: #type (p: *void, sz: size_t, pUserData: *void) -> *void #c_call; + onMalloc: #type (sz: u64, pUserData: *void) -> *void #c_call; + onRealloc: #type (p: *void, sz: u64, pUserData: *void) -> *void #c_call; onFree: #type (p: *void, pUserData: *void) -> void #c_call; } @@ -306,7 +306,7 @@ Returns the number of bytes actually read. A return value of less than bytesToRead indicates the end of the stream. Do _not_ return from this callback until either the entire bytesToRead is filled or you have reached the end of the stream. */ -drwav_read_proc :: #type (pUserData: *void, pBufferOut: *void, bytesToRead: size_t) -> size_t #c_call; +drwav_read_proc :: #type (pUserData: *void, pBufferOut: *void, bytesToRead: u64) -> u64 #c_call; /* Callback for when data is written. Returns value is the number of bytes actually written. @@ -319,7 +319,7 @@ Returns the number of bytes actually written. If the return value differs from bytesToWrite, it indicates an error. */ -drwav_write_proc :: #type (pUserData: *void, pData: *void, bytesToWrite: size_t) -> size_t #c_call; +drwav_write_proc :: #type (pUserData: *void, pData: *void, bytesToWrite: u64) -> u64 #c_call; /* Callback for when data needs to be seeked. @@ -364,17 +364,17 @@ drwav_chunk_proc :: #type (pChunkUserData: *void, onRead: drwav_read_proc, onSee /* Structure for internal use. Only used for loaders opened with drwav_init_memory(). */ drwav__memory_stream :: struct { data: *drwav_uint8; - dataSize: size_t; - currentReadPos: size_t; + dataSize: u64; + currentReadPos: u64; } /* Structure for internal use. Only used for writers opened with drwav_init_memory_write(). */ drwav__memory_stream_write :: struct { ppData: **void; - pDataSize: *size_t; - dataSize: size_t; - dataCapacity: size_t; - currentWritePos: size_t; + pDataSize: *u64; + dataSize: u64; + dataCapacity: u64; + currentWritePos: u64; } drwav_data_format :: struct { @@ -932,7 +932,7 @@ pBufferOut can be NULL in which case a seek will be performed. Returns the number of bytes actually read. */ -drwav_read_raw :: (pWav: *drwav, bytesToRead: size_t, pBufferOut: *void) -> size_t #foreign dr_libs; +drwav_read_raw :: (pWav: *drwav, bytesToRead: u64, pBufferOut: *void) -> u64 #foreign dr_libs; /* Reads up to the specified number of PCM frames from the WAV file. @@ -974,7 +974,7 @@ Writes raw audio data. Returns the number of bytes actually written. If this differs from bytesToWrite, it indicates an error. */ -drwav_write_raw :: (pWav: *drwav, bytesToWrite: size_t, pData: *void) -> size_t #foreign dr_libs; +drwav_write_raw :: (pWav: *drwav, bytesToWrite: u64, pData: *void) -> u64 #foreign dr_libs; /* Writes PCM frames. @@ -1002,25 +1002,25 @@ drwav_read_pcm_frames_s16le :: (pWav: *drwav, framesToRead: drwav_uint64, pBuffe drwav_read_pcm_frames_s16be :: (pWav: *drwav, framesToRead: drwav_uint64, pBufferOut: *drwav_int16) -> drwav_uint64 #foreign dr_libs; /* Low-level function for converting unsigned 8-bit PCM samples to signed 16-bit PCM samples. */ -drwav_u8_to_s16 :: (pOut: *drwav_int16, pIn: *drwav_uint8, sampleCount: size_t) -> void #foreign dr_libs; +drwav_u8_to_s16 :: (pOut: *drwav_int16, pIn: *drwav_uint8, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting signed 24-bit PCM samples to signed 16-bit PCM samples. */ -drwav_s24_to_s16 :: (pOut: *drwav_int16, pIn: *drwav_uint8, sampleCount: size_t) -> void #foreign dr_libs; +drwav_s24_to_s16 :: (pOut: *drwav_int16, pIn: *drwav_uint8, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting signed 32-bit PCM samples to signed 16-bit PCM samples. */ -drwav_s32_to_s16 :: (pOut: *drwav_int16, pIn: *drwav_int32, sampleCount: size_t) -> void #foreign dr_libs; +drwav_s32_to_s16 :: (pOut: *drwav_int16, pIn: *drwav_int32, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting IEEE 32-bit floating point samples to signed 16-bit PCM samples. */ -drwav_f32_to_s16 :: (pOut: *drwav_int16, pIn: *float, sampleCount: size_t) -> void #foreign dr_libs; +drwav_f32_to_s16 :: (pOut: *drwav_int16, pIn: *float, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting IEEE 64-bit floating point samples to signed 16-bit PCM samples. */ -drwav_f64_to_s16 :: (pOut: *drwav_int16, pIn: *float64, sampleCount: size_t) -> void #foreign dr_libs; +drwav_f64_to_s16 :: (pOut: *drwav_int16, pIn: *float64, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting A-law samples to signed 16-bit PCM samples. */ -drwav_alaw_to_s16 :: (pOut: *drwav_int16, pIn: *drwav_uint8, sampleCount: size_t) -> void #foreign dr_libs; +drwav_alaw_to_s16 :: (pOut: *drwav_int16, pIn: *drwav_uint8, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting u-law samples to signed 16-bit PCM samples. */ -drwav_mulaw_to_s16 :: (pOut: *drwav_int16, pIn: *drwav_uint8, sampleCount: size_t) -> void #foreign dr_libs; +drwav_mulaw_to_s16 :: (pOut: *drwav_int16, pIn: *drwav_uint8, sampleCount: u64) -> void #foreign dr_libs; /* Reads a chunk of audio data and converts it to IEEE 32-bit floating point samples. @@ -1036,25 +1036,25 @@ drwav_read_pcm_frames_f32le :: (pWav: *drwav, framesToRead: drwav_uint64, pBuffe drwav_read_pcm_frames_f32be :: (pWav: *drwav, framesToRead: drwav_uint64, pBufferOut: *float) -> drwav_uint64 #foreign dr_libs; /* Low-level function for converting unsigned 8-bit PCM samples to IEEE 32-bit floating point samples. */ -drwav_u8_to_f32 :: (pOut: *float, pIn: *drwav_uint8, sampleCount: size_t) -> void #foreign dr_libs; +drwav_u8_to_f32 :: (pOut: *float, pIn: *drwav_uint8, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting signed 16-bit PCM samples to IEEE 32-bit floating point samples. */ -drwav_s16_to_f32 :: (pOut: *float, pIn: *drwav_int16, sampleCount: size_t) -> void #foreign dr_libs; +drwav_s16_to_f32 :: (pOut: *float, pIn: *drwav_int16, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting signed 24-bit PCM samples to IEEE 32-bit floating point samples. */ -drwav_s24_to_f32 :: (pOut: *float, pIn: *drwav_uint8, sampleCount: size_t) -> void #foreign dr_libs; +drwav_s24_to_f32 :: (pOut: *float, pIn: *drwav_uint8, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting signed 32-bit PCM samples to IEEE 32-bit floating point samples. */ -drwav_s32_to_f32 :: (pOut: *float, pIn: *drwav_int32, sampleCount: size_t) -> void #foreign dr_libs; +drwav_s32_to_f32 :: (pOut: *float, pIn: *drwav_int32, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting IEEE 64-bit floating point samples to IEEE 32-bit floating point samples. */ -drwav_f64_to_f32 :: (pOut: *float, pIn: *float64, sampleCount: size_t) -> void #foreign dr_libs; +drwav_f64_to_f32 :: (pOut: *float, pIn: *float64, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting A-law samples to IEEE 32-bit floating point samples. */ -drwav_alaw_to_f32 :: (pOut: *float, pIn: *drwav_uint8, sampleCount: size_t) -> void #foreign dr_libs; +drwav_alaw_to_f32 :: (pOut: *float, pIn: *drwav_uint8, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting u-law samples to IEEE 32-bit floating point samples. */ -drwav_mulaw_to_f32 :: (pOut: *float, pIn: *drwav_uint8, sampleCount: size_t) -> void #foreign dr_libs; +drwav_mulaw_to_f32 :: (pOut: *float, pIn: *drwav_uint8, sampleCount: u64) -> void #foreign dr_libs; /* Reads a chunk of audio data and converts it to signed 32-bit PCM samples. @@ -1070,25 +1070,25 @@ drwav_read_pcm_frames_s32le :: (pWav: *drwav, framesToRead: drwav_uint64, pBuffe drwav_read_pcm_frames_s32be :: (pWav: *drwav, framesToRead: drwav_uint64, pBufferOut: *drwav_int32) -> drwav_uint64 #foreign dr_libs; /* Low-level function for converting unsigned 8-bit PCM samples to signed 32-bit PCM samples. */ -drwav_u8_to_s32 :: (pOut: *drwav_int32, pIn: *drwav_uint8, sampleCount: size_t) -> void #foreign dr_libs; +drwav_u8_to_s32 :: (pOut: *drwav_int32, pIn: *drwav_uint8, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting signed 16-bit PCM samples to signed 32-bit PCM samples. */ -drwav_s16_to_s32 :: (pOut: *drwav_int32, pIn: *drwav_int16, sampleCount: size_t) -> void #foreign dr_libs; +drwav_s16_to_s32 :: (pOut: *drwav_int32, pIn: *drwav_int16, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting signed 24-bit PCM samples to signed 32-bit PCM samples. */ -drwav_s24_to_s32 :: (pOut: *drwav_int32, pIn: *drwav_uint8, sampleCount: size_t) -> void #foreign dr_libs; +drwav_s24_to_s32 :: (pOut: *drwav_int32, pIn: *drwav_uint8, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting IEEE 32-bit floating point samples to signed 32-bit PCM samples. */ -drwav_f32_to_s32 :: (pOut: *drwav_int32, pIn: *float, sampleCount: size_t) -> void #foreign dr_libs; +drwav_f32_to_s32 :: (pOut: *drwav_int32, pIn: *float, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting IEEE 64-bit floating point samples to signed 32-bit PCM samples. */ -drwav_f64_to_s32 :: (pOut: *drwav_int32, pIn: *float64, sampleCount: size_t) -> void #foreign dr_libs; +drwav_f64_to_s32 :: (pOut: *drwav_int32, pIn: *float64, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting A-law samples to signed 32-bit PCM samples. */ -drwav_alaw_to_s32 :: (pOut: *drwav_int32, pIn: *drwav_uint8, sampleCount: size_t) -> void #foreign dr_libs; +drwav_alaw_to_s32 :: (pOut: *drwav_int32, pIn: *drwav_uint8, sampleCount: u64) -> void #foreign dr_libs; /* Low-level function for converting u-law samples to signed 32-bit PCM samples. */ -drwav_mulaw_to_s32 :: (pOut: *drwav_int32, pIn: *drwav_uint8, sampleCount: size_t) -> void #foreign dr_libs; +drwav_mulaw_to_s32 :: (pOut: *drwav_int32, pIn: *drwav_uint8, sampleCount: u64) -> void #foreign dr_libs; /* Helper for initializing a wave file for reading using stdio. @@ -1126,9 +1126,9 @@ the lifetime of the drwav object. The buffer should contain the contents of the entire wave file, not just the sample data. */ -drwav_init_memory :: (pWav: *drwav, data: *void, dataSize: size_t, pAllocationCallbacks: *drwav_allocation_callbacks) -> drwav_bool32 #foreign dr_libs; -drwav_init_memory_ex :: (pWav: *drwav, data: *void, dataSize: size_t, onChunk: drwav_chunk_proc, pChunkUserData: *void, flags: drwav_uint32, pAllocationCallbacks: *drwav_allocation_callbacks) -> drwav_bool32 #foreign dr_libs; -drwav_init_memory_with_metadata :: (pWav: *drwav, data: *void, dataSize: size_t, flags: drwav_uint32, pAllocationCallbacks: *drwav_allocation_callbacks) -> drwav_bool32 #foreign dr_libs; +drwav_init_memory :: (pWav: *drwav, data: *void, dataSize: u64, pAllocationCallbacks: *drwav_allocation_callbacks) -> drwav_bool32 #foreign dr_libs; +drwav_init_memory_ex :: (pWav: *drwav, data: *void, dataSize: u64, onChunk: drwav_chunk_proc, pChunkUserData: *void, flags: drwav_uint32, pAllocationCallbacks: *drwav_allocation_callbacks) -> drwav_bool32 #foreign dr_libs; +drwav_init_memory_with_metadata :: (pWav: *drwav, data: *void, dataSize: u64, flags: drwav_uint32, pAllocationCallbacks: *drwav_allocation_callbacks) -> drwav_bool32 #foreign dr_libs; /* Helper for initializing a writer which outputs data to a memory buffer. @@ -1138,9 +1138,9 @@ dr_wav will manage the memory allocations, however it is up to the caller to fre The buffer will remain allocated even after drwav_uninit() is called. The buffer should not be considered valid until after drwav_uninit() has been called. */ -drwav_init_memory_write :: (pWav: *drwav, ppData: **void, pDataSize: *size_t, pFormat: *drwav_data_format, pAllocationCallbacks: *drwav_allocation_callbacks) -> drwav_bool32 #foreign dr_libs; -drwav_init_memory_write_sequential :: (pWav: *drwav, ppData: **void, pDataSize: *size_t, pFormat: *drwav_data_format, totalSampleCount: drwav_uint64, pAllocationCallbacks: *drwav_allocation_callbacks) -> drwav_bool32 #foreign dr_libs; -drwav_init_memory_write_sequential_pcm_frames :: (pWav: *drwav, ppData: **void, pDataSize: *size_t, pFormat: *drwav_data_format, totalPCMFrameCount: drwav_uint64, pAllocationCallbacks: *drwav_allocation_callbacks) -> drwav_bool32 #foreign dr_libs; +drwav_init_memory_write :: (pWav: *drwav, ppData: **void, pDataSize: *u64, pFormat: *drwav_data_format, pAllocationCallbacks: *drwav_allocation_callbacks) -> drwav_bool32 #foreign dr_libs; +drwav_init_memory_write_sequential :: (pWav: *drwav, ppData: **void, pDataSize: *u64, pFormat: *drwav_data_format, totalSampleCount: drwav_uint64, pAllocationCallbacks: *drwav_allocation_callbacks) -> drwav_bool32 #foreign dr_libs; +drwav_init_memory_write_sequential_pcm_frames :: (pWav: *drwav, ppData: **void, pDataSize: *u64, pFormat: *drwav_data_format, totalPCMFrameCount: drwav_uint64, pAllocationCallbacks: *drwav_allocation_callbacks) -> drwav_bool32 #foreign dr_libs; /* Opens and reads an entire wav file in a single operation. @@ -1168,9 +1168,9 @@ Opens and decodes an entire wav file from a block of memory in a single operatio The return value is a heap-allocated buffer containing the audio data. Use drwav_free() to free the buffer. */ -drwav_open_memory_and_read_pcm_frames_s16 :: (data: *void, dataSize: size_t, channelsOut: *u32, sampleRateOut: *u32, totalFrameCountOut: *drwav_uint64, pAllocationCallbacks: *drwav_allocation_callbacks) -> *drwav_int16 #foreign dr_libs; -drwav_open_memory_and_read_pcm_frames_f32 :: (data: *void, dataSize: size_t, channelsOut: *u32, sampleRateOut: *u32, totalFrameCountOut: *drwav_uint64, pAllocationCallbacks: *drwav_allocation_callbacks) -> *float #foreign dr_libs; -drwav_open_memory_and_read_pcm_frames_s32 :: (data: *void, dataSize: size_t, channelsOut: *u32, sampleRateOut: *u32, totalFrameCountOut: *drwav_uint64, pAllocationCallbacks: *drwav_allocation_callbacks) -> *drwav_int32 #foreign dr_libs; +drwav_open_memory_and_read_pcm_frames_s16 :: (data: *void, dataSize: u64, channelsOut: *u32, sampleRateOut: *u32, totalFrameCountOut: *drwav_uint64, pAllocationCallbacks: *drwav_allocation_callbacks) -> *drwav_int16 #foreign dr_libs; +drwav_open_memory_and_read_pcm_frames_f32 :: (data: *void, dataSize: u64, channelsOut: *u32, sampleRateOut: *u32, totalFrameCountOut: *drwav_uint64, pAllocationCallbacks: *drwav_allocation_callbacks) -> *float #foreign dr_libs; +drwav_open_memory_and_read_pcm_frames_s32 :: (data: *void, dataSize: u64, channelsOut: *u32, sampleRateOut: *u32, totalFrameCountOut: *drwav_uint64, pAllocationCallbacks: *drwav_allocation_callbacks) -> *drwav_int32 #foreign dr_libs; /* Frees data that was allocated internally by dr_wav. */ drwav_free :: (p: *void, pAllocationCallbacks: *drwav_allocation_callbacks) -> void #foreign dr_libs; @@ -1212,8 +1212,8 @@ drflac_version_string :: () -> *u8 #foreign dr_libs; /* Allocation Callbacks */ drflac_allocation_callbacks :: struct { pUserData: *void; - onMalloc: #type (sz: size_t, pUserData: *void) -> *void #c_call; - onRealloc: #type (p: *void, sz: size_t, pUserData: *void) -> *void #c_call; + onMalloc: #type (sz: u64, pUserData: *void) -> *void #c_call; + onRealloc: #type (p: *void, sz: u64, pUserData: *void) -> *void #c_call; onFree: #type (p: *void, pUserData: *void) -> void #c_call; } @@ -1348,7 +1348,7 @@ Remarks A return value of less than bytesToRead indicates the end of the stream. Do _not_ return from this callback until either the entire bytesToRead is filled or you have reached the end of the stream. */ -drflac_read_proc :: #type (pUserData: *void, pBufferOut: *void, bytesToRead: size_t) -> size_t #c_call; +drflac_read_proc :: #type (pUserData: *void, pBufferOut: *void, bytesToRead: u64) -> u64 #c_call; /* Callback for when data needs to be seeked. @@ -1404,8 +1404,8 @@ drflac_meta_proc :: #type (pUserData: *void, pMetadata: *drflac_metadata) -> voi /* Structure for internal use. Only used for decoders opened with drflac_open_memory. */ drflac__memory_stream :: struct { data: *drflac_uint8; - dataSize: size_t; - currentReadPos: size_t; + dataSize: u64; + currentReadPos: u64; } /* Structure for internal use. Used for bit streaming. */ @@ -1424,7 +1424,7 @@ drflac_bs :: struct { stream there will be a number of bytes that don't cleanly fit in an L1 cache line, so we use this variable to know whether or not the bistreamer needs to run on a slower path to read those last bytes. This will never be more than sizeof(drflac_cache_t). */ - unalignedByteCount: size_t; + unalignedByteCount: u64; /* The content of the unaligned bytes. */ unalignedCache: drflac_cache_t; @@ -1976,7 +1976,7 @@ See Also drflac_open() drflac_close() */ -drflac_open_memory :: (pData: *void, dataSize: size_t, pAllocationCallbacks: *drflac_allocation_callbacks) -> *drflac #foreign dr_libs; +drflac_open_memory :: (pData: *void, dataSize: u64, pAllocationCallbacks: *drflac_allocation_callbacks) -> *drflac #foreign dr_libs; /* Opens a FLAC decoder from a pre-allocated block of memory and notifies the caller of the metadata chunks (album art, etc.) @@ -2011,7 +2011,7 @@ drflac_open_with_metadata() drflac_open() drflac_close() */ -drflac_open_memory_with_metadata :: (pData: *void, dataSize: size_t, onMeta: drflac_meta_proc, pUserData: *void, pAllocationCallbacks: *drflac_allocation_callbacks) -> *drflac #foreign dr_libs; +drflac_open_memory_with_metadata :: (pData: *void, dataSize: u64, onMeta: drflac_meta_proc, pUserData: *void, pAllocationCallbacks: *drflac_allocation_callbacks) -> *drflac #foreign dr_libs; /* Opens a FLAC stream from the given callbacks and fully decodes it in a single operation. The return value is a @@ -2043,13 +2043,13 @@ drflac_open_file_and_read_pcm_frames_s16 :: (filename: *u8, channels: *u32, samp drflac_open_file_and_read_pcm_frames_f32 :: (filename: *u8, channels: *u32, sampleRate: *u32, totalPCMFrameCount: *drflac_uint64, pAllocationCallbacks: *drflac_allocation_callbacks) -> *float #foreign dr_libs; /* Same as drflac_open_and_read_pcm_frames_s32() except opens the decoder from a block of memory. */ -drflac_open_memory_and_read_pcm_frames_s32 :: (data: *void, dataSize: size_t, channels: *u32, sampleRate: *u32, totalPCMFrameCount: *drflac_uint64, pAllocationCallbacks: *drflac_allocation_callbacks) -> *drflac_int32 #foreign dr_libs; +drflac_open_memory_and_read_pcm_frames_s32 :: (data: *void, dataSize: u64, channels: *u32, sampleRate: *u32, totalPCMFrameCount: *drflac_uint64, pAllocationCallbacks: *drflac_allocation_callbacks) -> *drflac_int32 #foreign dr_libs; /* Same as drflac_open_memory_and_read_pcm_frames_s32(), except returns signed 16-bit integer samples. */ -drflac_open_memory_and_read_pcm_frames_s16 :: (data: *void, dataSize: size_t, channels: *u32, sampleRate: *u32, totalPCMFrameCount: *drflac_uint64, pAllocationCallbacks: *drflac_allocation_callbacks) -> *drflac_int16 #foreign dr_libs; +drflac_open_memory_and_read_pcm_frames_s16 :: (data: *void, dataSize: u64, channels: *u32, sampleRate: *u32, totalPCMFrameCount: *drflac_uint64, pAllocationCallbacks: *drflac_allocation_callbacks) -> *drflac_int16 #foreign dr_libs; /* Same as drflac_open_memory_and_read_pcm_frames_s32(), except returns 32-bit floating-point samples. */ -drflac_open_memory_and_read_pcm_frames_f32 :: (data: *void, dataSize: size_t, channels: *u32, sampleRate: *u32, totalPCMFrameCount: *drflac_uint64, pAllocationCallbacks: *drflac_allocation_callbacks) -> *float #foreign dr_libs; +drflac_open_memory_and_read_pcm_frames_f32 :: (data: *void, dataSize: u64, channels: *u32, sampleRate: *u32, totalPCMFrameCount: *drflac_uint64, pAllocationCallbacks: *drflac_allocation_callbacks) -> *float #foreign dr_libs; /* Frees memory that was allocated internally by dr_flac. @@ -2134,8 +2134,8 @@ drmp3_version_string :: () -> *u8 #foreign dr_libs; /* Allocation Callbacks */ drmp3_allocation_callbacks :: struct { pUserData: *void; - onMalloc: #type (sz: size_t, pUserData: *void) -> *void #c_call; - onRealloc: #type (p: *void, sz: size_t, pUserData: *void) -> *void #c_call; + onMalloc: #type (sz: u64, pUserData: *void) -> *void #c_call; + onRealloc: #type (p: *void, sz: u64, pUserData: *void) -> *void #c_call; onFree: #type (p: *void, pUserData: *void) -> void #c_call; } @@ -2167,7 +2167,7 @@ drmp3dec_init :: (dec: *drmp3dec) -> void #foreign dr_libs; drmp3dec_decode_frame :: (dec: *drmp3dec, mp3: *drmp3_uint8, mp3_bytes: s32, pcm: *void, info: *drmp3dec_frame_info) -> s32 #foreign dr_libs; /* Helper for converting between f32 and s16. */ -drmp3dec_f32_to_s16 :: (in: *float, out: *drmp3_int16, num_samples: size_t) -> void #foreign dr_libs; +drmp3dec_f32_to_s16 :: (in: *float, out: *drmp3_int16, num_samples: u64) -> void #foreign dr_libs; /* Main API (Pull API) @@ -2200,7 +2200,7 @@ Returns the number of bytes actually read. A return value of less than bytesToRead indicates the end of the stream. Do _not_ return from this callback until either the entire bytesToRead is filled or you have reached the end of the stream. */ -drmp3_read_proc :: #type (pUserData: *void, pBufferOut: *void, bytesToRead: size_t) -> size_t #c_call; +drmp3_read_proc :: #type (pUserData: *void, pBufferOut: *void, bytesToRead: u64) -> u64 #c_call; /* Callback for when data needs to be seeked. @@ -2238,15 +2238,15 @@ drmp3 :: struct { streamCursor: drmp3_uint64; /* The current byte the decoder is sitting on in the raw stream. */ pSeekPoints: *drmp3_seek_point; /* NULL by default. Set with drmp3_bind_seek_table(). Memory is owned by the client. dr_mp3 will never attempt to free this pointer. */ seekPointCount: drmp3_uint32; /* The number of items in pSeekPoints. When set to 0 assumes to no seek table. Defaults to zero. */ - dataSize: size_t; - dataCapacity: size_t; - dataConsumed: size_t; + dataSize: u64; + dataCapacity: u64; + dataConsumed: u64; pData: *drmp3_uint8; atEnd: u8; memory: struct { pData: *drmp3_uint8; - dataSize: size_t; - currentReadPos: size_t; + dataSize: u64; + currentReadPos: u64; }; /* Only used for decoders that were opened against a block of memory. */ } @@ -2273,7 +2273,7 @@ the lifetime of the drmp3 object. The buffer should contain the contents of the entire MP3 file. */ -drmp3_init_memory :: (pMP3: *drmp3, pData: *void, dataSize: size_t, pAllocationCallbacks: *drmp3_allocation_callbacks) -> drmp3_bool32 #foreign dr_libs; +drmp3_init_memory :: (pMP3: *drmp3, pData: *void, dataSize: u64, pAllocationCallbacks: *drmp3_allocation_callbacks) -> drmp3_bool32 #foreign dr_libs; /* Initializes an MP3 decoder from a file. @@ -2362,8 +2362,8 @@ Free the returned pointer with drmp3_free(). drmp3_open_and_read_pcm_frames_f32 :: (onRead: drmp3_read_proc, onSeek: drmp3_seek_proc, pUserData: *void, pConfig: *drmp3_config, pTotalFrameCount: *drmp3_uint64, pAllocationCallbacks: *drmp3_allocation_callbacks) -> *float #foreign dr_libs; drmp3_open_and_read_pcm_frames_s16 :: (onRead: drmp3_read_proc, onSeek: drmp3_seek_proc, pUserData: *void, pConfig: *drmp3_config, pTotalFrameCount: *drmp3_uint64, pAllocationCallbacks: *drmp3_allocation_callbacks) -> *drmp3_int16 #foreign dr_libs; -drmp3_open_memory_and_read_pcm_frames_f32 :: (pData: *void, dataSize: size_t, pConfig: *drmp3_config, pTotalFrameCount: *drmp3_uint64, pAllocationCallbacks: *drmp3_allocation_callbacks) -> *float #foreign dr_libs; -drmp3_open_memory_and_read_pcm_frames_s16 :: (pData: *void, dataSize: size_t, pConfig: *drmp3_config, pTotalFrameCount: *drmp3_uint64, pAllocationCallbacks: *drmp3_allocation_callbacks) -> *drmp3_int16 #foreign dr_libs; +drmp3_open_memory_and_read_pcm_frames_f32 :: (pData: *void, dataSize: u64, pConfig: *drmp3_config, pTotalFrameCount: *drmp3_uint64, pAllocationCallbacks: *drmp3_allocation_callbacks) -> *float #foreign dr_libs; +drmp3_open_memory_and_read_pcm_frames_s16 :: (pData: *void, dataSize: u64, pConfig: *drmp3_config, pTotalFrameCount: *drmp3_uint64, pAllocationCallbacks: *drmp3_allocation_callbacks) -> *drmp3_int16 #foreign dr_libs; drmp3_open_file_and_read_pcm_frames_f32 :: (filePath: *u8, pConfig: *drmp3_config, pTotalFrameCount: *drmp3_uint64, pAllocationCallbacks: *drmp3_allocation_callbacks) -> *float #foreign dr_libs; drmp3_open_file_and_read_pcm_frames_s16 :: (filePath: *u8, pConfig: *drmp3_config, pTotalFrameCount: *drmp3_uint64, pAllocationCallbacks: *drmp3_allocation_callbacks) -> *drmp3_int16 #foreign dr_libs; @@ -2371,7 +2371,7 @@ drmp3_open_file_and_read_pcm_frames_s16 :: (filePath: *u8, pConfig: *drmp3_confi /* Allocates a block of memory on the heap. */ -drmp3_malloc :: (sz: size_t, pAllocationCallbacks: *drmp3_allocation_callbacks) -> *void #foreign dr_libs; +drmp3_malloc :: (sz: u64, pAllocationCallbacks: *drmp3_allocation_callbacks) -> *void #foreign dr_libs; /* Frees any memory that was allocated by a public drmp3 API. diff --git a/windows/dr_libs.lib b/windows/dr_libs.lib index 4f4d651..ce85a71 100644 Binary files a/windows/dr_libs.lib and b/windows/dr_libs.lib differ