We have an old Forms based SmartClient plugin running in SmartClient version 2023 R3.
I’m trying to reimplement this plugin to support SmartClient version 2025 R3, based upon the WPF framework.
The plugin simply opens a popup dialog with a number of live video feeds and one replay feed:
All feeds are displayed in ImageViewerWpfControl controls, nested within one ViewItemWpfUserControl (one UserControl contains all ImageViewer controls).
Playback in the lower left control is controlled by a dedicated Playback controller (instantiated with ClientControl.Instance.GeneratePlaybackController()).
This controller is always in replay mode, manually controlled by the play button and slider controls.
The other four controls are controlled by one shared playback controller (again instantiated with GeneratePlaybackController). These feeds are pr. default in Live mode. Toggling between live/replay mode is controlled programatically by an integration to our own application.
When our application enters replay mode, the main smartclient and popup dialogs are forced into replay mode. We do this by requesting the smartclient to enter replay mode (by issuing the ShowWorkSpaceCommand “replay workspace” to the main smartclient. The views in the popup dialog are then synchronized to the main smartclient, by assigning the main replay controller (null value) to the ImageViewer controls in the popup dialog.
If the main smartclient manually enters replay mode, the popup display should stay in live mode.
The first problem I encountered is the display of the Replay/Live toggle button (see attached screendump):
We set the PlaybackSupportedInFloatingWindow=false in the MultiWindowCommand we use to open the dialog.
In the old version, it did hide the toggle button, no matter whether we opened the dialog as a floating dialog or a full-screen dialog.
In the new version, the toggle button disappears, when we open a floating dialog but it stays visible when we open a full-screen dialog.
As described above, we want to open the dialog in full screen mode, without the toggle button being displayed.
The next problem I encountered was that I am not able to enable live replay of the feeds in the popup dialog. As I read your documentation, this should be possible by sending the MessageId.System.ModeChangeCommand, with the argument Mode.ClientLive to the replay controller, assigned to these feeds:
// Summary:
// Can be sent to the individual PlaybackController in the .Net Library MIP and
// Smart Client Environment when the application want to change mode for one PlaybackController
// and all related ImageViewerControl’s.
// The destination parameter must contain the FQID of the PlaybackController that
// should handle the command. The VideoOS.Platform.Messaging.Message.Data property
// should be one of the values in VideoOS.Platform.Mode.
But without success.
As an alternative, I tried to build the same dialog, not as a popup opened with the MultiWindowCommand but based on a top-level VideoOSWindow dialog.
This is actually our preferred solution, because we don’t want to have the possibility to enable the toolbar in the popup and through that way change view in the popup.
But again, enabling the live replay did not work.

