Prevent mAirlist from being closed

Hi, I’m new to mAirlist and the forum.

We’ve recently purchased mAirlist for our Radio station. Currently we’re using Carmen, but we want to migrate soon. We’ve created a test setup to explore
the possibilities of mAirlist. In the test setup we’re using a PostgreSQL database server for the mAirlist database.

We’ve got a lot of users (dj and studio) which are very creative to say the least
and this caused several issues in the past. To prevent this we’d like to make our mAirlist setup monkey proof. This means that we’d like to lock it as much as possible. There is only so much we can do with the Windows network access management and mAirlist database user restrictions.

What I’m trying to do is make sure that the user cannot access anything on Windows, except mAirlist and that the user cannot close down mAirlist. The former was possible by running mAirlist as the Windows Shell and map network drives before starting mAirlist. However preventing the user from shutting down mAirlist does not seem to be that easy. Perhaps there is an option in the configuration to do this, but I haven’t found it.

This is what I’ve tried so far.

  1. Writing a script to hook the OnStartup event handler, in order to disable the close button of the main window. However the scripting engine doesn’t seem to recognize all Delphi units and functiions. Calling Windows.GetSystemMenu lead to an error.
  2. Since scripting is not working I’ve created a C++ program that disables the close button of the mAirlist main window and that hooks the ALT-F4 key handling. This works fine. However, there is a problem. As soon as I switch mAirList to/from Dark mode the close button is enabled again. I’ve tried several approaches (this is not the place to go into all details), suffice to say that nothing worked. Does anyone has an idea how I can do this?

I hope someone can help me out.

Kind regards,
Marco

Yes! :slight_smile:

Welcome to the forum and to mAirList!

As we all know that kind of “monkey staff” mAirList has a built-in function to prevent people from interrupting the playout and creating other chaos.

Though it’s a little bit hidden…

Open the system configuration and select MiscellaneousPasswords :

Among other possible permission just change the “Exit playout application” option to your desire.

You can set the local password for Managers or Administrators (or use the database accounts that still exists) to grant them more permissions in the playout.

Restart the playout and your changes will take place.

Whenever you or a Manager/Admin needs to make changes or exit the Playout, just open the Login-Option:

Screenshot 2025-01-06 011045

and enter the credentials:

Screenshot 2025-01-06 011058

Voilá :wink:

Hi Stefan,

First of all, thanks for your quick reply. I forgot to mention that I already tried this, because I understood that it should work this way. However, it didn’t work. I’ve tried again and followed your procedure to the letter, but still no success.

I set the level to Manager for all tasks in the list.
The login dialog pops up when I want to change skin.ini or when I try to open the control panel, but I can still exit the main window of mairlist by clicking on X in the upper left corner or by pressing ALT-F4.

Perhaps disabling this, is not meant by ‘Exit playout application’, but that’s what I expected. What is exactly disabled with ‘Exit playout application’?

We need to restrict the users from exiting the application, because we want to keep it running all the time.

Do you know if this is possible or is this just not supported?

If it is not supported, perhaps its possible to do it with scripting, but I don’t know how.

Hi, you’re right. It should work like you expected it.

I just tested it by myself and this seems to be a bug. I’ll forward it to the Developer.

Please stay tuned! :slight_smile:

1 Like

Will be fixed from build 5819.

3 Likes

Thanks Torben for putting this bug on the list for the next release.

It was already fixed and uploaded:
https://download.mairlist.com/current/mAirList/v7.4/snapshot/

:slight_smile: