I imported some mages directly from a connected camera but omitted to provide a JobCode, so the film roll is named “<today’s_date>_noname”. How can I correct this?
Remove the images under the old filmroll name, and reimport them from the new directory. Or just import the new directory, and use the purge_non_existing_images.sh script to clean up the old references.
Yeah, that worked OK - but it’s a bit ‘long winded’ isn’t it?
Why not provide additional filmroll-associated functions, like, ‘edit’, ‘rename’, ‘delete’, ‘copy’ and so on (sorry, I’m no application architect so this list might be quite naive, based on the old ‘CRUD’ metaphor we used to code to in the 60s, but the general idea should be valid).
Of course, I recognise that dt’s great strength is in its raw image processing functionality, not in its DAM capability.
Just move all pictures from to another filmroll directly from dt.
That seems elegantly simple, but, being in-elegantly stupid, I don’t see how to do it:
I have created a film-roll with an unacceptable name (user error); if I could create a new film roll without having to import images again then I could move images from the erroneous film-roll into a correctly named, newly created one and then ‘trash’ all the images in the incorrectly named one, resulting in the incorrect film-roll name also being trashed and leaving me with the correct images in the correctly named film-roll. Fine - except for 2 problems:
- Even though I can create a new, empty film-roll (by typing a name into the box directly to the right of the word ‘film roll’ in the collect images module), I cannot ‘see’ that newly named film-roll when I select the ‘copy from’ film-roll to select the images to be moved.
- I cannot find a way of moving images between film-rolls; using the ‘move’ option in the selection module moves between folders but cannot access film-rolls by name.
Even then, there are less steps if I just re-import the images into another, correctly named film-roll - except that dt tells me that no images are imported (presumably because dt prevents me from importing the same image again).
So what I have I majorly mis-understood here?
Reading the doc maybe ![]()
https://www.darktable.org/usermanual/en/module-reference/utility-modules/lighttable/selected-image/
And note that BTW, this can also be used to move some images (not all) into another filmroll. The target filmroll maybe existing or a new one created from the dialog which is opened when clicking on the [move] button.
I’m going to beg to differ - while fully recognising your vastly superior knowledge of and experience with darktable.
I know it’s a joke, but, honestly, I did read the manual, especially the section you have pointed me to - and, as far as I can understand, it does not address my point. It deals with physically moving images + sidecars between folders managed by the op.sys. (and. btw, I don’t believe there is a way to create a new such ‘copy-to’ folder within dt; or at least I haven’t found it yet (see egg-on-face footnote 1), so that has to be done outside dt which doesn’t really address the point of my original post. It adds more steps).
I started out wanting to be able to rename a filmroll because I had made a mistake when creating one in the first place, when importing images from a camera and didn’t want to go through the steps of trashing that filmroll and its contents so that I could create a correctly named one. This was in practice a concern only when importing images directly from my cameras. But now, after further experimentation, I find a more pressing need to rename a filmroll: I have too many duplicate filmroll names:
For example, in digitising my collection of slides I have created multiple directories named ‘Box 6’ - one in each of the higher level directories named ‘This’, ‘That’, ‘The Other’, ‘Everything Else’ and so-on; the op.sys has no problem with this because the file paths are unique. But the name assigned to a filmroll, created by dt when importing a folder, is the name of the lowest level directory in the path - in this case ‘Box 6’. Now I have multiple filmrolls named Box 6, so I would like to rename them to be sure I am working on the intended one.
Yes, I appreciate that hovering the mouse over the filmroll name shows the (unique) full path name within a few seconds but … (I’m nit-picking) and yes, I appreciate that I could rename ‘Box 6’ to ‘Box 6 - The Other’ , except this impacts on the work flow of other operations outside dt. Hence my original post asking if it is possible to rename a filmroll. The responses suggest it is possible but takes more work than doing what I wanted to avoid: trash the filmroll and re-import, using the correct job-code - except that no job-code is assigned when importing from a folder, is it?
Finally, you advised “Just move all pictures from to another filmroll directly from dt.”. Sorry, but I have been unable to discover any way of doing this.
So I would be grateful if you have further advice.
Foot-note 1. Hah! I finally found the little folder icon with the ‘+’ sign on it. I wonder what it could mean ?
If you say so… but just after you seems to not agree with the fact that what I said is possible ![]()
I already replied. I cannot make a video. But that’s easy:
- select a fillroll
- select all images (or some of them)
- click [move] from “selected images” module
- go to the location using the dialog
- if needed create a new directory using the button top-right on this dialog
- select the directory and validate the dialog.
dt will:
- move all images from fillroll A to fillmroll B
- delete fillroll A if empty
(note: filmroll = folder)
If you are moving files using the move button in selected images, you click move, then in the dialog box click the folder icon with a plus sign below the select as destnation button.
If you have the lua-scripts installed, you add this script, rename.zip (3.6 KB) after you unip it, to the contrib directory. When you run rename it gives you a dialog box to fill in with the naming pattern for the selected files so you could fill in something like:
$(PICTURES_FOLDER)/<some job code>/$(FILE_NAME).$(FILE_EXTENSION)
In darktable “filmroll of a picture” = “folder in the system in which the image is located”. They’re the same thing, you can’t rename or move a filmroll without doing the same to the system folder.
The name assigned to the filmroll is the full path, but only the last level is showed by default in the collect module. You have an option in the settings to show more levels (I personally have it at two).
You can also use the ‘folder’ filter view in the collect module.
Thanks for the pointer to the script. As you will have noticed,from the “egg-on-face Footnote 1” edit to my previous post, I had indeed found that very icon. Of course, as I seem to be having trouble explaining, that is for moving files between folders, not for renaming a filmroll. If I understand it correctly, a filmroll is a construct for assigning a name to a collection of images; it doesn’t actually exist within my file-system, unlike folders for the moving of images between. But I might be wrong about this - I usually am.
I think I already have a passable handle on the naming of files and folders using the relevant variables (mostly the EXIF based ones, to be sure I am capturing shot-dates rather than ‘today’s’ date).
A filmroll is a subset of a the system folder, including only the images from that folder that are imported into darktable. But other than that, filmroll = system folder (you only have to be careful with this equivalence if there is more things in the folder than the images imported into darktable).
Ah, this is most helpful in correcting my understanding. Having now learned that I can show more levels in the filmroll name goes a long way to solving my issue with apparently duplicate (but, in practice, unique) filmroll names.
But I have some more thinking to do on the starting point of my original post: this was the difficulty associated with assigning an incorrect job code when importing directly from my camera. In contrast, no job code is requested when I import images from my file system which I have downloaded from the camera’s memory card outside of dt, using something like Rapid Photo Downloader or PhotoMechanic, so there is no possibility of creating an erroneous film-roll name in that scenario. Correct ?
The distinction here is the time at which the full file-name is assigned: either at the time of ingesting directly from the camera, reflecting the value set for ‘job-code’ in both the filmroll name and the assigned folder/file name (as specified in ‘Import’ preferences), which may or may not include the value assigned to ‘job-code’ versus the fully qualified file name assigned by the image downloading process, which does not reflect a job-code assigned or managed by dt.
A film roll is stored in the database as an id, timestamp, and full path, i.e.
~/.config/dttest1$ sqlite3 library.db
SQLite version 3.22.0 2018-01-22 18:45:57
Enter ".help" for usage hints.
sqlite> select * from film_rolls;
1|1611551166|/home/bill/Pictures/dttest1/Play.Raw
I said in my previous message:
(note: filmroll = folder)
That is because, although both processes are called ‘import’ in darktable’s UI, they’re actually quite different:
-
importing an image from a system folder just records its location in the database, but it doesn’t touch or move the original file. Consequently, it doesn’t need to ask you for any rename or folder pattern (*)
-
importing an image from a camera copies the file into the local filesystem, in the folder you define and renamed in the way you define, and then records its location in the database
(*) Careful: this includes any mounted folder, independent of it being a local hard drive, a portable usb drive or a card in card reader. If you mount an external drive or card and import the images directly, they will not be available once the drive or card is unmounted.
You can mess-up the naming both in darktable and in Rapid Photo Downloader. The only difference is that in the latter case you will probably notice before importing into darktable.
There are few things I do well: messing up naming in both scenarios is one example where I am expertly adept. The only improvement I could make is to not notice before importing…
Ah, this is a real frightener. I recall now being warned about this some months ago when, under dt 3.2 and with an earlier Fuji camera I found that I could not import. It is even now more relevant because - if my memory serves me correctly - Rapid Photo Downloader definitely needs a memory card to be mounted before it can ‘see’ it. So I fear I will get into the habit of mounting the camera and losing the images when I next format the card, in the camera. So, thanks for the cautionary tale.
Fortunately, through a process of trial and error (with the emphasis on the ‘and’) and patient, expert advice from this community, I think I know have a sufficiently stable, while rudimentary, understanding of these two different import processes. I am certainly confident of being able to get the desired folder structure and file renaming for images ingested from the camera or stand-alone memory card, where that folder/file naming mirrors closely resembles my Lightroom organisation of the last 14 years and is implementable through both RPD and Photo-Mechanic.