Skip to content

Commit

Permalink
prepare release 0.9.3
Browse files Browse the repository at this point in the history
  • Loading branch information
tenzap committed May 4, 2021
1 parent 82cd0ff commit fcd7cc3
Show file tree
Hide file tree
Showing 6 changed files with 115 additions and 136 deletions.
8 changes: 4 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ android {
applicationId "com.exifthumbnailadder.app"
minSdkVersion 26
targetSdkVersion 30
versionCode finalVersionCode
versionName finalVersionName
// versionCode 42
// versionName "0.9.2"
// versionCode finalVersionCode
// versionName finalVersionName
versionCode 118
versionName "0.9.3"

file("../version_last_tag.txt").text = "version: " + lastTagVersionName + "+" + lastTagVersionCode
//file("../version_head.txt").text = "version: " + finalVersionName + "+" + finalVersionCode
Expand Down
4 changes: 4 additions & 0 deletions fastlane/metadata/android/en-US/changelogs/118.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- new: synchronize deletions from source folders to working directory
- new: use Lanczos algorithm to create thumbnails (they look better) thanks to FFmpeg library
- improve labels of some settings
- various fixes
116 changes: 51 additions & 65 deletions fastlane/metadata/android/en-US/full_description.txt
Original file line number Diff line number Diff line change
@@ -1,76 +1,62 @@
Search for pictures (JPEG) on your device and add a thumbnail in the EXIF tag if they don't have one yet.
This application for android devices searches for pictures (JPEG) on your device and <b>adds a thumbnail</b> if they don't have one yet. Thumbnails are added to the EXIF metadata structure.

This is an application for android devices that will search for pictures (JPEG) on your device and <b>add a thumbnail</b> in the EXIF tag if they don't have one yet.
It is designed to work from android Oreo (android 8, SDK 26) and was tested on real device running Android 10 and virtual device running android 8 and 11.

It is supposed to work from android Oreo (android 8, SDK 26) and was tested on real device running Android 10 and virtual device running android 11.
Please report issues here: <a href="https://github.com/tenzap/exif-thumbnail-adder/issues">https://github.com/tenzap/exif-thumbnail-adder/issues</a>

Homepage: https://github.com/tenzap/exif-thumbnail-adder
For more information, some know facts and how you may contribute, refer to the [project homepage][1].

<b>Rationale</b>

## Rationale
On my phone (Xiaomi Redmi Note 9S), when wanting to import my pictures to Windows (or any device/operating system supporting MTP or PTP protocols), I noticed the pictures don't display a thumbnail in the import wizard (whether through the Photos app, or through the Windows Explorer import feature).
This is because my phone didn't add the thumbnail to the pictures I took with the camera.
On my phone (Xiaomi Redmi Note 9S), when wanting to import my pictures to Windows (or any device/operating system supporting MTP or PTP protocols), I noticed the pictures don't display a thumbnail in the import wizard (whether through the Photos app, or through the Windows Explorer import feature). This is because my phone didn't add the thumbnail to the pictures I took with the camera.

<b>Features</b>

## Features
- Add thumbnail to pictures (JPEG) that don't yet have one
- Lanczos algorithm to downsample picture thanks to [FFmpeg's swscale library][2] for best results.
- Select one or more folders to scan from any storage (internal, SDCard...). For example DCIM, Pictures...
- Exclude one subdirectory from selected directories
- Preserve timestamps of the pictures
- Selection of the folders to scan. For example DCIM or Pictures.
- Processing log
- Works on both SDCards and device internal memory (named primary external storage & secondary external storage in the android technical world)
- Possibility to exclude one subdirectory from selected directories
- App can be installed either on internal storage or external storage
- Default option are conservative (creation of backup which can not be overwritten, skip pictures with malformed exif data...) . In the settings, one can chose to process files that have malformed exif data by choosing to skip files if an error is detected.
- Various options
- Rotation of the thumbnail
- Backup of original pictures
- Replace picture inplace or write new picture to another directory
- Choose the exif library for adding thumbnails. See "known facts" section below to see advantages and drawbacks of each library.
Available libraries are:
- Android-Exif-Extended
- exiv2
- libexif
- pixymeta-android (please note that at the time of writing this, pixymeta-android is licensed under EPL-1.0 which is not compatible with GPL. You may compile yourself a variant having pixymeta-android. See below for more info.)


## Installation
- Synchronize deleted files in the source directory to the backup and working directory (so that you don't keep in the backup folder pictures you don't have anymore in the source folder)
- Conservative default options (backup pictures, skip corrupt files)
- Install app on internal storage or external storage
- Default EXIF library: [exiv2][3].
- Alternative libraries: Android-Exif-Extended (built-in), libexif (built-in), pixymeta-android (needs manual compilation from sources). See known facts on project page to learn more on benefits and drawbacks of each library.
- Settings:
&emsp;- Rotate the thumbnail
&emsp;- Replace existing thumbnail
&emsp;- Backup of original pictures (backup is never overwritten by the app once created if you choose to add the thumbnail to the input file in it initial location)
&emsp;- Skip pictures having malformed metadata (this can be disabled to process also files having corrupt tags)
&emsp;- Replace picture inplace or write new picture to another directory

<b>Requested permissions</b>

- <i>READ_EXTERNAL_STORAGE</i>
&emsp;- permits to read the picture from the storage of your device
- <i>WRITE_EXTERNAL_STORAGE</i>
&emsp;- permits to write/update the picture on the storage of your device
- <i>MANAGE_EXTERNAL_STORAGE</i>
&emsp;- requested only with the <i>standard</i> flavor that is shipped on f-droid.org
&emsp;- on google play, it is not requested for now.
&emsp;- To have full functionality of the app, prefer the one shipped on F-Droid which is fully functional for versions of Android >= 11.
&emsp;- get more details on the project homepage

<b>Installation</b>

- Prerequisites: minimum android Oreo (android 8, SDK 26). App was tested up to Android 11.
- Download through F-Droid app https://f-droid.org/packages/com.exifthumbnailadder.app/
- Download the APK from the release page: https://github.com/tenzap/exif-thumbnail-adder/releases


## Known facts
- Performance may be slower on SDCards, that may be related to the speed of your SDCard.
- When choosing Android-Exif-Extended library:
- all the existing EXIF structure is kept and a new APP1 structure containing the thumbnail is added to the existing APP1.
- this means that all EXIF tags will be duplicate if checked by exiftool
- Any other tags (XMP for example) are kept
- When choosing exiv2:
- on some pictures some tags of [Canon] & [Composite] group on Canon pictures might be stripped, [NikonCustom], [Ducky] group may be removed too
- [XMP*] is kept
- If exiv2 detects some problems (errors) in your files, the file are be skipped (reported error is displayed in the app). This setting can be changed in the app configuration.
- When choosing libexif:
- All [XMP*] metadata groups and tags get deleted.
- Some or all tags of [Olympus] [Canon] [Composite] group get deleted.
- [Ducky] group is kept
- The tags supported by libexif and exif structure are rewritten.
- It is almost like running "exif --create-exif --remove-thumbnail --insert-thumbnail tb.jpg" from the exif command line.
- In case exif faces some problems (likely bad EXIF data in your picture) they are reported in the app, the processing of the picture is skipped and the original picture remains untouched. This settings can be changed in the app configuration.
- When choosing pixymeta-android library (**usage is discouraged** until pixymeta bug is fixed):
- the existing EXIF tags are copied and things a rewritten from scratch.
- [XMP*] tags are kept
- [InteropIFD] directory is not correctly rewritten leading to problems such as "Bad InteropIFD directory" or "IFD1 pointer references previous InteropIFD directory" or "GPS pointer references previous InteropIFD directory". See pixymeta bug report: https://github.com/dragon66/pixymeta-android/issues/10.


## Contribute
- Please feel free to contribute to the project either by testing, reporting bugs, developing, creating pull requests with fixes and features.
- Suggestions for contribution
- If you have a google developer account, you may contact me to see how you could publish the app to the play store
- Transform the batch processing into a "Service" so that it doesn't stop when the user leaves the main "Activity"
- Translation
- Improve theme/layout
- Implement other backends and/or fix https://github.com/dragon66/pixymeta-android/issues/10


## License
GPL-3.0 (see "COPYING" file)
- Download it through F-Droid app [here][4]
- Download the APK from the [release page][5]

<b>License</b>

GPL-3.0 (see "COPYING" file on project homepage)

<b>URLs</b>

- [1]: <a href="https://github.com/tenzap/exif-thumbnail-adder">https://github.com/tenzap/exif-thumbnail-adder</a>
- [2]: <a href="https://ffmpeg.org/libswscale.html">https://ffmpeg.org/libswscale.html</a>
- [3]: <a href="https://www.exiv2.org">https://www.exiv2.org</a>
- [4]: <a href="https://f-droid.org/packages/com.exifthumbnailadder.app/">https://f-droid.org/packages/com.exifthumbnailadder.app/</a>
- [5]: <a href="https://github.com/tenzap/exif-thumbnail-adder/releases">https://github.com/tenzap/exif-thumbnail-adder/releases</a>

4 changes: 4 additions & 0 deletions fastlane/metadata/android/fr-FR/changelogs/118.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- nouveau: synchronisation des suppressions des dossiers sources vers le répertoire de travail
- nouveau: utilisation de l'algorithme Lanczos pour construire les vignettes (elles sont plus jolies) grâce à la bibliothèque FFmpeg
- améliore certains libellés des paramètres
- diverses corrections
117 changes: 51 additions & 66 deletions fastlane/metadata/android/fr-FR/full_description.txt
Original file line number Diff line number Diff line change
@@ -1,76 +1,61 @@
Cherche les images (JPEG) sur votre appareil et ajoute une vignette dans les étiquettes EXIF s'il n'y en a pas encore.
Cette application pour appareils Android cherche les images (JPEG) et <b>ajoute une vignette</b> s'il n'y en a pas encore. Les vignettes sont ajoutées à la structure de métadonnées EXIF.

C'est une application pour les appareils android qui cherche des images (JPEG) sur l'appareil et <strong>ajoute une vignette</strong> dans les étiquettes EXIF s'il n'y en a pas encore.
Elle fonctionne depuis Android Oreo (android 8, SDK 26) et a été testé sur un appareil réel avec android 10 et sur un appareil virtuel avec android 8 et 11.

Cela devrait fonctionner à partir d'android Oreo (android 8, SDK 26) et a été testé sur un appareil réel avec android 10 et sur un appareil virtuel avec android 11.
Signalez les erreurs ici: <a href="https://github.com/tenzap/exif-thumbnail-adder/issues">https://github.com/tenzap/exif-thumbnail-adder/issues</a>

Page d'accueil du projet : https://github.com/tenzap/exif-thumbnail-adder
Homepage: https://github.com/tenzap/exif-thumbnail-adder
Plus d'informations, certains faits connus et comment contribuer, sont sur la [page d'accueil du projet][1].

<b>Logique/raisonnement</b>

## Logique/raisonnement
Avec mon smartphone (Xiaomi Redmi Note 9S), quand je souhaite importer mes images dans Windows (ou tout autre système d'exploitation prenant en charge les protocoles MTP ou PTP), j'ai remarqué que les vignettes ne sont pas affichées par l'outil d'importation (que ce soit avec l'app « Photos » ou via la fonctionnalité d'import de Windows Explorer. Ceci est dû au fait que mon téléphone ne met pas les vignettes sur les photos prises avec le smartphone.
Avec mon smartphone (Xiaomi Redmi Note 9S), quand je souhaite importer mes images dans Windows (ou tout autre système d'exploitation prenant en charge les protocoles MTP ou PTP), j'ai remarqué que les vignettes ne sont pas affichées par l'outil d'importation (que ce soit avec l'app 'Photos' ou via la fonctionnalité d'import de Windows Explorer. Ceci est dû au fait que mon téléphone ne met pas les vignettes sur les photos prises avec le smartphone.

<b>Fonctionnalités</b>

## Fonctionnalités
- Ajout de vignette aux images (JPEG) qui n'en ont pas
- Algorithme Lanczos pour redimensionner les images grâce à la [librairie swscale de FFmpeg][2] pour un meilleur résultat.
- Sélection d'un ou plusieurs dossiers à scanner. Par exemple DCIM, Pictures... (sur stockage interne, carte SD...)
- Exclusion d'un sous-dossier des dossiers sélectionnés
- Conservation de l'horodatage des images
- Sélection des répertoires à balayer. Par exemple DCIM, Pictures...
- Journal de traitement
- Fonctionne aussi bien avec les cartes SD qu'avec la mémoire interne de l'appareil (appelés primary external storage & secondary external storage dans la terminologie technique android)
- Possibilité d'exclure un sous-répertoire des répertoires à balayer
- Installation sur le stockage interne ou externe
- Les options par défaut sont conservatrices (création d'une sauvegarde qui ne peut être écrasée, saute les images avec EXIF malformé...) . Dans les paramètres, on peut choisir de traiter les fichiers avec EXIF malformé en choisissant de les sauter si une erreur est détectée.
- Diverses options
- Pivoter les vignettes
- Sauvegarder les images d'origine
- Remplacer les images à l'endroit où elles sont, ou les placer dans un autre répertoire
- Choix de la bibliothèque EXIF à utiliser pour ajouter les vignettes. Voir "Faits connus" ci-dessous pour les avantages et inconvénients de chaque bibliothèque.
Les librairies disponibles sont:
- Android-Exif-Extended
- exiv2
- libexif
- pixymeta-android (Notez qu'au moment où ceci est écrit, pixymeta-android est publié sous la licence EPL-1.0 qui n'est pas compatible avec les licences GPL. Vous pouvez compiler vous-même le variant utilisant pixymeta-android. Plus d'informations dans le README des sources.)


## Installation
- Prérequis : minimum android Oreo (android 8, SDK 26). App testée jusqu'à Android 11.
- Télécharger via l'app F-Droid https://f-droid.org
- Télécharger le fichier APK depuis la page des « release » : https://github.com/tenzap/exif-thumbnail-adder/releases


## Faits connus
- Le traitement peut être plus lent sur une carte SD. Cela peut être dû à la vitesse de votre carte SD.
- Avec la bibliothèque Android-Exif-Extended library:
- toute la structure EXIF existante est conservée et une nouvelle structure APP1 qui contient les vignettes est ajoutée à la structure APP1 préexistante.
- tous les tags EXIF sont donc dupliqués si on vérifie avec exiftool
- Les autres tags (XMP par exemple) sont conservés
- Avec la bibliothèque exiv2:
- sur certaines images Canon, certains tags de [Canon] & [Composite] peuvent être supprimés. Les groupes [NikonCustom], [Ducky] peuvent aussi être supprimés
- [XMP*] est conservé
- Si exiv2 détecte des problèmes (erreurs) dans un fichier, le fichier est sauté (l'erreur est affichée dans l'appli). Ceci peut-être modifié dans les paramètres.
- Avec la bibliothèque libexif:
- tous les tags [XMP*] sont supprimés.
- Certains ou tous les tags [Olympus] [Canon] [Composite] sont supprimés.
- Le groupe [Ducky] est conservé
- Tous les tags pris en charge par libexif et exif sont réécrits.
- C'est comme lancer la commande "exif --create-exif --remove-thumbnail --insert-thumbnail tb.jpg" à la ligne de commande.
- Si libexif détecte des problèmes (erreurs) dans un fichier, le fichier est sauté (l'erreur est affichée dans l'appli). Ceci peut-être modifié dans les paramètres.
- Avec la bibliothèque pixymeta-android (**l'utilisation des découragée** jusqu'à la correction du bug pixymeta):
- les étiquettes EXIF sont copiées et réécrites de novo.
- les tags [XMP*] sont conservés
- le groupe [InteropIFD] n'est pas correctement réécrit ce qui entraîne des problèmes tels que "Bad InteropIFD directory" ou "IFD1 pointer references previous InteropIFD directory" ou "GPS pointer references previous InteropIFD directory". Voir le rapport de bug : https://github.com/dragon66/pixymeta-android/issues/10.


## Contribuer
- N'hésitez pas à contribuer au projet soit en testant, remontant des bugs, développant, créant des « Pull Requests » avec corrections et nouvelles fonctionnalités.
- Suggestions de contribution
- Si vous avez un compte « google developer », vous pouvez me contacter pour voir comment vous pourriez publier l'application sur le play store
- transformer le traitement par lot (batch) en un "Service » afin que celui-ci ne s'arrête pas quand l'utilisateur quitte l'« Activity » principale
- Traductions
- Améliorer le thème, l'interface graphique
- Implémenter une autre bibliothèque et/ou corriger https://github.com/dragon66/pixymeta-android/issues/10


## Licence
GPL-3.0 (cf fichier "LICENSE")
- Synchronisation des fichiers supprimés dans les dossiers source vers le répertoire de sauvegarde et de travail (pour ne pas conserver dans la sauvegarde des fichiers que vous n'avez plus dans les dossiers source)
- Options par défaut conservatrices (sauvegarde, saute les fichiers corrompus)
- Installation de l'app dans le stockage interne ou externe
- Bibliothèque EXIF par défaut: [exiv2][3].
- Bibliothèques alternatives: Android-Exif-Extended (intégré), libexif (intégré), pixymeta-android (requiert la compilation manuelle depuis les sources). Cf "known facts" sur la page du projet pour connaître les avantages et inconvients de chacun.
- Paramètres
&emsp;- Rotation des vignettes
&emsp;- Remplacement de la vignette existante
&emsp;- Sauvegarde de l'image originale
&emsp;- Saute les images ayant des métadonnées malformées (désactivable, afin de traiter aussi les fichiers avec étiquettes corrompues)
&emsp;- Modifie les images à leur emplacement ou ajoute la vignette à une copie dans un autre dossier

<b>Permissions demandées</b>

- <i>READ_EXTERNAL_STORAGE</i>
&emsp;- pour lire les images de votre espace de stockage
- <i>WRITE_EXTERNAL_STORAGE</i>
&emsp;- pour écrire/modifier les images de votre espace de stockage
- <i>MANAGE_EXTERNAL_STORAGE</i>
&emsp;- demandé seulement avec le 'flavor' <i>standard</i> qui est livré sur f-droid.org
&emsp;- sur google play, ce n'est pas demandé pour le moment
&emsp;- Préférez celle disponible sur F-Droid qui est totalement fonctionnelle pour des versions d'Android >= 11.
&emsp;- obtenez plus de détails sur la page du projet

<b>Installation</b>

- Prérequis: minimum android Oreo (android 8, SDK 26). App testée jusqu'à Android 11.
- Télécharger via l'app F-Droid [ici][4]
- Télécharger le fichier APK depuis la [page des 'releases'][5]

<b>Licence</b>

GPL-3.0 (cf "COPYING" sur la page du projet)

<b>URLs</b>

- [1]: <a href="https://github.com/tenzap/exif-thumbnail-adder">https://github.com/tenzap/exif-thumbnail-adder</a>
- [2]: <a href="https://ffmpeg.org/libswscale.html">https://ffmpeg.org/libswscale.html</a>
- [3]: <a href="https://www.exiv2.org">https://www.exiv2.org</a>
- [4]: <a href="https://f-droid.org/packages/com.exifthumbnailadder.app/">https://f-droid.org/packages/com.exifthumbnailadder.app/</a>
- [5]: <a href="https://github.com/tenzap/exif-thumbnail-adder/releases">https://github.com/tenzap/exif-thumbnail-adder/releases</a>
2 changes: 1 addition & 1 deletion version_last_tag.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
version: 0.9.2+42
version: 0.9.3+118

0 comments on commit fcd7cc3

Please sign in to comment.