Commit Graph

320 Commits

Author SHA1 Message Date
helen yang
fa585989cf Fix ensures when migrating MetaSound assets
- Create new class names for temporary packages created during migration to avoid duplicate node registration
- Change duplicate node registration ensure to if check with better logging of asset causing collision

#jira UE-161039
#jira UE-175059
#jira UE-188854
#rb rob.gay

[CL 26299244 by helen yang in ue5-main branch]
2023-06-28 17:08:29 -04:00
maxwell hayes
fd1b2ffae8 [Metasounds] Bind Inputs / Outputs follow up (Automated Test Fixes)
#jira UE-187393, UE-187390, UE-189226, UE-187397
#rb Phil.Popp

[CL 26274886 by maxwell hayes in ue5-main branch]
2023-06-27 19:07:52 -04:00
rob gay
4858ab4ec4 Fix ConnectNode<In/Out>sToMatchingGraphInterface<In/Out>puts
- Add tests for connecting & disconnecting nodes that match graph interfaces
- Rename test accordingly
#rnx
#jira UE-186188
#rb helen.yang

[CL 26242483 by rob gay in ue5-main branch]
2023-06-26 15:42:30 -04:00
phil popp
4e9a2f49c6 Fix dynamic transactor missing node.
#jira UE-189289
#rnx
#rb Rob.Gay

[CL 26215215 by phil popp in ue5-main branch]
2023-06-23 14:53:34 -04:00
rob gay
586618a007 - Added test for binding interfaces & fixed following fallout
Major:
- Added missing input MetaSound audio interfaces
- Fixed interface bindings not working with referenced transient, non-asset MetaSounds

Minor:
- Fix builder name not being propagated to transient builders
- Fix not defaulting to success enum when creating patch builder
- Generalized pool of named/registered builders on Builder Subsystem instead of having them per type (to support future types without having to update the subystem for each additional future type.)
#rb helen.yang

[CL 26189673 by rob gay in ue5-main branch]
2023-06-22 14:51:42 -04:00
maxwell hayes
ca28732c72 [Metasounds] Follow up fixes for new BindInputs/ BindOutputs API.
#jira UE-189241
#rb none
[FYI] Chris.Ritter

[CL 26158495 by maxwell hayes in ue5-main branch]
2023-06-21 15:22:13 -04:00
rob gay
efe5d3931c Add missing BPReadWrite mark-up to MetaSoundClassName so nodes can be added via builder in BP & LexToString for better error logging of MetaSound types to be used in subsequent CL for BP debugging. Minor formatting fix-ups.
#rnx
#rb trivial
#rnx

[CL 26158067 by rob gay in ue5-main branch]
2023-06-21 15:14:33 -04:00
maxwell hayes
ebf6e4caf7 [Metasound Bind] Fixup for bind issues caught by new automated tests.
#jira UE-187406, UE-187390, UE-187404, UE-187403, UE-187405, UE-187392, UE-187391, UE-187395, UE-187399, UE-187398, UE-187389, UE-187393, UE-187394, UE-187396, UE-187397, UE-187401
#rb phil.popp

[CL 26130674 by maxwell hayes in ue5-main branch]
2023-06-20 15:08:54 -04:00
rob gay
19c88744d9 - Fix-up MetaSound dynamic builder engine tests
- Add missing move of transactor to generator init params

#rb Phil.Popp
#jira UE-181889
#rnx

[CL 26128742 by rob gay in ue5-main branch]
2023-06-20 14:03:55 -04:00
Rob Gay
df490de7a8 Initial work to pipe builder updates to dynamic graph
- Add delegates to respond to builder changes to document
- Add delegate handlers to source builder to forward requests to audition sound if live update enabled
- Misc piping for live updating
#jira UE-186952
#ok forgithub public
#rb phil.popp

[CL 26072389 by Rob Gay in ue5-main branch]
2023-06-16 17:48:20 -04:00
helen yang
9962c8f51a Copy soundbase/soundwave settings from referenced MetaSound source to new preset
- Add option to BuildToAsset to copy settings from a given template SoundWave
- Update CreatePreset right click asset action to use builder instead of factory

#jira UE-170991
#rb rob.gay

[CL 26019769 by helen yang in ue5-main branch]
2023-06-15 13:50:27 -04:00
phil popp
7053908920 MetaSound Dynamic Operator and Dynamic Transactor
#jira UE-181887, UE-184051
#rb Rob.Gay

[CL 25995669 by phil popp in ue5-main branch]
2023-06-14 17:01:59 -04:00
miles flanagan
34fe243092 Allow Metasound Bus Reader and Writer nodes to set up patch inputs after construction if their busses are set later
#jira UE-187408
#rb phil.popp

