ptcow

Crates.ioptcow
lib.rsptcow
version0.4.0
created_at2025-12-06 09:46:23.217274+00
updated_at2026-01-17 11:34:36.035564+00
descriptionLibrary for editing and playback of PxTone (.ptcop) music
homepage
repositoryhttps://github.com/crumblingstatue/ptcow
max_upload_size
id1969911
size180,402
(crumblingstatue)

documentation

README

๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„๐Ÿ„
๐Ÿฎ 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.

Commit count: 52

cargo fmt