mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-01 20:28:15 +00:00
miniaudio
- simplify foreign - enable SUPPORT_SNDIO on OpenBSD - correct ptr type for SUPPORT_PULSEAUDIO (Linux) and SUPPORT_COREAUDIO (Darwin)
This commit is contained in:
Vendored
+7
-2
@@ -2,8 +2,13 @@ package miniaudio
|
|||||||
|
|
||||||
import "core:c"
|
import "core:c"
|
||||||
|
|
||||||
when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
|
when ODIN_OS == .Windows {
|
||||||
when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
|
foreign import lib "lib/miniaudio.lib"
|
||||||
|
} else when ODIN_OS == .Linux {
|
||||||
|
foreign import lib "lib/miniaudio.a"
|
||||||
|
} else {
|
||||||
|
foreign import lib "system:miniaudio"
|
||||||
|
}
|
||||||
|
|
||||||
handle :: distinct rawptr
|
handle :: distinct rawptr
|
||||||
|
|
||||||
|
|||||||
+7
-3
@@ -2,9 +2,13 @@ package miniaudio
|
|||||||
|
|
||||||
import "core:c"
|
import "core:c"
|
||||||
|
|
||||||
when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
|
when ODIN_OS == .Windows {
|
||||||
when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
|
foreign import lib "lib/miniaudio.lib"
|
||||||
|
} else when ODIN_OS == .Linux {
|
||||||
|
foreign import lib "lib/miniaudio.a"
|
||||||
|
} else {
|
||||||
|
foreign import lib "system:miniaudio"
|
||||||
|
}
|
||||||
|
|
||||||
/************************************************************************************************************************************************************
|
/************************************************************************************************************************************************************
|
||||||
*************************************************************************************************************************************************************
|
*************************************************************************************************************************************************************
|
||||||
|
|||||||
Vendored
+8
-5
@@ -2,10 +2,13 @@ package miniaudio
|
|||||||
|
|
||||||
import "core:c"
|
import "core:c"
|
||||||
|
|
||||||
when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
|
when ODIN_OS == .Windows {
|
||||||
when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
|
foreign import lib "lib/miniaudio.lib"
|
||||||
|
} else when ODIN_OS == .Linux {
|
||||||
|
foreign import lib "lib/miniaudio.a"
|
||||||
|
} else {
|
||||||
|
foreign import lib "system:miniaudio"
|
||||||
|
}
|
||||||
|
|
||||||
/************************************************************************************************************************************************************
|
/************************************************************************************************************************************************************
|
||||||
|
|
||||||
@@ -164,4 +167,4 @@ foreign lib {
|
|||||||
decode_from_vfs :: proc(pVFS: ^vfs, pFilePath: cstring, pConfig: ^decoder_config, pFrameCountOut: ^u64, ppPCMFramesOut: ^rawptr) -> result ---
|
decode_from_vfs :: proc(pVFS: ^vfs, pFilePath: cstring, pConfig: ^decoder_config, pFrameCountOut: ^u64, ppPCMFramesOut: ^rawptr) -> result ---
|
||||||
decode_file :: proc(pFilePath: cstring, pConfig: ^decoder_config, pFrameCountOut: ^u64, ppPCMFramesOut: ^rawptr) -> result ---
|
decode_file :: proc(pFilePath: cstring, pConfig: ^decoder_config, pFrameCountOut: ^u64, ppPCMFramesOut: ^rawptr) -> result ---
|
||||||
decode_memory :: proc(pData: rawptr, dataSize: c.size_t, pConfig: ^decoder_config, pFrameCountOut: ^u64, ppPCMFramesOut: ^rawptr) -> result ---
|
decode_memory :: proc(pData: rawptr, dataSize: c.size_t, pConfig: ^decoder_config, pFrameCountOut: ^u64, ppPCMFramesOut: ^rawptr) -> result ---
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-2
@@ -1,7 +1,12 @@
|
|||||||
package miniaudio
|
package miniaudio
|
||||||
|
|
||||||
when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
|
when ODIN_OS == .Windows {
|
||||||
when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
|
foreign import lib "lib/miniaudio.lib"
|
||||||
|
} else when ODIN_OS == .Linux {
|
||||||
|
foreign import lib "lib/miniaudio.a"
|
||||||
|
} else {
|
||||||
|
foreign import lib "system:miniaudio"
|
||||||
|
}
|
||||||
|
|
||||||
import "core:c"
|
import "core:c"
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -6,7 +6,7 @@ SUPPORT_WASAPI :: ODIN_OS == .Windows
|
|||||||
SUPPORT_DSOUND :: ODIN_OS == .Windows
|
SUPPORT_DSOUND :: ODIN_OS == .Windows
|
||||||
SUPPORT_WINMM :: ODIN_OS == .Windows
|
SUPPORT_WINMM :: ODIN_OS == .Windows
|
||||||
SUPPORT_COREAUDIO :: ODIN_OS == .Darwin
|
SUPPORT_COREAUDIO :: ODIN_OS == .Darwin
|
||||||
SUPPORT_SNDIO :: false // ODIN_OS == .OpenBSD
|
SUPPORT_SNDIO :: ODIN_OS == .OpenBSD
|
||||||
SUPPORT_AUDIO4 :: false // ODIN_OS == .OpenBSD || ODIN_OS == .NetBSD
|
SUPPORT_AUDIO4 :: false // ODIN_OS == .OpenBSD || ODIN_OS == .NetBSD
|
||||||
SUPPORT_OSS :: ODIN_OS == .FreeBSD
|
SUPPORT_OSS :: ODIN_OS == .FreeBSD
|
||||||
SUPPORT_PULSEAUDIO :: ODIN_OS == .Linux
|
SUPPORT_PULSEAUDIO :: ODIN_OS == .Linux
|
||||||
@@ -739,8 +739,8 @@ context_type :: struct {
|
|||||||
pa_stream_writable_size: proc "system" (),
|
pa_stream_writable_size: proc "system" (),
|
||||||
pa_stream_readable_size: proc "system" (),
|
pa_stream_readable_size: proc "system" (),
|
||||||
|
|
||||||
/*pa_mainloop**/ pMainLoop: ptr,
|
/*pa_mainloop**/ pMainLoop: rawptr,
|
||||||
/*pa_context**/ pPulseContext: ptr,
|
/*pa_context**/ pPulseContext: rawptr,
|
||||||
} when SUPPORT_PULSEAUDIO else struct {}),
|
} when SUPPORT_PULSEAUDIO else struct {}),
|
||||||
|
|
||||||
jack: (struct {
|
jack: (struct {
|
||||||
@@ -791,7 +791,7 @@ context_type :: struct {
|
|||||||
AudioUnitInitialize: proc "system" (),
|
AudioUnitInitialize: proc "system" (),
|
||||||
AudioUnitRender: proc "system" (),
|
AudioUnitRender: proc "system" (),
|
||||||
|
|
||||||
/*AudioComponent*/ component: ptr,
|
/*AudioComponent*/ component: rawptr,
|
||||||
noAudioSessionDeactivate: b32, /* For tracking whether or not the iOS audio session should be explicitly deactivated. Set from the config in ma_context_init__coreaudio(). */
|
noAudioSessionDeactivate: b32, /* For tracking whether or not the iOS audio session should be explicitly deactivated. Set from the config in ma_context_init__coreaudio(). */
|
||||||
} when SUPPORT_COREAUDIO else struct {}),
|
} when SUPPORT_COREAUDIO else struct {}),
|
||||||
|
|
||||||
|
|||||||
Vendored
+8
-3
@@ -2,8 +2,13 @@ package miniaudio
|
|||||||
|
|
||||||
import "core:c"
|
import "core:c"
|
||||||
|
|
||||||
when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
|
when ODIN_OS == .Windows {
|
||||||
when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
|
foreign import lib "lib/miniaudio.lib"
|
||||||
|
} else when ODIN_OS == .Linux {
|
||||||
|
foreign import lib "lib/miniaudio.a"
|
||||||
|
} else {
|
||||||
|
foreign import lib "system:miniaudio"
|
||||||
|
}
|
||||||
|
|
||||||
/************************************************************************************************************************************************************
|
/************************************************************************************************************************************************************
|
||||||
|
|
||||||
@@ -49,4 +54,4 @@ foreign lib {
|
|||||||
encoder_init_file_w :: proc(pFilePath: [^]c.wchar_t, pConfig: ^encoder_config, pEncoder: ^encoder) -> result ---
|
encoder_init_file_w :: proc(pFilePath: [^]c.wchar_t, pConfig: ^encoder_config, pEncoder: ^encoder) -> result ---
|
||||||
encoder_uninit :: proc(pEncoder: ^encoder) ---
|
encoder_uninit :: proc(pEncoder: ^encoder) ---
|
||||||
encoder_write_pcm_frames :: proc(pEncoder: ^encoder, FramesIn: rawptr, frameCount: u64) -> u64 ---
|
encoder_write_pcm_frames :: proc(pEncoder: ^encoder, FramesIn: rawptr, frameCount: u64) -> u64 ---
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+7
-2
@@ -1,7 +1,12 @@
|
|||||||
package miniaudio
|
package miniaudio
|
||||||
|
|
||||||
when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
|
when ODIN_OS == .Windows {
|
||||||
when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
|
foreign import lib "lib/miniaudio.lib"
|
||||||
|
} else when ODIN_OS == .Linux {
|
||||||
|
foreign import lib "lib/miniaudio.a"
|
||||||
|
} else {
|
||||||
|
foreign import lib "system:miniaudio"
|
||||||
|
}
|
||||||
|
|
||||||
/**************************************************************************************************************************************************************
|
/**************************************************************************************************************************************************************
|
||||||
|
|
||||||
|
|||||||
Vendored
+8
-3
@@ -2,8 +2,13 @@ package miniaudio
|
|||||||
|
|
||||||
import "core:c"
|
import "core:c"
|
||||||
|
|
||||||
when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
|
when ODIN_OS == .Windows {
|
||||||
when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
|
foreign import lib "lib/miniaudio.lib"
|
||||||
|
} else when ODIN_OS == .Linux {
|
||||||
|
foreign import lib "lib/miniaudio.a"
|
||||||
|
} else {
|
||||||
|
foreign import lib "system:miniaudio"
|
||||||
|
}
|
||||||
|
|
||||||
waveform_type :: enum c.int {
|
waveform_type :: enum c.int {
|
||||||
sine,
|
sine,
|
||||||
@@ -82,4 +87,4 @@ foreign lib {
|
|||||||
noise_set_amplitude :: proc(pNoise: ^noise, amplitude: f64) -> result ---
|
noise_set_amplitude :: proc(pNoise: ^noise, amplitude: f64) -> result ---
|
||||||
noise_set_seed :: proc(pNoise: ^noise, seed: i32) -> result ---
|
noise_set_seed :: proc(pNoise: ^noise, seed: i32) -> result ---
|
||||||
noise_set_type :: proc(pNoise: ^noise, type: noise_type) -> result ---
|
noise_set_type :: proc(pNoise: ^noise, type: noise_type) -> result ---
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+8
-3
@@ -2,8 +2,13 @@ package miniaudio
|
|||||||
|
|
||||||
import c "core:c/libc"
|
import c "core:c/libc"
|
||||||
|
|
||||||
when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
|
when ODIN_OS == .Windows {
|
||||||
when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
|
foreign import lib "lib/miniaudio.lib"
|
||||||
|
} else when ODIN_OS == .Linux {
|
||||||
|
foreign import lib "lib/miniaudio.a"
|
||||||
|
} else {
|
||||||
|
foreign import lib "system:miniaudio"
|
||||||
|
}
|
||||||
|
|
||||||
MAX_LOG_CALLBACKS :: 4
|
MAX_LOG_CALLBACKS :: 4
|
||||||
|
|
||||||
@@ -32,4 +37,4 @@ foreign lib {
|
|||||||
log_post :: proc(pLog: ^log, level: u32, pMessage: cstring) -> result ---
|
log_post :: proc(pLog: ^log, level: u32, pMessage: cstring) -> result ---
|
||||||
log_postv :: proc(pLog: ^log, level: u32, pFormat: cstring, args: c.va_list) -> result ---
|
log_postv :: proc(pLog: ^log, level: u32, pFormat: cstring, args: c.va_list) -> result ---
|
||||||
log_postf :: proc(pLog: ^log, level: u32, pFormat: cstring, #c_vararg args: ..any) -> result ---
|
log_postf :: proc(pLog: ^log, level: u32, pFormat: cstring, #c_vararg args: ..any) -> result ---
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+8
-3
@@ -1,7 +1,12 @@
|
|||||||
package miniaudio
|
package miniaudio
|
||||||
|
|
||||||
when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
|
when ODIN_OS == .Windows {
|
||||||
when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
|
foreign import lib "lib/miniaudio.lib"
|
||||||
|
} else when ODIN_OS == .Linux {
|
||||||
|
foreign import lib "lib/miniaudio.a"
|
||||||
|
} else {
|
||||||
|
foreign import lib "system:miniaudio"
|
||||||
|
}
|
||||||
|
|
||||||
@(default_calling_convention="c", link_prefix="ma_")
|
@(default_calling_convention="c", link_prefix="ma_")
|
||||||
foreign lib {
|
foreign lib {
|
||||||
@@ -228,4 +233,4 @@ foreign lib {
|
|||||||
audio_buffer_get_cursor_in_pcm_frames :: proc(pAudioBuffer: ^audio_buffer, pCursor: ^u64) -> result ---
|
audio_buffer_get_cursor_in_pcm_frames :: proc(pAudioBuffer: ^audio_buffer, pCursor: ^u64) -> result ---
|
||||||
audio_buffer_get_length_in_pcm_frames :: proc(pAudioBuffer: ^audio_buffer, pLength: ^u64) -> result ---
|
audio_buffer_get_length_in_pcm_frames :: proc(pAudioBuffer: ^audio_buffer, pLength: ^u64) -> result ---
|
||||||
audio_buffer_get_available_frames :: proc(pAudioBuffer: ^audio_buffer, pAvailableFrames: ^u64) -> result ---
|
audio_buffer_get_available_frames :: proc(pAudioBuffer: ^audio_buffer, pAvailableFrames: ^u64) -> result ---
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+7
-2
@@ -2,8 +2,13 @@ package miniaudio
|
|||||||
|
|
||||||
import "core:c"
|
import "core:c"
|
||||||
|
|
||||||
when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
|
when ODIN_OS == .Windows {
|
||||||
when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
|
foreign import lib "lib/miniaudio.lib"
|
||||||
|
} else when ODIN_OS == .Linux {
|
||||||
|
foreign import lib "lib/miniaudio.a"
|
||||||
|
} else {
|
||||||
|
foreign import lib "system:miniaudio"
|
||||||
|
}
|
||||||
|
|
||||||
/************************************************************************************************************************************************************
|
/************************************************************************************************************************************************************
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user