Ok, so I’ll respond to these ideas, I appreciate the feedback.
For the first one, this is implementable via a combination of smartblocks in a playlist - create a smartbock that is limited to a # of items or time that match whatever you want for the content then add another smartblock limited to the time or # of jingles you want to play defined by metadata for instance with the Genre: jingle and then you can repeat this playlist via the autoloading feature. I think one limitation I’m realizing is that it will as things are currently defined it will overflow with the repeat until full autoloading feature. So any testing and/or feedback on how this can be improved would make sense.
I’m hesitant to create a hardcoded “jingle” implementation because this would alter the relative flexibility of the way things can be done currently. But on the otherhand I think it would be useful for more documentation and examples. I’m currently planning a number of screencast tutorials that will walk people through the setup of somewhat complex adverts, jingles, station IDs etc using smartblocks and autoloading playlists.
The percentage based smartblock is trickier because since the track selection is random there isn’t a straightforward way to implement this. We could for instance introduce weighting so that you could make a Rock track twice as likely to be selected than a pop track and 6 times more likely to be selected than a jazz track but this wouldn’t necessarily translate into a even distribution of tracks on a regular basis. You could even do something like this by saying select 6 rock tracks, select 3 pop tracks and select 1 jazz track, but without an additional shuffling (which isn’t currently programmed) this isn’t going to be random. In addition if you did make it likely to select a track by random percentage vs. weight it would not necessarily distribute the tracks evently based upon length. For instance Jazz could be a lot more than 10% if your Jazz tracks were all a lot longer than the other tracks. It’s an interesting idea but I’d need to see more about it.
Hope this is helpful. Please share any questions/feedback you might have.