16 Commits

Author SHA1 Message Date
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
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
buzz burrowes
46600099fa Merge conflict reolution (by hand)
[CL 25418491 by buzz burrowes in ue5-main branch]
2023-05-10 18:10:35 -04:00
charlie huguenard
3ba6439ab6 [Metasound] Check whether analyzer exists before attempting to add it to a generator.
Also, remove ensure when trying to find an analyzer factory, since we can fail gracefully.

#jira UE-185335
#rnx
#rb phil.popp
#preflight 645a6477a73096fab7787284

[CL 25402611 by charlie huguenard in ue5-main branch]
2023-05-10 08:29:22 -04:00
charlie huguenard
7b12ccaeae [Metasound] Get history of output changes instead of last value
#preflight 64513fbb4d593c0b42b03cc8
#rb phil.popp

[CL 25320519 by charlie huguenard in ue5-main branch]
2023-05-03 13:43:51 -04:00
charlie huguenard
16e205ba71 [Metasound] Pass audio component id to OnGeneratorInstanceCreated instead of the individual voice id
#jira UE-184555, UE-184554
#preflight 644befb1f50260822919bc80

[CL 25234241 by charlie huguenard in ue5-main branch]
2023-04-28 12:28:48 -04:00
charlie huguenard
5f5e340d51 [Metasound] Re-register output analyzers if sound is stopped and re-started
#jira UE-183409
#rnx
#rb phil.popp
#preflight 643dc576bf1053846626eb75

[CL 25084655 by charlie huguenard in ue5-main branch]
2023-04-18 08:44:35 -04:00
charlie huguenard
fb1959d641 [Metasound] Fix races in UMetasoundOutputSubsystem
The generator created/destroyed events get called on the audio thread, so avoid manipulating containers used on the game thread in the event.

#rnx
#rb phil.popp, aaron.mcleran
#preflight 642db4d71d19c0312a39ab12

[CL 24937556 by charlie huguenard in ue5-main branch]
2023-04-05 17:42:36 -04:00
buzz burrowes
e7af0e2bde Add TRACE macros for profiling
[REVIEW] [at]phil.popp
#preflight 642c2cea4d26bcd1eb7aaac3

[CL 24912849 by buzz burrowes in ue5-main branch]
2023-04-04 12:40:45 -04:00
marc audy
e330959f2a Fix bad merge
#rnx

[CL 24906562 by marc audy in ue5-main branch]
2023-04-03 23:32:48 -04:00
buzz burrowes
93831837d9 Namespace the names of the multicast delegate definitions (move them into the class definition) to avoid polluting the global namespace.
[REVIEW] [at]phil.popp [at]charlie.huguenard
#preflight 642b2a92ce01db47acc4bf9b

[CL 24906544 by buzz burrowes in ue5-main branch]
2023-04-03 23:31: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
kevin cavanaugh
e5368194e8 Metasound bug fixes discovered while using the output subsystem
#rb buzz.burrowes
#preflight 641c69e0b72410fc1716c064

[CL 24766915 by kevin cavanaugh in ue5-main branch]
2023-03-23 15:44:04 -04:00
buzz burrowes
fb48d94232 MusicClockComponent & MusicTempometerComponent for the new Harmonix plugin. Includes massive refactor for Measure -> Bar and Pulse -> Beat.
[REVIEW] [at]nicholas.howe [at]jake.burga
#preflight 6418998932723d4a20488334

[CL 24724583 by buzz burrowes in ue5-main branch]
2023-03-20 17:38:24 -04:00
Joe Kirchoff
109addf6a3 Cpp20 doesn't allow implicit capture of 'this' via '[=]'
#rb Francis.Hurteau
#preflight 64068c936e1dadfcda41bb82

[CL 24548358 by Joe Kirchoff in ue5-main branch]
2023-03-07 16:49:18 -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