Releases: thingsiplay/tochd
v0.13 - March 12, 2024
It's time again. This time, there aren't too many changes at all. I finally figured out AppImage creation and added a check to recognize if its running as an AppImage (and if Nuitka was used to compile Python too). Soon the AppImage format will be available.
(Edit: Looks like the generated AppImage in my personal labor is not working perfectly in all situations, because of some working dir shenanigans.)
The temporary created folders when unpacking archive files such as .7z and .zip are now hidden by default once again; meaning a dot "." is added automatically in front of the folder names. tochd.py
now also checks if any of the required executables 7z
and chdman
are available in the same directory as the script itself. Makes it a little bit more portable.
A new option to specify the size of the hunks is also added. Normally this is not a topic you need to care about, but for some systems it might be needed. PSP games use DVD format, but has a hunksize of 2048. The current version of chdman
v0.263 uses 4096 for DVD output. Future versions of chdman
will do this automatically, but until then you can specify the hunksize yourself. (Thanks hikaricore for bringing this up #6).
- new: option
-H
,--hunksize
to specify the exact size of hunks in bytes
used with chdman, only needed in special cases,
#6 - changed: search for executables such as
7z
andchdman
programs in
scripts own installed directory first, this makes it more portable - changed: temporary folders where archives are unpacked to will start with
dot again, so they are hidden at default, but only if no path is specified
with--temp-dir
v0.12 - March 8, 2024
Today we are jumping from v0.10 right to v0.12! That's because originally after lot of changes the project was tagged with next version, but after that lot of changes happened again before I created a release. So here we are.
This project got its first bigger contributions, by Alexander Ravenheart. He is responsible for quite a lot actually. Lot of smaller stuff got refactored, renamed and brought up to standards; you know, professionals have standards! He also implemented a new mode type "dynamic" (which I later renamed to "auto") for option -m
to automatically determine the creation mode of CHDs as CD or DVD, depending on the filesize. Unfortunately at the moment I am not sure if this is the best choice as default, so i changed it back to "cd", for now. But you can use it with option -m auto
. We'll see how this goes and I might make it back to default in the future.
But to me the biggest improvement, thanks to Alexander, is to use Pythons integrated functionality of Temporary files and folders to replace my custom implemented logic. For most end users almost nothing changes, other than the folders are now visible. This should be more secure and reliable. Also if you use option -E
to stop script execution entirely with keyboard shortcut Ctrl+c
, no longer temporary files will be left! Finally this option makes sense.
Note: We are jumping over v0.11 and combine it with next version v0.12.
- bug: counter for finish states like "Completed: 0" are disabled, when combining the options
-p
and-s
, because counting these variables is not thread safe at the moment - bug: cpu count was wrongly reported when using custom number for threads
- new setting in option: specify
-m auto
to determine "cd" or "dvd" format based on filesize with a 750 MB threshold (thanks AlexanderRavenheart #3) - changed: generation and handling of temporary folders refactored, now it's using proper builtin
tempfile
functionality instead custom logic, currently the folders are not hidden anymore (thanks AlexanderRavenheart #3) - changed: due to the new approach of temporary folders, the option
-E
will finally causeCtrl+c
to delete temporary files and folders before exiting (thanks AlexanderRavenheart #3) - removed: option
-f
and--fast
, because nobody actually needs it, its an artefact of early testings to quickly generate huge files - lot of internal code refactor for being more consistent styling and naming (thanks AlexanderRavenheart #3)
v0.10 - February 11, 2024
It's been a while since my last update on this tool. The truth is, it worked quite well over the years. I tried to do some GUI stuff too, but gave up on that, plus a few things changed in my life. But now I got a good reason to go back and do something.
Recently the emulator PPSSPP 1.17 got support for CHD files too. Finally! But there is a twist. The standard way of encoding CHD files with chdman createcd
command are horrible for PSP games. I added a command -m
or --mode
to be able to choose between cd and dvd format. CD is the default, so be careful when converting PSP ISOs and use --mode dvd
instead as an option.
Other than that I added a few more options, such as -s
or --stats
to display a summary at the end of the process. I also updated the Readme a little bit and and removed confusing and unnecessary Makefile and PKGBUILD files. Make sure to uninstall a previous tochd
installation, if you gonna use the manual custom installer suggested_install.sh
script.
- new: option
-m
to specify disc format created bychdman
backend,
defaults tocd
, but for certain emulators (such as ppsspp)dvd
is
recommended - new: option
-s
to display additional stats, such as a summary at the end and
how long the operation took - new option
-n
to simply shorten the displayed path of printed jobs as
filenames only, excluding the folder part - changed: also the install and uninstall scripts are reworked
- removed: Makefile deleted, no need for PyInstaller packaged bundles, assuming
most modern distributions can run the Python script anyway - removed: PKGBUILD deleted, which was used to create the Archlinux package
for the AUR, its just confusing and unnecessary for the end user and not
needed to be part of the project
v0.9 - July 06, 2022
- changed: now flushes the output of job message without buffering, useful for
live monitoring and reading stdout the moment it is written - new: added a "PKGBUILD" for use with
pacman
, can be used to generate an
Archlinux package (note: this file is already updated in main repository, the version in this release is obsolete)
First standalone release
- new: pseudo compiled bundle of the script with pyinstaller to build a
standalone executable, available on
Releases page - new: "Makefile" script for
make
to create the standalone bundle of Python
script with the Python interpreter and package it into an archive - changed: runs with default options
-X .
, if no options provided - some little internal optimizations or additions, such as code comments