Skip to content

Rubraview 0.0.18

Choose a tag to compare

@rubidus-api rubidus-api released this 29 Sep 04:05
· 55 commits to main since this release

Added

  • The help window's text can be marked and copied; large archives (several
    GB) show their cover in the file picker; the information window ends
    with a summary of the folder (pictures, films, songs, archives and their
    sizes) or of the book (D-53).

  • In the file picker, pages inside a book have thumbnails, and a
    right-click (or Shift+Enter) on an archive goes inside it without
    starting to read (D-52).

  • The file's information (Ctrl+I, File › Information): size, dates,
    pixels, format, colour depth, dpi, colour profile, the camera's EXIF
    (lens, exposure, aperture, ISO, focal length, place and more), and for a
    film or a song its length, codecs, sound, bitrate, tracks and tags. The
    text can be marked with a drag and copied with Ctrl+C (D-51).

  • Comics of several gigabytes open and turn at once (D-47): archives are
    mapped instead of read into memory, ZIP64 archives are read, and a
    solid CB7 block larger than memory is decoded as you read instead of
    refused. Pages inside an archive are ordered folder by folder.

  • With a comic open, the file picker (O) opens inside it, at the page's
    own folder: its volumes and chapters are folders, a tapped page is
    gone to, and .. climbs out of the book (D-47).

  • Sort by names its orders plainly (D-46): plain text, Explorer's order
    (numbers grouped), modified, size, created. The file picker lists in
    the same order, folders first. The toolbox's page bar can be dragged;
    let go on a film or a song, it becomes that page's seek bar.

  • Text in the settings window can be marked with a drag (Shift+drag on
    a setting) and copied with Ctrl+C; Ctrl+A marks the whole page
    (D-45).

  • The toolbox's bar shows where a picture is in its folder or archive
    (D-44), with page / count beside the name; a click on the bar goes
    to that picture.

  • Favourites in the file picker (D-43): the star after the path, or
    Ctrl+D, keeps the folder on screen at the front of the places bar;
    they are saved in favorites.ini.

  • The file picker has a places bar and a typed path (D-42). Home,
    Desktop, Documents, Downloads, Pictures, Videos, Music and the drives
    are one tap away under the path; Ctrl+L, or a tap on the path bar,
    takes a folder or file path (quotes from "Copy as path" are fine, and a
    bare name is taken from the folder on screen).

  • The file picker (O) reaches the whole PC (D-41). A "PC" page lists
    Home, Desktop, Documents, Downloads, Pictures, Videos, Music and every
    drive; .. at the top of a drive and the "PC" chip at the start of the
    path lead to it, and it is where the picker starts when nothing is open
    (it used to start in the folder the viewer was run from).

  • Zooming into a very large picture inside a comic archive (CBZ, CB7)
    is sharp too, as it is for a picture in a folder (RV-085).

  • Zooming into a very large picture is sharp (D-40). The part on
    screen is decoded again from the file in tiles, on a thread of its own,
    and drawn over the reduced picture as each tile is ready; moving
    around fetches the new part the same way.

  • Two pages side by side are shown at one height (D-39): a
    low-resolution scan beside a high-resolution one is no longer drawn
    small. At actual size each page keeps its own pixels.

  • Very large pictures open (D-39). A picture bigger than the graphics
    card can hold, or over 128 megapixels, is shown reduced — read through
    the decoder's scaler, and smaller again if the card still refuses —
    instead of failing to open. The status line gives its real size and
    says "shown reduced"; actual size, the crop and Save a copy use the
    real picture, and the adjust panel's preview works on it.

  • Resizing on the graphics card (D-38). Bicubic and Lanczos resizes of a
    megapixel or more in export and batch runs go to the card when it can
    run compute shaders — the same result as the CPU, byte for byte — and
    batch runs use every CPU core otherwise. Settings › Display ›
    "Resize on the graphics card": off, on (the default) or always.

  • The adjust panel (E) shows its result as you drag (RV-064, RV-065):
    the picture follows every slider and curve, and a histogram of the
    adjusted picture sits behind the curve. Until now only the saved copy
    changed.

  • The rename box edits like a text field: the arrows, Home and End move
    the caret (Shift selects), Ctrl+A selects everything, typing replaces
    the selection, and Ctrl+C, Ctrl+X and Ctrl+V use the clipboard — Hangul
    included. The same box types the picker's "Change ext".

  • Drop pictures from other programs (RV-073, D-36). The window takes drops
    the way Explorer offers them and also the way browsers and mail programs
    do — a picture with no file behind it is copied to a temporary folder of
    the viewer's, opened, and removed when the viewer closes.

  • Thumbnails in the file picker (owner, 2026-09-25, D-34, D-35). Each tile
    shows its picture, softly blurred and a little dark so the name — light
    with a dark outline — reads over it; a folder shows its first picture, or
    its first film; a comic archive its first page. The list shows at once
    and the pictures are made in the background, added as each is ready, so
    the picker answers input throughout. An archive whose first page would
    take too long to read (over about 1.5 s at the speed the disk is giving,
    or a very large page) keeps a plain tile.

  • Subtitles in a box of their own (owner, 2026-09-25, D-33). A tap on the
    subtitle selects its translucent box; S, M, R and X appear at its corner:
    drag M to move it, drag R to resize it (which sets the subtitle size), S
    opens the subtitle settings, X turns subtitles off. The box stays where
    it was left. The toolbox's Sub button turns subtitles off and on; a
    double tap or a held press opens the list of subtitle tracks to choose
    from. Settings › Video gains the box's shade.

  • The music in a window of its own (owner, 2026-09-24, D-31, RV-081).
    Shift+P opens a small player on top of whatever is being read — the
    cover, the track, who made it, a strip to seek on and three buttons —
    driving the background music when there is any and the page's own track
    otherwise.

  • Music plays on while pictures are looked at or a comic is read, and
    stands aside for a film with sound of its own (owner, 2026-09-24,
    D-30, RV-081). The listener's own pause outranks that: music stopped by
    hand stays stopped. Space with no player on the page is the
    background music's.

  • One track runs into the next (owner, 2026-09-24, D-29, RV-075). The
    next file in the folder is opened while the current one still plays and
    takes over at its end with no gap; with [audio] crossfade_seconds set
    the two overlap on an equal-power curve instead. Both settings are live
    on the Audio page.

  • The A-B repeat points can be typed as well as tapped (owner,
    2026-09-24, D-28). Shift+\ opens a box holding both as numbers;
    inside it [ and ] put the playhead into the field in hand, and the
    keyboard types over it — so a point tapped in can be corrected to the
    millisecond and a typed one can be re-tapped.

  • The music page shows the record (owner, 2026-09-24, RV-076): the cover
    in the middle, the same cover blurred behind it, and what the file says
    about the track — title, artist, record, year, track number, codec,
    bitrate, sample rate and channels — along the bottom. All of it is read
    from the file's own bytes (src/core/tags.c: ID3v2.2/2.3/2.4, ID3v1,
    FLAC, MP4/M4A, Ogg Vorbis, Opus, WAV), so it does not depend on which
    backend is playing.

  • Blu-ray picture subtitles (owner, 2026-09-24). A .sup file beside the
    film is offered as a subtitle track and drawn over the picture in the
    frame the disc authored it for, the way a DVD's .idx/.sub pair is
    (D-27). Reading it needs neither FFmpeg nor a decoder.

Changed

  • The seek bar is in the toolbox only: the strip along the bottom of a
    film is gone, and its time, volume, speed and A-B mark are on the
    toolbox's line. The status line no longer repeats the name and the
    position the toolbox shows (D-54).

  • Bicubic and Lanczos-3 resizing in export and batch is faster: enlarging
    3-13 times, moderate shrinking up to twice, large shrinking as before
    (D-32, D-37). A pixel may differ from 0.0.17's by one level of 255, in a
    handful of bytes.

  • Files that share a modified time, a creation time or a size are ordered
    by name, then by the listing, so a folder opens the same way every time;
    before, their order was whatever the filesystem listed. Sorting is
    proven's introsort now, never quadratic.

  • Settings, playlists, subtitles and tags read their numbers with
    proven's parsers: a value that is not a finite number (nan, inf, too
    many digits) falls back to the default instead of being used.

Fixed

  • An archive on a network drive or a card that goes away while open no
    longer closes the viewer; its pages fail and it says why (D-52).

  • DVD (.sub) and Blu-ray (.sup) picture subtitles over about 60 MB did not
    load; they are now read in place, up to 1 GB (D-50).

  • After a long session of browsing folders the file picker could lose
    entries (its .. first): each listing now has memory of its own (D-50).

  • In a CB7, or a compressed CBZ, pages came up blank after a dozen or so
    (the working memory filled with every page read). Each page now has
    memory of its own (D-49).

  • A far jump in a huge solid CB7 no longer holds the window: the page is
    read in the background, the previous page stays with "reading page
    N… P %", and another jump calls it off (D-49).

  • Pictures shrunk to fit are no longer jagged: fine lines and screentone
    stayed broken and patterned because every page was drawn with plain
    cubic. Pages now use Direct2D's high-quality cubic, and Settings ›
    Viewer › Scaling filter is honoured (D-48).

  • A CBZ over about 60 MB did not open at all, and nothing over 2 GB was
    read (D-47).

  • A very large picture turned by its EXIF tag (a phone photo held
    sideways) sharpens when zoomed in within seconds, not after a minute:
    each tile is read from the picture as stored and turned on its own.

  • Save a copy and Export no longer hold the window while a large picture
    is written: the copy is made on a thread of its own, the viewer keeps
    turning pages, and says when it is done. A copy being written when the
    viewer closes is finished first.

  • Batch runs on large pictures: a resize, turn or sharpen that did not fit
    the run's fixed 256 MB work memory was left out and the file still
    counted as converted (7000x7000 at 200% came out 7000x7000). Each file
    now gets the memory its steps need, sized before it is decoded, and a
    step that cannot be done fails the file with a line saying which and why.

  • Settings › Files › Sort by and Ascending now order a folder's pictures;
    they were shown but not used (D-45).

  • The folders above the viewer's own can be reached in the file picker:
    started with nothing open, it held "." and had no way up (D-42).

  • A text box on screen gets Enter before a "resume where you left off"
    offer does.

  • Save a copy wrote a picture of about four megapixels or more unedited
    (T093): its memory ran out after reading the page and the untouched
    page was written in its place. The save now takes memory sized to the
    picture, and says on screen whether it saved; it writes nothing rather
    than a wrong copy.

  • The curve box had no way to pick the Red, Green, Blue or Luma curve.
    Its corner label is now a button: click for the next, right-click for
    the one before.

  • A notice raised by something slow, such as a save, was used up before
    it was drawn.

  • A film decoded on the graphics card keeps playing after the card is
    reset or the PC wakes from sleep: it is opened again where it was, on the
    same tracks (RV-062), and says so. Before, its picture froze until it was
    reopened. Subtitle pictures, the music backdrop, the adjust preview and
    the picker's thumbnails are made again too.

  • The rename box, the A-B box, the delete question and the notices are
    drawn above the floating boxes; the toolbox's anchor covered the start of
    a name being typed.

  • The subtitle box's default place is just above the seek bar, which used
    to cover its last line.

  • The picker's path bar stays on top when the tiles are scrolled; rows no
    longer show through it.

  • A folder's thumbnail skips sound files and tries the next picture or
    film when the shell has nothing for the first.

  • Settings › Video said FFmpeg must be 8.x when it was not found; it is 9.x
    since 0.0.17.

  • A comic opened from Explorer runs into its next volume. Past the last
    page nothing happened when the archive's path came with backslashes, as
    Explorer and the command line give it — the viewer compared whole paths
    byte for byte against the folder listing, which joins with /. Stepping
    back past the first page had the same fault.

  • The place to resume a volume is found however its path is spelt: a
    volume reached by paging on and the same file double-clicked later are
    one book, not two.

  • A long whole number in an INI file no longer overflows while it is
    read (rubraview_ini_get_int), and a picture whose claimed width times
    its pixel size does not fit is refused instead of overflowing.

  • The window title names an archive page (2.png (2/4) - Rubraview); it
    showed only (2/4).

  • A file whose sound cannot be played now says so — which call failed and
    what it returned — instead of looking exactly like a file with no sound
    in it.

  • Z and X move a DVD's or a Blu-ray's picture subtitles too. They
    moved only text before, and said "no subtitles are showing" while a
    subtitle was plainly on screen (found measuring T081).

Download rubraview-v0.0.18.zip, unzip, run rubraview-v0.0.18.exe.