Skip to content

progfolio/speedo

Repository files navigation

Speedo: Lightweight Emacs Split timer 🩲

Speedo is a lightweight speedrun split timer.

DEMO

https://img.youtube.com/vi/2ML7Du4Bq_A/0.jpg

Motivation

I was not satisfied with the native split timer options for Linux. Running a split timer in a browser is an option, but caused hiccups during game play due to how CPU intensive they were. I also wanted record more information than the average split timer in order to develop tools to aid speed running practice.

File Format

Speedo stores game settings and data in an elisp plist. This makes it easy to read and interact with programmatically. An example database:

( :title "TITLE"
  :category "CATEGORY"
  :segments ((:name "One")
             (:name "Two")
             (:name "Three"))
  :attempts
  ;; a run (complete attempt)
  (( :start "2020-01-01 00:00"
     :segments (( :name "One"   :duration "1:00.33")
                ( :name "Two"   :duration "1:33.45")
                ( :name "Three" :duration "2:41")))
   ;; an incomplete attempt
   ( :start "2020-01-01 00:00"
     :segments (( :name "One"   :duration "1:00.24")
                ( :name "Two"   :duration "2:33.08"
                  :mistakes ("2:03.35")))
     :reset "3:25.75"))
  :config
  ;; game specific customizations
  ((setq speedo-buffer "*My Buffer Title*")))

About

Emacs Speedrun Timer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages