60 Commits

Author SHA1 Message Date
Rob Gay
af9396d4ba - Fix for auditioning the same sound multiple times not respecting live updates on additional calls
- Upgrade Live Node Update automation tests to LiveUpdateMultipleMetaSoundSources for more comprehensive coverage
#rb helen.yang
#jira UE-192099
#rnx
#lockdown julien.marchand

[CL 26968567 by Rob Gay in 5.3 branch]
2023-08-09 15:32:55 -04:00
rob gay
b086e2218f Enable nulling out object parameters/proxies from BP/game thread transmitter requests.
#rb phil.popp
#rnx
#fyi buzz.burrows
#p4v-cherrypick 26490829

[CL 26558324 by rob gay in 5.3 branch]
2023-07-24 18:29:31 -04:00
rob gay
48b172ac25 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 26072716 by rob gay in 5.3 branch]
2023-06-16 17:55:08 -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
rob gay
d3e70524dc - Migrate and deprecate modify interfaces transform to frontend document builder with broken up, useful functionality available now to the API (ex. SwapInput/Output)
- New version no longer uses expensive controller system
- Fix-up & condense asset/builder initialization logic that utilizes modify interface transform functionality
- Misc clean-up
#rb helen.yang
#jira UE-120184
#rnx
#preflight 645bfd468e01daf0e5b92c30

[CL 25420172 by rob gay in ue5-main branch]
2023-05-10 20:28:39 -04:00
phil popp
274f01210e Remove transmittable input nodes and move updating parameters to the metasound generator
#jira UE-179992
#rb Rob.Gay
#preflight 642d9f944847065878db1c64

[CL 24937473 by phil popp in ue5-main branch]
2023-04-05 17:38:47 -04:00
rob gay
1de499ef8e More MetaSound Interface registry clean-up
- Move bIsDefault/bCanEdit(renamed bIsModifiable) from InterfaceRegistryEntry to Interface data definition
- Add checks in builder to disallow mutation of interfaces that shouldn't be via editor or document builder (ex. SourceInterface which is default and then never changed)
- Optimize SearchEngine query for finding default interfaces
- Tweak MetaSoundUObjectRegistry to support non MetasoundAssetBase classes and add UMetaSoundBuilderDocument. Update iterator w/optional param to only return asset types (true by default for back compat)
- Move FName class name comparitors to use new TopLevelAssetPath
#rb phil.popp
#jira UE-181360
#rnx
#p4v-preflight-copy 24658328
#preflight 642b10834d26bcd1eb0e566c

[CL 24920763 by rob gay in ue5-main branch]
2023-04-04 19:14:26 -04:00
marc audy
4cbcbd309d Add delegates for when the MusicClockComponent connects and disconnects from an underling MidiClock in the associated metasound.
[REVIEW] [at]kevin.cavanaugh [at]aaron.mcleran [at]max.hayes
#preflight 642b13501d19c0312a597334

[CL 24906530 by marc audy in ue5-main branch]
2023-04-03 23:30:36 -04:00
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
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
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
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
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
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
maxwell hayes
beb9bc478c Fix for one-shot metasound sources still presenting as looping. (moving init of Duration/bIsLooping to PostLoad() override).
#jira UE-143752
#rb Aaron.McLeran
#preflight 621821e78849a7424f697af1

#ROBOMERGE-AUTHOR: maxwell.hayes
#ROBOMERGE-SOURCE: CL 19138618 in //UE5/Release-5.0/... via CL 19138733
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19155704 by maxwell hayes in ue5-main branch]
2022-02-25 15:48:47 -05:00
aaron mcleran
48af5ea956 Fixing up warnings about one-shots with MetaSounds
- changing GetDuration(), IsLooping(), and IsOneShot() to be const for better consistency on API (const-cast the one case that is not const for caching data)
- Renaming SoundCue param in GameplayCueNotify for sounds to Sound since it's not a SoundCue.

#rb Rob.Gay, Maxwell.Hayes
#jira UE-138532
#preflight https://horde.devtools.epicgames.com/job/61e73d73b56c33b8ecfadb1a
#p4v-preflight-copy 18647645

#ROBOMERGE-AUTHOR: aaron.mcleran
#ROBOMERGE-SOURCE: CL 18650552 in //UE5/Release-5.0/... via CL 18650576 via CL 18650607
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18650642 by aaron mcleran in ue5-main branch]
2022-01-18 18:05:56 -05:00
aaron mcleran
cafeb6e075 Backward compat for IsLooping() to fix some issues.
#jira UE-137171
#rb Dan.Reynolds
#preflight none

#ROBOMERGE-AUTHOR: aaron.mcleran
#ROBOMERGE-SOURCE: CL 18607155 in //UE5/Release-5.0/... via CL 18607179 via CL 18607198
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18607224 by aaron mcleran in ue5-main branch]
2022-01-13 17:34:30 -05:00
aaron mcleran
0ffa11ba73 Adding new interface for one-shots, upgrading old metasounds to use new interface if they hooked up the on-finished trigger.
Great test-case for interfaces and our upgrade code paths.

#rb Rob.Gay
#jira UE-137708
#preflight 61ba7d64753a9d8c87c2a038

#ROBOMERGE-AUTHOR: aaron.mcleran
#ROBOMERGE-SOURCE: CL 18472322 in //UE5/Release-5.0/... via CL 18473370
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18473402 by aaron mcleran in ue5-release-engine-test branch]
2021-12-15 23:11:10 -05:00
rob gay
3bdc09e2a5 Backout out backed out changelist 18369256 (includes AudioComponent redirect fix)
-----------------------------------------------------------------
MetaSounds Interfaces Checkpoint 2:
- Version up source archetypes to become two interfaces: channel interfaces (mono/stereo) & base source namespace
- Clean-up Interface panel to support namespacing better
- Fix bugs with assuming interfaces are always and the only base namespace members
- Allow namespacing for any arbitrary interface member
- Add lock icon to clarify what interface members cannot be modified individually (i.e. cannot add, remove, or rename them as they are interface members)
- Organize members alphabetically
#jira UE-135000
#rnx
#rb phil.popp
#preflight 61a7d1079c77d610079303ec
#p4v-cherrypick 18344347

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18413245 via CL 18413381 via CL 18413401 via CL 18434953 via CL 18437303
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18437360 by rob gay in ue5-release-engine-test branch]
2021-12-10 20:37:31 -05:00
aurel cordonnier
3e68a3edef [Backout] - CL18345215
[FYI] rob.gay
Original CL Desc
-----------------------------------------------------------------
MetaSounds Interfaces Checkpoint 2:
- Version up source archetypes to become two interfaces: channel interfaces (mono/stereo) & base source namespace
- Clean-up Interface panel to support namespacing better
- Fix bugs with assuming interfaces are always and the only base namespace members
- Allow namespacing for any arbitrary interface member
- Add lock icon to clarify what interface members cannot be modified individually (i.e. cannot add, remove, or rename them as they are interface members)
- Organize members alphabetically
#jira UE-135000
#rnx
#rb phil.popp
#preflight 61a7d1079c77d610079303ec
#p4v-cherrypick 18344347

#ROBOMERGE-AUTHOR: aurel.cordonnier
#ROBOMERGE-SOURCE: CL 18369256 via CL 18369273 via CL 18369290 via CL 18434224 via CL 18435611
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18436532 by aurel cordonnier in ue5-release-engine-test branch]
2021-12-10 19:13:22 -05:00