github Utility-Muffin-Research-Kitchen/Leaf-beta v0.9.0-beta.1
Leaf v0.9.0-beta.1 (Tester Build)

one month ago

Warning

This is a beta test build, not a public release. It is provided for testers
only and may be unstable, incomplete, or change without notice. Do not run it as
your everyday setup, and please do not redistribute it. For a stable, supported
version, install the latest release from the main Leaf repo:
https://github.com/Utility-Muffin-Research-Kitchen/Leaf/releases/latest


What's new in v0.9.0-beta.1

Recording. You can now capture what you are playing to a video file, from the
handheld itself, with no capture card and nothing plugged in.

There is also a new Sega core and one fix that is invisible except in the logs.

Recording gameplay

Menu + R1 starts a recording. Menu + R1 again stops it. That is the whole
control.

Clips land in Recordings/ at the root of your SD card, so they show up
wherever you browse the card from. Each recording produces two files: a .mkv
captured while you play, and an .mp4 made from it once you exit the game. The
MP4 is the one to share. It plays in browsers, in Discord, and on a phone
without converting anything first.

Recording is off by default. Turn it on in
Settings > Controls & Feedback > Recording.

Why there are two files

Capturing has to be cheap enough to run underneath a game without slowing it
down, and the format that does that well is not the format that travels well.
So the capture is a Matroska file with lossless audio, and the shareable MP4 is
made afterward, when nothing is real time any more.

The video is copied across untouched, never re-encoded, so the MP4 loses no
quality against the capture. Only the audio is re-encoded.

Converting starts when you exit the game and takes a few seconds to about half a
minute depending on length. If you exit and the MP4 is not there yet, give it a
moment.

Splitting for Discord

Discord's free upload limit is 10 MB, and gameplay reaches that in about half a
minute at the quality this records at. So anything over the limit is cut into
numbered parts that each fit under it, and the parts are cut on frame
boundaries, so together they hold the whole recording with nothing missing or
repeated at the seams.

Two settings control this, both under Settings > Controls & Feedback:

  • Split Over 10MB, on by default. Turn it off if you would rather have one
    large file.
  • Keep Original, on by default. This keeps the .mkv alongside the MP4.
    Turn it off if you only want the shareable file and would rather save the
    space.

What recording does not cover

RetroArch games only. PSP, Dreamcast and PortMaster titles run in their own
emulators, which Leaf does not drive the recorder for. Menu + R1 simply does
nothing in those, and R1 reaches the game as usual.

Shaders are not captured. If you run a CRT shader, clips come out as the raw
picture without it. Recording taps the emulator's own output, before any shader
runs. Capturing the shaded picture is possible in principle but costs far more
performance than it is worth on this hardware.

Screenshots are unchanged and still on Menu + L1.

32X games

PicoDrive ships for the first time, and 32X and MD32X now use it by
default. They previously pointed at Genesis Plus GX, which does not play 32X
titles.

A quieter log

One warning accounted for 16 percent of the session log: 7,724 lines out of
48,222. It was not reporting a real failure. Parts of the interface send a
message to the daemon without waiting for the answer, on purpose, because
waiting would stall drawing during things like held-direction scrolling. The
daemon then wrote its reply to a connection that had already closed and logged a
warning about it. Every haptic tick produced one, so the rumble work in v0.8.0
multiplied it.

Nothing behaved incorrectly, but it made the logs much harder to read and wrote
a lot of pointless lines to your card.

Testing notes

Turn recording on first. It is off by default, so Menu + R1 does nothing
until you enable it in Settings > Controls & Feedback.

The most useful thing to check is whether the game plays normally while
recording
. Start a clip and keep playing for a while, listening as much as
watching. If audio starts crackling or the game feels like it is running slow,
that is worth reporting in detail: which system, which game, and whether it
cleared when you stopped recording or only after leaving the game. Please note
the core too, if you know it.

Worth putting time into:

  • Long clips. Anything over about half a minute should split into parts.
    Check the parts actually play, that the last one is not cut short, and that
    the action continues across a part boundary rather than skipping or repeating.
  • Several systems. NES, Game Boy, Genesis, SNES, PlayStation. Different
    emulators feed the recorder differently.
  • Exiting quickly. Stop recording and leave the game immediately, rather
    than waiting around. Converting happens after you exit.
  • Playing again right away. Start another game while a long clip is still
    converting in the background. Recording again during that is fine and worth
    trying.
  • Both toggles. Try Keep Original off, and Split Over 10MB off with a
    long clip.
  • 32X, if you have any 32X games.

Two things that are known and not worth reporting:

  • The .mkv reports a longer duration than it actually contains, by about four
    and a half seconds. The file itself is complete, the number is wrong, and the
    MP4 is correct.
  • Converting needs roughly three times the capture's size in free space while it
    works. On a nearly full card it will decline and say so, and leave the capture
    alone for later.

If a clip comes out wrong, please keep the .mkv rather than deleting it. It is
the original, and the MP4 can always be rebuilt from it.

Don't miss a new Leaf-beta release

NewReleases is sending notifications on new releases.