- Split default param transmitter to SoundCueTransmitter & ParameterTransmitterBase to avoid generating transmitters for SoundBase child classes that don't support/require one (ex. SoundWaves)
- Move param transmitter to sharedptrs to avoid a bunch of unnecessary copy/clone logic when virtualizing loops
- Remove DefaultParameters field on ActiveSound in favor of shared impl in FParameterTransmitterBase that caches current state of parameters
- Fix for move that clears out active sound's current parameters when sound could have multiple wave instances that need said parameters
#rb phil.popp
#jira UE-164898
#preflight 6334a0a1ee7b13756dcd20ea
[CL 22240385 by rob gay in ue5-main branch]
- Move synchronize/details panel flag to more generic ModifyContext
- Do not use MarkAsGarbage as means of enforcing not to show object in details panel to avoid leaving objects in invalid state if undo called. Check ed graph membership instead
- Get rid of leaky namechanged delegates
- Allows for migration to isolated synchronization in the future
- Removes conflation of having to synchronize and update views when modifying frontend document
- Decouples concept of a specific view to update from generic frontend graph modifications
#rb helen.yang
#jira UE-151448
#preflight 632b7afdc7791417aa44126f
[CL 22142063 by rob gay in ue5-main branch]
TLBSRA (Too long but still read anyway)
This was due to validation moving to recursive behavior but sync not to support bubbling up referenced errors/warnings in 5.1. This resulted in missing members after interface transforms are applied and potentially hitting ensures in validation.
...
But wait there's more!!! Synchronization on tick is now more efficient as it doesn't attempt to resynchronize/validate references already synchronized/validated in prior pass in same frame due to referencing graph needing to sync
#rb helen.yang
#rnx
#jira UE-162586
#preflight 63223e6c29254beccbf06119
[CL 22019580 by rob gay in ue5-main branch]
Enforce single UObject class --> MetaSound Frontend class & fix-up callsites relying on ArrayObject type/literals using cached proxy type. This lead to confusion WRT what registered type is directly associated with a given UObject & possible bugs therein.
#rb phil.popp
#rnx
#jira none
#preflight 62c890fb2823f28cf281a8f1
[CL 21100292 by Rob Gay in ue5-main branch]
- Removed duplicate implementation of ModPatch editor stuff now that WT Plugin covers it
- Add UWaveTableBank asset & WaveTable MetaSound DataType
- Add Full Sin as curve type
- Fix-up ability to make WaveTable assets bipolar but leave Modulation Patches unipolar
- Inherit ModulationTransform from new WaveTableTransform for extensibility to WT implementation
- Move ModulationCurve --> WaveTableCurve
- FastSin to Sin implementation in now WaveTableCurve (no reason to use fast implementation when using WT or interpolating curve key implementation at block rate)
#rb helen.yang
#jira UE-156634
#jira UE-156635
#jira UE-156874
#preflight 62b9cf61de2c0f4cf8774a9a
[CL 20832273 by Rob Gay in ue5-main branch]
- Add ability to track all internal data references to a core graph
- Add AnalyzerRegistry & first pass at value/envelope analyzers
- Add support for enabling analyzing from MetaSound Generator
- Add ability for tracking colorized bounds for edges as literal-color array
#rb phil.popp
#jira UE-147027
#jira UE-147028
#jira UE-147026
#preflight 627acbae10766ef8c112264c
[CL 20129340 by Rob Gay in ue5-main branch]