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: 1
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