Re: [darktable-user] DT 2.6.2 on ubuntu 16.04 lts.

2019-05-16 Thread I. Ivanov

Under

third party packages and PPAs
OBS

https://www.darktable.org/install/

The link on the section will point here

https://software.opensuse.org/download.html?project=graphics:darktable=darktable

Regards,

B


On 2019-05-14 05:55, Willy Williams wrote:


I got it last week via the PPA.

Willy

--

  "There are no bad pictures; that's just how your face looks sometimes."

  - Abraham Lincoln

--
On 5/14/19 8:13 AM, Sakke K wrote:
I saw an announcement of the release of DT 2.6.2 a while ago, but 
it's not in the PPA for Ubuntu 16 lts yet. Any idea when it might 
appear?


 
darktable user mailing list to unsubscribe send a mail to 
darktable-user+unsubscr...@lists.darktable.org


 
darktable user mailing list to unsubscribe send a mail to 
darktable-user+unsubscr...@lists.darktable.org


darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org



Aw: Re: [darktable-user] video ffmpeg help

2019-05-16 Thread Michael Fritze

Hi David,

 

do you mean frame rate?

 

Example which works for me:

ffmpeg -framerate 30 -start_number 0536 -i _DSC%04d.jpg -c:v libx264 -r 30 -crf 18 main.mp4

 

BR, Micha.

 

Gesendet: Donnerstag, 16. Mai 2019 um 21:00 Uhr
Von: "mick crane" 
An: darktable-user@lists.darktable.org
Betreff: Re: [darktable-user] video ffmpeg help

On 2019-05-16 17:44, David Vincent-Jones wrote:
> The export to ffmpeg video works well but I do not find any way to set
> the individual image time. Should this be achieved in an external
> program  if so what program is recommended.
>
> David

https://ffmpeg.org/ffmpeg.html#Video-Options

mick
--
Key ID 4BFEBB31

darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org
 





darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org





Re: [darktable-user] video ffmpeg help

2019-05-16 Thread mick crane

On 2019-05-16 17:44, David Vincent-Jones wrote:

The export to ffmpeg video works well but I do not find any way to set
the individual image time. Should this be achieved in an external
program  if so what program is recommended.

David


https://ffmpeg.org/ffmpeg.html#Video-Options

mick
--
Key ID4BFEBB31

darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org



Re: [darktable-user] LUA reload sidecar

2019-05-16 Thread William Ferguson
On Thu, May 16, 2019 at 12:35 PM  wrote:

> William Ferguson (2019-May-16, excerpt):
> > Lets try removing the image from the database, then importing it to
> > see if that forces a sidecar load.
>
> Okay, trying this.  How do I delete an image from the database?
> Searching for `delete` yields [1] then [2].  I really find darktable's
> Lua documentation frustratingly sparse.
>

They do the same thing, just 2 different ways to access it.

I use the online manual because I can click through to the data types when
I'm not sure what they are. However, the online manual isn't always up to
date so if you're looking for the newest features then you might have to
generate a manual from source.


> I've ended with this:
>
> for _, i in pairs(dt.gui.action_images) do
> [...]
> if (os.execute(cmd)) then
> local path = tostring(i) -- why not a field in `i`?
>
local path = i.path .. "/" .. i.filename

> i:delete()
> dt.database.import(path)
> end
> [...]
> end
>
> Works.  But there are downsides:
>
>   * It works more often than not, but sometimes the images disappear
> completely, or are replaced by a skull (although still present the
> file system, DT insists on "not available").  Cannot reliably
> reproduce.  Why?
>

I'm not exactly sure why this happens, but I believe it's a timing issue.
I've not tried this specific set of actions, but I've done other display
manipulations and had to wait between operations for the display to catch
up.  You could try adding a dt.control.sleep(250) between the delete and
the import and see if that helps.  That would give you 1/4 of a second wait
between operations. You might have to vary the timing a little bit to see
what works.


>   * All images get a new image ID, and probably as a consequence,
>
>   * the selection of images is lost (meaning: deselected).
>

You could remove the deleted file from the selection and add the imported
one.  The selection is just a table, so you can add and remove image
items.  Then your code could

 for i,img in pairs(dt.gui.action_images) do
[...]
   if (os.execute(cmd)) then
local path = img.path .. "/" .. img.filename
img:delete()
dt.gui.action_images[i] = dt.database.import(path)
end
[...]
end


> Is there any smart way to reload an XMP file?
>

There isn't a way to load the xmp file from lua.  It would require a change
to the API.


> Cheers
> Stefan
>
> 
> [1] https://www.darktable.org/lua-api/index.html#d0e4845
> [2]
> https://www.darktable.org/lua-api/types_dt_lua_image_t.html#types_dt_lua_image_t_delete
>
>
> --
> http://stefan-klinger.deo/X
> I prefer receiving plain text messages, not exceeding 32kB. /\/
>   \
>
> 
> darktable user mailing list
> to unsubscribe send a mail to
> darktable-user+unsubscr...@lists.darktable.org
>
>


darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org

[darktable-user] video ffmpeg help

2019-05-16 Thread David Vincent-Jones
The export to ffmpeg video works well but I do not find any way to set 
the individual image time. Should this be achieved in an external 
program  if so what program is recommended.


David



darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org

Re: [darktable-user] LUA reload sidecar

2019-05-16 Thread dt-list
William Ferguson (2019-May-16, excerpt):
> Lets try removing the image from the database, then importing it to
> see if that forces a sidecar load.

Okay, trying this.  How do I delete an image from the database?
Searching for `delete` yields [1] then [2].  I really find darktable's
Lua documentation frustratingly sparse.

I've ended with this:

for _, i in pairs(dt.gui.action_images) do
[...]
if (os.execute(cmd)) then
local path = tostring(i) -- why not a field in `i`?
i:delete()
dt.database.import(path)
end
[...]
end

Works.  But there are downsides:

  * It works more often than not, but sometimes the images disappear
completely, or are replaced by a skull (although still present the
file system, DT insists on "not available").  Cannot reliably
reproduce.  Why?

  * All images get a new image ID, and probably as a consequence,

  * the selection of images is lost (meaning: deselected).
  
Is there any smart way to reload an XMP file?

Cheers
Stefan


[1] https://www.darktable.org/lua-api/index.html#d0e4845
[2] 
https://www.darktable.org/lua-api/types_dt_lua_image_t.html#types_dt_lua_image_t_delete


-- 
http://stefan-klinger.deo/X
I prefer receiving plain text messages, not exceeding 32kB. /\/
  \

darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org



Re: [darktable-user] LUA reload sidecar

2019-05-16 Thread William Ferguson
On Thu, May 16, 2019, 3:45 AM  wrote:

> Yes, Remco has basically said all there is to say.
>
> I did not expect DT to understand extra metadata.  To the contrary:
> I'm expecting DT to play nicely with metadata it does not know.  For
> every tag the DT devs implement, I can ask for anoher one — that's
> exactly the opposite of KISS and forces the implementation of
> everything into DT.
>
> It might not even be about metadata.  I'm testing how DT cooperates
> with external tools without replicating them.
>
> So triggering a reload of a changed XMP should incorporate changes in
> everything DT understands, e.g., time, author, just like the reload DT
> offers on restart when an XMP file has changed.  It should not add new
> tables to the database.
>
> I'm not sure about what architecture Michael envisions precisely.  But
> the tools I'm asking for are already present in DT, I just need to
> trigger one step from Lua.
>
> How?
>

Lets try removing the image from the database, then importing it to see if
that forces a sidecar load.


> Cheers
> Stefan
>
>
> --
> http://stefan-klinger.deo/X
> I prefer receiving plain text messages, not exceeding 32kB. /\/
>   \
>
> 
> darktable user mailing list
> to unsubscribe send a mail to
> darktable-user+unsubscr...@lists.darktable.org
>
>


darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org



Re: [darktable-user] LUA reload sidecar

2019-05-16 Thread dt-list
Yes, Remco has basically said all there is to say.

I did not expect DT to understand extra metadata.  To the contrary:
I'm expecting DT to play nicely with metadata it does not know.  For
every tag the DT devs implement, I can ask for anoher one — that's
exactly the opposite of KISS and forces the implementation of
everything into DT.

It might not even be about metadata.  I'm testing how DT cooperates
with external tools without replicating them.

So triggering a reload of a changed XMP should incorporate changes in
everything DT understands, e.g., time, author, just like the reload DT
offers on restart when an XMP file has changed.  It should not add new
tables to the database.

I'm not sure about what architecture Michael envisions precisely.  But
the tools I'm asking for are already present in DT, I just need to
trigger one step from Lua.

How?

Cheers
Stefan


-- 
http://stefan-klinger.deo/X
I prefer receiving plain text messages, not exceeding 32kB. /\/
  \

darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org



Re: [darktable-user] LUA reload sidecar

2019-05-16 Thread Michael Kefeder
the json is just in the DB not anywhere else, and the only "object store"
that sqlite offers. Therefore the parser is already written, only the
queries need adapting. This would allow to search (and potentially edit)
any otherwise unknown XMP metadata by darktable. the person searching for
needs to put the key and value to find what they are looking for - hence my
use of "freestyle" because you need to know the precise key for searching.
For editing the same applies, some type of freeform key/value editing UI
e.g. excel table style maybe. But I guess the searching would already help
tremendously, since the metadata is managed by third party app already.

Am Do., 16. Mai 2019 um 09:19 Uhr schrieb Remco Viëtor <
remco.vie...@wanadoo.fr>:

> On jeudi 16 mai 2019 08:14:54 CEST Michael Kefeder wrote:
> > Why overengineer this, just dump IPTC info into JSON and use that for
> > freestyle attributes. Sqlite even has an extension for fast parsing of
> that
> > https://sqlite.org/json1.html
>
> Because sidecars are what they are: XML serialisation of XMP format
> metadata.
> And that's not going to change any time soon either.
>
> So using json would require including yet another parser in any code
> wanting
> to use that data, and for the time being you can forget about
> interoperability
> (notably with the Adobe products).
>
> As stated elsewhere, the principal problem is not including those extra
> metadata (enough ways to do that), but preserving, viewing and editing
> them
> *within darktable*.
>
> Remco
>
> P.S. I wouldn't call those IPTC data "freestyle", they have a rather
> precise
> definition, with defined codes for several of them. The same goes for many
> of
> the XMP elements.
>
>
>
> 
> darktable user mailing list
> to unsubscribe send a mail to
> darktable-user+unsubscr...@lists.darktable.org
>
>


darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org



Re: [darktable-user] LUA reload sidecar

2019-05-16 Thread Remco Viëtor
On jeudi 16 mai 2019 04:37:20 CEST William Ferguson wrote:
> On Wed, May 15, 2019 at 5:50 PM  wrote:
> > William Ferguson (2019-May-15, excerpt):
> > > Without knowing more specifics about what you're trying to do,
> > > that's the best I can come up with at the moment.
> > 
> > I'm trying to figure out how difficult it would be to satisfy Kneops'
> > request about editing more metadata fields, following the KISS
> > 
> > principle as I had suggested:
> >   * Use Lua only to describe a GUI module in DT's lightroom (enter
> >   
> > metadata into fields) and to hand the slected images and desired
> > task off to any other program.
> >   
> >   * Use `exiv2` to modify the metadata in the XMP file(s) of selected
> >   
> > image(s).  Or `exiftool`, or whatever.
> >   
> >   * Make DT read the XMP file(s) and update its database.
> 
> This is the problem.  Darktable doesn't know what to do with the extra
> metadata in the xmp, so all it's going to do is ignore the extra metadata
> (best case), or ignore the xmp because it thinks it's corrupted (worst
> case)..  In order for darktable to use it, someone is going to have to add
> all the database tables and supporting code to store, retrieve, and use the
> information.  Then the exporter needs modified to embed the additional data
> in the exported file.
> 
Not necessarily.

As the sidecars used by dt are in XML format, dt should ignore unknown 
elements (provided the XML is valid) on reading the sidecar. Ideally, unknown 
elements should be passed through to any derived file (exported images *and* 
duplicates, which copy the sidecar). 

As long as that happens, and we can live with not being able to search on 
those unknown fields, or inspect/edit them, that's all that is needed. So, the 
flow as described above should work.

This has another advantage, in that any metadata element can be added to the 
metadata, without needing to update dt whenever someone needs a new field.

Note that rejecting an otherwise valid XMP file just because it contains 
unknown elements is not only non-conforming behaviour, it also requires extra 
work with most XML parsers.

