#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3096076 on 2016/08/22 by Matthew.Griffin
Fixes for building with -nosharedPCH
Added nodes for building with -nosharedPCH and -noPCH but not using them by default as they take so much longer than NonUnity and there are still errors with -noPCH
Change 3097064 on 2016/08/22 by Ben.Marsh
Core: Refactoring OutputDevice.h, OutputDevices.h, FeedbackDevice.h, CallbackDevice.h into one-class per file, and files named after their classes.
Change 3097102 on 2016/08/22 by Ben.Marsh
Core: Move log macros and related functionality into the Logging folder.
Change 3097240 on 2016/08/22 by Ben.Marsh
Core: Move FCommandLine into its own header.
Change 3097258 on 2016/08/22 by Ben.Marsh
Core: Move FFileHelper into its own header.
Change 3097279 on 2016/08/22 by Ben.Marsh
Core: Split FArchive derived classes into separate headers per class.
Change 3097742 on 2016/08/23 by Ben.Marsh
UnrealGameSync: Add the -r5 parameter to P4 sync command lines, to retry syncs on poor connections before failing.
Change 3099283 on 2016/08/24 by Ben.Marsh
Core: Move math functions which are dependent on multiple class definitions into individual class headers. This forces an include order, but allows us to include individual math classes separately. Would ideally split out the FMath class into a Math namespace and declare/implement things like intersection tests and interpolation routines in separate headers.
Change 3099417 on 2016/08/24 by Ben.Marsh
CoreUObject: Separating out UObject archive classes into separate headers.
Change 3099544 on 2016/08/24 by Ben.Marsh
CoreUObject: Rename UTextProperty.h/cpp to TextProperty.h/cpp
Change 3099678 on 2016/08/24 by Ben.Marsh
CoreUObject: Rename ObjectBase.h to ObjectMacros.h to avoid ambiguiity with UObjectBase.h, and move Interface.h/cpp into the UObject folder.
Change 3099951 on 2016/08/24 by Ben.Marsh
Core: Split out ThreadingBase into class-per-file headers.
Change 3102385 on 2016/08/26 by Matthew.Griffin
First round of fixes from attempting to compile Editor in Monolithic mode
Changed multiple DetermineOptimalSpacing free functions to be members of their respective classes
Changed duplicate FScopedTempFile classes to be named for their respective source control types (Git & SVN)
Export Declaration of LogUnrealAudioDevice extern instead of defining it in multiple modules
Changed duplicate FDiffResultItem struct to FTreeDiffResultItem
Added FORCEINLINE to FFeaturedClasses functions in .inl file
Change 3102728 on 2016/08/26 by Ben.Marsh
Core: Move threading classes from ThreadingBase.h into separate headers, and globals into CoreGlobals.h.
Change 3102850 on 2016/08/26 by Ben.Marsh
Core: Move FCriticalSection into its own file (CriticalSection.h and platform-specific versions).
Change 3102877 on 2016/08/26 by Ben.Marsh
Core: Move definitions of GLog, GError, GWarn into CoreGlobals.h
Change 3102898 on 2016/08/26 by Ben.Marsh
Core: Move supporting assert functionality (the FDebug class) into AssertionMacros.h to remove circular header dependencies.
Change 3102956 on 2016/08/26 by Ben.Marsh
Core: Move FExec into its own header (Misc/Exec.h)
Change 3102961 on 2016/08/26 by Ben.Marsh
Core: Fix matrix functions referencing the forceinline'd FMatrix constructor before it's declared.
Change 3102982 on 2016/08/26 by Ben.Marsh
Core: Move FMessageDialog into its own header (Misc/MessageDialog.h)
Change 3103008 on 2016/08/26 by Ben.Marsh
Core: Move definition of LowLevelFatalError into AssertionMacros.h.
Change 3103040 on 2016/08/26 by Ben.Marsh
Core: Move FError::Throwf (only enabled for UHT) into its own header in CoreUObject.
Change 3103057 on 2016/08/26 by Ben.Marsh
Core: Move FMsg function definitions into the LogMacros.h header, where it's primarily used from.
Change 3103102 on 2016/08/26 by Ben.Marsh
Core: Make the LogMacros.h header standalone. Untangles a few header dependencies necessary to include log macros early on. Global Core log channels are now defined in CoreGlobals.h
Change 3103160 on 2016/08/26 by Ben.Marsh
CoreUObject: Separate Linker.h into LinkerLoad.h, LinkerSave.h, PackageFileSummary.h, ObjectResource.h (matching existing cpp files).
Change 3103265 on 2016/08/26 by Ben.Marsh
Core: Split FScriptArray, TMRUArray, TTransArray, TIndirectArray into separate headers.
Change 3103642 on 2016/08/26 by Ben.Marsh
Core: Remove reference to FMath function from allocator, to avoid unnecessarily bringing in math library.
[CL 3104315 by Ben Marsh in Main branch]
- 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]
- 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]