Commit Graph

3144 Commits

Author SHA1 Message Date
Chris Robinson 8b1b52a687 Remove an unnecessary cast 2014-07-01 22:27:53 -07:00
Chris Robinson 56bb8689d4 Fix preset zone instrument header check 2014-07-01 19:43:20 -07:00
Chris Robinson 3c6752e765 Print SF2 text INFO chunks 2014-07-01 00:36:44 -07:00
Chris Robinson c06bb88756 Warn about all unhandled soundfont generators 2014-06-30 04:03:50 -07:00
Chris Robinson 8577df76c4 Check the last preset and instrument properties within the loop 2014-06-30 03:52:10 -07:00
Chris Robinson 22982948cf Standardize some New/Delete methods 2014-06-30 00:10:40 -07:00
Chris Robinson 8f8898b7b0 Remove an unused macro 2014-06-29 04:35:35 -07:00
Chris Robinson 8176d2c058 Load soundfont samples into an ALbuffer
Also remove ALsoundfont's now-unneeded sample storage functions and struct
fields.
2014-06-29 02:04:05 -07:00
Chris Robinson 389a2f7b4b Store and use an ALbuffer for samples in an ALfontsound
The fontsound still maintains its own start, end, and loop offsets, so that the
same buffer may be shared between multiple/all fontsounds. Ideally a single
buffer should be used for all fontsounds to avoid memory fragmentation and help
CPU caching, although higher quality soundfonts may need more memory than a
single buffer can hold.
2014-06-29 00:47:29 -07:00
Chris Robinson d19e42a723 Don't require MIDI sysex data to have the high bit clear 2014-06-26 04:35:51 -07:00
Chris Robinson b9462bbe3c Only set the needed HRTF coefficients 2014-06-21 19:17:39 -07:00
Chris Robinson 81b3395b41 Avoid negating 'negative' variable names 2014-06-20 23:48:58 -07:00
Chris Robinson be903d67b8 Don't pass the device to HRTF methods 2014-06-20 16:43:14 -07:00
Chris Robinson fb25a70f95 Don't overwrite the loopback device format with the HRTF format 2014-06-20 15:48:09 -07:00
Chris Robinson 0fd215cb84 Remove unused variables 2014-06-13 22:50:14 -07:00
Chris Robinson 57c683f822 Get the mixer and resampler functions when needed 2014-06-13 16:07:25 -07:00
Chris Robinson a8deaf12f4 Combine the direct and send mixers 2014-06-13 13:34:19 -07:00
Chris Robinson c29eb63489 Combine some dry and wet path types 2014-06-13 11:42:04 -07:00
Chris Robinson 19ec7b2ad2 Pre-apply the crossfeed filter gain to the input sample coefficients 2014-06-12 09:40:30 -07:00
Chris Robinson 4c706f59d9 Use floats for the BS2B filter 2014-06-11 09:57:48 -07:00
Chris Robinson dfded9595c Make bs2b_cross_feed inline 2014-06-10 12:46:58 -07:00
Chris Robinson d0fac3fe1d Don't try to set fp precision with __control87_2 or _controlfp 2014-06-08 23:39:52 -07:00
Chris Robinson c07fb7b45c Print CPU extensions that are unavailable but requested 2014-06-08 06:31:36 -07:00
Chris Robinson 8ca1f4f371 Open and close the file in the main thread in alffplay
This avoid problems with the file being closed while a video refresh is still
scheduled.
2014-06-08 03:26:34 -07:00
Chris Robinson be66692f94 Require SSE for SSE2, and SSE2 for SSE4.1 2014-06-07 23:28:32 -07:00
Chris Robinson 09d5475aa6 Update the disable-cpu-exts config option description 2014-06-07 06:08:22 -07:00
Chris Robinson 2ff266ca83 Update a couple sources with the proper author 2014-06-06 07:15:22 -07:00
Chris Robinson 6d1622dc68 Move InitiatePositionArrays to mixer_defs.h 2014-06-06 07:15:22 -07:00
Timothy Arceri fc0be88c0f Add SSE2 and SSE4.1 linear resamplers
Currently the only way SSE 4.1 is detected is by using __get_cpuid, i.e. with
GCC. Windows' IsProcessorFeaturePresent does not report SSE4.1 capabilities.
2014-06-06 07:15:00 -07:00
Chris Robinson 3b2fcb3ef6 Avoid a loop when updating the source position variables 2014-06-02 19:19:22 -07:00
Chris Robinson d2c0a43498 Add an ffmpeg-based example player
This example shows proper timing and A/V synchronization with an OpenAL stream.
Requires the in-progress AL_SOFTX_source_length extension to avoid manually
keeping track of the buffer queue length.
2014-06-02 17:33:11 -07:00
Chris Robinson 933f51a8bf Only define struct timespec if _TIMESPEC_DEFINED isn't set
This matches what the mingw-w64 headers define with the struct.
2014-05-31 17:41:10 -07:00
Chris Robinson 1d45c439b8 Add extern "C" to common headers. 2014-05-29 04:22:30 -07:00
Chris Robinson 73614f228e Add methods to exchange and compare-exchange RefCount values 2014-05-27 15:48:15 -07:00
Chris Robinson fd62868c17 Avoid unnecessary local variables 2014-05-27 15:32:38 -07:00
Chris Robinson f0b65aa6b7 Implement condition variables for Windows 2014-05-27 05:22:53 -07:00
Chris Robinson 2d2bc25fd0 Add an extension string for the in-progress source length extension
This is the extension that allows you to get the full length of the source's
buffer queue.
2014-05-26 04:07:50 -07:00
Chris Robinson b6e1042e8c Implement condition variables (POSIX only!)
Windows requires Vista or newer to get the CONDITION_VARIABNLE API, but we
currently only require XP.
2014-05-26 03:52:55 -07:00
Chris Robinson fd5e7f1466 Don't print an ERR if pulse fails to get latency info due to no data
It just means it was called too quickly after starting.
2014-05-26 03:41:33 -07:00
Chris Robinson 0ec0f7561c Add an option to get the length of a source's full queue
This simplifies keeping track how much a source has buffered in its queue,
which reduces a bunch of unnecessary book keeping the app would have to do.
2014-05-25 16:16:55 -07:00
Chris Robinson 3d6ffa282d Don't resume the backend if there's no contexts 2014-05-24 17:19:52 -07:00
Chris Robinson 4ca561acd3 Move the active source's offset out of the direct params 2014-05-24 16:55:10 -07:00
Chris Robinson 13eac2552e Update the examples to use SDL2
This should make it easier to build the examples on 64-bit, where there are no
premade dev libs for SDL1 on 64-bit mingw. FindSDL_sound.cmake has been
updated to accept SDL or SDL2.
2014-05-23 12:14:51 -07:00
Chris Robinson 5ef5d218c4 Mark a few more functions as const 2014-05-23 10:00:58 -07:00
Chris Robinson 3fc9791747 Rename CONST_FUNC and PRINTF_STYLE, and fix non-GNU AL_PRINT 2014-05-23 08:30:33 -07:00
Chris Robinson 7d997277a0 AL_SOFT_block_alignment is now considered done 2014-05-22 12:27:07 -07:00
Chris Robinson a48f5d26fd Ensure a proper amount of new elements are being reserved when inserting 2014-05-22 12:16:22 -07:00
Chris Robinson 9008bcbe54 Include strings.h if it exists for strncasecmp 2014-05-22 11:33:09 -07:00
Chris Robinson 2729a1549b Add a needed header for the CoreAudio backend 2014-05-22 11:29:26 -07:00
Chris Robinson e32e3df3aa Use the first non-0-length buffer when starting a source 2014-05-22 11:08:21 -07:00