I have a DHD RM4200 and use the 16 buttons on the main module RM420-010 as a cartwall and that works the way it is intended.
But I want something extra: for every item in the cartwall I want the button on the DHD to light up when the button is pressed (on the DHD that works by default but also when I press the item in the software). Next to that I want the light to go out as this particular item has stopped and that never works.
I can achieve it via this way:
For EVERY item on EACH page in the cartwall I have to right click and choose Cart Settings… then Triggers. 2 new Triggers are needed; “When item is stopped” and “When item is started”. The action for both is “Do nothing (only perform additional actions)”. The Additional action for both is Add… → DHD → Set Logic.
The Action for the trigger “When item is stopped” is the hardware Address of the specific DHD button and value “Off” and
The Action for the trigger “When item is started” is the hardware Address of the specific DH button and value “On”
This works perfectly but takes a lot of work to that for every item and you always have to repeat this when adding new items.
Thanks Tondose. I have read this page maybe a dozen times, also when I had the DHD 3200, but I still cannot figure it out.
I thought with buying the RM4200 I could finally use the Toolbox import and export function but I’m still at Toolbox version 4. So I have no idea how to discover the logic addresses of the logic functions.
Today I tried all day to solve that small problem with the PFL but I did not succeed to fix it.
It’s about the PFL of the cartwall. This is a part of my background script:
if (ID = $11160000) AND (Data0 = 0) AND (Data1 = 7) AND (Data2 = 1) then begin
ExecuteCommand('CARTWALL MODE PFL');
end;
if (ID = $11160000) AND (Data0 = 0) AND (Data1 = 7) AND (Data2 = 0) then begin
ExecuteCommand('CARTWALL MODE OFF AIR IF PFL');
end;
And:
procedure OnCartwallOnAirModeChange(OldMode, NewMode: TCartwallOnAirMode);
begin
if (NewMode = oamOffAir) or (NewMode = oamOnAir) then begin
DHDRemote(0).SetPFL(7, false, false);
end;
And this is what happens:
With the fader closed, when I click the cartwall PFL button, on the DHD console, I see in mAirList the cartwall status change to PFL. And I can listen via PFL to the cartwall → that’s good
When I click again the cartwall PFL button, on the DHD console, I see in mAirList the cartwall status change to OffAir → that’s also good.
When I open the cartwall fader on the DHD I see in mAirList the status change to OnAir → also good
With the fader open and then clicking on the PFL button, on the DHD console, the cartwall status in mAirList changes to PFL and I can listen via PFL to the cartwall → as expected
But then, when I click again on the PFL button, on the DHD console, the cartwall status in mAirList changes to OffAir and that is not what I want because the fader is still open. In this case the cartwall status in mAirList should change to OnAir.
I think this should be pretty easy to resolve but I cannot find it…
thanks for the explanation. But that part of the software I already figured out before. I even have a second logic function for every cartwall button (active and ready), when I open the cartwall fader all buttons with a jingle assigned to it turn green, and when I press one of them they turn red (and green again when the jingle is finished).
I’ve also solved the last problem I mentioned above with only logic. So my script (which I unfortunately still need to use) is now very short, only for the ExtPFL, one day I hope to get this also working with only the logic functions, it’s now like this:
//Mixeditor: DHD PFL automatic On when pressing play
procedure OnExtPFLOn(Item: IPlaylistItem; ExtPFLCount: integer);
begin
if ExtPFLCount = 1 then
DHDRemote(0).SetPFL(11, true, false);
end;
//Mixeditor: DHD PFL automatic off by closing player
procedure OnExtPFLOff(Item: IPlaylistItem; ExtPFLCount: integer);
begin
if ExtPFLCount = 0 then
DHDRemote(0).SetPFL(11, false, false);
end;
I only prefer to keep it all in one place, there is nothing wrong with using scripts. Sometimes when you work with the logic on the DHD things happen what you cannot explain. And in the end you discover it is caused by a script.