                                    ┌──────────────────────────────────────────┐
                                    │              DyraDB Viewer               │
                                    ├──────────────────────────────────────────┤
                                    │         https://www.dyradb.com           │
                                    └──────────────────────────────────────────┘

Thank you for downloading DyraDB Viewer. This application allows you to view your DyraDB collection locally, either by
connecting to DyraDB directly or by loading in the exported file.

────────────────
    CONTENTS
────────────────

    1) INSTALLATION
        .1) WINDOWS
        .2) LINUX
    2) USAGE
    3) COMMAND LINE OPTIONS
    4) CONFIGURATION
    5) CONTACT

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
    1) INSTALLATION
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Installation of this app is optional. For both Windows and Linux, running the binary is enough in order to start the
program.

    .1) WINDOWS
    Within the same directory as this readme file, you'll find 'dyradb_viewer.exe'. Running the executable will open
    DyraDB Viewer. Place the program anywhere you like, granted the app can write in the destination folder. If not,
    your settings will not be saved.

    DyraDB Viewer has been tested to run on Windows 10. Windows 11 should not be an issue.

    .2) LINUX
    Within the same directory as this readme file, you'll find a Makefile. You can choose to install for the local
    user only by running 'make user-install'. Removing the program can be done by running 'make user-uninstall'. These
    two commands do not require root access.

    If you wish to install it system wide, you'll need root access before running the following commands:
    'make install' or 'make uninstall'.

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
    2) USAGE
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Starting up the app for the first time, you'll get the choice to either connect to DyraDB directly (Connect to DyraDB),
or import from a local file (Import from file).

The easiest way is to input your collection's private key, which you can acquire by going to 'My Collection' on DyraDB,
and clicking on the 'Your Key' button. Paste the key into the entry field after clicking on 'Connect to DyraDB'.

If you've exported your collection to file, clicking on 'Import from file' will open a file picker. Open the
corresponding .dydb file, and you're set!

In case you've connected to DyraDB directly, any changes made to your collection will be synced automatically the next
time the app launches. If you wish to force sync, press CTRL + R to do so.

┌─────────────┬──────────────────────────────────────┐  After the application launches, it's usage should be
│   List of   │                                      │  straightforward. Clicking on an artist in the artist list
│   Artists   │  ┌────────────────────────────────┐  │  will show all albums for that artist. Clicking on an album
│             │  │ Title                          │  │  then shows detailed information about that album.
│             │  │                                │  │
│             │  │ Main content                   │  │
│             │  │                                │  │
│             │  │                                │  │
│             │  │                                │  │
│             │  │                                │  │
│             │  │                                │  │
│             │  │                                │  │
│             │  │                                │  │
│             │  │                                │  │
├─────────────┤  │                                │  │
│             │  │                                │  │
│   Options   │  └────────────────────────────────┘  │
│             │                                      │
└─────────────┴──────────────────────────────────────┘

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
    3) COMMAND LINE OPTIONS
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

There are 3 options to launch the executable with.

    -config=<path>
        Defines the path of the config file. If not specified, defaults to './config.toml'.

    -console
        Opens a second window upon launch which display internal logs. Useful for debugging errors, or looking at
        internal workings. The window may spawn under the main window, unfortunately this is a limitation of the
        cross-platform UI library.

    -version
        Prints the version and exits.

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
    4) CONFIGURATION
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

The configuration file must be a valid TOML file. The options are as follows:

[Workspace]

    FilePath = string
        description = path to the local .dydb collection file to load
        valid values = any valid file path

    Api = string
        description = URL of the DyraDB API to connect to
        valid values = any valid URL (defaults to https://api.dyradb.com/v1-Chopin)

    CheckAppUpdates = bool
        description = whether the app checks for updates on launch
        valid values = true / false

[Appearance]

    ThemeVariant = string
        description = selects the app's color theme
        valid values = "light" / "dark" / "auto" (defaults to "auto")

    BackgroundImage = string
        description = name of the embedded background image to use
        valid values = any embedded image name (e.g. "art", "grass", "waves")

    BackgroundImageAlpha = float
        description = opacity of the background image
        valid values = 0.1 - 1.0

    AeroBlur = int
        description = blur strength applied to the glass-pane effect
        valid values = 1 - 100

    AeroAlpha = float
        description = opacity of the glass-pane effect
        valid values = 0.1 - 1.0

    CornerRadius = float
        description = corner rounding radius used throughout the UI
        valid values = 1 - 100

    ButtonAlpha = float
        description = opacity of buttons
        valid values = 0.1 - 1.0

    ButtonHoverAlpha = float
        description = opacity of buttons when hovered
        valid values = 0.1 - 1.0

    ButtonPressedAlpha = float
        description = opacity of buttons when pressed
        valid values = 0.1 - 1.0

    Scale = float
        description = UI scaling factor
        valid values = 0.5 - 2.0

[Private]

    UserID = string
        description = collection key
        valid values = a valid UUID

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
    5) CONTACT
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

You can contact me at avuc dot site at gmail dot com.

                                    (C) 2026 DyraDB by Niels Greven
