Commit Graph

171 Commits

Author SHA1 Message Date
phil popp
2f280717b0 Add metasound reset routine to external nodes
#jira UE-174363
#rb Rob.Gay
#preflight 6400d71caa004233353024cb

[CL 24488096 by phil popp in ue5-main branch]
2023-03-02 14:40:35 -05:00
nicholas howe
fe85d59d59 Fix race condition in FPatchOutput::WaitUntilNumSamplesAvailable when setting up the sample pushed event.
[REVIEW] [at]jake.burga
#preflight 63ff5fe5ae54ee4ce9372314

[CL 24469442 by nicholas howe in ue5-main branch]
2023-03-01 15:40:57 -05:00
phil popp
a7aff7825c Fix for unit test crashing on ARM machines.
#jira UE-178037
#rb Helen.Yang
#preflight 63fd3567f43e53f6812bf0a7

[CL 24448660 by phil popp in ue5-main branch]
2023-02-28 14:56:09 -05:00
nicholas howe
2f6980f67a Nonunity build fix
include HAL/PlatformTime.h

#preflight skip

[CL 24427856 by nicholas howe in ue5-main branch]
2023-02-27 13:35:54 -05:00
nicholas howe
1c419fc963 Audio Bus Reader/Writer Nodes Crackle Fix
Audio Bus Reader Node more accurately calculates how many samples it needs before it can start popping.
Reader node has a CVar timeout on how long it'll wait for samples (whereas it used to calculate a huge timeout value that I suspect was erroneous).  In theory the samples should always become available even with an infinite timeout.
The Metasound generator's BuilderTask's completion is ensured at the beginning of FMetasoundGenerator::OnGenerateAudio.  This prevents the mixer, writer and reader nodes from getting out of sync in terms of samples output and input.
FMixerAudioBus::MixBuffer doesn't try to cache any samples and just uses PopAudio and PushAudio directly on its mixer and splitter.
FPatchOutput::WaitUntilNumSamplesAvailable no longer has a race condition and an attempt has been made to improve thread-safety in FPatchOutput.

#jira UE-170575
#rb phil.popp
#preflight 63fcbfe2a134e0b059c64c76

[CL 24427705 by nicholas howe in ue5-main branch]
2023-02-27 13:29:22 -05:00
phil popp
aabb506a7b Fix for unit test failure in sine wavetable oscillator.
#rnx
#rb trivial
#jira UE-175492
#preflight skip

[CL 23933590 by phil popp in ue5-main branch]
2023-01-31 14:12:35 -05:00
phil popp
1d78b81b52 Metasound automated node tests and fixes
#jira UE-175097
#rb Charlie.Huguenard
#preflight 63d1895f033e457ba8f10cb4

[CL 23863384 by phil popp in ue5-main branch]
2023-01-25 20:41:44 -05:00
jimmy smith
23c3b961e7 Perlin "value" noise metasound node
#rb helen.yang miles.flanagan
#preflight 63cf2860574ab9cae49c0c5b

[CL 23825389 by jimmy smith in ue5-main branch]
2023-01-23 19:50:56 -05:00
maxwell hayes
44b81d0d81 Added missing scale degree to dorian mode (scale to note array node).
#jira UE-170476
#rb Alfaroh.Corney
#preflight 6387cc07f213a116ebc56476

[CL 23500239 by maxwell hayes in ue5-main branch]
2022-12-13 18:29:54 -05:00
nicholas howe
373ad2a12c Metasound Audio Bus Writer Node
Adds a metasound node that sends its audio input to an audio bus.
Modifies the audio mixer interface to support the node.

FMixerSourceManager::StartAudioBus no longer sets bIsPlaying to false on sources that use an audio bus when the audio bus starts.
FMixerAudioBus::MixBuffer mixes its patch inputs into its MixedSourceData buffer, so that the patch input data is available when CopyCurrentBuffer is used to retrieve the mix.

[REVIEW] [at]aaron.mcleran [at]buzz.burrowes [at]phil.popp
#preflight 6372639c5368a3230a4ed041

[CL 23123823 by nicholas howe in ue5-main branch]
2022-11-14 14:44:30 -05:00
mihnea balta
be6dd35f83 Correctness tests for ISPC functions
Submitting on behalf of Jeff.Rous@intel.com.

#jira none
#preflight https://horde.devtools.epicgames.com/job/636e1eb4953c19d435345835
#rnx
#rb Kriss.Gossart, Phil.Popp, Shaun.Kime

[CL 23094728 by mihnea balta in ue5-main branch]
2022-11-11 05:53:55 -05:00
anna lantz
be286bb14c Fix for Limiter Distortion with non-zero attack times
#jira UE-157404
#rb alfaroh.corneyiii
#preflight 63506678c9559712ed1397de

[CL 22649064 by anna lantz in ue5-main branch]
2022-10-19 22:39:29 -04:00
rob gay
56088a4180 DSP LFO/Modulation LFO fixes
- Add missing exponential factor to Modulation generator
- Fix bounds restriction calculation for expontential factor
- Add LFO ResetPhase implementation to override initial location in oscilator on rising edge where necessary (for modulation LFO, user range limited to unipolar but hardly ever wants to start at midpoint).
- Add bipolar option to avoid oneshot/bipolar conflation for certain types of LFOs
- Add back implementation for 5.1 deprecated function to avoid breaking licensees
#rb phil.popp
[REVIEW] phil.popp
#jira UE-127886
#preflight 6346eed9b757820b7ae99b76

[CL 22483928 by rob gay in ue5-main branch]
2022-10-12 15:31:28 -04:00
alfaroh corneyiii
d675b2ee4e Fix Occasional Unexpected Behavior in Bitcrusher Node
#jira UE-163142
#preflight 633df62ba712a61df1027517
#rb max.hayes phil.popp

[CL 22387912 by alfaroh corneyiii in ue5-main branch]
2022-10-06 19:46:23 -04:00
helen yang
41d88a2f2e Fix crash in submix spectrum analyzer with unclamped hop size
#jira UE-160484
#rb phil.popp
#preflight 63377ceae72271755f49c7c5

[CL 22322136 by helen yang in ue5-main branch]
2022-10-03 20:34:23 -04:00
phil popp
056d717727 Deprecate AudioFFT in favor of optimized and hardware accelerated version
Deprecating voice processing as is not tested or needed. Current voice processing needs are handled in EOS with WebRTC.
#rb Aaron.McLeran, Helen.Yang
#jira UE-148715
#preflight 631a3e9ed31788ea3a59f214

[CL 21910441 by phil popp in ue5-main branch]
2022-09-08 21:27:22 -04:00
phil popp
5389782fd9 Re-adding and deprecating audio signal processing functions that had been removed.
#rnx
#jira UE-150463
#rb Maxwell.Hayes
#preflight 6307a0946f3401e022614425

[CL 21567182 by phil popp in ue5-main branch]
2022-08-25 12:45:25 -04:00
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00:00
miles flanagan
257834deeb Metasound Absoulte Value math node
#rb alfaroh.corneyiii
#preflight 62f1462a0264595302c4eeec

#ROBOMERGE-AUTHOR: miles.flanagan
#ROBOMERGE-SOURCE: CL 21275208 via CL 21275266 via CL 21275283
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21277001 by miles flanagan in ue5-main branch]
2022-08-08 18:37:54 -04:00
ben woodhouse
427ac47199 Make it possible to disable AudioFloatArrayMath ISPC per platform, and opt out on platforms where it doesn't help performance
#rb jimmy.smith

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21212888 via CL 21212894 via CL 21212896
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21213624 by ben woodhouse in ue5-main branch]
2022-07-21 21:41:49 -04:00
ben woodhouse
383f523714 Add an Audio_DSP csv stat category, disabled by default
#rb jimmy.smith

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21195460 via CL 21195480 via CL 21195524
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21196936 by ben woodhouse in ue5-main branch]
2022-07-20 21:52:27 -04:00
anna lantz
a4ab179b77 Inclusive language push, removing master/slave language from DSP code
#jira UE-158586, UE-158671
#preflight 62c751d2702597cc877a6fa7

[CL 20993839 by anna lantz in ue5-main branch]
2022-07-07 17:56:49 -04:00
Aaron McLeran
9eda2fcabd Adding ability to wait with an event for multithreaded patch to be filled
#rb Rob.Gay
#jira UE-150585
#preflight 62b5fb4a380d1629fd823196

[CL 20879875 by Aaron McLeran in ue5-main branch]
2022-06-29 14:58:52 -04:00
alfaroh corneyiii
e255fd13b4 Fix Compressor Node's Wet/Dry Functionality
#jira UE-156405
#rb aaron.mcleran phil.popp
#preflight 62aa8834f77a5c078588a738

[CL 20680195 by alfaroh corneyiii in ue5-main branch]
2022-06-15 21:53:48 -04:00
anna lantz
f3161750a0 Fix for Limiter Node exploding
#rb aaron.mcleran
#jira UE-156267
#preflight 62a93441943e7bb256c942a2

#ROBOMERGE-AUTHOR: anna.lantz
#ROBOMERGE-SOURCE: CL 20671560 in //UE5/Release-5.0/... via CL 20672818
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20675184 by anna lantz in ue5-main branch]
2022-06-15 15:10:51 -04:00