Skip to content

Conversation

ggcrunchy
Copy link
Contributor

Per some discussion in #help-and-support, it seems there was a misfire on my last submission. I had a single notifier for the audio messages, but the way tasks work was built on having a Lua reference paired to each notifier, or vice versa. I was not doing this, and in fact only used the callback as a dummy to get the event accepted... so nothing was firing. ☹️

(This was a late change and I was still testing for playSound() stability, so missed that my printouts had disappeared.)

The task themselves may now take a Lua reference, and the notifier will prefer that, if present.

With this I'm getting onComplete again.

ggcrunchy and others added 30 commits February 7, 2019 17:09
…nd buffer and assignment logic

Next up, prepare details from graphics.defineEffect()
…from Program

Slight redesign of TimeTransform with caching (to synchronize multiple invocations with a frame) and slightly less heavyweight call site
Err, was calling Modulo for sine method, heh

That said, time transform seems to work in basic test
Fixed error detection for positive number time transform inputs

Relaxed amplitude positivity requirement
Maintenance Revert Test
My mistake adding back changes made
Notes for Delete(), in case we want a thread-safe version later
…, but aren't used in production)

GetOrCreate() removed; the ones not used by event listeners are Create()'d up front

Slight change of PROFILING_BEGIN() macro for new usage

Simulator run variable is gone now
… (or nil ref, when not needed) and no ref means a channel is empty (for purposes of stopping)

Avoids lots of new and delete

More importantly, one notifier with lifetime outside the thread (no unguarded updating of reference counts)

No need for loop to delete them (with potential race) since will go away with Lua

Array of atomic flags to go with channel-to-callbacks, should avoid remaining race possibilities
…listener, rather than when event name first appeared globally

Removed ShortName (since it also blew up the size of some structures) and enforcing that profiling-related string lifetimes are static or held in Lua

Replaced with Payload that can take a string or a pointer (table or function)

Also has an option for owned strings, but probably iffy (or could be something else instead)

Due to that, able to avoid some allocations in getTimings()

Also added other possiblities there when time is false (as with sublists), using a @ at start to indicate keyword
@ggcrunchy ggcrunchy requested a review from Shchvova as a code owner January 7, 2024 06:22
@Shchvova Shchvova merged commit c2edbda into coronalabs:master Jan 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants