How to get Spatialllabs Go to stay in 3D mode indefinitely...

katkit
katkit Member Posts: 24 Networker

In the following file, the behaviour of the Spatiallabs Experience Center application is defined:

C:\Program Files\Acer\SpatialLabs\ExperienceCenter\resources\app\main.js

If you edit this file in place, you can change how the application behaves.
I recommend putting it through a Javascript pretty printer first however, since it is formatted terribly. Also make a copy of the file before you start editing if something goes wrong…

To make Spatiallabs Go stay in 3D mode until explicitly exited, search for the following lines and remove them:

this._activePID = o.getActiveProcess(!0), this._detectForegroundInterval = setInterval(() => {
this.bIn3DView && this._activePID && this._activePID !== o.getActiveProcess(!0) && 0 !== o.getActiveProcess(!1) && (this._log.writeLog(change foreground window pid: from ${this._activePID} to ${o.getActiveProcess(!0)}), this._activePID = void 0, this.stop3DViewAltTab())
}, 1e3),

and

setInterval(() => {
this.isFullscreen !== D.isForegroudInFullscreen() && 0 !== D.getActiveProcess(!1) && (this.isFullscreen = D.isForegroudInFullscreen(), this.admin.isAutoDetection() && (console.log("isFullscreen: " + this.isFullscreen), !this.isFullscreen || this.util.is3DView() || this.util.isFocusTutorial() || this.util.show3DHint(!0)), !this.isFullscreen && this.util.is3DView() && this.util.stop3DViewCheckFullScreen())
}, 3e3),

Make sure you remove EXACTLY that text, nothing more or less.

After these changes, you can put Spatiallabs Go into 3D mode and switch focus to different applications without exiting 3D mode!

If you also want to have the Escape key not exit 3D mode, remove these lines:

r.globalShortcut.register("Escape", () => {
this.stop3DViewEsc()
}),

and

r.globalShortcut.unregister("Escape"),

Again, only remove EXACTLY that text, nothing more.

I also attach the whole file for you to try (had to change extension, so change it back). This is for Experience Center V1.3.244. You should not use that file for other versions, but rather make the changes manually as described.

Answers

  • katkit
    katkit Member Posts: 24 Networker

    Also, if you want to be able to enter 3D mode for non-fullscreen applications, set the following registry value to zero:

    HKEY_LOCAL_MACHINE\SOFTWARE\Acer\SpatialLabs\Fullscreen_Detection

  • cfirecracker
    cfirecracker Member Posts: 1 New User

    This is fantastic info! Do you have any more insights into tweaking the SpatialLabs software? In particular, I'm looking to:

    • Force SBS FULL mode vs HALF mode
    • Reduce latency
    • Start 3D mode effect without relying on Go widget and Experience Center

    I am developing software that shows 2 cameras side-by-side in real-time on the monitor, and I would like to trigger the 3D effect within my software directly. When I use the Go app, it's annoying to require a hotkey or mouse clicking on floating widgets, and then I get > 300ms latency added by the monitor / SpatialLabs software when I turn on the 3D effect. This contrasts greatly compared to the monitor's small amount of added latency for 3D games (seems < 50ms).

    Acer Support via a ticket seems very slow, and the Developer site for SpatialLabs has nothing about help with streaming video or any kind of API except for gaming.