== Hatenatools3 == == Python 3 port by RekuNote == == aka rekushiiiiii == Based on Hatenatools by pbsds (Peder Bergebakken Sundt). --VERSIONS-- PPM.py: v1.5 UGO.py: v0.93 NTFT.py: v0.95 --ABOUT HATENATOOLS3-- Hatenatools3 is a Python 3 port of the supplied Hatenatools master sources, ported by RekuNote (aka rekushiiiiii). A separate Python 3 port of Hatenatools already exists. Hatenatools3 is not intended to claim precedence over that work; this port is specifically kept compatible with and optimised for the RexiMemo Python 3 Hatena server: https://github.com/RexiMemo-org/hatena-server-py3 For drop-in compatibility with hatena-server-py3, the Python package directory remains named "Hatenatools" even though the project/distribution is named "Hatenatools3". This port preserves the newer master feature set, including PPM's -e and -E video export modes, while keeping Python 3 compatibility fixes such as the internal ADPCM decoder used on Python 3.13+, where audioop is no longer available. --DESCRIPTION-- PPM.py can read the metadata, thumbnail, frames and sound of Flipnote Studio files: .ppm It can also handle .tmb files. UGO.py can read and write UGO files, modify their content, and convert UGO files to and from the XML format. NTFT.py can read NTFT image files and convert them to PIL-supported image files. These tools are designed to be usable both as Python modules and as stand-alone applications. NTFT.py and PPM.py require NumPy and Pillow for image support. PPM video export requires ffmpeg. --HATENA-SERVER-PY3 COMPATIBILITY-- The internal Hatenatools/ layout is intentionally preserved so this directory can replace or update the bundled Hatenatools directory in hatena-server-py3 without requiring the server's import/module paths to be renamed. Target project: https://github.com/RexiMemo-org/hatena-server-py3 --DOCUMENTATION-- Original Hatenatools / Hatena server format documentation: https://github.com/pbsds/hatena-server/wiki --LICENSE-- Hatenatools3 retains the original Hatenatools AGPL3 licensing. See License.txt or http://www.gnu.org/licenses/agpl-3.0.html for more information. --CREDIT-- -Original Hatenatools by pbsds (Peder Bergebakken Sundt) -Python 3 port / Hatenatools3 by RekuNote (aka rekushiiiiii) -Steven for most of the documentation on DSiBrew and his frame decoding example on his talkpage -Remark for helping with the 8x8 tiling on the preview images -JSAfive for supplying .tmb and .ugo files -Austin Burk, Midmad on Hatena Haiku and WDLmaster on hcs64.com for determining the sound codec -jaames, for proper p-frame translation -WORD559, for video export with ffmpeg -wyntrr-end, for proper ffmpeg export duration and frame scaling