> I just did a quick look at the IPTC tags.  Some of the records are fixed
> format with certain data in specified columns.  Some records are use codes
> to mean different things.  Each of the coded fields would require a table
> in the database for lookup, plus tables to contain the records.  This isn't
> trivial to implement.  It's probably not too difficult, but it's a lot of
> work.
And not needed if dt passes through unknown XMP elements without presenting 
them in the GUI.


For me, the problem in this thread has two parts:
1 - someone needs some extra metadata on his/her images, that should be 
conserved by darktable;
2 - ideally those extra tags should be understood by and editable through dt.

Item 1 looks to me to be essential. It also doesn't need dt to understand 
those extra metadata, dt just has to transmit a few extra XML elements as 
black boxes.

Item 2 is the one that would case the most work, and require the most 
maintenance (in that values allowed for those fields can change, and extra 
fields will be requested).



darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org



Re: [darktable-user] LUA reload sidecar

2019-05-16 Thread Michael Kefeder
Why overengineer this, just dump IPTC info into JSON and use that for
freestyle attributes. Sqlite even has an extension for fast parsing of that
https://sqlite.org/json1.html

William Ferguson  schrieb am Do., 16. Mai 2019, 04:38:

>
>
> On Wed, May 15, 2019 at 5:50 PM  wrote:
>
>> William Ferguson (2019-May-15, excerpt):
>> > Without knowing more specifics about what you're trying to do,
>> > that's the best I can come up with at the moment.
>>
>> I'm trying to figure out how difficult it would be to satisfy Kneops'
>> request about editing more metadata fields, following the KISS
>> principle as I had suggested:
>>
>>   * Use Lua only to describe a GUI module in DT's lightroom (enter
>> metadata into fields) and to hand the slected images and desired
>> task off to any other program.
>>
>>   * Use `exiv2` to modify the metadata in the XMP file(s) of selected
>> image(s).  Or `exiftool`, or whatever.
>>
>>   * Make DT read the XMP file(s) and update its database.
>>
>
> This is the problem.  Darktable doesn't know what to do with the extra
> metadata in the xmp, so all it's going to do is ignore the extra metadata
> (best case), or ignore the xmp because it thinks it's corrupted (worst
> case)..  In order for darktable to use it, someone is going to have to add
> all the database tables and supporting code to store, retrieve, and use the
> information.  Then the exporter needs modified to embed the additional data
> in the exported file.
>
> I just did a quick look at the IPTC tags.  Some of the records are fixed
> format with certain data in specified columns.  Some records are use codes
> to mean different things.  Each of the coded fields would require a table
> in the database for lookup, plus tables to contain the records.  This isn't
> trivial to implement.  It's probably not too difficult, but it's a lot of
> work.
>
>
>> The first two points are easy, the third one is missing.  This has to
>> be triggered from the Lua script, anything else (reimport through GUI,
>> or restart darktable) would be awkward and cumbersome.
>>
>> I imagine this to be one possible way for darktable to cooperate with
>> other tools nicely, i.e., in a rather traditional Linux style, just as
>> I've described in my remark to Kneops' request.
>>
>> Looking at Lua from a programming language perspective, it's certainly
>> not a language one would want to write larger applications in (there's
>> not enough structure in the language to enforce careful programming,
>> plus a bunch of decign choices rather encouraging error-prone
>> practices).  So I'd rather use it for thin layers of glue code: I do
>> not want to issue SQL statements to darktable's database, in order to
>> replicate the changes in metadata.  `exiv2` can change XMP files, and
>> darktable can read them.  I just need to programmatically tell them to
>> do so.  And that would probably be in Lua?
>>
>> An interesting question will be how to extract metadata from images
>> through `exiv2`, and hand them to darktable using the means described
>> above.  Writing a parser in Lua would certainly not qualify as glue
>> code any more.
>>
>> Cheers
>> Stefan
>>
>>
>> --
>> http://stefan-klinger.deo/X
>> I prefer receiving plain text messages, not exceeding 32kB. /\/
>>   \
>>
>> 
>> darktable user mailing list
>> to unsubscribe send a mail to
>> darktable-user+unsubscr...@lists.darktable.org
>>
>>
> 
> darktable user mailing list to unsubscribe send a mail to
> darktable-user+unsubscr...@lists.darktable.org
>


darktable user mailing list
to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org