miniaudio

- simplify foreign
- enable SUPPORT_SNDIO on OpenBSD
- correct ptr type for SUPPORT_PULSEAUDIO (Linux) and SUPPORT_COREAUDIO (Darwin)
This commit is contained in:
Sébastien Marie
2022-03-02 18:35:13 +00:00
parent 25430333ba
commit 3145935d6b
11 changed files with 79 additions and 32 deletions
+7 -2
View File
@@ -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
View File
@@ -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"
}
/************************************************************************************************************************************************************ /************************************************************************************************************************************************************
************************************************************************************************************************************************************* *************************************************************************************************************************************************************
+7 -4
View File
@@ -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"
}
/************************************************************************************************************************************************************ /************************************************************************************************************************************************************
+7 -2
View File
@@ -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
View File
@@ -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 {}),
+7 -2
View File
@@ -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"
}
/************************************************************************************************************************************************************ /************************************************************************************************************************************************************
+7 -2
View File
@@ -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"
}
/************************************************************************************************************************************************************** /**************************************************************************************************************************************************************
+7 -2
View File
@@ -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,
+7 -2
View File
@@ -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
+7 -2
View File
@@ -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 {
+7 -2
View File
@@ -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"
}
/************************************************************************************************************************************************************ /************************************************************************************************************************************************************