Configuration Re-Loading

Hi Torben & crew,

I’d like to be be able to re-load mAirList’s configuration in real time, so as to add or remove various ScreenObjects, etc.

So far I’ve worked with IConfiguration and have managed to read and write sections and values inside the ini files. It’s very similar to Delphi’s TIniFile class.

But to see the results mAirList has to be closed and re-started. Is there any way to re-load the configuration when mAirList is actually running?

Thanks,

Greg

I understand you want to change your layout and skin while broadcasting?
Why would u like to make changes, what screen objects u want to change while making a program?

The way you explain, I not really understand why you would make changes in your layout so often that it has to be done “real time”.

I don’t think he meant to change the confuguration during a running program. :wink:

Actually I think he is making a design for his mAirList and dont want to open and close mAirList after each small change to check if this works.

Colleagues,

Our station has six staff and several hundred volunteers. There are four studios, of which only one is “on-air”. That on-air mAirlist is locked down so that it functions for playout only. e.g CartWall pages can’t be added or removed, and the menu bar isn’t present.

In the other areas staff sometimes want to be able to add / remove CartWall pages, etc. Some additional buttons and fields are needed for that. While ExecuteCommand allows changes like like text / caption and colour, making a button or text object actually invisible doesn’t seem possible. The only way this works for me now is a restart with a different set of ini files. So changing “on the fly” would be much tidier.

I’ve developed a login process for different mAirList layouts using PowerShell, but dealing with multiple versions of various ini files is difficult and prone to error. The IConfiguration interface has a neat set of methods for manipulating ini files, but where I’m stuck is reloading them with mAirList going.

Thanks,

Greg

May be an other way might be the solution for this problem.

Funny, because just yesterday @UliNobbe replied to a question of how to run multiple instances on one computer. So possibly if you run two basicly identic instances of mAirList on the system, you can make changes at one, while the other one keeps the program running. Afterwards you can change back again, but I’m not sure if I do understand the problem correctly.

Therefor you just need the Multi Instance Manager. Am i right Uli?

Hello @Anna_On_Air,

I’m not sure if you are on the right track.

Concerning things like …

… and …

… I would like to forward this to Torben and wait until tomorrow (Monday).
That’s why I didn’t answer to this question before, because I think Greg’s idea is not so easy to handle (for me).

That makes sense to me :grin:

@UliNobbe I do understand. So it just was an Idea. :wink:

Sorry, it is not possible to make the entire configuration “dynamic”.

Those things for which it is are already accessible through the Control Panel in the playout.

But there are certain parts (including basic settings like number of playlists/players, and most GUI things like screen objects) which require special initialization sequences, and adding/removing things at runtime would make it much more difficult.

For screen objects, the main reason is way they are automatically placed in the “automatic layout” mode of the main window.

I could imagine a more flexible and dynamic layout/screenobject/etc. system in the future. But the current architecture doesn’t make it possible.

2 Likes

Hi Torben,

Thanks for that clear response. I suspected that may be the case, given the challenging relationship between the main program, scripting, and the screen objects. The fact that those screen objects are as flexible as they are now is pretty remarkable.

I’ve already coaxed PowerShell into providing a password login procedure to start mAirList using custom sets of ini files. But setting up those files is tedious. I think now I’m on the way to having PowerShell use Win API calls to tweak the ini files at startup depending on the login password provided.

[Anna_On_Air, RuVo80 - thanks for trying to figure out what I was after - it wasn’t particularly clear I admit].

Regards,

Greg

No Problem … It was a pleasure for me, even if I could not really help :wink: