I've been working on a radio mod for a while now. It is quite an extensive radio station. The mod works perfectly fine, with one very annoying issue: there are long silences between the different music and/or speech and I have no idea why they are there. I did find that it seems to happen between randomized actions, but as far as I can see, I programmed those correctly. I compared the actions with those in Diamond City Radio and they seem identical in all the right places. Diamond City Radio, however, does not suffer from those long pauses. In my mod, each topic in the randomized actions is neatly flagged as random and the last one in the list is flagged as Random End as well as Random.
I'm pretty confident that it has something to do with the randomizing action. All pauses pass one of those functions and a pause never occurs without such a function being there. In detail, what I did in order to make the randomizing functions was as follows:
In a scene and in a phase, I added a radio action. In it, I added topics for each big of music or each bit of text (depending on the scene). These topics have no sound files, but rather check conditions like lastSongPlayed1 != 1 and then set currentSong = 1 in a papyrus fragment (a later phase evaluates the currentSong value and, if true, plays the corresponding audio file that is added to a radio action, just like in Diamond City Radio).
At first, in the randomizing action, I added a response text for each topic (like 001TexBenekeAWonderfulGuy) as I found that it showed this text in the creation kit. This made it easier to see which topic controlled which piece of music. Since, however, I removed those texts again and substituted a single space for them, as I figured this might have been the problem. Unfortunately, this did not work.
Now, I also tried making a new, clean randomizing radio action with the exact same content, only without ever adding a response text other than a single space. (I thought that, maybe, some lingering problem persisted even after removing the text.) But this did not work either.
Does anyone have any idea on how to fix this?