Feedback wanted about Rapid Photo Downloader

I’m a heavy user of Rapid Photo Downloader for the last couple of years. I have a couple of features I would really love:

  • have separate counters per job name
  • have a way to set default metadata for the imported photos (color label, default keywords, city, location), even if it means creating a sidecar file

Hi Chris,

I understand the concept of bitrot. Given I have about 2 TB of raw files, it’s something that concerns me too. However it’s outside the scope of Rapid Photo Downloader. Bitrot is a problem to be solved at the file system level, or with a specialized system like Jason DeRose’s Dmedia: Dmedia in Launchpad

Best,
Damon

Hi Ivan,

Don’t worry, in the next version you can always select files that are remembered as previously downloaded. It’s just they are not selected by default. Also, I don’t know if it’s clear, but Rapid Photo Downloader will not analyze if the downloaded file still exists, or it’s name changed, etc. All it will consider is if the file was downloaded previously or not.

Best,
Damon

Hi Joao,

I’m not sure about separate sequence values per job name. The GUI could become quite difficult. I’ll have to think about it.

Regarding your second point, you’re asking for a free software version of Photo Mechanic,which is a massive job. I don’t see myself doing that. Maybe someone else might.

Best,
Damon

1 Like

Hi Damon,

bit rod is not the only concern, files could be accidentally overwritten or there could be hardware defects. They even could be accidentally deleted. Checksum files are useful in many ways. The per file checksums (IMG_0815.CR2.md5) could also be used to verify file transfers over a network or provided along the original file for downloads etc. And, of course, it’s always good to know that the integrity of the files is intact.

File system based integrity checks as, e.g., ZFS implements do not help because there could still be errors while copying files to the backup locations. The checksum files provide evidence that everything is transferred well.

Of course, one could argue that copying with rsync would be safe, but still, having the checksum files is transparent through all copy processes and media and operating systems etc.

Anyway, if this is beyond RPDs scope, a hook to run a script after an import could still be handy for many use cases. If you have no idea what I mean, then have a look at the git hook scripts: Git - Git Hooks. Besides automatic checksum generation, use cases could be to automatically trigger a rescan of the base directory by the image management software, to trigger external backup solutions, to add files to git-annex or similar tools, to automatically generate contact sheets etc. I guess there would even be people nowadays that would love to automatically post to facebook that they have downloaded 748 images of the last holiday from the camera :wink:.

Even João Almeidas wish of automatic xmp generation could be solved with a little scripting and without altering RPD by using this hook script idea. It would allow a lot more flexibility for those users that do not fear a little bit bash/zsh/python/whatever scripting.

Best regards

Chris

Just reading through thread and didnt see it mention yet: any thoughts on airnef?

I agree that multiple ounters can become cumbersome (I’m a software developer so I can imagine it in my mind), so take this suggestion really as a “nice to have”.

The second one does not need to be as complex as Photo Mechanic, imagine something as simple as this: an option in configuration to define a command that is executed when the import ends (with a few and well known substitution variables), so when an import finishes is easy to automate the execution of exiftool to set default keywords or labels, or even launch someone’s metadata editor or app to set geotagging, for example.

Given airnef has a command line interface, it probably wouldn’t be too difficult to incorporate it within Rapid Photo Downloader. After all, the two most basic steps are: (1) scan the camera to see what’s available and get the file name, size, modification time and thumbnail, and (2) copy the files to a local directory so that Rapid Photo Downloader can process them. Unless I’m mistaken, airnef command line version can do those steps already. I don’t own a camera with wifi, however, so it’s difficult to imagine me being the one to write and test the code. I’d be glad to assist someone who could do it, however.

Hi,

I’ve been thinking about photo import, and here’s the features I’ve come up with for my ideal application

  1. it has the option to not show thumbnails. generally I know what I’ve shot, and usually thumbnails just slow you down.
  2. it lets me group photos based on how much time elapsed between consecutive photos. This is useful for example when you photograph at a music festival, so you can separate photos from each performance.
  3. it lets me name and tag each of the time-based groups
  4. it can name the files while copying, and you can use the name from the previous bullet point in the naming template
  5. it creates (darktable-compatible) xmp files with the tags
  6. after copying, adds the raw files to git-annex and the xmp files to the corresponding git repository

