/Memento

An mpv-based video player for studying Japanese.

Primary LanguageC++GNU General Public License v2.0GPL-2.0

Memento

Overview

Memento is a FOSS, mpv-based video player intended for studying Japanese.

image info

Features

  • Grammar aware subtitle search
  • Yomichan-style Kanji cards
  • Support for Yomichan dictionaries
  • Anki card creation through AnkiConnect
  • Support for mpv upscalers, plugins, and configuration files

Dictionaries

Dependencies

  • Qt5
    • QtCore
    • QtGui
    • QtWidgets
    • QtNetwork
    • QtSvg
    • QtDBus (Linux)
  • ffmpeg
  • mpv
  • sqlite3
  • MeCab
    • With a system dictionary like ipadic on Linux and OS X
  • Json-C
  • libzip

For the best experience, install Noto Sans CJK JP and the Kanji Stroke Order fonts.

Building

I do not guarantee that any branch will successfully build or be bug-free. If you want to build a stable version of Memento, compile a release from source.

Linux

To install Memento on Linux, type the following commands:

make
sudo make install

Windows

  1. Install MSYS2
  2. Open MSYS2 MinGW 64-bit
  3. (Optional, may break things if MSYS2 is buggy) Make sure MSYS2 is up to date by running these commands:
    pacman -Sy --needed msys2-runtime pacman
    pacman -Su
    
  4. Install the necessary tools and dependencies:
    pacman -S git make mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-ffmpeg mingw-w64-x86_64-sqlite3 mingw-w64-x86_64-qt5 mingw-w64-x86_64-mpv mingw-w64-x86_64-mecab mingw-w64-x86_64-json-c mingw-w64-x86_64-libzip
    
  5. Clone the repository:
    git clone https://github.com/ripose-jp/Memento.git
    
  6. Build Memento:
    cd Memento
    ./windows-build.sh x86_64
    
  7. The resulting file will be in
    build/Memento_x86_64
    

Mac OS X

Important Note: The OS X version of Memento has a myriad of problems that make it unusable for casual use. This build guide is intended for OS X developers interested in fixing the OS X port of Memento. Check this issue for a list of confirmed bugs or to contribute new bugs.

  1. Install Homebrew with this command:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. Install the necessary tools and dependencies:
    brew install git cmake gcc ffmpeg sqlite3 qt5 mpv mecab mecab-ipadic json-c libzip
    
  3. Clone the repository:
    git clone https://github.com/ripose-jp/Memento.git
    
  4. Build Memento:
    cd memento
    mkdir build
    cd build
    cmake ..
    cmake --build .
    
  5. The resulting executable will be:
    memento/build/src/memento
    

Configuration

Most mpv shaders, plugins, and configuration files will work out of the box. The Memento config directory is located at:

Linux

~/.config/memento

Windows

[installation directory]\config

Mac OS X

~/.config/memento

If any mpv binds or plugins do not work, please create an issue in the issue tracker.

Acknowledgements

MpvWidget code is based off of libmpv example code by w4m.

https://github.com/mpv-player/mpv-examples/tree/master/libmpv/qt_opengl

Some code based off of Baka-MPlayer.

https://github.com/u8sand/Baka-MPlayer

UI inspired by and dictionaries provided by Yomichan.

https://foosoft.net/projects/yomichan/

Fullscreen icons sourced from here.

https://www.iconfinder.com/iconsets/material-core

Various icons sourced from here.

https://www.iconfinder.com/iconsets/ionicons

Pause, play, skip, and seek icons sourced from here and used under the CC 3.0 License

https://www.iconfinder.com/iconsets/play-rounded