TutCatalog
https://gitlab.com/iborco-software/tutcatalog/tutcatalog
The first tutorial catalog (2016–2020, C++/Qt5) and the origin of the info.tc sidecar that every
later version — and rehuco itself — descends from. Two apps: tutcatalog (the catalog browser over
a tree of tutorial folders) and infoviewer (view/edit a single info.tc). The longest-lived of
the C++ generation (~430 logged hours).
File formats
info.tc— per-tutorial-folder sidecar, YAML. The source of truth for a tutorial's metadata (publisher, title, author, released, duration, level, url, tags, description, the boolean flags, …). This is the direct ancestor of rehuco's.rehu..tutcatalogrc— per-machine config, YAML (e.g.AppData/Local/.tutcatalogrc): tutorial folder roots, the video-extension list, and paths to helper tools (ffprobe,cfv, the scrap script). The ancestor of rehuco's.rehuco.- External tools: ffprobe (video duration), cfv (
.sfvchecksums), an external scraper script for pulling metadata off publisher pages.
What it did
Scan configured folders for tutorial subfolders, read each info.tc, and present a browsable/
searchable catalog; open one in infoviewer to read the rendered Markdown description and edit fields.
Duration measured with ffprobe, integrity via SFV checksums, metadata seeded by scraping.
Compared with rehuco
| Capability | TutCatalog | rehuco |
|---|---|---|
info.tc sidecar per tutorial |
Yes (YAML) | .rehu (JSON); reads .tc via adapter (LocalEdit3 migration) |
| View / edit fields | Yes (infoviewer) | LocalEdit1 (generic), LocalEdit2 (typed toolkit) |
| Markdown description | Yes | LocalEdit1 view |
| Catalog browser (folders → table) | Yes | CacheDB4 (browsers), over the .rehudb cache (CacheDB3) |
| Duration via ffprobe | Yes | duration is a stored field (LocalEdit2); auto-measuring it from the media isn't tied to a milestone slice — TBD |
| SFV checksums | Yes (cfv) | LocalEdit7 (algorithm-tagged) |
| Metadata scraping | Yes (external script) | deferred (acquisition tooling) |
| Per-machine config | .tutcatalogrc (YAML) |
.rehuco |
| Web / tablet, borrow, multi-node | No | WatchTutorial / Borrowing / Swarm |
Can rehuco work for its info.tc?
Yes — this is precisely what rehuco's schema targets. rehuco's field schema
is explicitly ".tc-compatible," derived from the same field vocabulary (ground-truthed on tc4, its
lineal successor). A .tc→.rehu adapter reads the YAML into rehuco's model (view-only at first,
full migration in slice LocalEdit3); rehuco writes JSON .rehu, never .tc. Field renames apply on import
(tags→advertised_tags, extraTags→extra_tags) and the scalar title/publisher/url fold
into a sources record — all handled by the adapter.