ptcow 0.4.0

Library for editing and playback of PxTone (.ptcop) music
Documentation

๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„
๐Ÿฎ ptcow ๐Ÿฎ
๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„

Library for editing and playback of PxTone (.ptcop) music.

Based on the PxTone C++ source code available here.

โœ…Goals / โŒNon-goals

  • โœ… Support V5 (and newer) versions of PxTone.

  • โŒ No support for V4 and earlier. Maybe read support in the future, but no export support planned.

  • โœ… Rendering that sounds faithful to the original PxTone rendering

  • โŒ No sample-by-sample accuracy. There can be minor differences as long as it sounds (almost) indistinguishable.

Limitations

  • Currently, ptcow only supports little endian architectures. There may be big endian support added in the future, but it's not a focus right now.

Getting Started

To get started, load a .ptcop or .pttune file into a Vec<u8>, and call [read_song] on it. You can also check out crates/ptmoo for a command line player that writes samples to stdout.