# The &haruna; Handbook

George Florea Bănuș georgefb899@gmail.com
2019-2021 George Florea Bănuș
&CCBYSA4Notice;
2021-06-12
Haruna 0.6.3

Haruna is an open source video player built with Qt/QML and libmpv.

Haruna KDE kdemultimedia video movie

## Settings

Explains some of the more complex settings of Haruna.

###

### General

#### Breeze icon theme

When checked the application uses the Breeze icon theme.

When unchecked the application uses the system icon theme. Doesn't always work as expected.

#### GUI style

Allows to change the style of Qt Quick Controls (buttons, checkboxes etc.), to styles available on the system.

### Playback

#### Hardware decoding

It's recommended leave hardware decoding disabled.

If you want to enable it read https://mpv.io/manual/stable/#options-hwdec to understand which option is best for you.

#### Remember time position

Determines when to save and restore the position of previously played files.

- -1: feature is disabled

- 0: save for all files

- 1-9999: save for files longer than the set value, in minutes

#### Skip chapters

When enabled it automatically skips chapters containing certain words/characters.

The words/characters to skip are defined as a comma separated string.

The match is not exact, meaning op will match words containing it like opening.

#### Youtube-dl format selection

Haruna uses youtube-dl to play online videos. Some sites offer multiple versions of the video/audio (different codecs, resolution). This setting allows you to configure what version of the video/audio youtube-dl selects. More info: https://github.com/ytdl-org/youtube-dl/blob/master/README.md#format-selection

### Video

#### Screenshot Template

https://mpv.io/manual/stable/#screenshot

Specify the filename template used to save screenshots. The template specifies the filename without file extension, and can contain format specifiers, which will be substituted when taking a screenshot. By default, the template is mpv-shot%n, which results in filenames like mpv-shot0012.png for example.

The template can start with a relative or absolute path, in order to specify a directory location where screenshots should be saved.

If the final screenshot filename points to an already existing file, the file will not be overwritten. The screenshot will either not be saved, or if the template contains %n, saved using a different, newly generated filename.

Allowed format specifiers:

- %[#][0X]n

  A sequence number, padded with zeros to length X (default: 04). E.g. passing the format %04n will yield 0012 on the 12th screenshot. The number is incremented every time a screenshot is taken or if the file already exists. The length X must be in the range 0-9. With the optional # sign, mpv will use the lowest available number. For example, if you take three screenshots--0001, 0002, 0003--and delete the first two, the next two screenshots will not be 0004 and 0005, but 0001 and 0002 again.

- %f

  Filename of the currently played video.

- %F

  Same as %f, but strip the file extension, including the dot.

- %x

  Directory path of the currently played video. If the video is not on the filesystem (but e.g. http://), this expands to an empty string.

- %X{fallback}

  Same as %x, but if the video file is not on the filesystem, return the fallback string inside the {...}.

- %p

  Current playback time, in the same format as used in the OSD. The result is a string of the form "HH:MM:SS". For example, if the video is at the time position 5 minutes and 34 seconds, %p will be replaced with "00:05:34".

- %P

  Similar to %p, but extended with the playback time in milliseconds. It is formatted as "HH:MM:SS.mmm", with "mmm" being the millisecond part of the playback time.

  Note

  This is a simple way for getting unique per-frame timestamps. (Frame numbers would be more intuitive, but are not easily implementable because container formats usually use timestamps for identifying frames.)

- %wX

  Specify the current playback time using the format string X. %p is like %wH:%wM:%wS, and %P is like %wH:%wM:%wS.%wT.

  Valid format specifiers:

  - %wH

    hour (padded with 0 to two digits)

  - %wh

    hour (not padded)

  - %wM

    minutes (00-59)

  - %wm

    total minutes (includes hours, unlike %wM)

  - %wS

    seconds (00-59)

  - %ws

    total seconds (includes hours and minutes)

  - %wf

    like %ws, but as float

  - %wT

    milliseconds (000-999)

- %tX

  Specify the current local date/time using the format X. This format specifier uses the UNIX strftime() function internally, and inserts the result of passing "%X" to strftime. For example, %tm will insert the number of the current month as a number. You have to use multiple %tX specifiers to build a full date/time string.

- %{prop[:fallback text]}

  Insert the value of the input property 'prop'. E.g. %{filename} is the same as %f. If the property does not exist or is not available, an error text is inserted, unless a fallback is specified.

- %%

  Replaced with the % character itself.

### Custom commands

#### Command

What mpv command to run, see MPV Commands for a list of available commands.

Not all commands will work as some are specific for mpv.

Most useful are the commands to manipulate properties, like set, add, cycle.

set: sets the value of a property `set volume-max 150`.

add: increases/decreases the value of a property `add volume 15`, increases volume by 15. To decrease the value use `add volume -15`.

cycle: cycle through the values of a property `cycle aid up`.

#### OSD message

An OSD message to display when triggering an action type custom command.

Use ${property_name} to display the value of a property Volume: ${volume}.

#### Keyboard shortcut

The command will be triggered with a shortcut. The shortcut can be set after saving.

#### Run at startup

The command will be run at application startup.

## Credits and License

&haruna;

Program copyright 2019-2021 George Florea Bănuș

Contributors:

- George Florea Bănuș georgefb899@gmail.com

Documentation Copyright © 2019-2021 George Florea Bănuș georgefb899@gmail.com

&underCCBYSA4; &underGPL;