I would add #7. Provides for execution of another application after downloading.

Just an FYI, I’ve moved this topic into the Software category, as it seemed a better fit there. (Nothing has changed on your end - just an FYI).

This will be in the next version. The next version’s interface is undergoing major changes, most of which are yet to be written. Having said that, what I call proximity groups will look something like this:

In this example, the proximity is 1 hour. It could be practically anything at all, which the user will be able to define themselves within reasonable limits.

My intention is that grouping the photos/videos like this will make it easier to assign job codes to them. Job codes will be able to be assigned to sets of files before the download button is clicked.

2 Likes

Hello and thanks for your work. For my future use, when I’ll be familiar enough with darktable, I’m waiting for à feature of your FAQ: xmp import. I use rawvision on Android and i’d like to import stars and color labels (and sorry for m’y english…)

The current development code already imports and renames XMP files too, along with THM files. I didn’t realize some smart phone apps create XMP files. That’s interesting. I’m glad the code already works. Although one thing it doesn’t do is record the original file name in XMP, before renaming the file.

For me, the most wanted addition would be a tick box allowing me to delete contents on SD card once download has completed.

Keep up the awesome work Damon!

How is that different from the “move” files option, which is the same as auto-delete?

In other news, this is the what the latest development version looks like:


Eagle-eyed viewers may note the new presentation of devices.

Under the hood the biggest change has been code to generate thumbnails asynchronously and in parallel, using as many cores as the CPU has, up to 4. Working in parallel certainly helps speed aspects of the overall thumbnailing operation up, which is important for users who download thousands of files at a time. Not every aspect of thumbnailing can be made parallel, however. Reading the files from the drive/camera must be linear, because this part either cannot be made parallel (libgphoto2 limitation) or reading files in parallel results in lower performance because of disk thrashing. This bottleneck is not easy to work around.

2 Likes

I really like the path this app is taking! :smile:

I agree, this is looking awesome @damonlynch!

Screenshot of latest code:


The UI now explicitly differentiates between downloading from devices / memory cards / cameras, on the one hand, and a folder on the computer, on the other. I think that will make it easer for new users to figure out what’s going on.

The checkboxes beside a device and a folder This Computer can be used to select / deselect photos/videos.

The toggle switches beside Devices and This Computer turn on and off scanning/downloading from that source. I hope that will be obvious to users. Curious fact: Qt widgets provides no toggle switch, although QML does. So I had to wrangle a slider into what you see there :smiley:

If you want to download from both devices and a folder on your computer at the same time, you can. My guess is that the number of times anyone would want to do that is very small. If it confuses people, I may have to artificially limit that. Let’s see.

You can select cells in the Timeline and it will filter the display of thumbnails to show those only from that time period / day / month. You can of course select multiple cells. too. The one thing I still need to figure out is how to best handle deselect – that is when the user wants to see all of the photos, not just those from a particular time range. I’m not sure if I need to add a special button and make it prominent in the UI, or some other way, perhaps if the user clicks in a cell that’s already selected, it becomes deselected.

You can turn off individual panels, to maximise the thumbnail display area. Here both left-side panels are turned off:


The next major chunk of code to work on is the GUI for all the panels on the right side, which is yet to be written.

5 Likes

I’ve only just started to use Rapid Photo Downloader and as I have the latest version there isn’t a GUI way to set the filename template. This sort of defeats the object for me and is a major block - I have found the config file but there doesn’t appear to be any info on what the line for how a filename can look on your website.

While not a ‘feature’ could you let me know what the textual options are for renaming photo files (i.e. can it use info from the exif data etc).

I understand that this issue will be sorted out once you have enabled the filename rename setting part of the GUI but I ( and any new user) really can’t start to use your program without this info.

Thanks.