Send commands to Axum/mambanet

   Error (de-)activating object "D&R AXUM (MambaNet)": mbnInit: This library has been built to only allow ManufacturerID 8

and after creating en NEW mambanet remote I get error:

   Error (de-)activating object "D&R AXUM (MambaNet)": Access violation at address 6FF5315E in module 'mbn.dll'. Write of address 6FF5D5E0

Oops, I think I removed something accidentally :wink: Try build 4462 now please.

Yes! now I see the sensors in het mairlist node in axum!

I guess I now need to send signals by a script. I tweaked a code I have found.

Do You think this should work to send a signal when the player stops ?

procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer; Duration: TTimeValue);
var
i : integer;
begin
if (PlaylistIndex= 0) and (PlayerIndex= 1) and (CurrentPlaybackControl.GetAutomation = false) then begin
MambaNetRemote(0).SetSensor(1, false);
end;
if (PlaylistIndex= 0) and (PlayerIndex= 2) and (CurrentPlaybackControl.GetAutomation = false) then begin
MambaNetRemote(0).SetSensor(2, false);
end;

Well, now here comes my general lack of knowledge of the MambaNet system…

I assume the sensors are “tally”, which means that you will have to set them to true when the player starts, and to false when it stops again.

Oh, I just wondered If you think this code should send the commands. I can set a action for each sensor true/false in the axum/axite settings.

The code you posted sets the sensors to false when the players stop. But never sets them to true on start in the first place. That was my point :wink:

I got this error

17-1-2022 10:44:27 Fout Runtime error “List index out of bounds (5198049)” in background script D:\stopplayers.mls, handling message: PLAYERCONTROL_STOP 089CCFC8487770EA 00 00000001 00000000 3,968 ?

Please verify that the parameter list of the procedure is complete - I think the Item parameter is missing. It was introduced a few years ago; so wherever you found that script, it was probably made for an older version that didn’t have the parameter.

Unfortunately the script engine is unable to verify the parameter list on its own. So always compare the procedure headers to those from the Background Script Template.mls file in the program folder:

// Called when (playlist) player is started
procedure OnPlayerStart(PlaylistIndex: integer; PlayerIndex: integer; Item: IPlaylistItem);
begin
end;

// Called when (playlist) player is stopped
procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer; Duration: TTimeValue; Item: IPlaylistItem);
begin
end;
1 Like

Thanks Torben! It works XD

1 Like

Then share your knowledge and post your script to help others! :slight_smile:

1 Like

How to stop your source/turn off your button when the file has ended?

→ get the latest snapshot/ version of MmAirlist
→ set the axum remote ( in mAirlist control panel > remotes)
→ create a ‘mairlist’ node in the axum envoronment.
(this is all in the setup for het axum/mambanet remote)

Then:
create a .MLS file with the following script, and load this file in “background files” in the ‘control panel’ of mairlist.

// Stop players a/b en jingle 1,2,3,4

procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer; Duration: TTimeValue; Item: IPlaylistItem);
var i : integer;
begin
if (PlaylistIndex= 0) and (PlayerIndex= 0) and (CurrentPlaybackControl.GetAutomation = false) then begin
MambaNetRemote(0).SetSensor(1, true);
for i := 1 to 500 do;
Sleep(500);
MambaNetRemote(0).SetSensor(1, false);
end;
if (PlaylistIndex= 0) and (PlayerIndex= 1) and (CurrentPlaybackControl.GetAutomation = false) then begin
MambaNetRemote(0).SetSensor(2, true);
for i := 1 to 500 do;
Sleep(500);
MambaNetRemote(0).SetSensor(2, false);
end;

if (PlaylistIndex= 1) and (PlayerIndex= 0)  then begin
MambaNetRemote(0).SetSensor(3, true);
for i := 1 to 500 do;
Sleep(500);
MambaNetRemote(0).SetSensor(3, false);
end;

if (PlaylistIndex= 2) and (PlayerIndex= 0)  then begin
MambaNetRemote(0).SetSensor(4, true);
for i := 1 to 500 do;
Sleep(500);
MambaNetRemote(0).SetSensor(4, false);
end;
if (PlaylistIndex= 3) and (PlayerIndex= 0)  then begin
MambaNetRemote(0).SetSensor(5, true);
for i := 1 to 500 do;
Sleep(500);
MambaNetRemote(0).SetSensor(5, false);
end;
if (PlaylistIndex= 4) and (PlayerIndex= 0)  then begin
MambaNetRemote(0).SetSensor(6, true);
for i := 1 to 500 do;
Sleep(500);
MambaNetRemote(0).SetSensor(6, false);
end;

end;

begin
end.

In the axum envorinment, under ‘Surface configuration’ > ‘Mairlist’ node

Set sensors to stop the source.

Sensor1 S [Player A: Stop]
Sensor2 S [Player B: Stop]
Sensor3 S [Jingle1: Stop]
Sensor4 S [Jingle2: Stop]
etc.

! Select the source name you have choosen for your players.

! Be sure you use ‘start/stop’ for your buttons, not module on.
in your surface settings of your ‘mixing surfaces’.

example:  Switch 6.4	S + A	0	Module 6: Source start/stop
3 Likes

Hi Jorik, so… with all this implemented. I can start considering the Axite :slight_smile: Cheers Wilbert

2 Likes

I’m looking for the procedure if the VT player A / B stops.

Is there an excisting MLS procedure for this?

No, there isn’t. Just the general on/off for the entire VT dialog.