Skip to content

0.1.9.1

Latest

Choose a tag to compare

@github-actions github-actions released this 18 Oct 15:32

Warning

Rexarr is in beta. Settings, file layout and the API can still change between releases. Keep backups
(System → Backup) and report what breaks.

Downloads

Platform File
Windows 10 / 11 win-x64-installer.exe · portable win-x64.zip · 32-bit win-x86-installer.exe / win-x86.zip
macOS 11+ Apple silicon osx-arm64-app.zip · Intel osx-x64-app.zip · terminal osx-arm64.tar.gz / osx-x64.tar.gz
Linux linux-x64.tar.gz · linux-arm64.tar.gz · linux-arm.tar.gz · Alpine linux-musl-x64.tar.gz / linux-musl-arm64.tar.gz
FreeBSD freebsd-x64.tar.gz (needs pkg install node22)
Docker docker pull ghcr.io/moonlightlaboratory/rexarr:0.1.9.1 · docker pull moonlightlaboratory/rexarr:0.1.9.1

Packages include Node.js; Rexarr runs on http://localhost:3939. See the
install guide.
The macOS app is not notarised: the first time, right-click Rexarr.app → Open.

New

Box sets

A four-disc season used to be four unrelated items in the queue that happened to share a name. Now the discs of
one season gather under a parent: Naruto - Season 1 box set, with Disc 1, Disc 2 and the rest inside it.

Each disc reads as what is on it rather than what MakeMKV called it — Disc 2 · E06 to E09 · 4 episodes — and
opens to the episodes themselves, by name, straight from Sonarr: E06 A Dangerous Mission! Journey to the Land of
Waves!
rather than title_t03. Every disc keeps its own state (waiting, ripping, remuxing, done) and the set
shows how far through all of them it is.

When a disc is identified as the same series and season as one already in the queue, it offers to join rather
than starting an item of its own — Add this disc to “Naruto - Season 1 box set”? — and its episodes carry on
from where the last disc ended, so Disc 2 begins at E06 when Disc 1 held five. It asks rather than assuming,
because two discs of one season are usually a set but not always, and a disc put in the wrong one would be
numbered from the wrong place. Declining is remembered, and a disc can be taken back out of a set at any time.

A set is only ever its discs: it appears with the second one, goes when they go, and leaves nothing empty behind.
Turn the whole thing off with Group multi-disc sets into box sets in Settings → Disc ripping.

Swapping discs through a set

A box set is a stack of discs and two drives, so the queue now works that way.

Swap appears on a drive the moment its disc has been copied — not when the encode finishes, because
remuxing reads from disk and holding a tray shut for the length of a transcode idles a drive for nothing. One
press ejects the tray and the drive says what to put in next: Waiting for Disc 3 of Naruto - Season 1 box set.
Close the tray and the disc is read and dropped into that slot. While a drive is still reading, its Swap is
greyed out, and the server refuses the same thing rather than trusting the button.

Swap all finished does it for every drive at once, so a whole stack can be pulled and reloaded in one pass.
Each drive is given a different disc to wait for, rather than both asking for disc 3.

The set lists the discs that have not turned up yet — Disc 3 · incoming — so what is missing is visible without
counting. How many discs a set holds is worked out from the season's episode count and what its discs actually
hold (35 episodes at four or five a disc is eight discs), and Discs… sets it by hand when that is wrong.

If the disc that goes in is not the one expected — another series, a disc already ripped, or simply a different
disc of the set — nothing is filed by force. The disc says what it is and offers to go in at its own number, at a
number you pick, or to stay out of the set as its own item. A disc that matches no series at all is a new queue
item exactly as before.

Starting and watching a stack

Rip all starts every disc that has been read and is only waiting for someone to press start, keeping the
titles, episodes and profile already settled on each one. Next to it, Swap All — the same thing for every
drive whose disc has been copied.

A rip's elapsed time is now a running clock rather than a figure that only moved when something else happened on
the page, and it shows against each disc of a set as well as in the disc's own card.

