Ant Renamer Qt: a C++/Qt 6 port for Windows and Linux / un portage C++/Qt 6 pour Windows et Linux

Comments & Suggestions, if you want a new feature suggest it here
morfredus
Posts: 3
Joined: 2026-10-14 14:10:01
Location: Bordeaux

Ant Renamer Qt: a C++/Qt 6 port for Windows and Linux / un portage C++/Qt 6 pour Windows et Linux

Post by morfredus »

ENGLISH

Hello everyone,

I'm Fred (morfredus on GitHub). With the agreement of Antoine Potten, the author of Ant Renamer, I would like to present Ant Renamer Qt, a port of Ant Renamer 2.13 to C++ and Qt 6.

Why a port?

Ant Renamer 2 is a Delphi 7 program from 2002. I wanted to keep using it on recent systems, and to have a version that anyone can build with today's free tools. The original needs Delphi 7 and five third-party component packs, runs on Windows only, and there is no easy way to make it run on Linux.

The chosen solution

A rewrite in C++20 with Qt 6, from the sources Antoine published (antrenamer2_sources.zip). The goal is to stay faithful to the original:
  • the 14 renaming actions, with the same names, order and settings;
  • the same mask language (%name%, %ext%, %folderN%, %count*%, $if(...));
  • the same batch files (.arb): both programs read each other's batches;
  • the same command line options;
  • the same interface layout (Files / Actions / Log pages, toolbars, icons, shortcuts, live preview);
  • the original language files (the 27 .lng files, used as they are), the original help and the original graphics.
The licence is the same as the original: GPL v2 or later. The original copyright is kept, and the About box says this is a C++/Qt port and links to the original site. The port has its own name, executable, settings file and Explorer menu entry, so it lives next to the original without interfering with it.

Windows and Linux
  • Windows 64-bit: installer and portable zip.
  • Linux: .deb packages (amd64 and arm64) and an x86_64 AppImage.
Bug fixes and additions

Several issues have been fixed in the port, in particular some behaviours inherited from the original version. The deliberate differences between the two versions are detailed in the presentation document available on GitHub:
  • an endless loop on a lone "$" in an $if mask;
  • empty MP3 / EXIF tags that turned into a number (so $if(%title%,...) was always true);
  • the "Restart" value of the Enumeration action saved with the wrong value in batch files;
  • the missing "%" in the MP3 default mask;
  • case-only renames (a.txt to A.TXT) now work on case-insensitive volumes;
  • the preview of date / MP3 / EXIF actions after another action.
Additions:
  • ID3v2.2, 2.3 and 2.4 tags for the MP3 action (the original reads ID3v1 only);
  • IPTC and XMP data (keywords, title, rating, color label...) in the EXIF action, and a %num% counter;
  • sidecar files (.xmp, DxO .dop) follow their picture when it is renamed, and the undo puts them back;
  • the same number for JPG + RAW pairs;
  • wildcards in string replacement;
  • a "Changed only" button to review only the files whose name changes in a big list;
  • natural sort in the files list (file 2 before file 10);
  • editing an action of the batch in place (double-click);
  • Explorer context menu "Add to Ant Renamer";
  • long paths (over 260 characters), UTF-8, high-resolution screens, dark theme;
  • built-in help window, no external browser needed.
The new interface

Besides the classic layout, there is a modern one, as an option (Options > Display):
  • one main bar with tabs showing the number of files and actions, and a prominent Go button;
  • a bar per page, and the new-name column visible by default;
  • a "single screen" mode: Files, Actions and Log all visible at once, in bands or in columns, with movable splitters and remembered sizes (an idea from Antoine);
  • the system light or dark theme.
The classic interface is still there, and it is the default at the first launch. Nothing changes unless you choose to switch.

Portable version for testing

A portable zip is available: unzip it anywhere and run it, nothing is installed. To keep the settings in the same folder, put an empty antrenamer-qt.ini file next to the program. It is the easiest way to try it without touching your current installation of Ant Renamer.

