Commit Graph

32 Commits

Author SHA1 Message Date
Chris Robinson 62fa6a2277 Avoid including voice.h in alcontext.h 2020-12-27 16:14:11 -08:00
Chris Robinson adb5467720 Use smaller types for enums 2020-12-27 10:28:59 -08:00
Chris Robinson cf7f201c92 Reorder some context properties 2020-12-27 03:11:01 -08:00
Chris Robinson cd2ebb9c3a Use a uint for a bitfield 2020-12-27 01:05:16 -08:00
Chris Robinson f0fe57dc5a Don't link DistanceModel enums to AL values 2020-12-16 14:58:55 -08:00
Chris Robinson 5ad28f8cba Move VoiceChange to a separate header 2020-12-16 00:50:50 -08:00
Chris Robinson daf9d46478 Use a separate structure for the context/listener params 2020-12-15 18:41:50 -08:00
Chris Robinson 4e760bbecc Use a separate structure for the active effect slot properties 2020-11-07 08:36:49 -08:00
Chris Robinson 52d58a4023 Store the wet buffers in the context
This is rather ugly, but we need the wet buffers to remain allocated after its
effect slot is deleted, because a voice can still use it for its final fade-out
mix.
2020-11-02 04:24:36 -08:00
Chris Robinson 3e62600ecc Replace some more macros with constexpr variables 2020-10-21 16:39:21 -07:00
Chris Robinson 02d7fbfa0c Use standard attribute declarations 2020-04-13 23:27:56 -07:00
Chris Robinson 024112a53a Use acquire-release semantics for changing deferred updates 2020-04-07 12:46:35 -07:00
Chris Robinson 75479b58e3 Remove use of unnecessary type aliases 2020-03-30 13:43:49 -07:00
Chris Robinson 963d9b761b Rename ALvoice and related structs to Voice 2020-03-28 18:15:05 -07:00
Chris Robinson f1f9a14172 Avoid AL[C]boolean for internal use 2020-03-28 18:15:05 -07:00
Chris Robinson 90d45984dc Simplify replaying a source 2020-02-23 21:40:54 -08:00
Chris Robinson a8162a77c2 Use an array of ALvoice pointers for the active voices
This allows growing the array atomically with the mixer since the ALvoice
objects themselves don't move, and a new larger array of them can be swapped in
without blocking the mixer.
2020-02-21 20:14:28 -08:00
Chris Robinson bdb8ef22b0 Asynchronously stop voices if its source is being deleted 2020-02-20 22:50:37 -08:00
Chris Robinson 64e2c377d8 Move ALvoice from alu.h to a separate header 2019-10-02 16:53:23 -07:00
Chris Robinson ef2769af03 Use a normal vector for the voices array 2019-09-04 23:04:55 -07:00
Chris Robinson 351ccf2e11 Use new/delete for context and effectslot properties 2019-08-13 22:25:59 -07:00
Chris Robinson d24401c3f3 Move the meters per unit property to the listener 2019-08-05 12:15:14 -07:00
Chris Robinson a7a9c00275 Turn a couple more functions into methods 2019-08-02 18:30:22 -07:00
Chris Robinson 33bcced82a Use a smart pointer for holding the context's device 2019-08-01 19:44:09 -07:00
Chris Robinson 0be823320d Add and use an intrusive_ptr type 2019-08-01 15:19:37 -07:00
Chris Robinson 65f7fc610e Add a common base for auto-deleting ref-counted objects
Which will also work as the basis for a future intrusive_ptr
2019-08-01 13:43:32 -07:00
Chris Robinson 380f3dc11d Cleanup alcontext.h includes 2019-08-01 09:21:56 -07:00
Chris Robinson f286c3fa38 Move another function to a ALCcontext method 2019-07-30 21:32:05 -07:00
Chris Robinson ac554de67d Turn some functions into methods 2019-07-30 14:13:05 -07:00
Chris Robinson ea76e003e7 Properly prefix ALCcontext members 2019-07-30 09:05:54 -07:00
Chris Robinson 4c9e18c5a0 Rename al/* sources to avoid camel-case 2019-07-29 17:54:07 -07:00
Chris Robinson cb3e96e756 Rename Alc to alc 2019-07-28 18:56:04 -07:00