Skip to content

Lin0u0/NextUI-RepeatNow-Pak

Repository files navigation

RepeatNow

RepeatNow is a native C + SDL2 vocabulary trainer for TrimUI Brick (tg5040).

It imports standard Anki .apkg decks directly on device, focuses on vocabulary review flows, and ships as a NextUI-only RepeatNow.pakz.

Features

  • Direct .apkg import from shared imports/ or pak-bundled data/imports/
  • Supports Basic and Basic (and reversed) style Anki note types
  • Anki-like default scheduling with Again / Good / Easy
  • Per-deck review flow with local SQLite persistence
  • Audio extraction and playback for supported Anki media references
  • Simplified Chinese UI tuned for TrimUI Brick controls

Requirements

Host builds and tests expect:

  • cc
  • sqlite3 development libraries
  • python3

Packaging for tg5040 also expects:

  • zip
  • a working aarch64-none-linux-gnu-gcc or aarch64-linux-gnu-gcc
  • the TrimUI SDK userland fetched by make tg5040-bootstrap

Repository Layout

assets/       Icons and fonts bundled into the pak
packaging/    NextUI launcher and pak metadata templates
scripts/      Bootstrap and helper scripts
src/          Application sources
tests/        Host tests and APKG fixtures
vendor/       Third-party C sources

Build

Build the host binary:

make host

Run the host-side test suite:

make test

Bootstrap the TrimUI SDK userland:

make tg5040-bootstrap

Build the TrimUI binary:

make tg5040

Build the NextUI release package:

make nextui-release

Generated outputs:

  • build/host/bin/repeatnow
  • build/host/bin/repeatnow_tests
  • dist/RepeatNow.pakz

CLI Usage

The host binary accepts a few useful commands for local verification:

./build/host/bin/repeatnow [--data DIR] [--app-dir DIR] [--font FILE] [command]

Available commands:

  • ui
  • scan
  • import <file.apkg>
  • stats

Examples:

./build/host/bin/repeatnow --data ./tmp-data scan
./build/host/bin/repeatnow --data ./tmp-data import ./tests/fixtures/basic.apkg
./build/host/bin/repeatnow --data ./tmp-data stats

Install

Copy dist/RepeatNow.pakz to the SD card root and let NextUI import it automatically.

Manual layout inside the card:

Tools/tg5040/RepeatNow.pak/

Runtime Paths

  • Shared data: $SHARED_USERDATA_PATH/RepeatNow
  • Database: $SHARED_USERDATA_PATH/RepeatNow/library.sqlite
  • Preferences: $SHARED_USERDATA_PATH/RepeatNow/preferences.json
  • Imported media: $SHARED_USERDATA_PATH/RepeatNow/media/
  • Archived imports: $SHARED_USERDATA_PATH/RepeatNow/imports/archived/

Controls

  • D-pad: move selection
  • A: confirm, flip, Good
  • B: back
  • X: Again or open imports from home
  • Y: Easy or open settings from home
  • L1: replay audio, otherwise page up
  • R1: page down

Tests

Fixtures and host verification live under tests/. The test runner writes temporary files to tests/tmp/, which is intentionally ignored by git.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors