Playhead falls outside of region after transition

Hoping someone can help. First, here are some GIF screencaptures to help demonstrate the problem. Under these links, I’ll describe the issue.

In this first one, the problem is demoed at 36 seconds, after I show the setup and properly playback:
https://imgur.com/a/LZnVDpQ

Here’s another GIF detailing just the problem:
https://imgur.com/a/6VEFVTO

Description of setup:
I have two parts (section E and F). E loops indefinitely until F the playhead is told to move to F – that is, E has a transition region to F, on the condition that Parameter “Plot” is set to F. Then F loops indefinitely. The transition is set up with a crossfade. Also note that the condition is “Relative” which seems to be a relevant factor.

The problem:
when “Plot” is set to F while the playhead is near the end of E’s loop, the play head goes through the transition as expected, but then it falls outside of F’s loop (and subsequently stops playing). I don’t want it to fall outside of F’s loop.

Your help greatly appreciated as always!

Change the destinations of your two transition regions to be the loop regions, rather than the “E” and “F” markers. (You can change the destination of an existing transition marker or transition region by right-clicking on it and selecting “Set Destination” from the context menu.) Optionally, delete the “E” and “F” markers and rename your loop regions “E” and “F.” (You can rename a loop region by right-clicking on it and selecting “rename” from the context menu.)

The playback position was able to escape the loop region while inside the transition timeline because it is usually impossible to begin one transition while already executing another. There are a very small number of exceptions to this rule, however - and one of them applies when the destination is a loop region rather than a destination marker.

Hmm… that doesn’t seem to change the behaviour. It’s still doing the same thing, falling outside of the loop region at the destination. I’ve reread your suggestion several times and I’m pretty certain I did what you described.

Here’s a GIF screen recording, which shows the setup, then shows that it works normally, but then shows that it still falls outside the destination loop region if it’s called too late in the transition region (ie, when it’s playing part E):

Maybe I’m doing something wrong?
Or maybe you need more information that I haven’t provided yet about my setup? Let me know!

Thanks for your continued help!

Hmm… It definitely looks like you’ve set things up correctly, and it works when I try it here, so I’m not sure why you’re still seeing the incorrect behavior.

It’s possible that we’re using different versions of FMOD Studio. Which do you have installed?

Are you able to upload a copy of a project that exhibits the issue, so that we can investigate it in more detail? There may be some specific aspect of your setup that we’re missing, and being able to see the project in person might make it easier for us to identify.

Hi, pardon the delay. I’m just back at the computer now.

Which do you have installed?
I’m running Version 2.02.11, 64-bit for Windows, Build #130436

Are you able to upload a copy of a project that exhibits the issue, so that we can investigate it in more detail?
Sure! That would be great. Where should I upload it?

Thank you!

You can upload projects in the uploads tab of your profile page. You should be able to upload files there as long as you’ve registered at least one project with us. (If you haven’t registered any projects with us, I recommend it; it’s quick and easy, lets us know what kind of games and applications people are using FMOD for.)

Hmm… so, I’m currently a noncommercial user, which if I understand correctly means I can’t register a project. I mean I would register a portfolio game we self published, but it seems I cannot register.

So, would there be another way to resolve this problem?

I’ve requested that uploads be enabled for your account. You should be able to upload files now.

1 Like

Thank you for putting in the request to allow me to upload, Joseph!

I guess the request is still being processed because the uploads section still says “To be able to use upload functionality, first register a project that is related to your support case”

I’ll check back next week.

Whoops! It looks like our update to your account failed due to an unexpectedly empty field in your profile. We’ve populated it for you and re-made the change.

Try uploading again, as it should work now.

Thank you! I have uploaded the entire FMOD project as a zip.

The problem described in this thread can be found in the event named “mx_ch3 problem”

As described previously, the problem happens when playing from the end of Loop E going into Loop F. (As shown in this screencap: https://i.imgur.com/ynfPoa8.gif)

To reproduce the problem:

  • set playback cursor between 5:20.000 and 5:29.000
  • set parameter “plot” to “F”
  • hit play

Let me know what other information I can provide to help, and thanks again for being so throrough with your follow up!

Thanks! Having examined your project, I think I’ve gotten a grasp on what’s happening.

The issue is the combination of the destination region of the source transition region’s transition timeline, the destination loop region’s transition timeline, and the relative offset mode of the source transition region:

  • Because the transition region that targets the loop region has a destination region, it begins playing content from the destination of the transition as soon as the playback position enters that destination region.
  • Because the transition region is set to relative offset mode, the part of the main timeline that it begins playing when the playback position enters the destination region is offset from the start of the destination loop region. Thus, in cases where the offset is sufficient that the distance between the playback position and the end of the source loop region when the playback position enters the transition timeline is less than the distance between the start of the destination region and its end, the playback position reaches the end of the main timeline content at the destination before it exits the transition timeline.
  • Because the destination loop region has a transition timeline, and it is not possible to enter a transition timeline while playing another transition timeline (because doing so could potentially lead to recursive transition timelines and thus infinite resource consumption), when the playback position reaches the end of the content on the main timeline at the destination before it exits the transition timeline, it does not trigger the loop region endpoint at that position. Instead, it continues playing content from the main timeline until it exits the transition timeline.

This is all expected behavior, so there’s no bug here - but it’s not the behavior you want, obviously. There are a few different ways you could break the combination of elements that causes it, each with its own advantages and disadvantages:

  • Removing the destination region from the transition region’s transition timeline would prevent the playback position from encountering the end of the destination loop region while still inside the transition timeline. However, this would prevent content from the destination of the transition from playing during the transition.
  • Removing the transition timeline form the transition region would prevent the playback position from encountering the end of the destination loop region while still inside the transition timeline. However, it would also prevent you from corssfading the source and destination.
  • Setting the transition region to “None” offset mode, the playback position would not encounter the end of the destination loop region while still inside the transition timeline (unless you made the transition timeline and its destination region longer than the destination loop region). However, this would prevent the transition from occuring in a beatmatched fashion.
  • Removing the transition timeline from the destination loop region would allow the loop to trigger while the playback position is inside the transition timeline. However, this would prevent you from crossfading the source and destination of the loop region.

Of these possible solutions, I think the last one is probably the least disruptive to the behavior and design of your event - but of course, I do not know your project’s requirements as well as you do.

Thanks again for being so thorough with your explanation.
It will take me time to consider how to move forward.

I admit, you are testing my understanding of FMOD terminology! Hahaha. I don’t have an intuitive sense yet of the details of why I’m encountering the problem, but I get that it has to do with the (bad) timing implied by my combination of markers/regions.

I wonder if Magnet Regions would be better suited to what I’m trying to do. But I’ve never used them, so I’d need to spend time figuring them out.

Magnet regions wouldn’t help in this case. Under-the-hood, each magnet region is just a pair of transition regions that cover every part of the timeline except the part covered by the magnet region. This makes them slightly less powerful and flexible than transition regions, but a lot quicker and easier to set up in certain events.

If you have any questions about specific pieces of terminology that’re giving you trouble, we’d be happy to explain them for you. Just let us know.