Commit Graph

1124 Commits

Author SHA1 Message Date
Chris Robinson
6e3a6f90e9 Be less wave-in-specific in the winmm backend 2010-11-25 17:37:34 -08:00
Chris Robinson
fbd6439bd2 Make the first enumerated DirectSound device use the default, and fix the name 2010-11-25 14:35:32 -08:00
Chris Robinson
f72c735f9e Make sure the target buffer size is frame aligned 2010-11-25 14:23:03 -08:00
Chris Robinson
9b23fc5db8 Minor rework of the template macros 2010-11-25 14:07:52 -08:00
Chris Robinson
aaff188b3b Remove the cosine resampler
It's too slow when auxiliary sends are being used.
2010-11-25 13:49:51 -08:00
Chris Robinson
2595d85cca Double-up the interpolation functions (and make them use doubles) 2010-11-25 13:45:35 -08:00
Chris Robinson
2c96c29938 Rename some "template" functions 2010-11-25 13:22:54 -08:00
Chris Robinson
65919b7037 Always make sure there's a sample available to mix, for pending click removal 2010-11-25 13:17:51 -08:00
Chris Robinson
f1bb7c33f1 Fix a bunch of comments 2010-11-25 12:07:12 -08:00
Chris Robinson
8e7a4046d0 Don't "convert" LOKI quad to MCFORMATS quad 2010-11-25 11:49:35 -08:00
Chris Robinson
f4e0c6a348 Use a temporary stack buffer to store the source buffer data to be mixed
This makes it much easier to pack the playable buffer data so that it's a
continuous data stream. This could normally be broken up otherwise, such as
when using loop points or small queued buffers.
Currently it defaults to a 16KB stack buffer, but this can be overridden at
compile time.
2010-11-25 11:16:19 -08:00
Chris Robinson
885a5e9f90 Use 0-based access for the buffer data 2010-11-24 20:44:21 -08:00
Chris Robinson
22e3e9a18b Support 8-bit sample data in the mixer 2010-11-24 19:41:25 -08:00
Chris Robinson
445cde2dd4 Check the sample byte size after the resampler 2010-11-24 17:23:09 -08:00
Chris Robinson
3dd58cf765 Get rid of a useless union 2010-11-24 17:10:41 -08:00
Chris Robinson
cd87061749 Change the mixer macros to declare functions 2010-11-24 17:07:50 -08:00
Chris Robinson
1311e051d9 Set mixer sample pos and frac when needed 2010-11-24 14:54:46 -08:00
Chris Robinson
c9363832fe Fully progress the source to a stopped state when no buffers are playable 2010-11-24 10:16:53 -08:00
Chris Robinson
6ab22e7cbb Reorder some stored source params 2010-11-24 10:01:50 -08:00
Chris Robinson
bb13f7f234 Make sure the buffer padding is always cleared before looking for the next buffer 2010-11-24 07:20:41 -08:00
Chris Robinson
13ba253aec Calculate ALSA buffer length with the other values 2010-11-23 07:24:27 -08:00
Chris Robinson
c58469e234 Handle the timer wrapping in the wave and null output devices 2010-11-21 11:34:16 -08:00
Chris Robinson
57a03bc2b5 Use helpers to write 16- and 32-bit values 2010-11-21 06:54:41 -08:00
Chris Robinson
a7b4e0b5c5 Get rid of the device timer stuff 2010-11-21 06:32:59 -08:00
Chris Robinson
bbb45e326c Avoid temporary float variables 2010-11-21 03:58:37 -08:00
Chris Robinson
dfe3e402a8 Pass the data pointer and proper sampler to the mixer macro 2010-11-21 03:33:33 -08:00
Chris Robinson
e884da50ea Move aluMixData back to ALu.c 2010-11-21 02:51:18 -08:00
Chris Robinson
4c576631ad Hide AL_EXTX_sample_buffer_object
It hasn't been going anywhere, and it's current use is dubious. Leave the code
in for now, but it may be removed later.
2010-11-21 02:36:34 -08:00
Chris Robinson
5f6f046d25 Use a double when converting millisecond offsets to byte offsets 2010-11-07 21:41:04 -08:00
Chris Robinson
65e033c64b Increase the max number of source sends to 4, and decrease the default to 1 2010-11-06 15:08:54 -07:00
Chris Robinson
07346da740 Use the number of sends the device is configured for in more places 2010-11-06 14:27:33 -07:00
Chris Robinson
c95f182a90 Remove unnecessary comments and reorder some lines 2010-11-06 14:07:30 -07:00
Chris Robinson
289c74788e Use a switch to select the appropriate channel-count mixer 2010-11-06 12:21:46 -07:00
Chris Robinson
65a8d9278d Declare a variable where it's used 2010-11-01 12:44:56 -07:00
Chris Robinson
887c830d56 Remove explicit use of -funroll-loops
I'm not sure this really helps much.
2010-10-15 15:21:23 -07:00
Chris Robinson
6db4e08efb Fix fpu state handling with _controlfp 2010-10-15 10:35:47 -07:00
Chris Robinson
4f81bce800 Improve a macro to reference its parameter 2010-10-11 12:24:28 -07:00
Chris Robinson
932fcfa8bf Fix 64-bit compilation 2010-10-11 12:24:07 -07:00
Chris Robinson
314832e35a Rename a couple more variables 2010-10-10 04:00:50 -07:00
Chris Robinson
6a9dd185e6 Improve naming and placement of a couple variables 2010-10-10 03:47:57 -07:00
Chris Robinson
2172827f43 Simplify a calculation 2010-10-09 15:24:24 -07:00
Chris Robinson
90e9cd970a Check resampler mode first when selecting the mixer 2010-09-26 13:53:02 -07:00
Chris Robinson
845ca95888 Get a variable where it's needed 2010-09-26 13:30:46 -07:00
Chris Robinson
92d8d2f8a4 Pass the device to the mix function and localize the dry mix and click buffers 2010-09-26 12:23:22 -07:00
Chris Robinson
7cd52b2857 Clarify a check 2010-09-26 01:29:28 -07:00
Chris Robinson
9fbd6c6c3f Make the SourceMix function a method of the ALsource struct 2010-09-26 01:15:27 -07:00
Chris Robinson
08fdc5fa98 Avoid updating the source in MixSource 2010-09-25 23:49:57 -07:00
Chris Robinson
7e362249ff Convert shorts so that 0 remains 0 2010-09-25 21:13:40 -07:00
Chris Robinson
9fa2db0227 Don't try to open the ALSA device a second time if the first fails 2010-09-25 20:20:10 -07:00
Chris Robinson
4c75a72a90 Avoid some code duplication 2010-09-25 20:18:07 -07:00