Commit Graph

157 Commits

Author SHA1 Message Date
Jack Andersen 1a71ed813a Fix TSan-reported race conditions 2018-06-01 14:01:47 -10:00
Jack Andersen 3028e34b51 Silent audio mixing fix; Xlib Vulkan destruction order fix 2018-05-28 09:28:36 -10:00
Jack Andersen fdf37c95e0 PulseAudio buffering fix 2018-05-26 18:20:01 -10:00
Jack Andersen 19014e0ba7 synchronize macOS with latest changes 2018-05-26 11:29:19 -10:00
Jack Andersen 84df8af28c Windows build fixes and cleanups 2018-05-24 20:30:42 -10:00
Jack Andersen 74bdd2d2a5 Remove unnecessary loop contents 2018-05-14 16:55:22 -10:00
Jack Andersen edf2c1e34d Add PulseAudio backend. Various Xlib fixes 2018-05-06 12:44:31 -10:00
Jack Andersen 5d310c008f AudioSubmix reference fix; macOS window icon 2018-01-13 20:37:17 -10:00
Jack Andersen fa8989bed3 Huge compile performance refactor 2017-12-28 21:54:26 -10:00
Jack Andersen e57f6fb2d5 Include <immintrin.h> instead of <xmmintrin.h> 2017-12-18 17:04:47 -10:00
Jack Andersen 2db777eead Convert misconfigured tabs to spaces 2017-12-08 09:17:23 -10:00
Jack Andersen 1259255f34 UWP mouse and DPI fixes 2017-12-07 16:52:38 -10:00
Jack Andersen f228f23661 UWP support 2017-12-05 17:20:59 -10:00
Jack Andersen 598bce028b WASAPI fix 2017-12-03 17:20:54 -10:00
Jack Andersen 489e7e671b Allocate submixes and voices using boo::ObjToken 2017-12-03 16:50:33 -10:00
Jack Andersen 135f504899 Windows fix 2017-12-02 20:17:47 -10:00
Jack Andersen 03de8811b1 Object tracker list refactor; add object tracker to audio system 2017-12-02 20:05:16 -10:00
Jack Andersen ce80446e8b Fix silence test logic 2017-11-27 18:09:23 -10:00
Jack Andersen b995be262b Don't bother processing silent voices 2017-11-27 17:38:02 -10:00
Jack Andersen a9d16fff83 Much more realistic period size for ALSA buffering 2017-11-10 11:04:19 -10:00
Jack Andersen 165314b817 Windows and Vulkan fixes for AMD GPU 2017-11-08 22:10:43 -10:00
Jack Andersen 10364557b9 Vulkan array-texture validation fix; better handling of unsupported audio HW on ALSA 2017-10-30 17:42:41 -10:00
Jack Andersen ed9b7914ee Sample blend timing fix for LtRt processing 2017-10-02 19:19:55 -10:00
Jack Andersen db9a5953e6 12kHz LPF and bug fixes for LtRt matrixing 2017-10-01 14:59:18 -10:00
Jack Andersen 55d1a5bc93 Windows compile fixes 2017-09-30 19:31:29 -10:00
Jack Andersen cbaa016b11 Add IPP-LICENSE and README note about PLII encoding 2017-09-27 17:40:16 -10:00
Jack Andersen 0b35c584f6 Experimental support for LtRt surround matrixing 2017-09-27 17:11:40 -10:00
Jack Andersen 71b8893dde Changes to AudioQueueServices backend to capture 7.1 surround with SoundFlower 2017-09-19 23:25:02 -10:00
Jack Andersen 12bbf540fd MIDI encoder fix 2017-03-23 19:28:30 -10:00
Jack Andersen c6d5015612 Use 45ms buffer size for WASAPI 2017-02-14 22:28:10 -10:00
Jack Andersen 5982a3825d Use 15ms buffers in AQS 2017-02-14 20:49:28 -10:00
Jack Andersen fef663a5e3 Allow audio AQS buffering to occur during frame idle 2017-02-14 20:00:10 -10:00
Jack Andersen 1834be435f Fix AudioQueueServices stall-out 2017-02-11 22:44:20 -10:00
Jack Andersen 7bf2ad48a7 Add ability to unregister audio callback 2017-01-22 21:20:40 -10:00
Jack Andersen 23a0c4d1da Submix deletion bug fix 2017-01-21 15:39:15 -10:00
Jack Andersen f0e8e0a1fa Synchronous lifetime control of AudioQueue on macOS 2017-01-18 10:56:26 -10:00
Jack Andersen 593170cefe Support nullptr for submix sends 2017-01-15 22:39:56 -10:00
Jack Andersen 7463426fe6 Default audio mixing to main output 2016-12-13 15:08:42 -10:00
Jack Andersen d5b42b785e CoreMidi API usage adjustment to prefer latest connected HW 2016-10-15 08:39:09 -10:00
Jack Andersen 7da2f8e632 Minor Windows include tweaks 2016-09-10 15:21:24 -10:00
Jack Andersen ceedda9e1f const_cast is a nicer statement 2016-08-28 18:20:40 -10:00
Jack Andersen 1c8236d100 Remove redundant loop 2016-07-18 12:39:28 -10:00
Jack Andersen 02c1004d67 Minor adjustments to silence MSVC warnings 2016-07-14 11:29:55 -10:00
Phillip Stephens 136e43dcfe Add missing include 2016-07-14 12:17:04 -07:00
Jack Andersen f35ccbaad5 Add voice allocator master volume 2016-07-13 20:16:40 -10:00
Jack Andersen 85fa541f6a Remove unnecessary dirty submix flags 2016-07-13 19:38:36 -10:00
Jack Andersen 9552801968 Working linearized Submixes 2016-07-13 18:59:41 -10:00
Jack Andersen 86003c4ac4 Initial multiple-referencing submix refactor 2016-07-12 17:06:12 -10:00
Jack Andersen 5c91ba8da7 Restore original sampling ratio 2016-07-07 09:18:57 -10:00
Jack Andersen 7b329963d1 Windows compile fix 2016-07-06 11:49:39 -10:00
Jack Andersen c47780527d Add WAVOut Voice Backend for offline Audio mixing 2016-07-06 11:29:06 -10:00
Jack Andersen d9abcb8cf5 Refactored audio supply dispatch across two passes 2016-07-04 15:06:22 -10:00
Jack Andersen befa1a11a2 ALSA and AQS use floating-point audio output now 2016-07-03 17:31:53 -10:00
Jack Andersen e4c625c55a MIDIDecoder bug fixes 2016-06-22 11:44:37 -10:00
Jack Andersen d77a18cde3 MIDIEncoder fix 2016-06-20 21:08:33 -10:00
Jack Andersen 9724488da3 Huge quaility improvement with soxr by priming with 5ms of silence 2016-06-16 20:01:36 -10:00
Jack Andersen 7410e17179 Not clamping float audio now; better mix quality 2016-06-14 17:53:37 -10:00
Jack Andersen e62e8952b5 Audio Queue Services now queries user-configured sample rate from device 2016-06-08 15:51:21 -10:00
Jack Andersen 65a63bcab5 Linux sync for MIDI timing 2016-06-07 19:20:26 -10:00
Jack Andersen 52c0cca593 Improved MIDI timing interface 2016-06-07 18:37:21 -10:00
Jack Andersen 521b490d0f Support for runtime changing of audio output endpoint under WASAPI 2016-05-31 18:53:57 -10:00
Jack Andersen d57469e1e1 More reliable MIDI thread-exit signal 2016-05-31 00:18:04 -10:00
Jack Andersen 36aa2b06a4 Merge branch 'master' of https://github.com/AxioDL/boo 2016-05-30 19:17:05 -10:00
Jack Andersen f1e07861ca dry-main, wet-submix audio routing 2016-05-30 19:16:29 -10:00
Jack Andersen d08f25abd3 Out-of-bounds memory access fixes 2016-05-29 12:57:57 -10:00
Jack Andersen db8c002f4e Safer null-pointer handling in AudioQueueServices 2016-05-24 11:56:22 -10:00
Jack Andersen a464f3d68c Remove pointless line endings in CoreMIDI strings 2016-05-23 09:15:06 -10:00
Jack Andersen c6b2b70933 Update WASAPI.cpp 2016-05-23 09:14:10 -10:00
Jack Andersen 8aaaffbe67 Add 2-channel floating-point audio SSE path 2016-05-22 20:21:18 -10:00
Jack Andersen 9b13390447 Integrate Win32 MIDI API 2016-05-22 19:34:20 -10:00
Jack Andersen 59f42ae85f Add OS X CoreMIDI interfaces 2016-05-22 13:09:32 -10:00
Jack Andersen d1eb3a6b3b Initial AudioMatrixSSE 2016-05-21 22:37:16 -10:00
Jack Andersen 9078a16642 Proper MIDI thread termination 2016-05-21 12:43:43 -10:00
Jack Andersen 0a049645d8 Remove unnecessary conditional 2016-05-21 12:18:15 -10:00
Jack Andersen 53f4e32c46 Add channel-matrix slewing 2016-05-21 11:45:55 -10:00
Phillip e48f5d36c7 Windows compile fixes 2016-05-20 20:22:00 -07:00
Jack Andersen 6f04bea1f0 Tweaks to ALSA midi handling 2016-05-20 15:16:28 -10:00
Jack Andersen df61d6678b Functor-based MIDI command receiving 2016-05-20 12:57:34 -10:00
Jack Andersen 7756fcaf76 Add MIDI interface classes 2016-05-19 20:16:07 -10:00
Jack Andersen 77507459cc Add 5ms callback registration for precise audio updates 2016-05-19 00:14:21 -10:00
Jack Andersen 8ff2b9c404 Add IMIDIPort, initial ALSA midiport implementation 2016-05-18 16:18:52 -10:00
Jack Andersen ceff1934c1 Add `slew` option to pitch-update function 2016-05-16 17:46:03 -10:00
Jack Andersen eea45ebcbe Submix hierarchy deallocation fixes 2016-05-16 12:14:07 -10:00
Jack Andersen 80026d7fe6 Better buffer handling for audio mixing 2016-05-16 10:21:20 -10:00
Jack Andersen 6d65216dd6 Fix pitch-ratio set 2016-05-15 16:41:11 -10:00
Jack Andersen 89b0fa5cd6 Add API for reporting submix sample rate and format 2016-05-13 18:47:31 -10:00
Jack Andersen 4a74a0ad7c Add short-process loop for voices that make sample-level parameter changes 2016-05-11 11:29:11 -10:00
Jack Andersen b3e77c4384 DeferredWindowEvents moved to boo 2016-05-10 18:50:26 -10:00
Jack Andersen f86b9706d4 Update effect API to include sample count info 2016-05-09 16:29:51 -10:00
Jack Andersen 08a4c5d7a8 Fix some submix issues 2016-05-07 12:11:45 -10:00
Jack Andersen 4b969fd475 Implement AudioSubmix 2016-05-06 18:28:32 -10:00
Jack Andersen 12c3c1bd6e Optimize channel-map test 2016-03-24 16:19:34 -10:00
Jack Andersen 6600ff208c Draw primitive now settable via pipeline object 2016-03-23 22:05:19 -10:00
Jack Andersen ca38805776 AudioQueueServices VoiceEngine implemented 2016-03-23 16:50:36 -10:00
Jack Andersen 5cec033f18 ALSA usage tweak 2016-03-23 15:55:39 -10:00
Jack Andersen 290d40641d WASAPI VoiceEngine implementation 2016-03-23 15:50:34 -10:00
Jack Andersen 1eb46301c0 Overhauled audio system, now with internal mixing and sample-rate-conversion 2016-03-23 14:01:57 -10:00
Jack Andersen 5b275866a7 soxr cmake fixes 2016-03-22 21:01:25 -10:00
Jack Andersen 93b9b51652 Dropping XAudio2 for WASAPI for the benefit of Win7 builders/users 2016-03-22 16:00:45 -10:00
Jack Andersen 0dfab1fdad AudioQueueServices fix 2016-03-08 11:18:38 -10:00