Skip to content

Commit

Permalink
remove ROADMAP (see issue #2)
Browse files Browse the repository at this point in the history
update README about tbc
add documentation page for tbc
  • Loading branch information
stoneface86 committed Aug 11, 2022
1 parent 142d25a commit a09d0fc
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 35 deletions.
42 changes: 41 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,54 @@
# libtrackerboy

Support library for [Trackerboy](https://github.com/stoneface86/trackerboy).
Also known as the back end of Trackerboy.

This library handles:
* Reading/Writing trackerboy module files
* Manipulating/reading module data
* Gameboy APU emulation
* Game Boy APU emulation
* Module playback
* (Coming soon) export to [tbengine](https://github.com/stoneface86/tbengine) format.

## Building

This library package also contains a command line utility, `tbc`
(Trackerboy compiler). To build, simply run `nimble build` from the root of
the project directory. The compiled executable will be located in the `bin/`
directory.

## Testing

The unit tester can be built using the `tester` task
```sh
# build the unit tester
nimble tester
# build and run the unit tester with optional filter
nimble test [filter]
# alternatively:
nimble tester && ./bin/tester [filter]
```

When launching the tester you can supply a filter argument with a wildcard
character(s), `*`, to only run tests whose name matches a certain pattern. If
omitted all tests will run.

### Miscellaneous test programs

There are some extra programs for testing that are not automated. These programs
generate audio files to be verified by ear. To run, use the `apugen` and `wavegen`
nimble tasks.

```sh
# apugen, generates sample audio by testing the APU emulator
# generated audio files are located in ./bin/apugen.d/
nimble apugen

# wavegen, tests the bandlimited synthesis module by generating simple square tones
# generated audio files are located in ./bin/wavegen.d/
nimble wavegen
```

## Migration from Trackerboy

The source for this library was originally kept in the trackerboy repo, but has
Expand Down
33 changes: 0 additions & 33 deletions ROADMAP.md

This file was deleted.

3 changes: 2 additions & 1 deletion docgen.nims
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ else:
const
rstFiles = [
"docs/module-file-format-spec.rst",
"docs/piece-file-format-spec.rst"
"docs/piece-file-format-spec.rst",
"docs/tbc.rst"
]

when not dryRun:
Expand Down
9 changes: 9 additions & 0 deletions docs/tbc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
===
tbc
===

.. contents::

The Trackerboy Compiler, tbc, is a command line front end for libtrackerboy.

This documentation is a work in progress.
1 change: 1 addition & 0 deletions libtrackerboy.nim
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ See also
- `Module file format specification<module-file-format-spec.html>`_
- `Module piece file format specification<piece-file-format-spec.html>`_
- `Trackerboy compiler guide<tbc.html>`_
]##

Expand Down

0 comments on commit a09d0fc

Please sign in to comment.