Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add functions to start sources at a particular device time | Chris Robinson | 2022-11-03 | 1 | -161/+234 |
| | | | | | | | | This starts a source at a particular device clock time, rounded to the nearest sample (really, 4th sample for SIMD reasons), allowing to start a sound at a particular point in the output instead of the next update. Unlike using negative offsets, this is not affected by pitch/velocity. | ||||
* | Add the ability to start a voice at a particular time | Chris Robinson | 2022-11-03 | 1 | -0/+2 |
| | |||||
* | int64_t max can't fit into a double without narrowing | Chris Robinson | 2022-11-02 | 1 | -6/+0 |
| | |||||
* | Handle negative voice positions | Chris Robinson | 2022-11-02 | 1 | -36/+66 |
| | | | | | | This allows a voice/source to start with a delay, more accurately than simply waiting to call alSourcePlay. The delay is affected by pitch and velocity, making it useful to simulate distant sounds that take time to be heard. | ||||
* | Fixed bug and possible overflow type (#771) | Herman Semenov | 2022-09-23 | 1 | -1/+1 |
| | |||||
* | Clear the buffer from X-RAM before updating its size | Chris Robinson | 2022-08-05 | 1 | -0/+3 |
| | |||||
* | AllocEffectSlot can't fail | Chris Robinson | 2022-07-29 | 1 | -17/+3 |
| | |||||
* | Use an intrusive_ptr to hold on to the EffectState | Chris Robinson | 2022-07-29 | 1 | -5/+3 |
| | |||||
* | Mark the EffectSlot in use after getting one | Chris Robinson | 2022-07-26 | 1 | -0/+1 |
| | |||||
* | Remove a redundant check | Chris Robinson | 2022-07-17 | 1 | -3/+0 |
| | | | | | | If src_occlusion_mb is 0, it'll be multiplied with whatever the ratio ends up being, which will result in 0 anyway. A number of uses also already check the occlusion value before calling the method. | ||||
* | Fix parameter signedness | Chris Robinson | 2022-07-17 | 2 | -2/+2 |
| | |||||
* | Fix possible C2084 compiler error (#735) | Edoardo Lolletti | 2022-07-17 | 1 | -0/+3 |
| | | | | | | | * Fix possible C2084 compiler error Guiddef.h uses a separate header guard to define the GUID operators, in the current codebase this won't cause any issue, but i got such error while fiddling a bit with the program and including something that ended up including all the various windows headers, that ended up including Guiddef.h, causing the error as by not finding the macro declared, it ended up declaring the inline operators as well. * Update api.h | ||||
* | [EAX_SOURCE] Fix source's occlusion and exclusion contribution | Boris I. Bendovsky | 2022-07-17 | 3 | -19/+62 |
| | | | | Source's oclussion and exclusion properties should be taken into account only for listener's environment (see p. 16, p. 56, pp. 62-63 and p. 64 of "EAX® 4.0 Programmer’s Guide"). | ||||
* | [EAX_FX_SLOT] Fix setting EAX5 flags | Boris I. Bendovsky | 2022-07-17 | 1 | -1/+1 |
| | |||||
* | [EAX_FX_SLOT] Fix defaults for current properties | Boris I. Bendovsky | 2022-07-17 | 2 | -18/+45 |
| | |||||
* | [EAX_SOURCE] Skip occlusion calculation if occlusion property is zero | Boris I. Bendovsky | 2022-07-17 | 1 | -3/+7 |
| | |||||
* | [EAX_SOURCE] Fix Room and RoomHF contribution | Boris I. Bendovsky | 2022-07-17 | 1 | -2/+3 |
| | | | | Those properties should be taken into account only for environmental effect slot (see pp. 60-61 of "EAX® 4.0 Programmer’s Guide"). | ||||
* | [EAX_SOURCE] Fix getting active FX slot IDs | Boris I. Bendovsky | 2022-07-17 | 2 | -2/+12 |
| | |||||
* | [EAX_FX_SLOT] Fix slot's occlusion contribution | Boris I. Bendovsky | 2022-07-17 | 1 | -1/+3 |
| | |||||
* | [EAX_CALL] Clear defer flag for immediate-only properties | Boris I. Bendovsky | 2022-07-17 | 1 | -1/+22 |
| | | | | EAX allow to set "defer" flag on immediate-only properties. If we don't clear our flag then "applyAllUpdates" in EAX context won't be called. | ||||
* | [EAX_FX_SLOT] Mark sources as changed instead of commiting them to catch up ↵ | Boris I. Bendovsky | 2022-07-17 | 1 | -0/+1 |
| | | | | with changes in FX slot | ||||
* | [EAX_FX_SLOT] Fix EAXGet for EAX5 | Boris I. Bendovsky | 2022-07-17 | 1 | -1/+1 |
| | |||||
* | Don't pass an EaxCall to initialize_fx_slots | Chris Robinson | 2022-07-15 | 4 | -29/+11 |
| | |||||
* | Allocate EffectSlots in clusters | Chris Robinson | 2022-07-15 | 2 | -5/+5 |
| | |||||
* | Dynamically allocate EffectSlot objects | Chris Robinson | 2022-07-15 | 3 | -12/+15 |
| | |||||
* | Make a member function static | Chris Robinson | 2022-07-13 | 1 | -1/+1 |
| | |||||
* | Don't track dirty flags per EAX version | Chris Robinson | 2022-07-13 | 2 | -47/+35 |
| | | | | | Only the current version's flags are used, and they're all reset when changing versions, making it unnecessary to track non-current version flags. | ||||
* | [EAX] Add separate context state for each version (#731) | Boris I. Bendovsky | 2022-07-13 | 2 | -15/+15 |
| | |||||
* | [EAX] Use separate FX slot state for each version (#730) | Boris I. Bendovsky | 2022-07-12 | 21 | -737/+676 |
| | | | | | | | * [EAX] Use separate FX slot state for each version [EAX] Don't defer FX slot properties * [EAX_FXSLOT] Use mPropsDirty to defer update [EAX_CONTEXT] Commit all updates on first initialization | ||||
* | Don't always activate the EAX primary effect slot for sources | Chris Robinson | 2022-07-06 | 1 | -14/+22 |
| | | | | | The context's primary effect slot should only be considered when the source's active slot IDs include the primary effect slot. | ||||
* | Remove an unused struct | Chris Robinson | 2022-07-05 | 2 | -3/+2 |
| | | | | And minor formatting cleanup | ||||
* | Avoid separate lines for logging exceptions | Chris Robinson | 2022-07-05 | 1 | -14/+5 |
| | |||||
* | Don't change the EAX version when getting a reverb property | Chris Robinson | 2022-06-19 | 1 | -11/+7 |
| | |||||
* | Combine multiple individual flags | Chris Robinson | 2022-06-19 | 3 | -105/+67 |
| | |||||
* | Track EAX1 source changes | Chris Robinson | 2022-06-19 | 3 | -13/+7 |
| | | | | | | Even though it's only a single value, this allows for not having to explicitly track version changes, since the version being changed to will always have a property change, implicitly marking an EAX update/commit for the source. | ||||
* | Remove some unnecessary comparison operators | Chris Robinson | 2022-06-18 | 2 | -352/+72 |
| | |||||
* | Avoid changing the EAX version on failure | Chris Robinson | 2022-06-18 | 1 | -3/+2 |
| | |||||
* | Avoid more struct compared for reverb EAX updates | Chris Robinson | 2022-06-18 | 1 | -7/+18 |
| | |||||
* | Fix inverted checks | Chris Robinson | 2022-06-18 | 1 | -4/+4 |
| | |||||
* | Don't mark the EAX version changed when getting properties | Chris Robinson | 2022-06-18 | 1 | -4/+5 |
| | |||||
* | Avoid a full struct compare to check for changes | Chris Robinson | 2022-06-18 | 2 | -10/+19 |
| | |||||
* | Rename a parameter to avoid a shadowing warning | Chris Robinson | 2022-06-18 | 1 | -24/+18 |
| | |||||
* | Fix checking if the primary effect slot changed | Chris Robinson | 2022-06-18 | 2 | -7/+2 |
| | |||||
* | [EAX] Add separate source state for each version (#720) | Boris I. Bendovsky | 2022-06-18 | 6 | -2566/+1656 |
| | |||||
* | [EAX] Add separate effect state for each version (#705) | Boris I. Bendovsky | 2022-05-24 | 28 | -6483/+4091 |
| | | | | | * [EAX] Add separate effect state for each version * [EAX] Don't use EAX call as data member | ||||
* | Move EAX files to their own sub-directory | Chris Robinson | 2022-05-16 | 41 | -67/+66 |
| | |||||
* | Properly set the air absorption gain base | Chris Robinson | 2022-05-10 | 1 | -0/+1 |
| | |||||
* | Silence reverb with EAX by default | Chris Robinson | 2022-04-16 | 1 | -0/+6 |
| | |||||
* | Remove the unused flags parameter from alBufferCallbackSOFT | Chris Robinson | 2022-04-01 | 1 | -3/+1 |
| | |||||
* | Avoid some explicit extern "C"s on function definitions | Chris Robinson | 2022-03-31 | 2 | -4/+4 |
| |