Re: [Geeqie-devel] grouping with darktable xmp files
On Thu, 14 Apr 2011 23:32:16 +0200, VN wrote: > The current algorithm for grouping is in filedata.c > > - function file_data_set_path() decides, which part of the path is the > basename and which is the extension (but I think that some other parts of > code > expects strrchr(), this should be checked) > - function file_data_check_sidecars() groups the files and decides which is > the main file and which are sidecars > - function filelist_read_real reads a directory and groups the files (through > file_data_new_local() and file_data_check_sidecars()) > - there is another code path for individually opened files (from commandline, > drag&drop, etc.) - file_data_check_sidecars() calls > check_case_insensitive_ext(). This code path is a problem for longer > extensions and should be probably rewritten to use readdir too. > > > Ideas for improvements or rewrite of the algorithm are welcome. Anything that will resolve the remaining issues with file grouping would be great. check_case_insensitive_ext() causes breakage anyway: http://sourceforge.net/tracker/?func=detail&aid=3201373&group_id=222125&atid=1054682 And the hard to reproduce http://sourceforge.net/tracker/?func=detail&aid=3115437&group_id=222125&atid=1054680 [ filedata.c:693:file_data_unref_debug: assertion failed: (fd->magick == 0x12345678) ] is likely related to file grouping, too, as a recent bug reporter has mentioned using JPG+CR2 files. I probably will read through more of the code, such as view_file_list.c and vflist_setup_iter_recursive() where it crashes upon refreshing the file list tree view, but proof-reading activity like that isn't easy (especially not if the crash may only be a side-effect of something having gone wrong elsewhere). I'd favour a single readdir for getting the current list of files, and then do only in-memory processing of that list with whatever techniques may be helpful to find file groups (e.g. basename dictionary). -- Benefiting from Server Virtualization: Beyond Initial Workload Consolidation -- Increasing the use of server virtualization is a top priority.Virtualization can reduce costs, simplify management, and improve application availability and disaster protection. Learn more about boosting the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev ___ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel
Re: [Geeqie-devel] grouping with darktable xmp files
Hi all, Dne Ätvrtek 14 Duben 2011 20:04:23 Omari Stephens napsal(a): > On 04/14/2011 05:39 PM, Colin Clark wrote: > > On 13/04/11 22:01, Colin Clark wrote: > >> On 10/04/11 17:51, stair wrote: > >>> I have recently starting using darktable for my raw processing and have > >>> come across a problem with the way geeqie groups darktable's xmp files, > >>> or rather doesn't, the files are not grouped > >>> > >>> when darktable creates it's sidecar files they are given the raw file > >>> full name including extension, in my case image.CR2, and adds the .xmp > >>> extension, so the sidecar is image.CR2.xmp. This is not correct, according to xmp specification. I guess that other software will have problems with it too. > >>> > >>> The only way I can get grouping to work is to change the sidecar file > >>> name to eliminate the .CR2 bit but this is not a solution since it > >>> breaks the connection in darktable. Trying various things in the > >>> sidecar extensions list does not help > >>> > >>> I don't think I am missing something here, if so a pointer would be > >>> appreciated. If not then it would be very good if this could be fixed > >> > >> Hi > >> > >> I find that if I append ".CR2.xmp" to the sidecars extension list > >> (edit/preferences/preferences/files), then using right click on an image > >> set Disable File Grouping followed by Enable File Grouping - > >> > >> the .CR2.xmp files are then shown as grouped with the image. > >> > >> But this is not working correctly as the grouping is lost on re-start > >> and the file extensions of the sidecar files get corrupted when doing a > >> copy or move. > >> > >> So there is clearly a bug in this part of the code, but if this is > >> corrected it may be that you will get the functionality you are looking > >> for. > >> > >> Colin Clark > > > > Try changing line 761 of ui_fileops.c from > > > > return strrchr(path, '.'); > > > > to > > > > return strchr(path, '.'); > > > > > > I have no idea if that's a real solution to the problem - I'll have to > > leave that decision to someone who knows how Geeqie works. > > > > > > Colin Clark > > I'm pretty sure that's not actually correct; it'll fail on any file that > contains a period in the middle of the name. Dot in extensions is currently not supported and I don't think that the fix is trivial. > The Correct (though > probably a lot more computationally involved) solution is to consider a > file as having some sequence of zero or more extensions, starting at the > right edge of the filename. If you recognize the rightmost N portions > of that sequence, then you can identify the filetype. > > In practice, you can find the last segment (with strrchr), and if that's > ".xmp" or something, do it again and see if the next segment looks like > a recognizable file extension (".CR2" or somesuch). It seems reasonable > to only support two levels. How should the grouping work for files with two extensions then? > > --xsdg > The current algorithm for grouping is in filedata.c - function file_data_set_path() decides, which part of the path is the basename and which is the extension (but I think that some other parts of code expects strrchr(), this should be checked) - function file_data_check_sidecars() groups the files and decides which is the main file and which are sidecars - function filelist_read_real reads a directory and groups the files (through file_data_new_local() and file_data_check_sidecars()) - there is another code path for individually opened files (from commandline, drag&drop, etc.) - file_data_check_sidecars() calls check_case_insensitive_ext(). This code path is a problem for longer extensions and should be probably rewritten to use readdir too. Ideas for improvements or rewrite of the algorithm are welcome. Vladimir -- Benefiting from Server Virtualization: Beyond Initial Workload Consolidation -- Increasing the use of server virtualization is a top priority.Virtualization can reduce costs, simplify management, and improve application availability and disaster protection. Learn more about boosting the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev ___ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel
Re: [Geeqie-devel] grouping with darktable xmp files
On 04/14/2011 05:39 PM, Colin Clark wrote: > On 13/04/11 22:01, Colin Clark wrote: >> On 10/04/11 17:51, stair wrote: >>> I have recently starting using darktable for my raw processing and have >>> come across a problem with the way geeqie groups darktable's xmp files, or >>> rather doesn't, the files are not grouped >>> >>> when darktable creates it's sidecar files they are given the raw file full >>> name including extension, in my case image.CR2, and adds the .xmp >>> extension, so the sidecar is image.CR2.xmp. >>> >>> The only way I can get grouping to work is to change the sidecar file name >>> to eliminate the .CR2 bit but this is not a solution since it breaks the >>> connection in darktable. Trying various things in the sidecar extensions >>> list does not help >>> >>> I don't think I am missing something here, if so a pointer would be >>> appreciated. If not then it would be very good if this could be fixed >> >> Hi >> >> I find that if I append ".CR2.xmp" to the sidecars extension list >> (edit/preferences/preferences/files), then using right click on an image >> set Disable File Grouping followed by Enable File Grouping - >> >> the .CR2.xmp files are then shown as grouped with the image. >> >> But this is not working correctly as the grouping is lost on re-start >> and the file extensions of the sidecar files get corrupted when doing a >> copy or move. >> >> So there is clearly a bug in this part of the code, but if this is >> corrected it may be that you will get the functionality you are looking for. >> >> Colin Clark >> > Try changing line 761 of ui_fileops.c from > > return strrchr(path, '.'); > > to > > return strchr(path, '.'); > > > I have no idea if that's a real solution to the problem - I'll have to > leave that decision to someone who knows how Geeqie works. > > > Colin Clark I'm pretty sure that's not actually correct; it'll fail on any file that contains a period in the middle of the name. The Correct (though probably a lot more computationally involved) solution is to consider a file as having some sequence of zero or more extensions, starting at the right edge of the filename. If you recognize the rightmost N portions of that sequence, then you can identify the filetype. In practice, you can find the last segment (with strrchr), and if that's ".xmp" or something, do it again and see if the next segment looks like a recognizable file extension (".CR2" or somesuch). It seems reasonable to only support two levels. --xsdg -- Benefiting from Server Virtualization: Beyond Initial Workload Consolidation -- Increasing the use of server virtualization is a top priority.Virtualization can reduce costs, simplify management, and improve application availability and disaster protection. Learn more about boosting the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev ___ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel
Re: [Geeqie-devel] grouping with darktable xmp files
On 13/04/11 22:01, Colin Clark wrote: > On 10/04/11 17:51, stair wrote: >> I have recently starting using darktable for my raw processing and have >> come across a problem with the way geeqie groups darktable's xmp files, or >> rather doesn't, the files are not grouped >> >> when darktable creates it's sidecar files they are given the raw file full >> name including extension, in my case image.CR2, and adds the .xmp >> extension, so the sidecar is image.CR2.xmp. >> >> The only way I can get grouping to work is to change the sidecar file name >> to eliminate the .CR2 bit but this is not a solution since it breaks the >> connection in darktable. Trying various things in the sidecar extensions >> list does not help >> >> I don't think I am missing something here, if so a pointer would be >> appreciated. If not then it would be very good if this could be fixed >> >> Thanks >> >> Stair >> >> >> >> -- >> Xperia(TM) PLAY >> It's a major breakthrough. An authentic gaming >> smartphone on the nation's most reliable network. >> And it wants your games. >> http://p.sf.net/sfu/verizon-sfdev >> ___ >> Geeqie-devel mailing list >> Geeqie-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/geeqie-devel >> > Hi > > I find that if I append ".CR2.xmp" to the sidecars extension list > (edit/preferences/preferences/files), then using right click on an image > set Disable File Grouping followed by Enable File Grouping - > > the .CR2.xmp files are then shown as grouped with the image. > > But this is not working correctly as the grouping is lost on re-start > and the file extensions of the sidecar files get corrupted when doing a > copy or move. > > So there is clearly a bug in this part of the code, but if this is > corrected it may be that you will get the functionality you are looking for. > > Colin Clark > Try changing line 761 of ui_fileops.c from return strrchr(path, '.'); to return strchr(path, '.'); I have no idea if that's a real solution to the problem - I'll have to leave that decision to someone who knows how Geeqie works. Colin Clark -- Benefiting from Server Virtualization: Beyond Initial Workload Consolidation -- Increasing the use of server virtualization is a top priority.Virtualization can reduce costs, simplify management, and improve application availability and disaster protection. Learn more about boosting the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev ___ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel
Re: [Geeqie-devel] grouping with darktable xmp files
On 10/04/11 17:51, stair wrote: > I have recently starting using darktable for my raw processing and have > come across a problem with the way geeqie groups darktable's xmp files, or > rather doesn't, the files are not grouped > > when darktable creates it's sidecar files they are given the raw file full > name including extension, in my case image.CR2, and adds the .xmp > extension, so the sidecar is image.CR2.xmp. > > The only way I can get grouping to work is to change the sidecar file name > to eliminate the .CR2 bit but this is not a solution since it breaks the > connection in darktable. Trying various things in the sidecar extensions > list does not help > > I don't think I am missing something here, if so a pointer would be > appreciated. If not then it would be very good if this could be fixed > > Thanks > > Stair > > > > -- > Xperia(TM) PLAY > It's a major breakthrough. An authentic gaming > smartphone on the nation's most reliable network. > And it wants your games. > http://p.sf.net/sfu/verizon-sfdev > ___ > Geeqie-devel mailing list > Geeqie-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geeqie-devel > Hi I find that if I append ".CR2.xmp" to the sidecars extension list (edit/preferences/preferences/files), then using right click on an image set Disable File Grouping followed by Enable File Grouping - the .CR2.xmp files are then shown as grouped with the image. But this is not working correctly as the grouping is lost on re-start and the file extensions of the sidecar files get corrupted when doing a copy or move. So there is clearly a bug in this part of the code, but if this is corrected it may be that you will get the functionality you are looking for. Colin Clark -- Benefiting from Server Virtualization: Beyond Initial Workload Consolidation -- Increasing the use of server virtualization is a top priority.Virtualization can reduce costs, simplify management, and improve application availability and disaster protection. Learn more about boosting the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev ___ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel
Re: [Geeqie-devel] grouping with darktable xmp files
stair (stair_h...@yahoo.co.uk) [11.04.13 21:18] wrote: > I know that a number of contributors to the darktable forums use geeqie so > I will ask how they deal with this issue. Your idea of scripting > certainly sounds good and a script to handle this would be appreciated. > i use exclusively dt to process RAW files and geeqie to manage them, but the issue is important for me too if it'd be possible to say geeqie somehow what and how to group, it would be great > I am sure that you are aware that darktable is becoming an immensely > powerful raw processor and it would be great if geeqie could play well > with it in the way it does with ufraw +1 -- Zeus V. Panchenko IT Dpt., IBS ltdGMT+2 (EET) -- Benefiting from Server Virtualization: Beyond Initial Workload Consolidation -- Increasing the use of server virtualization is a top priority.Virtualization can reduce costs, simplify management, and improve application availability and disaster protection. Learn more about boosting the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev ___ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel
Re: [Geeqie-devel] grouping with darktable xmp files
On Sun, 10 Apr 2011 18:35:39 +0100, Klaus Ethgen wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA512 > > Hi, > > Am So den 10. Apr 2011 um 17:51 schrieb stair: >> when darktable creates it's sidecar files they are given the raw file >> full name including extension, in my case image.CR2, and adds the .xmp >> extension, so the sidecar is image.CR2.xmp. > > I do not see how Geeqie can handle that. In fact that sounds a bit > broken for me just adding one more file ending. The problem is that > Geeqie use the (in my mind) clean way, exchanging the ending with the > other. That is the way many applications do the stuff. Even if you want > to try it is somewhat impossible to fit with ever way, applications do. > > But there might be a solution. Recently I start implementing scripting > capability. For the moment I just did a hook into the on screen display > but it would be easy to hook it in other parts of geeqie. I think that > this could be a way, giving the user a way to code his own interjection, > to solve such problems. > > Regards >Klaus > - -- > Klaus Ethgenhttp://www.ethgen.ch/ pub > 2048R/D1A4EDE5 2000-02-26 Klaus Ethgen > Fingerprint: D7 67 71 C4 > 99 A6 D4 FE EA 40 30 57 3C 88 26 2B -BEGIN PGP SIGNATURE- > Version: GnuPG v1.4.11 (GNU/Linux) > > iQEVAwUBTaHqa5+OKpjRpO3lAQqXcAgAqMMya49vV+/GKMhxRb2WyqPPrG9xaBsx > PKkgtFakEh9h9pLxhL4Hp4nSamQpdYJ8G9yHxwlvn5Y/WQI4hq022nk5UQKfnlJP > 6z8gU1+54L0lL0fbpk9g+5zFtso6nTQFMEOsPRnTttwejDZSkYqmmfN8JCRHBBgq > emPHfZnjFVVmzE5foSSTbCqmxQhfUlck26ILcXjlvQYBn1TL7QTlY8SsWIEBFzz2 > jHHgWXe7TjYIasLb5/aZTt6pn/pDajpxsmRG9QtnGWp7NR0QX89Qj8Eg1DEzY7gt > PHPLJIQdJ0pPf69rge3JvaIAsGEVNjKE+G/E3RLWd/kE/bnhBGfC0g== =xTPq > -END PGP SIGNATURE- > > -- > Xperia(TM) PLAY > It's a major breakthrough. An authentic gaming smartphone on the > nation's most reliable network. And it wants your games. > http://p.sf.net/sfu/verizon-sfdev Thanks for the reply. I know that a number of contributors to the darktable forums use geeqie so I will ask how they deal with this issue. Your idea of scripting certainly sounds good and a script to handle this would be appreciated. I am sure that you are aware that darktable is becoming an immensely powerful raw processor and it would be great if geeqie could play well with it in the way it does with ufraw -- Forrester Wave Report - Recovery time is now measured in hours and minutes not days. Key insights are discussed in the 2010 Forrester Wave Report as part of an in-depth evaluation of disaster recovery service providers. Forrester found the best-in-class provider in terms of services and vision. Read this report now! http://p.sf.net/sfu/ibm-webcastpromo ___ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel
Re: [Geeqie-devel] grouping with darktable xmp files
-BEGIN PGP SIGNED MESSAGE- Hash: SHA512 Hi, Am So den 10. Apr 2011 um 17:51 schrieb stair: > when darktable creates it's sidecar files they are given the raw file full > name including extension, in my case image.CR2, and adds the .xmp > extension, so the sidecar is image.CR2.xmp. I do not see how Geeqie can handle that. In fact that sounds a bit broken for me just adding one more file ending. The problem is that Geeqie use the (in my mind) clean way, exchanging the ending with the other. That is the way many applications do the stuff. Even if you want to try it is somewhat impossible to fit with ever way, applications do. But there might be a solution. Recently I start implementing scripting capability. For the moment I just did a hook into the on screen display but it would be easy to hook it in other parts of geeqie. I think that this could be a way, giving the user a way to code his own interjection, to solve such problems. Regards Klaus - -- Klaus Ethgenhttp://www.ethgen.ch/ pub 2048R/D1A4EDE5 2000-02-26 Klaus Ethgen Fingerprint: D7 67 71 C4 99 A6 D4 FE EA 40 30 57 3C 88 26 2B -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) iQEVAwUBTaHqa5+OKpjRpO3lAQqXcAgAqMMya49vV+/GKMhxRb2WyqPPrG9xaBsx PKkgtFakEh9h9pLxhL4Hp4nSamQpdYJ8G9yHxwlvn5Y/WQI4hq022nk5UQKfnlJP 6z8gU1+54L0lL0fbpk9g+5zFtso6nTQFMEOsPRnTttwejDZSkYqmmfN8JCRHBBgq emPHfZnjFVVmzE5foSSTbCqmxQhfUlck26ILcXjlvQYBn1TL7QTlY8SsWIEBFzz2 jHHgWXe7TjYIasLb5/aZTt6pn/pDajpxsmRG9QtnGWp7NR0QX89Qj8Eg1DEzY7gt PHPLJIQdJ0pPf69rge3JvaIAsGEVNjKE+G/E3RLWd/kE/bnhBGfC0g== =xTPq -END PGP SIGNATURE- -- Xperia(TM) PLAY It's a major breakthrough. An authentic gaming smartphone on the nation's most reliable network. And it wants your games. http://p.sf.net/sfu/verizon-sfdev ___ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel
[Geeqie-devel] grouping with darktable xmp files
I have recently starting using darktable for my raw processing and have come across a problem with the way geeqie groups darktable's xmp files, or rather doesn't, the files are not grouped when darktable creates it's sidecar files they are given the raw file full name including extension, in my case image.CR2, and adds the .xmp extension, so the sidecar is image.CR2.xmp. The only way I can get grouping to work is to change the sidecar file name to eliminate the .CR2 bit but this is not a solution since it breaks the connection in darktable. Trying various things in the sidecar extensions list does not help I don't think I am missing something here, if so a pointer would be appreciated. If not then it would be very good if this could be fixed Thanks Stair -- Xperia(TM) PLAY It's a major breakthrough. An authentic gaming smartphone on the nation's most reliable network. And it wants your games. http://p.sf.net/sfu/verizon-sfdev ___ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel