v0.4.1
Added
-
Accepting a RABBIT update now opens a progress window instead of leaving
you watching a status line: it names the phase ("Downloading RABBIT…
4.1 MB of 10.2 MB"), fills a progress bar as the bytes arrive, and keeps
a running log of each step as it completes, so a screen reader can be
walked back through what happened. The bar covers the download, the
checksum verification and the install, and the window closes on its own
when RABBIT relaunches into the new version. It has no Cancel button on
purpose — once the file swap starts there is nothing to safely undo — and
it can't be dismissed by mistake with Escape. -
The "RABBIT update available" prompt now answers "what would I be
updating to?" before you decide: alongside the question it shows the
release notes for the update, in a read-only box you can read through
and scroll like the package details pane. The notes cover every release
published since the version you are running, not just the newest one, so
skipping a couple of updates still tells the whole story. Update now is
the default button, so Enter accepts from anywhere in the dialog and
Escape declines. When the notes can't be fetched — no network, GitHub
down — the prompt falls back to the short question it has always asked,
since nothing about the notes should stand between you and an update.
rabbit self-update checkprints the same notes. Release notes are also
stripped of their Markdown wherever they are shown, RABBIT's own and
ReaPack's alike — headings, bold, inline code and links now read as the
words they contain rather than as strings of asterisks, hashes and
backticks spoken out loud. Underscores are left alone, since in these
notes they are far more often part of a name you need to hear exactly
(depends_on) than emphasis, and a link's address is dropped while the
text you would have clicked is kept. -
A French REAPER language pack joins the Spanish and German ones, so
REAPER and the SWS extension speak French too. It is maintained by Lee
Julien and Pierre-Marie Curt for ReaperAccessible, the French
screen-reader community. RABBIT installs it asfr_CA.ReaperLangPack,
the name that makes OSARA load its own French translation — thefr_CA
one, which is all but complete where OSARA'sfr_FRtranslation still
leaves about a third of its messages in English. Unlike the other two
packs, this one is published with a version number, which RABBIT reads
from ReaperAccessible's ReaPack index and shows in the wizard.
Changed
-
A language pack you turn down stays turned down. RABBIT ticks the pack
matching its own language for you, which is right for most people and was
wrong for anyone who doesn't want it: unticking it lasted exactly one run,
and the pack came back ticked on the next launch. That refusal is now
remembered in the install receipt, so the pack stays listed and tickable
but is not ticked for you again — including its updates, so a pack you
installed and later stopped using stops re-offering itself every time the
translators publish a fix. A pack that is merely installed and up to date
is not a refusal: it sits unticked because there is nothing to do, and
RABBIT reads that as silence rather than a decision. Tick it yourself and
the refusal is forgotten, so a change of mind sticks too. The memory is
per REAPER install, so you can say no on one and yes on another, and
packages opt
into this through a newremember_opt_outmanifest flag — only the
language packs set it, because they are the ones RABBIT turns on by
guessing. Receipts stay readable by older RABBITs, which simply ignore the
new field. -
The wizard no longer grows a "Set REAPER's language to X" configuration
step for every language it supports. There is one Set REAPER's
language step, and which pack it activates comes from a REAPER
language after installation dropdown listing the packs you ticked — one
decision instead of a row per language, and two translated strings rather
than two per language. On the command line the step id is now
set-reaper-language(it wasset-reaper-language-<language>), and
--reaper-language <package>picks which pack to activate. An unknown
package there is now rejected with the list of language packs rather than
quietly leaving REAPER in English. -
Set REAPER's language is now tied to the language packs you tick.
With none ticked the step is greyed out rather than tickable — the
"REAPER language after installation" dropdown lists exactly the packs you
ticked, so an unticked list left the step pointing at nothing. Tick a
pack and the step ticks itself, ready to be unticked if you want the
files without the switch; untick the last pack and the step clears
itself. A pack merely sitting on disk from an earlier run doesn't arm it:
someone who keeps a German pack installed but runs REAPER in English
chose English, and a run that installs nothing language-related must not
switch the interface out from under them.rabbit setupfollows the same
rule for its defaults, while--config-step set-reaper-languagestill
activates an already-installed pack for people who want exactly that. -
RABBIT <command> --helpnow explains every flag. 47 of the 50 printed
nothing but their own name, which made RABBIT's own advice — "run
--helpfor anything not covered here" — worth very little.
--accept-reapack-donation-noticewas the sharp edge: ReaPack cannot be
installed unattended without it, and neither the help nor the README said
so, which simply reads as a broken install. The README also gains that
example, a Spanish-variant one, and a short tour of the flags most likely
to be wanted.
Fixed
-
On macOS and Linux, ticking a package on the row that already had focus
(Space, or clicking its checkbox) left every control below the package
list stale: the OSARA keymap note, the Spanish translation picker and the
new REAPER-language dropdown only refreshed when the selection changed.
Arrow onto a row and press Space and nothing below the list caught up.
Windows was unaffected — it refreshes them on every toggle route. -
On macOS and Linux, the Configuration group checkbox could be ticked
but never unticked, and always drew as unchecked, as soon as one of its
steps was already applied at the target — which is the normal case, since
an existing ReaPack remote counts as applied. It counted already-applied
steps as unticked members of the group, so "all ticked" was never true. -
Installing a language pack no longer deletes the other ones. RABBIT
treated language packs as mutually exclusive and removed the previously
installed pack, which was simply wrong: REAPER keeps every pack in its
LangPackfolder and only activates one, so a multilingual user can
install German and Spanish and switch between them in REAPER whenever
they like. Packs now sit side by side; the only file RABBIT still
replaces is the one it installed for that same pack, such as when you
switch between the two Spanish translations. -
A failed REAPER install no longer reports itself as a confusing language
error. If REAPER can't be installed, the language pack that depends on it
is correctly skipped — but the step that sets REAPER's language ran
anyway and failed the whole run with "cannot set REAPER's language: no
installed language-pack file is recorded for langpack-de", hiding the
real problem. Configuration steps now look at what actually landed on
disk rather than what was planned, so the genuine failure is what you
see; and if a language pack is missing for any other reason, setting the
language is skipped with an explanation instead of aborting the install. -
macOS: the app bundle now declares Spanish, so VoiceOver reads RABBIT's
Spanish interface with a Spanish voice instead of an English one. RABBIT
gained its Spanish translation in 0.4.0, but the bundle still advertised
only English, German, French and Italian — and macOS decides what language
an app speaks from that declaration.