Custom bed inserts in playlist

You have a question or need an advice about how to do something? Ask it here!
Post Reply
andreigherghe
Posts: 15
Joined: 12 Aug 2016 16:48
Custom bed inserts in playlist

Post by andreigherghe »

Hello,
I would like to bind different blocks of tracks to keys/midi commands. For example:
  • Moderator presses "1" key
  • Current track stops and gets ejected
  • An intro opener is played
  • Actual bed loops
  • Moderator speaks for a while
  • Moderator finishes talking, presses "2" key
  • Outro closer plays, playlist continues playing
I've tried several things, such as using OVERLAY_CREATE to insert a custom playlist containing 3 entries (intro, bed, outro), but unfortunately I couldn't get the loop to work.

One thing I thought about was using a PLS_CURRENT_PREPPEND_PLAYLIST, but I noticed that only the PLS_CURRENT_APPEND_PLAYLIST function is available.

Is that by design, implying that there is another way to do this? I know the talkuser function plays a bed, we're looking for an extended functionality that also has intro and outro. Another use is to have different beds bound to different keys, for weather, news etc.

Any suggestions are appreciated!

Best wishes,
Andrei Gherghe - Radio Terra
User avatar
radio42
Site Admin
Posts: 8329
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: Custom bed inserts in playlist

Post by radio42 »

I guess currently there is no simple way to do that with a single click, key or command.

Except you might use the Standby-Player instacked mode with manual playout or use tzhe Overlay Player in manual playout mode.
But that is still not a single click, but requires a click/command per item, i.e. one for playing the into, another for playing the bed and a 3rd one for playing the outro.
E.g. when using the Standby-Player you might put it into Stack-Mode and then add 3 tracks to it: Intro, Bed, Outro. Use the 'LoopEntry' track option with the bed.
You might then use the STANDBY_PLAY command with each key press to play the next item. Make sure to use the single track stack play mode.

However, I'll also take a look to add such function to the TalkUser implementation in a next version.
User avatar
radio42
Site Admin
Posts: 8329
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: Custom bed inserts in playlist

Post by radio42 »

I thought about your requirement a bit longer....
Enhancing the current TalkUser function is possible, but would not gain any real flexibility, as the Intro and Outro would be static, just as the Soundbed file is today.

However, here are two control-command sequences, which you can already use today to achieve what you are looking for:
1) Start Play at TalkUser:

Code: Select all

EXEC_DIRECTPLAYER_CREATE TalkUserIntro|C:\Jingles\intro.mp3|OUT
EXEC_DIRECTPLAYER_CREATE TalkUserSoundbed|C:\Jingles\bed.mp3|OUT
EXEC_DIRECTPLAYER_ONTRACKEND TalkUserIntro|EXEC_DIRECTPLAYER_PLAY TalkUserSoundbed|true|-12.0|0${CRLF}EXEC_DIRECTPLAYER_STOP TalkUserIntro|true|0
EXEC_DIRECTPLAYER_PLAY TalkUserIntro|false|0.0|0
2) Stop Play after TalkUser:

Code: Select all

EXEC_DIRECTPLAYER_CREATE TalkUserOutro|C:\Jingles\outro.mp3|OUT
EXEC_DIRECTPLAYER_ONTRACKEND TalkUserOutro|EXEC_DIRECTPLAYER_STOP TalkUserOutro|true|0
EXEC_DIRECTPLAYER_ONTRACKEND TalkUserSoundbed|EXEC_DIRECTPLAYER_PLAY TalkUserOutro|false|0.0|0
EXEC_DIRECTPLAYER_STOP TalkUserSoundbed|true|700
Here is a short explanation of what these 2 sequences do...
1) Start Play at TalkUser:
Line1: creates a direct player called 'TalkUserIntro' using the file 'intro.mp3' and the output mixer channel 'OUT'.
Line2: creates a direct player called 'TalkUserSoundbed' using the file 'bed.mp3' and the output mixer channel 'OUT'.
Line3: injects a command sequence to execute when 'TalkUserIntro' finished playback:
-> this command sequence will actually start playing the 'TalkUserSoundbed' in looped mode at -12.00dB
-> AND also stop and free the 'TalkUserIntro' direct player
Line4: now triggers the playback of 'TalkUserIntro' (not looped, at its original level 0dB)

Note, that the trick here is Line3. It makes sure, that once the Intro has been played, the Soundbed is triggered to be played after.
(in case your Into has NEXT cue-point set, you might also use the EXEC_DIRECTPLAYER_ONNEXTTRACK command)

As the Soundbed now plays in looped mode - this sequence has no natural end; meaning you must manually stop it.
And this is done via the 2nd command sequence:
2) Stop Play after TalkUser:
Line1: creates a direct player called 'TalkUserOutro' using the file 'outro.mp3' and the output mixer channel 'OUT'.
Line2: injects a command sequence to execute when 'TalkUserOutro' finished playback -> just to free and stop it
Line3: injects a command sequence to execute when 'TalkUserSoundbed' finished playback:
-> this command sequence will actually start playing the 'TalkUserOutro' (not looped, at its original level 0dB)
Line4: finally triggers the fadeout (700ms) and stop and freeing of the 'TalkUserSoundbed' player.

Note, that the trick here is again Line3. It makes sure, that once you stopped the Soundbed (triggered via Line4), the Outro will be played once.

These 2 command sequences can now be assigned to:
a) your Talk User Settings, see the "On TalkUser ON" resp. the "On TalkUser OFF" events
(in such case do not configure any Soundbed within the settings again!)
b) any of your 50 freely available User-Commands
c) to any keyboard/hotkey mapping
(here you might even use the conditional EXEC_COMMAND2 command together with your own macro variable to use a single key!)

Let me know, if this works for you...
andreigherghe
Posts: 15
Joined: 12 Aug 2016 16:48
Re: Custom bed inserts in playlist

Post by andreigherghe »

Hi Bernd,

This solution works wonderfully! Thanks a lot! :D

Once again, proving the unmatched flexibility of ProppFrexx. :)

Kind regards,
Andrei Gherghe - Radio Terra

Post Reply