ElvishArtisan / rivendell

A full-featured radio automation system targeted for use in professional broadcast and media environments
205 stars 64 forks source link

Adding another Track Type for remote scripts #257

Open deltecent opened 6 years ago

deltecent commented 6 years ago

Before switching to Rivendell, we used RadioDJ which had an Instant Request module. When we switched to Rivendell, I wrote a script that sort of did the same thing but I ran into problems because I couldn't really control where the request went, it was always Next, and could be right around voice tracks. RDAirplay keeps log machine information to itself so it is difficult for an external script to know what's really going on and where it's at in the log.

It would be helpful for my purposes if there was another meta track type in addition to Track and Note. Something along the lines of a Place Holder with a new Macro that would replace the next place holder with the specified cart(s). We're also looking at integrating Asterisk PBX with Rivendell so people can record notices via telephone and have them automatically added to the log in predetermined locations. I do not know of a way to do this with the currently available event types and macros.

Another option would be to add a new macro like "NC mach id a/b/n cart [cart] [cart] [cart]":

NC 1 request b [Instant Request Sweeper] [Requested Song]!

This would find the next Note with MARKER_COMMENT of "id". It would then delete the event (b)efore,(a)fter,or(n)one and then replace the Note log event with the specified cart(s).

If the log looked this this:

News Bed - Seque News - Segue Note (EVENT_COMMENT="News")

NC 1 News b [Remotely Recorded Cart]!

This would replace the standard news cart with a cart that was remotely recorded.

ElvishArtisan commented 6 years ago

On Oct 11, 2018, at 12:12, Deltec Enterprises notifications@github.com wrote:

Before switching to Rivendell, we used RadioDJ which had an Instant Request module. When we switched to Rivendell, I wrote a script that sort of did the same thing but I ran into problems because I couldn't really control where the request went, it was always Next, and could be right around voice tracks. RDAirplay keeps log machine information to itself so it is difficult for an external script to know what's really going on and where it's at in the log.

Current ‘stable’ actually has some newly-added support for doing precisely what you describe. Specifically, the ‘Insert Cart’ [‘PX’] RML can now take additional arguments to indicate the location of the insert (relative to the currently playing event) and its transition type. As for getting current log status, just write an RLM to feed that info back to your request system. All of this has been forward-ported to ‘master’ as well.

Cheers!

---------------------------------------------------------------------- Frederick F. Gleason, Jr. Chief Developer Paravel Systems
A room without books is like a body without a soul.
-- Cicero
----------------------------------------------------------------------