Fixes

  • Box set rows line up. The disc rows were a flex row, so a badge on one disc ("guessed") shunted that row's
    episodes, count and status out of step with the rows above it. They are a grid of fixed columns now — each row
    is its own grid container, so a column sized to its own content still drifted from the row above — and every
    row in a set now shares one set of column positions. The disc and its episodes read as a group on the left,
    state and actions on the right, instead of a metre of empty row between them on a wide screen.

  • A drive is named like a drive. MakeMKV writes the formats it burns in front of the model and the serial
    behind it — "DVD+R-DL HL-DT-ST DVDRAM GT50N LT20 M1BC6B45752" — which wrapped onto two lines and said little.
    The model is what is shown; the full string is still there on hover.

  • An expanded disc is not a card inside a card. Opening a disc in a set showed the whole rip card, header and
    all, repeating the series, the year and the state that the row above it had just said. Inside a set that header
    keeps only what the row does not say — the disc's own label, its drive and its age — and the panel is inset so
    it reads as part of the row it came from. The divider above a disc was also being drawn twice, making it
    heavier than the one above an empty slot.

  • An empty progress bar is not shown. A set that has not started drew a full-width grey bar reading 0%, which
    said nothing the "0 of 2 done" beside it had not already said.

  • A long disc's episodes run in columns rather than down one tall, thin list.

  • One drive is listed once. While MakeMKV works out what it has, it can report a drive twice in one listing:
    an empty slot and, separately, the same model with its disc. The entry naming a device is the real one.

  • Discs are opened by their device, not by MakeMKV's drive number — the cause of most "could not open the
    disc" failures.
    disc:1 means "the second drive in MakeMKV's list", and that list is rebuilt on every call:
    a drive MakeMKV does not manage to enumerate shifts every number after it. A disc noticed in one call was then
    ripped by a number that, in the next, belonged to a different drive — usually an empty one, which fails to open
    in under a second. Where MakeMKV reports a device node, Rexarr now uses it, and a disc whose drive has been
    renumbered since it was noticed is read through the drive it is actually in. Windows reports drive letters and
    keeps using the number, as it always did.

  • Drives with nothing in them are no longer missing from the drive list. MakeMKV names a drive's device only
    once a disc is loaded, and Rexarr discarded any drive it listed without one — so a machine whose drives were all
    empty looked like a machine with no optical drive at all, with nothing to select and nothing to insert a disc
    into. An empty drive MakeMKV lists is now shown as the empty drive it is. Rexarr's own detection no longer adds
    a second copy of it either: with no device on either side to compare, the drive's model is matched instead.

  • A disc in the second drive is no longer credited to the first. Rexarr's own drive detection read macOS's
    drutil status positionally: every device node in the output, zipped against the list of drives. With one drive
    that is the same thing. With two it is not — a drive holding no disc prints no device line, so the nodes shift
    up, and a disc in the second drive was attributed to the first while the drive the disc was actually in was left
    with no device to open at all. Each device is now read from the block of the drive it belongs to.

  • A disc is tried both ways MakeMKV can be told to open a drive. Neither handle is dependable alone: a drive
    number can move between calls, and MakeMKV answers "Unknown device" for a device node it did not enumerate that
    run — which happens to a second drive more than a first. A scan that cannot open a disc now tries the other
    handle before giving up, and remembers the one that worked for the rip that follows.

  • A disc that failed to scan no longer fills the page with copies of itself. A failed scan was never marked
    finished, and the drive poll treats an unfinished disc as a newly inserted one — so a disc that would not open
    got another entry every few seconds, for as long as it sat in the drive. It is marked finished now, failed or
    not, and the same disc is left alone until it is swapped.

  • One drive is no longer mistaken for two. MakeMKV reports a macOS drive as /dev/rdisk5 where Rexarr's own
    detection finds /dev/disk5; when MakeMKV did not list a drive and Rexarr found it instead, entries made under
    one name did not match the other, and the disc was detected again as new. The two names are compared as the one
    drive they are.

  • A disc is read again before being given up on. A disc is noticed as soon as the drive reports a label,
    which can be before the drive has come up to speed — the read then fails to open the disc, though the same disc
    reads perfectly seconds later. A scan that cannot open a disc now waits a moment and tries once more.

  • "Failed to open disc" says what actually went wrong. On macOS it always blamed a mounted volume, which sent
    people to Disk Utility for a drive that was merely still spinning up. It now quotes MakeMKV's own reason where
    there is one — a drive reporting NOT READY, or a drive MakeMKV never found — and tells an unreadable disc image
    apart from a disc in a drive.

  • A disc that has finished is not waiting to be inserted. A disc that finished moved to the History tab,
    vanished from its box set in Current, and came straight back there as an incoming slot — the set claiming a
    disc it had just ripped had never gone in. The expected disc count fell with it. A set is gathered from every
    disc now, wherever each one sits, and stays in Current while any of them is still going.

  • Taking one disc out of a set no longer takes the other with it. Removing disc 1 of a two-disc set dissolved
    the set, so disc 2 left a set nobody had asked to break up. A set of one is kept — more discs are usually
    coming. The button says Take out rather than Remove, which on a row that looks like a rip read as delete,
    and it asks first. A disc that has been taken out can be put back with Add to box set, which works out its
    set then and there; before, it was never offered one again.

  • A rip that cannot open the disc says why, and tries again. It reported only makemkvcon exited with code 11
    on title 0
    , when MakeMKV had said Failed to open disc two lines earlier. macOS remounts a DVD the moment
    MakeMKV lets go of it, and can do so between the unmount and the open, which drops the rip to OS access mode.
    The rip now unmounts again and re-reads the title, and an error that remains carries MakeMKV's own reason.

  • A drive waiting for the next disc of a set notices it arriving. The drive list is held still while a rip
    runs, because listing drives makes MakeMKV query every one of them, so a disc put in during a rip was not seen
    until everything went idle — which is exactly when swapping is meant to help. A waiting drive is now checked
    against the machine instead, which leaves the rip alone. The waiting state also survives the tray: it was keyed
    by device node, and a node can change when a disc is swapped.

  • RexDB contributes without being asked twice. A corrected disc is sent on its own by default, nothing is
    sent that was not read off the disc, and the Send button no longer appears when there is no service to send to.

Full changelog: v0.1.9.0...v0.1.9.1

Full Changelog: v0.1.9.0...v0.1.9.1