Commit Graph

121 Commits

Author SHA1 Message Date
rob gay
aeb25bb49d - Add Runtime MetaSound Builder support
- Add MetaSound Patch Interface support
- Add MetaSound Interface Bindings
#rb phil.popp
#preflight 640783bd5515f4f57b4b1268
[FYI] Sondra.Moyls
[FYI] Dan.Reynolds

[CL 24548617 by rob gay in ue5-main branch]
2023-03-07 17:01:52 -05:00
miles flanagan
8d02a26d23 MetasoundWaveTableEvaluateNode
#rb rob.gay
#preflight 639b7297c16855964d7c0e69

[CL 23535307 by miles flanagan in ue5-main branch]
2022-12-15 20:49:02 -05:00
buzz burrowes
6a343186d8 MetasoundParameterPack V1
[REVIEW] [at]phil.popp [at]rob.gay [at]aaron.mcleran
#preflight 639b5db4012902cb8d76c448

[CL 23532613 by buzz burrowes in ue5-main branch]
2022-12-15 17:03:02 -05:00
phil popp
96ab5837f2 Deprecate use of TUniquePtr in Audio::IProxyData
Introduce TSharedPtr<Audio::IProxyData> CreateProxyData()
Fix up deprecated callsites.

#jira UE-162062
#rb Rob.Gay
#fyi Miles.Flanagan
#preflight 639a0f262960b732207fc1e3

[CL 23515287 by phil popp in ue5-main branch]
2022-12-14 13:56:22 -05:00
buzz burrowes
f78c539f2e Have UMetasoundSource instances maintain a map "AudioComponentIds -> weak pointers to FMetasoundGenerators" it has been asked to create. This will be useful in future checkins where parameter packs can be sent efficiently to playing metasound instances.
[REVIEW] [at]phil.popp [at]rob.gay [at]Aaron.McLeran
#preflight 6398c1ab43330e63e5929aab

[CL 23500073 by buzz burrowes in ue5-main branch]
2022-12-13 18:25:01 -05:00
rob gay
18e887e937 [MetaSounds] Fix/add missing new MetaSound type icons/thumbnails as well as play/stop overlays. Support for showing/filtering presets in ContentBrowser
#rb helen.yang julien.stjean
[REVIEW] helen.yang
#jira UE-168050
#preflight 635314707261e565c497645f

[CL 22786984 by rob gay in ue5-main branch]
2022-10-26 15:28:04 -04:00
phil popp
07800695cd Replace use of FSoftObjectPath with UPROPERTY for dependent metasound assets.
#jira UE-156087
#rb rob.gay
#preflight 634841dffd22d1fbde5d7d73

[CL 22512918 by phil popp in ue5-main branch]
2022-10-13 17:38:11 -04:00
phil popp
25b5881f1c Remove 5.0 channel format from MetaSoundSource and MetaSound WavePlayer node.
#jira UE-161170, UE-161172
#rnx
#preflight 63460236b757820b7aa1fdd2
#rb helen.yang

[CL 22482360 by phil popp in ue5-main branch]
2022-10-12 14:07:25 -04:00
rob gay
08f64dc10a [MetaSounds] Param loop virtualization fixes
- 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]
2022-09-28 22:19:31 -04:00
rob gay
9dbc0c6693 [MetaSounds] Editor Graph Syncronization Upgrade
- 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]
2022-09-22 15:02:24 -04:00
rob gay
31435d69a5 Fix bug with synchronization not being completed prior to validation for referenced MetaSound graphs
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]
2022-09-14 18:49:46 -04:00
rob gay
1a998981b7 Update details on MetaSound Editor synchronization
- Minor clean-up: remove unimplemented GetBlockRate declaration cruft
#rb trivial
[FYI] helen.yang
#jira UE-151420
#preflight 631a3fe3967ffc68fbea8026

[CL 21910442 by rob gay in ue5-main branch]
2022-09-08 21:27:29 -04:00
phil popp
5fc6f172c9 [MetaSound] Allow Constructor pin to be set from BP
#rb Rob.Gay
#jira UE-153913
#preflight 62fe6e68f7404b55a3fd49f9

