ptcow 0.1.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.

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.

Todo / known issues

  • Reads Ogg/Vorbis into a PCM voice rather than its own dedicated voice type. This can cause issues and also increases size of exported .ptcop files, since Ogg/Vorbis compression isn't applied.