Skip to content

Engine Nebula

Taiizor edited this page Jun 19, 2026 · 2 revisions

Engine: Nebula

Sucrose.Live.Nebula is Sucrose's lightweight video engine, built on the WPF MediaElement control. It plays Video wallpapers only, using Windows' built-in media stack (Media Foundation / DirectShow codecs installed on the system) rather than a bundled media library. Nebula is the alternative video player to choose when libmpv (MpvPlayer) is undesirable — it has no large native dependency, but it can only play formats that the operating system itself supports. This page covers the technology, supported type, playback control, codec dependency, and when to use it.

Table of contents

At a glance

Property Value
Assembly Sucrose.Live.Nebula.exe
Tech WPF MediaElement (SSENMI.MediaEngine) — Windows Media Foundation / DirectShow
Supported types Video
Default for (none — MpvPlayer is the default video engine)
Preprocessor symbols ENGINE, LIVE_NEBULA
Runtime requirement OS media codecs (no bundled native binary)
Interactivity No (pure media playback)
Audio/system-data injection No

Technology

Nebula is "Nebula" only as an internal codename — under the hood it is a plain WPF MediaElement (SSENMI.MediaEngine). It renders through Windows' built-in media stack (Media Foundation / DirectShow), so it relies entirely on the codecs already installed on the system. It has no native dependency beyond Skylark, making it the lightweight alternative to MpvPlayer for video.

Supported wallpaper types

Nebula renders Video only — its Configure() switch has just the SSDEWT.Video case. It cannot render Gif, Url, Web, YouTube, or Application. See Type Video.

Playback control

Helper/Video.cs provides the control surface:

  • Pause / Play / Stop.
  • SetLoop — rewinds to TimeSpan.Zero and replays when the clip ends.
  • SetVolume — computed as Volume / 100, because MediaElement.Volume is a 0.0–1.0 scale (not the 0–100 scale MpvPlayer uses).

Codec dependency

Because Nebula uses the OS media stack, any format Windows cannot play will not play in Nebula. There is no bundled decoder. If a video does not appear, the most likely cause is a missing system codec — MpvPlayer (which bundles libmpv) is far more format-robust and is the better choice for unusual containers or codecs. See Engine MpvPlayer and Troubleshooting Common.

When to use Nebula

Choose Nebula when:

  • You want a video wallpaper with the smallest engine footprint (no ~80–117 MB libmpv binary).
  • Your video uses common, OS-supported formats.
  • You specifically want to avoid the native libmpv player.

Otherwise, the default MpvPlayer is recommended for video because of its broader codec coverage. Switch the Video engine on the Settings → Wallpaper page (VideoPlayer selector). See Choosing Engines and Settings Wallpaper.

Strengths and limitations

Strengths

  • Very lightweight — no bundled native binary, no large runtime download.
  • Simple, reliable playback for common, OS-supported video formats.

Limitations

  • Plays Video only.
  • Depends entirely on OS-installed codecs; formats Windows cannot decode will not play.
  • No interactivity and no audio-reactive / system-status injection.
  • Less format-robust than MpvPlayer.

See also

Home

Getting Started

Wallpaper Types

Using Sucrose

Settings Reference

Creating Wallpapers

Engine Reference

Automation & Command Line

Architecture & Internals

Data, Files & Diagnostics

Building & Contributing

Help & Support

Clone this wiki locally