The current version is a release candidate (3.0.0-rc.9). It is available for testing, and your feedback is welcome before the release of version 3.0.0.

Where to find it and how to give feedback

Download and source code: https://github.com/morfredus/ant-renamer-qt

The follow-up and development of Ant Renamer Qt are independent from those of the original program and take place on GitHub. For any question or report about the port, please use the dedicated spaces:
This keeps the exchanges in one place and makes a clear distinction between the two projects.

Many thanks to Antoine Potten for Ant Renamer, for publishing its sources, and for his agreement: without them this port would not exist.

Fred

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

FRANÇAIS

Bonjour à tous,

Je suis Fred (morfredus sur GitHub). Avec l'accord d'Antoine Potten, l'auteur d'Ant Renamer, je souhaite vous présenter Ant Renamer Qt, un portage d'Ant Renamer 2.13 en C++ et Qt 6.

Pourquoi un portage ?

Ant Renamer 2 est un programme Delphi 7 datant de 2002. Je voulais continuer à l'utiliser sur les systèmes récents, et avoir une version que chacun puisse compiler avec les outils gratuits d'aujourd'hui. L'original demande Delphi 7 et cinq packs de composants tiers, ne fonctionne que sous Windows, et il n'y a pas de moyen simple de le faire tourner sous Linux.

La solution retenue

Une réécriture en C++20 avec Qt 6, à partir des sources publiées par Antoine (antrenamer2_sources.zip). L'objectif est de rester fidèle à l'original :
  • les 14 actions de renommage, avec les mêmes noms, le même ordre et les mêmes réglages ;
  • le même langage de masques (%name%, %ext%, %folderN%, %count*%, $if(...)) ;
  • les mêmes fichiers de batch (.arb) : les deux programmes lisent les batchs de l'autre ;
  • les mêmes options de ligne de commande ;
  • la même disposition de l'interface (pages Fichiers / Actions / Journal, barres d'outils, icônes, raccourcis, aperçu en direct) ;
  • les fichiers de langue d'origine (les 27 fichiers .lng, utilisés tels quels), l'aide d'origine et les graphismes d'origine.
La licence est celle de l'original : GPL v2 ou ultérieure. Le copyright d'origine est conservé, et la boîte À propos indique qu'il s'agit d'un portage C++/Qt avec un lien vers le site d'origine. Le portage a son propre nom, son exécutable, son fichier de réglages et son entrée dans le menu de l'Explorateur : il cohabite avec l'original sans interférer.

Windows et Linux
  • Windows 64 bits : installeur et zip portable.
  • Linux : paquets .deb (amd64 et arm64) et AppImage x86_64.
Corrections de bugs et ajouts

Plusieurs anomalies ont été corrigées dans le portage, notamment certains comportements hérités de la version originale. Les différences volontaires entre les deux versions sont détaillées dans le document de présentation disponible sur GitHub :
  • une boucle infinie sur un « $ » isolé dans un masque $if ;
  • des tags MP3 / EXIF vides transformés en nombre (donc $if(%title%,...) toujours vrai) ;
  • la valeur « Redémarrer » de l'action Énumération enregistrée avec une mauvaise valeur dans les batchs ;
  • le « % » manquant dans le masque MP3 par défaut ;
  • les renommages qui ne changent que la casse (a.txt vers A.TXT) fonctionnent sur les volumes insensibles à la casse ;
  • l'aperçu des actions date / MP3 / EXIF après une autre action.
Ajouts :
  • tags ID3v2.2, 2.3 et 2.4 pour l'action MP3 (l'original ne lit que l'ID3v1) ;
  • données IPTC et XMP (mots-clés, titre, note, label de couleur...) dans l'action EXIF, et un compteur %num% ;
  • les fichiers associés (.xmp, .dop de DxO) suivent leur image quand elle est renommée, et l'annulation les remet ;
  • le même numéro pour les paires JPG + RAW ;
  • jokers dans le remplacement de chaîne ;
  • un bouton « Seulement modifiés » pour ne contrôler, dans une grosse liste, que les fichiers dont le nom change ;
  • tri naturel dans la liste des fichiers (file 2 avant file 10) ;
  • modification d'une action du batch en place (double-clic) ;
  • menu contextuel de l'Explorateur « Ajouter à Ant Renamer » ;
  • chemins longs (plus de 260 caractères), UTF-8, écrans haute résolution, thème sombre ;
  • fenêtre d'aide intégrée, sans navigateur externe.
La nouvelle interface

En plus de la disposition classique, il existe une disposition moderne, en option (Options > Affichage) :
  • une barre principale avec des onglets indiquant le nombre de fichiers et d'actions, et un bouton Go bien visible ;
  • une barre par page, et la colonne du nouveau nom visible par défaut ;
  • un mode « écran unique » : Fichiers, Actions et Journal visibles en même temps, en bandes ou en colonnes, avec des séparateurs déplaçables et des tailles mémorisées (une idée d'Antoine) ;
  • le thème clair ou sombre du système.
L'interface classique est toujours là, et c'est elle qui est utilisée par défaut au premier lancement. Rien ne change tant que vous ne choisissez pas de basculer.

Version portable pour tester

Un zip portable est disponible : décompressez-le où vous voulez et lancez-le, rien n'est installé. Pour garder les réglages dans le même dossier, placez un fichier antrenamer-qt.ini vide à côté du programme. C'est le moyen le plus simple de l'essayer sans toucher à votre installation actuelle d'Ant Renamer.

La version actuelle est une release candidate (3.0.0-rc.9). Elle est disponible pour les tests et vos retours sont les bienvenus avant la publication de la version 3.0.0.

Où la trouver et comment donner votre avis

Téléchargement et code source : https://github.com/morfredus/ant-renamer-qt

Le suivi et le développement d'Ant Renamer Qt sont indépendants de ceux du programme original et se déroulent sur GitHub. Pour toute question ou tout signalement concernant le portage, merci d'utiliser les espaces dédiés :
Cela permet de centraliser les échanges et de distinguer clairement les deux projets.

Un grand merci à Antoine Potten pour Ant Renamer, pour la publication de ses sources et pour son accord : sans eux ce portage n'existerait pas.

Fred
morfredus
Posts: 3
Joined: 2026-10-14 14:10:01
Location: Bordeaux

Re: Ant Renamer Qt: a C++/Qt 6 port for Windows and Linux / un portage C++/Qt 6 pour Windows et Linux

Post by morfredus »

Ant Renamer Qt 3.0.0-rc.10: bug fixes

rc.10 is out: https://github.com/morfredus/ant-rename ... .0.0-rc.10

It fixes two problems found while testing rc.9:

Sidecar files (.xmp, .dop) that are also in the list. When a whole folder was added, the .xmp and .dop files ended up in the list next to their pictures. After a picture was renamed, which already carries its sidecar along, the mask renamed that sidecar a second time. The result was a name reduced to .xmp, or “already exists” and “source file not found” errors. Now a sidecar whose picture is in the list is renamed by its picture only, whatever the order of the list.
Date and time mask. am/pm, AM/PM and a/p showed the hours on 24 hours with a wrongly written marker. They now switch to the 12-hour clock and print am / pm (or a / p), as the help says. ampm gives AM / PM with 12-hour hours.

Documentation: a user guide and a recipes guide (English and French) are added in the docs folder.

If you keep .xmp or .dop files with your photos, your feedback is welcome, especially with real catalogs (Lightroom, darktable, DxO PhotoLab...).

Ant Renamer Qt 3.0.0-rc.10 : corrections de bugs

La rc.10 est disponible : https://github.com/morfredus/ant-rename ... .0.0-rc.10

Elle corrige deux problèmes découverts pendant les tests de la rc.9 :

Fichiers associés (.xmp, .dop) présents dans la liste. Quand on ajoutait un dossier entier, les fichiers .xmp et .dop se retrouvaient dans la liste en plus de leurs images. Après le renommage d’une image, qui emporte déjà son fichier associé, le masque renommait ce fichier une seconde fois. Résultat : un nom réduit à .xmp, ou des erreurs « existe déjà » et « fichier source non trouvé ». Désormais, un fichier associé dont l’image est dans la liste est renommé uniquement par son image, quel que soit l’ordre de la liste.
Masque Date et heure. am/pm, AM/PM et a/p affichaient les heures en 24 h avec un marqueur mal écrit. Ils passent maintenant les heures en 12 h et écrivent am / pm (ou a / p), comme l’aide l’annonce. ampm donne AM / PM avec les heures en 12 h.

Côté documentation, un guide de l’utilisateur et un guide de recettes (français et anglais) sont ajoutés dans le dossier docs.

Si vous gardez des fichiers .xmp ou .dop avec vos photos, vos retours sont les bienvenus, surtout avec de vrais catalogues (Lightroom, darktable, DxO PhotoLab...).
morfredus
Posts: 3
Joined: 2026-10-14 14:10:01
Location: Bordeaux

Re: Ant Renamer Qt: a C++/Qt 6 port for Windows and Linux / un portage C++/Qt 6 pour Windows et Linux

Post by morfredus »

Ant Renamer Qt 3.0.0-rc.12 (and rc.11): Linux fixes, new icons, new help

rc.12 is out: https://github.com/morfredus/ant-renamer-qt/releases/tag/v3.0.0-rc.12

I did not post about rc.11, so this message covers both releases since rc.10.

rc.11: Linux packages
  • The .deb could not be installed on Debian 13 ("libqt6gui6t64 is only referenced by name"): its dependencies now accept both the Ubuntu and the Debian names. Checked on Debian 13 (Raspberry Pi 4, arm64) and Ubuntu 24.04.
  • The .deb now recommends qt6-wayland, so the program runs natively under Wayland.
rc.12: what is new
  • Linux file names fixed (tested and working on Linux). A name containing a colon or a backslash (a:b.txt) was cut at that character, because Windows path rules were applied everywhere. On Linux only "/" delimits a path now. Same cause fixed: the files of the list that are inside a renamed folder follow it, %folder-N% and the %count% tags work, and "Detect absolute path" recognises a name that begins with "/". All of this was tested on Linux Mint and on Debian 13 and works.
  • New "Modern" icon set, now the default. 30 line icons drawn by the program: sharp on any screen and screen scaling, light and dark theme, greyed when disabled. The classic sets (Scrows, Windows XP, Windows XP Large) are still in Options > Display > Icon set. Settings saved by an older version switch to Modern once; after that your choice is kept.
  • The help was rewritten and checked against the program. Every option and every operation is described (several statements of the original help were wrong for the port: regular expressions are PCRE2, ID3v2 is read, date tags, fonts...), with tables of tags and keyboard shortcuts, new screenshots of the real program in English and French, a picture comparing the four icon sets, and every link checked. Croatian and Tamil show the English text for the rewritten pages until they are translated.
  • Build: a change to the help or to a language file is now copied next to the program at every build.
Documentation: the user guide and the recipes guide (English and French) are brought up to date, with the differences between Windows and Linux; a guide for translators (the whole process of a .lng file) is added; a list of the tested platforms too. All in the docs folder on GitHub.

Tested from the rc.12 packages on four machines: Windows 11 Home, Linux Mint 22.3 Xfce (x86-64) and two Raspberry Pi 4 running Debian 13 (arm64). On the Linux machines the file-name fixes were checked and work: names with a colon or a backslash, folder renaming, %folder-N%, %count%. The new icons, their legibility and the help with its links were validated on all four. Debian 13 on x86-64 and other distributions with the AppImage have not been tested yet.

Your feedback is welcome, especially if you use another Linux distribution or if you prefer the previous icons. For bugs and questions, please use GitHub: Issues and Discussions.

Ant Renamer Qt 3.0.0-rc.12 (et rc.11) : corrections Linux, nouvelles icônes, nouvelle aide

La rc.12 est disponible : https://github.com/morfredus/ant-renamer-qt/releases/tag/v3.0.0-rc.12

Je n'avais pas fait de message pour la rc.11, celui-ci couvre donc les deux versions depuis la rc.10.

rc.11 : paquets Linux
  • Le .deb ne s'installait pas sous Debian 13 (« libqt6gui6t64 is only referenced by name ») : ses dépendances acceptent maintenant les noms d'Ubuntu et de Debian. Vérifié sous Debian 13 (Raspberry Pi 4, arm64) et Ubuntu 24.04.
  • Le .deb recommande maintenant qt6-wayland : le programme fonctionne nativement sous Wayland.
rc.12 : les nouveautés
  • Noms de fichiers corrigés sous Linux (testé et fonctionnel sous Linux). Un nom contenant deux-points ou antislash (a:b.txt) était coupé à ce caractère, car les règles de chemin de Windows s'appliquaient partout. Sous Linux seul « / » délimite un chemin maintenant. Même cause corrigée : les fichiers de la liste qui se trouvent dans un dossier renommé le suivent, %folder-N% et les tags %count% fonctionnent, et « Détecter un chemin absolu » reconnaît un nom qui commence par « / ». Le tout a été testé sous Linux Mint et sous Debian 13 et fonctionne.
  • Nouveau jeu d'icônes « Modern », maintenant par défaut. 30 icônes au trait dessinées par le programme : nettes sur tout écran et toute mise à l'échelle, thèmes clair et sombre, grisées quand elles sont désactivées. Les sets classiques (Scrows, Windows XP, Windows XP Large) restent dans Options > Affichage > Set d'icônes. Les réglages enregistrés par une ancienne version passent une fois sur Modern ; ensuite votre choix est conservé.
  • L'aide a été réécrite et vérifiée contre le programme. Chaque option et chaque opération est décrite (plusieurs affirmations de l'aide d'origine étaient fausses pour le portage : les expressions régulières sont PCRE2, l'ID3v2 est lu, tags de date, polices...), avec des tableaux des tags et des raccourcis clavier, de nouvelles captures du vrai programme en anglais et en français, une image comparant les quatre sets d'icônes, et tous les liens vérifiés. Le croate et le tamoul affichent le texte anglais pour les pages réécrites, en attendant leur traduction.
  • Compilation : une modification de l'aide ou d'un fichier de langue est maintenant copiée à côté du programme à chaque compilation.
Documentation : le guide de l'utilisateur et le guide de recettes (français et anglais) sont mis à jour, avec les différences entre Windows et Linux ; un guide du traducteur (tout le processus d'un fichier .lng) est ajouté, ainsi que la liste des plateformes testées. Le tout dans le dossier docs sur GitHub.

Testé depuis les paquets de la rc.12 sur quatre machines : Windows 11 Famille, Linux Mint 22.3 Xfce (x86-64) et deux Raspberry Pi 4 sous Debian 13 (arm64). Sur les machines Linux, les corrections de noms de fichiers ont été vérifiées et fonctionnent : noms avec deux-points ou antislash, renommage de dossier, %folder-N%, %count%. Les nouvelles icônes, leur lisibilité et l'aide avec ses liens ont été validées sur les quatre. Debian 13 en x86-64 et les autres distributions avec l'AppImage n'ont pas encore été testées.

Vos retours sont les bienvenus, surtout si vous utilisez une autre distribution Linux ou si vous préférez les anciennes icônes. Pour les bugs et les questions, merci d'utiliser GitHub : Issues et Discussions.