This is the sort of thing that makes me despair: I can’t imagine a much simpler or more straightforward process than importing a style into dt:
Download it from the great outdoors internet (e.g jade-nl on Github), check that I know where it has been stored on my computer, click on ‘import’ in the styles module of the lighttable, locate it on my computer where I think it is, open it and see the named style appear in the list of installed styles. Simple, huh? Then why can’t I make it work - on either my Windows install or my Linux install?
The latter is a fresh, virgin install of a snapshot from the master branch which seems to work just fine in all other ways. It contains no installed styles, so it’s pretty easy to see that my import efforts aren’t doing anything. The Windows install already has a large number of styles installed. They weren’t put there by Father Christmas, were they? So import must have worked for me in the past; but not now.
Anybody got a lobotomy kit surplus to requirements?
Which begs the question of where to copy them to; I have failed to find this information in the manual. But, hey, hang on, I know where they are (in Windows, at least):
C:\Users<me>\AppData\Local\darktable\styles - right ? Well, yes and no:
The styles listed (in both lighttable and darkroom) that are grouped under the category ‘Fuji’ (all the X-Trans III ones that I know of) do indeed appear, in Windows, at that location.
The other 30 or so styles in my Win install of dt - all of which can be applied - can not be found using a the Windows File Explorer search function ANYWHERE on my computer. As far as Windows is concerned they do not exist. Only darktable knows where they are, and its not saying.
styles are not stored on the filesystem (unless you export them) but are stored in darktables data.db database. You should be able to import new styles from anywhere on your filesystem. Just click import, navigate to the appropriate folder and then select the style you want to import (it should be named “stylename.dtstyle”). Works fine for me.
Edit: it appears that styles are also stored in a subdirectory of the config directory (on my system ~/.config/darktable) but I suspect that these are saved backups (similar to xmp files for images) and darktable uses whatever is stored in the database.
Which is precisely what I am trying and failing to do in my Linux install.
My Windows install dates back to the release of 3.6.1 and is working fine in terms of allowing me to apply the styles it knows about, but does not allow me to import other styles.
And that’s the point of my post: why does import fail ?
Can I suggest that you start darktable from the command line and retry the import, just in case any error messages are output to the console. And post a precise description of exactly what you are doing to import your styles. If you could make a quick screencast of what you are doing it might help.
Yep, so straightforward isn’t it? Any fule can do it…
Until it doesn’t work on my installs, which are on different computers, with different OS’s and different releases levels of dt.
As I said, this sort of things fills me with despair. Even BSOD would be better than the total lack of feeback, that is apparent to me, that I get from dt when it fails to import a style
Also perhaps worth trying to create a style manually from within darktable, exporting it, deleting it from darktable and then re-importing using your exported file. Just in case it’s some sort of version mismatch specific to the style files you’re using.
I didn’t suggest you run darktable-cli but that you run darktable from the command line, i.e. run C:\Program Files\darktable\bin\darktable. Then repeat your import and see if anything gets output when the import fails.
Edit: I found this file and downloaded it. I tried importing after starting darktable from the command line with darktable -d all and the following was output to the terminal:
8.107096 [styles] file /home/chris/Downloads/XTrans II Velvia v2.dtstyle is malformed style file
So I suspect it’s some issue with that style file, probably a version mismatch or something.
Edit (again): If I edit the style file and remove all newlines and whitespace between the tags it imports correctly. i.e.
Thanks for your thoroughness here. I am indeed able to load the edited version of the style which you sent - thank you. I also tried my hand at editing the ‘defecive’ version which I had downloaded, using notepad++ and the primive technique os using ‘delete’ and ‘nackspace’. I gave up - there were far too many blank lines to remove that way!
I also tried running darktable with the command you used. I received no error message when attempting to load the defective version of the style file. Here is a screen shot of my console dialog:
There are two invocations of dt: the first is when trying to import the defetcive style; the second is with a successful import of the edited file which you sent.
Bottom line: how is somebody with limited understanding, like myself, supposed to know what to look for when checking a style file? (I thought all those blank lines would be regarded as comments).
And to extend this question:
where are version dependencies specified in the style file?
Where are they documented in the ref. manual?
How would I know if this problem was caused by some version dependency mismatch
Sometimes there are bugs and sometimes they are not easy to identify – I think that is what you have found here. I don’t think there are any version issues here but something has probably slightly changed how the style files are parsed.
darktable devs can’t always pre-empt every possible type of fault and give you a nice noob-style error message. Style files are meant to be created from within darktable, and not manually crafted, so a user shouldn’t need to know the ins and outs of how to format them.
No, as of the time of writing, I haven’t. I recall being somewhat disheatened and put-off the last time (which was the first time) I found an execution’s error in dt. The documentation defining the process for issue submission is in a style and uses vocabulary which are orthogonal with my current way of learning (probably because I’m travelling on the wrong vector).
In fact github as a concept is beyond me: for example I can find no way of downloading any chosen .dtstyle file - aside from looking at its source code and then doing a copy/paste into an editor on my pc - and assuming that there are no code page inconsistencies behind the character set defined on github and that defined under my Win 10 (and I can’t even remember what code page I use on the PC). I got the impression, from reading up about this, that I had to create a clone of github to effect a copy; that seemed a little excessive: I don’t have the how many peta-bytes required for this free at the present time.