Link Column - Assist vs Auto Mode, Scripting

I’ve been grappling with the problem of chaining multiple items is Assist mode - and then stumbled across some forum posts about the Link column. I promptly tweaked skin.ini to reveal it, as I’d hidden it in my quest for screen space. Prayers answered, much desperate code now archived! [Suggesting - Links should be mentioned in the next release]

Link(ing) does exactly what we want, but raises two queries :-

  • Shouldn’t it be suppressed in Automation, where it seems redundant?

  • How would one deal with Links via scripting? In the help CHM I’ve found :-

TPlaylistItemStatusFlag = ( pisfInLinkChain , pisfLinkSlave , pisfLinkSlavePadded , pisfError , pisfPrebufferError , pisfFixedStart , pisfFixedStartWait , pisfOverflow , pisfWasStarted , pisfPrebuffering , pisfRealtime ) ;

Is it just a matter of setting the flags as above? I noticed that Links can be set/unset in the GUI “on the fly” (most impressive!), so I’d hope a script could do the same.

Thanks,

Greg

It’s actually one of “Options” on the Playlist tab in the Properties dialog.

item.SetOptions(item.GetOptions + [pioLinked]);

Hi Torben,

Thanks for the code example - that looks straightforward.


It's actually one of "Options" on the Playlist tab in the Properties dialog.

Sorry, I can’t find what you’re referring to there. I can’t see any any reference to “Link” or “Chain” in any of the Config options under Playlists, nor anywhere on the main application GUI context menus, etc. (even the ones that can be enabled under Runtime Features).

What I’d like to achieve is that when a Playlist changes to Automation mode either the Link column disappears (absurd??) or trying to set Links fails. The latter I think I could do by watching the Link flags in the Item’s Options (as above) and removing any that turn up when Automation is on.

But if I missed something much simpler I please let me know.

Regards,

Greg

There is no function that would automatically set/remove links when you switch AUTO. They are just ignored in AUTO mode obviously.

You would have to create a script for that.

See attached screenshot for the option I mentioned.


Shot aus der Zwischenablage (11-02-19, 08-12-01).png

Hi Torben,

Your screenshot explains my confusion - these are Item properties, not Playlist ones. I assume the Link property here is associated with the flags discussed above.

I have scripted a reasonable outcome for our needs wrt Links in Automation mode :-

  • In OnItemStart I establish the correct PlaybackControl (we have 2 Playlists), and if it’s in Automation, then…
if ((PlayBackControl(J).GetPlayerOfItem(Item)) <> -1) AND (PlayBackControl(J).GetAutomation) then

	//  "Get" the options for the item, and "Set" them with any Link flag removed ("-" means minus here in set language).
        Item.SetOptions(Item.GetOptions - [pioLinked]);
		

The result is the flags get removed (eventually) as the items are played.

  • In OnAutomationOn we iterate the PlayList, and un-set any Link flags present…
for J := 0 to (PlayListCount - 1) do
	
	begin		
	ThisItem := Playlist(PlaylistIndex).GetItem(J);
	ThisItem.SetOptions(ThisItem.GetOptions - [pioLinked]);
	end;

There’s a little bit of latency with the playlist iteration, but that’s not a drama.

mAirList immediately removes all GUI flag icons in each case - most pleasing.

Thanks for your help,

Greg