Speedo is a lightweight speedrun split timer.
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.
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*")))