Giter Club home page Giter Club logo

ttytie's Introduction

ttytie

Concatenate multiple ttyrec sessions into a continuous one, eliminating time gaps

Building

make

Tested under GNU/Linux, and Windows using the MSYS2 environment.

Usage

./ttytie [-d <DELAY>] 1.ttyrec [2.ttyrec [...]]

The program receives a list of one or more names of files recorded by ttyrec, concatenates them in order of appearance in the argument list, and prints the result to stdout. Timestamps in each file from the second one onwards are shifted so that there is but a small fixed delay between each two consecutive ttyrec sessions. This makes the resulting session look smooth and continuous, even if the original sessions were recorded at arbitrary moments in time.

The optional -d argument can be used to set a (fractional) amount of seconds to delay between consecutive sessions. The default value is 1.0.

Example

./ttytie -d 1.5 a.ttyrec b.ttyrec c.ttyrec > result.ttyrec

This will concatenate three ttyrec sessions with a 1.5 seconds delay between them and save the output to result.ttyrec.

Motivation

This program was originally written as a means to merge multiple ttyrec files containing one playthrough from a public NetHack server into a single ttyrec file. The intention was then to render the resulting ttyrec into a video recording. As a game of NetHack may span months or even years of discontinuous playing, and since timestamps in ttyrec format are absolute, using a simple utility like cat would lead to the resulting session containing huge delays. While the ttyplay utility allows skipping frames by pressing a key, it would be difficult to apply this to an automated video rendering scenario in the general case.

No logic in this program specifically depends on ttyrecs containing NetHack games, and it can be used to concatenate ttyrec sessions of any nature.

Alternatives

There seems to exist a program called TTYCONCAT which claims to be specifically suited for concatenating recordings of NetHack games, along with having numerous additional features. However, it only seems to be available in the form of a Windows executable, no source code seems to be available, and the usage/copying terms are unclear.

ttytie's People

Contributors

ashpool37 avatar

Stargazers

 avatar Lynn avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.