Skip to main content

A tool for speedrunners to display notes that advance automatically with their splits in Livesplit.

Project description

SplitGuides

Speedrun notes display for Livesplit with markdown and html formatting

SplitGuides is an application for displaying speedrun notes in sync with livesplit. Requires livesplit server to be running.

Includes a server version for rendering notes in browsers on another device (eg: tablet/phone).

Install/Setup

Standalone Bundle for Windows

  1. Download SplitGuides_v<VERSION>.zip from the releases page Where <VERSION> is the version number of the release.
  2. Extract anywhere and run splitguides.exe

Using Python Packaging tools

UV

If you have uv installed you can install and run splitguides directly from the Python Package Index (PyPI). This is the recommended method for non-windows platforms.

  • Install and run the latest release with uvx splitguides
  • Install and run the current main branch from GitHub with uvx --from git+https://github.com/DavidCEllis/SplitGuides splitguides

Usage

  1. Connect with livesplit by starting the livesplit server component selecting 'Control' and 'Start TCP Server' in livesplit.
  2. Right click in the splitguides window and select 'Open Notes' and find the text file containing the notes you wish to use.
  3. Some configuration is available from the settings dialog.

Plain text formatting works the same way as SplitNotes. Notes made for that should function fine in SplitGuides.

Additionally Markdown and HTML formatted notes are supported. These will be interpreted based on file extension (.md, .txt or .html). Markdown and plain text formatted notes will automatically have line breaks inserted in between lines.

  1. Comment lines still use square brackets.
  2. By default splits will break on newlines, multiple newlines are ignored in this case.
  • If a split separator is given, newlines are left as in the input to the markdown/html processors.

If the notes are not advancing

If the text at the bottom says "Trying to connect to Livesplit." make sure that the TCP server is running.

If that doesn't work, check in the Splitguides settings (from the right click menu)

  • "Livesplit Server Hostname" should be localhost
  • "Livesplit Server Port" should match the value for "Server Port" in Livesplit's own settings
    • This is 16834 by default

SplitGuides Server

Included is a separate server version which launches a (local) webhost so you can view the notes on another device on your local network.

Launch splitguides_server.exe to start the service. A settings dialog will appear so you can customise this version separately from the desktop version. After asking for the notes file the server will launch serving those notes and will update automatically as you split.

If the hostname and port defaults aren't usable you can edit them in the settings dialog.

This version is intended for people doing runs on a single monitor so the notes can be displayed on another device (a tablet or phone for example). Just connect to the host and port given in a web browser.

Configuration

Configuration Options:

  • Livesplit server hostname and port
  • Display previous/next splits
  • Split separator (leave blank for empty line separator)
  • Font Size
  • Text and Background Colour
  • Alternative template HTML and CSS files
    • Jinja2 templating is used for the HTML, use the included file as a guide
    • Allows for further customising of the appearance if desired
  • Hotkeys to offset the notes from the splits (not available in splitnotes server)
    • This allows for some adjustment if the notes have ended up in the wrong place relative to the splits.
  • Server hostname and port (server only)
    • This should be your local machine name on the network and an open port to connect to from the device you wish to use to display the notes.

Example Notes

Source

# Dark Souls Remastered - SL1 NWW #
## Asylum ##
* Start Pyro + MK
* Keep Hilt
* Get Axe/Estus/Flame
* Asylum Skip
* Pick up a 200 soul
* Dupe the soul 99x
* Leave

## Laurentius ##
* Pick up the firebombs
* Grab the 200 soul
* Ladder glitch
* Buy
   * Max wooden arrows
   * 4 blooming moss
   * 2 throwing knifes
   * Max (25) homeward bones
* Free Laurentius
* Darksign

## GCS ##
* Dupe souls with the arrows
* Ascend flame to +15
* Buy flash sweat, combustion, fire orb
* Valley Run
* Get DCS/RTSR
* Upwarp
* Get GCS

Result

On Desktop:

Image of splitguides rendering

Via Splitnotes Server on Tablet:

Image of splitguides server - yes this is an old iPad

Development

Building the project environment

Once you have forked and cloned the repository the simplest way to setup the environment is to use uv.

With the source folder as your current working directory:

uv run pytest
uv run splitguides

Without uv you will need to manually set up and activate the python environment.

On Windows with the py command included with python.org installs:

py -3.13 -m venv .venv
.venv\Scripts\activate
python -m pip install -e . --group dev
pytest
splitguides

Contributions

Dependencies

  • pyside6 - QT Gui Bindings
  • jinja2 - Templating for the notes page
  • bleach - Cleaning HTML to help protect if someone decided to make notes with a malicious script
  • flask - Handling the server version
  • markdown - Converting markdown to html for rendering
  • keyboard - Global hotkeys to advance/reverse note offset to splits
  • waitress - wsgi server for splitguides server

Inspired by (but otherwise unassociated with) the original splitnotes: https://github.com/joeloskarsson/SplitNotes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

splitguides-0.10.3.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

splitguides-0.10.3-py3-none-any.whl (536.7 kB view details)

Uploaded Python 3

File details

Details for the file splitguides-0.10.3.tar.gz.

File metadata

  • Download URL: splitguides-0.10.3.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for splitguides-0.10.3.tar.gz
Algorithm Hash digest
SHA256 9de07dc5292585ed994aaa57ee2ae649680f97ee771161651c6c7474357c9810
MD5 54ce9173f233b9efe1a0e0894cdd7ab0
BLAKE2b-256 e9b4a52cbf4c7da120f40be7cc5621baac23e3764bd0de5eb092dd7d13e83e26

See more details on using hashes here.

Provenance

The following attestation bundles were made for splitguides-0.10.3.tar.gz:

Publisher: publish_to_pypi.yml on DavidCEllis/SplitGuides

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splitguides-0.10.3-py3-none-any.whl.

File metadata

  • Download URL: splitguides-0.10.3-py3-none-any.whl
  • Upload date:
  • Size: 536.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for splitguides-0.10.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5708100a5d3b79dd419acb9af49cba83b75b7e812419b169d4f7d38f3d9e75b8
MD5 ce742aad6eed84d1cf6d5f34be09c7fd
BLAKE2b-256 9ebdb7e6f94f030d2ff3d47ed37d52726811c60547f5f07c3ed6d34749f276e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for splitguides-0.10.3-py3-none-any.whl:

Publisher: publish_to_pypi.yml on DavidCEllis/SplitGuides

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page