[CL 21445924 by phil popp in ue5-main branch]
2022-08-18 13:55:13 -04:00
phil popp
cf0b29a549 Support more audio channels in wave player node.
#rb Maxwell.Hayes, miles.flanagan
#jira UE-147036
#preflight 62fbbcb21e39eb26a0414cfb

[CL 21407206 by phil popp in ue5-main branch]
2022-08-16 12:39:27 -04:00
phil popp
20d9fe84b6 MetaSound Source Surround Channel Format Support.
#rb Rob.Gay
#jira UE-150587
#preflight 62fa5557153b17e746323904

[CL 21386849 by phil popp in ue5-main branch]
2022-08-15 10:49:30 -04:00
Rob Gay
43065604d6 Rename UMetaSound to UMetaSoundPatch
#jira UE-150599
#rb helen.yang
#preflight 62f69d471e61d1ba0e8e37e5

[CL 21360370 by Rob Gay in ue5-main branch]
2022-08-12 14:54:54 -04:00
Rob Gay
d5645c2286 Split MetaSound DataType "IsArrayType()" function into bIsArrayParseable & bIsArrayType members, deprecating function in favor of caching booleans on DataType registration
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]
2022-07-14 17:51:07 -04:00
Aaron McLeran
e8e0cb865a Adding MetaSound bus type to metasounds
#rb Rob.Gay
#jira 20811065
#preflight 62b5fb0b3646551b113a0065

[CL 20879926 by Aaron McLeran in ue5-main branch]
2022-06-29 15:01:54 -04:00
Rob Gay
e894af4d0c Checkpoint - WaveTable Integration w/Modulation & MetaSounds
- 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]
2022-06-27 12:00:38 -04:00
jimmy smith
2093834e8d Fixed up TObjectPtr for Metasounds as I had warnings as errors on
#rb rob.gay
#jira none
#preflight 628fc3ff74630984fd46f137

[CL 20383257 by jimmy smith in ue5-main branch]
2022-05-26 15:06:53 -04:00
robert manuszewski
f8a812a32f Converting hardcoded short class/enum names to pathnames ahead of ANY_PACKAGE removal
#rb trivial
#jira UE-99463
#preflight 6288fd998828ea88c8aef3d0

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20314896 via CL 20314897 via CL 20314903 via CL 20314904
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20315214 by robert manuszewski in ue5-main branch]
2022-05-22 10:30:02 -04:00
Rob Gay
f2f944d64f MetaSound Analyzer Frontend/Graph Core Checkpoint
- 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]
2022-05-10 16:51:39 -04:00
rob gay
745f6d2cff Do not register during PreSave if cooking to fix non-deterministic cook output (auto-update called during registration modifies asset, and is currently too aggressive)
#rb max.hayes
#rnx
#jira UE-144942
#preflight 6227f3440d5a90e98ea6ba7f

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 19326124 in //UE5/Release-5.0/... via CL 19326893
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19348286 by rob gay in ue5-main branch]
2022-03-10 22:03:44 -05:00
aaron mcleran
9c588cd38f Rename function to avoid API confusion
#rb Phil.Popp
#jira UE-144341
#preflight 6220e63fa00412627d031694

#ROBOMERGE-OWNER: aaron.mcleran
#ROBOMERGE-AUTHOR: aaron.mcleran
#ROBOMERGE-SOURCE: CL 19247887 in //UE5/Release-5.0/... via CL 19251704
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19263207 by aaron mcleran in ue5-main branch]
2022-03-04 03:24:13 -05:00
aaron mcleran
501cd1be39 Fix for submix sends not working in metasound editor preview
#jira UE-144341
#rb Maxwell.Hayes
#preflight 621eb3c1ca28c556343ffd16

#ROBOMERGE-OWNER: aaron.mcleran
#ROBOMERGE-AUTHOR: aaron.mcleran
#ROBOMERGE-SOURCE: CL 19211612 in //UE5/Release-5.0/... via CL 19212472
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19224369 by aaron mcleran in ue5-main branch]
2022-03-02 13:23:27 -05:00