[CL 25848966 by miles flanagan in ue5-main branch]
2023-06-07 12:51:55 -04:00
Rob Gay
8e0ffe62c4 Nuke incorrect, redundant comment for self-documenting call
#rb trivial
#jira none
#rnx

[CL 25828927 by Rob Gay in ue5-main branch]
2023-06-06 17:21:38 -04:00
jimmy smith
a16df7fe4c Fix non-matching PRAGMA_ENABLE_DEPRECATION_WARNINGS pair.
#jira none
#preflight skip

[CL 25776044 by jimmy smith in ue5-main branch]
2023-06-02 18:31:58 -04:00
jimmy smith
d256cc1f44 Deprecate IAudioCodec API
#rb alfaroh.corney jake.burga
#jira none
#preflight 6477eaae1c5c2b3fa2e4e53d

[CL 25770939 by jimmy smith in ue5-main branch]
2023-06-02 15:27:25 -04:00
miles flanagan
3850c5e2a5 Fix crash when setting invalid default parameters on a new metasound
#jira UE-186065
#preflight 647625a44a277ca8f00ca111
#rb rob.gay, ryan.mangin

[CL 25684358 by miles flanagan in ue5-main branch]
2023-05-30 15:03:25 -04:00
rob gay
76c334b255 Fix .Add/.Remove copy pasta
Minor member name/comment fix ups
#rb trivial
#jira UE-186952
#rnx
#preflight skip

[CL 25683678 by rob gay in ue5-main branch]
2023-05-30 14:46:00 -04:00
helen yang
cc09fda972 Expand and consolidate MetaSound builder preset asset functionality
- Added document builder and BP functions for SetGraphInputDefault, ConvertFromPreset, ConvertToPreset, CreatePatch/SourcePresetBuilder, IsPreset
- Refactor MetaSound asset and preset initialization to use builder architecture more

#jira UE-185391
#rb rob.gay
#preflight 64710f423b73ebeef4c295bb

[CL 25683338 by helen yang in ue5-main branch]
2023-05-30 14:39:48 -04:00
nicholas howe
1cff9d7ff8 MetaSound Frontend allows derived classes to attach to base class pins at runtime.
FDataTypeRegistry::GetDataTypeInfo walks up the class hierarchy searching for a registered class.
Adds FDataTypeRegistryInfo::bIsExplicit to replace the editor's IsExplicitProxyClass and enable the same functionality of requiring exact types at runtime.

#rb rob.gay
[REVIEW] [at]phil.popp
#preflight 6470afe55d3ca2dfd99ab6a1

[CL 25649438 by nicholas howe in ue5-main branch]
2023-05-26 13:55:21 -04:00
rob gay
6b6b8a7530 MetaSound node support for traditional "sampler" usage of WaveTables
WaveTable memory reduction, better format support, player node
- Add support for 16bit assets & perform runtime BDC where necessary
- Add support for FixedSampleRate vs resolution
- Cache off and reuse single proxy
- Move entry data to table data in non-editor builds (instead of copying)
#rb helen.yang
#rb miles.flanagan
#rb phil.popp
#jira UE-181355
[FYI] sondra.moyls
#preflight 646bdac6656436839e30b8e1

[CL 25592219 by rob gay in ue5-main branch]
2023-05-23 18:13:14 -04:00
helen yang
f9514f5186 Fix MetaSound wave proxy reader using wrong duration for streaming sounds using Ogg Vorbis
#rb Jimmy.Smith, Seth.Weedin
#rnx

#localization none
#tests local, preflight 646675958377b53e1d0c5e15

[CL 25545963 by helen yang in ue5-main branch]
2023-05-19 12:02:16 -04:00
charlie huguenard
04cc192f7e [Metasound] Invalidate output changed delegate handle when generator is destroyed
#jira UE-185909
#rnx
#preflight 6462ae56b87b09aadd3e14b1

[CL 25494996 by charlie huguenard in ue5-main branch]
2023-05-16 15:30:22 -04:00
bryan sefcik
91c57d395e Removed redundant module includes.
#preflight 645d4bf3aa3c584c0b5b3a67

[CL 25435653 by bryan sefcik in ue5-main branch]
2023-05-11 16:48:21 -04:00
charlie huguenard
657def06c3 [Metasound] Fix race which would sometimes cause generator handles to stop receiving output updates from generators.
While the "thread-safe" variety of delegates does protect the invocation list from data races, if you use AddUObject, it will end up calling TWeakObjectPtr::Get() when it attempts to compact the invocation list (as it does when broadcasting or adding), which as far as I can tell is not thread-safe. This means it can sometimes incorrectly report that the object is no longer valid and should be removed from the invocation list.

#rnx
#rb phil.popp
#preflight 645beeb9ab621cb7013043a9

[CL 25429370 by charlie huguenard in ue5-main branch]
2023-05-11 12:18:34 -04:00