Metadata postprocess Starts or Contains

aprizion

Member
Hello, regarding metadata postprocess what is the best option to work as expected (Starts or Contains)?

Starts with JINWFM - replace with XXX
Starts with JINWFM - PRES replace with YYY

Contains with JINWFM - replace with XXX
Contains with JINWFM - PRES replace with YYY

The metadata always starts with "JINWFM - PRES any text" or "JINWFM any text"

Thanks.
 
The metadata always starts with "JINWFM - PRES any text" or "JINWFM any text"
Rules are applied from top to the bottom, so you should place more specific rules at the top, and more general rules at the bottom. In your case, Starts with JINWFM - PRES replace with YYY should go before Starts with JINWFM - replace with XXX.
 
Hello @djsoft, regarding metadata post-processing, is there a way to determine the following?

I want to call/consider<playStatus> and <CategoryName> nodes as seen in the XML example below to use post-processing rules.
So, how can I set in the fields?

if contains? PLAYING SPOTS <-- here is the doubt, I want to consider both nodes mentioned above
then replace with? BREAK

Maybe

1749593667099.png


XML structure below:

<?xml version="1.0" encoding="UTF-8"?>

-<BroadcastMonitor>

<updated>2025-06-10T08:51:51.455</updated>

<stationName>FM</stationName>

<playStatus>PLAYING</playStatus>

-<Next>

<startTime>2025-06-10T08:51:43.216</startTime>


<CategoryName>SPOTS</CategoryName>

<titleName>TOYOTA CARS</titleName>


</Next>

</BroadcastMonitor>
 
Metatada postprocessing works on the broadcasting title, as a single string - after the title is determined. That is, it happens after the XML file (or whatever metadata source you use) has been processed. That is, it processes the source, gets the title string, then it applied the metadata postprocess rules to that string.
 
Thanks for the clarification! Just to confirm, I tested using {playStatus}+{CategoryName} in the title format and it worked when the full string matched. For example:

If playStatus is PLAYING and CategoryName is SPOTS, the combined string becomes PLAYING+SPOTS, and the rule: If contains: PLAYING+SPOTS → Replace with: BREAK works as expected.

However, if only one of the values matches (e.g., PLAYING+JINGLE), then the rule is not applied and the combined string is sent as-is.

So I understand now that the post-processing works only after the combined string is formed, and it must match exactly for the rule
to trigger.
 
However, if only one of the values matches (e.g., PLAYING+JINGLE), then the rule is not applied and the combined string is sent as-is.
It depends on how you set it to compare strings. "Equals" means that the strings must match (case insensitive), there are different options for partial match like starts with/ends with/contains. Probably you can use one of those.

So I understand now that the post-processing works only after the combined string is formed, and it must match exactly for the rule
to trigger.
Metadata postprocessing rules are applied after the title string is retrieved from the metadata source and before it's sent to the streaming servers.
Exact match is only an option, as stated above. Partial match is also possible.
 
It depends on how you set it to compare strings. "Equals" means that the strings must match (case insensitive), there are different options for partial match like starts with/ends with/contains. Probably you can use one of those.

Yes, I am using "if contains" by reading both nodes: {playStatus}+{titleName]

{playStatus} always contains PLAYING or STOPPED
{titleName} it varies

So, if contains PLAYING+CUÑAS then replace with --- this is working fine -- result is "BREAK"
if contains PLAYING, but it's a different other than CUÑAS (e.g.: BIG) the result is "PLAYING+BIG"

1749723361282.png


Metadata postprocessing rules are applied after the title string is retrieved from the metadata source and before it's sent to the streaming servers.
Exact match is only an option, as stated above. Partial match is also possible.
Got it, thanks.
 
Back
Top