Commit Graph

5 Commits

Author SHA1 Message Date
Aaron McLeran
5d0f293fdc UnrealAudio - Checkin CoreAudio implementation
- checked in first-pass on CoreAudio (Mac/iOS) implementation of audio device module of new UnrealAudio
- fixed an issue with wrapping phase for sine functions (and thus fixed unit tests)
- changed simple device out unit test to be more simple (pure sine tone on each channel in octaves every second)

[CL 2519686 by Aaron McLeran in Main branch]
2015-04-21 14:56:17 -04:00
Aaron McLeran
afc17a9628 UnrealAudio
- Changing design to not include audio device input in main user callback since there were issues with patching XAudio2 (which doesn't support device input) and Wasapi capture devices when the device sample rates were not exactly the same. I could fix this but its probably not worth the time at the moment. We'll add mic input back into the audio engine in the future, but likely in a different mechanism, perhaps as an audio generator object.

- Fully implemented unreal audio device module for XAudio2

- Added ability to switch which device module to test from the commandlet, now to optionally test a specific module (i.e. flip between Wasapi and XAudio2 on pc), type:

-command UnrealEd.AudioTestCommandlet XAudio2 device all

or:

-command UnrealEd.AudioTestCommandlet Wasapi device all

The default as of this check in is Wasapi, so you can also do the following to test Wasapi:

-command UnrealEd.AudioTestCommandlet device all

Of course, the "in" flavors of tests have been removed since there is no longer support for device input

[CL 2510537 by Aaron McLeran in Main branch]
2015-04-13 13:59:42 -04:00
Dan Oconnor
ff8f481e10 Modified fixes for PVS-Studio warnings, mostly adding comments to warnings that were disabled. A few reworked fixes where needed.
[CL 2507311 by Dan Oconnor in Main branch]
2015-04-09 16:42:44 -04:00
Aaron McLeran
30dc9897bb Removing accidental #pragma once from cpp files
[CL 2501739 by Aaron McLeran in Main branch]
2015-04-03 17:53:58 -04:00
Aaron McLeran
8f5104f646 Unreal Audio: Low level audio I/O
- First check in for new audio system
- Creation of new UnrealAudio module interface and implementation
- UnrealAudioDevice module interface (for platform-dependent audio device I/O)
- Intialize/Shutdown of new UnrealAudio module

- Windows WASAPI implementation of audio device interface
  - Support for querying audio devices
  - Support for streaming audio from input devices
  - Support for streaming audio to output devices
  - Support for mutliple output channels (up to 7.1 for now)

- Beginnings of XAudio2 implementation of audio device interface

- A bunch of unit tests testing audio input/output streaming

- A commandlet to run said unit tests
  - To run commandlet use "[UE4Editor executable] -command UnrealEd.AudioTestCommandlet [arguments]"
  - arguments to use (and their test) are:
    - "device query"      - Prints out information about every connected audio device
    - "device out"          - Plays a decaying sinusoid in harmonic multiples at different rates on available output channels
    - "device out_fm"    - Plays an FM synthesizer bank with randomized parameters on all available output channels
    - "device out_pan"  - Plays a single noise source (with LFO LP filter) "3D" panning clockwise around output channels
    - "device in"             - Plays mic input into all output channels (simple passthrough)
    - "device in_delay"  - Plays mic input through a multi-tap delay line with random delays through all output channels
    - "device all"            - Runs all the above with 10 seconds for each test

[CL 2501316 by Aaron McLeran in Main branch]
2015-04-03 13:55:09 -04:00