Marcin bloguje

 

20

września

2009

Ludzie! Porzućcie F-Spot!

Share |

Dziś usiadłem do porządkowania zdjęć z wyjazdu wakacyjnego. Postanowiłem użyć do tego właśnie programu F-Spot. Wydawał się on odpowiedni. Zaimportował fotki, posortował według informacji EXIF. Schody zaczęły się w momencie edycji całej kolekcji.

Ze zdjęciami było trochę problemów, którymi chciałem się zająć:

Tak więc chciałem poobracać fotki i uporządkować wedle czasu. Pierwsza czynność poszła w miarę łatwo. Druga była już lekko upierdliwa - np. Można zaznaczyć wszystkie fotki i otworzyć je w okienku do zmiany czasu, ale wtedy zapisywane są zmiany dopiero po wciśnięciu OK. Niby byłoby to fajne, ale, gdy ustawimy czas dla jednej fotki, to mamy taki oto wybór:

fspot-fail

Albo zastosujemy tą datę do wszystkich zdjęć, albo damy zdefiniowany krok pomiędzy zdjęciami. A jakbym chciał tylko częściowo skorzystać z tych opcji, albo jednocześnie, to co niby mam zrobić?? Może da się to zrobić jakoś inaczej, ale jest to w obecnej formie krańcowo nieintuicyjne. W rezultacie proces porządkowania to około 1h - przy 500 zdjęciach.

Mając już posortowane fotki chciałem je zapisać do folderu. Jest przecież opcja "Export->Folder", która dokładnie to robi. A ja lubię mieć fotki w folderach, a nie zarządzane wyłącznie jakąś dodatkową aplikacją. Niestety okazało się, że dostaję piękną wywrotkę F-Spota:


Stacktrace: at (wrapper managed-to-native) Exif.ExifData.exif_data_save_data (System.Runtime.InteropServices.HandleRef,intptr&,uint&) <0x00004> at (wrapper managed-to-native) Exif.ExifData.exif_data_save_data (System.Runtime.InteropServices.HandleRef,intptr&,uint&) <0xffffffff> at Exif.ExifData.Save () <0x0006c> at JpegHeader.SetExif (Exif.ExifData) <0x00014> at FSpot.JpegFile.SaveMetaData (System.IO.Stream,System.IO.Stream) <0x0004e> at FSpot.JpegFile.Save (Gdk.Pixbuf,System.IO.Stream) <0x00149> at FSpot.Filters.ResizeFilter.Convert (FSpot.Filters.FilterRequest) <0x001d1> at FSpot.Filters.FilterSet.Convert (FSpot.Filters.FilterRequest) <0x000e6> at FSpotFolderExport.FolderGallery.ProcessImage (int,FSpot.Filters.FilterSet) <0x0060a> at FSpotFolderExport.FolderExport.Upload () <0x0050f> at (wrapper runtime-invoke) System.Object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>

Aby nie czekać na poprawki i dochodzenie co i jak w samym programie postanowiłem obejść program i korzystając z informacji z bazy SQLite, wewnętrznie wykorzystywana baza F-Spota, sam uporządkowałem moje fotki w folderze.

Jeśli komuś byłoby to kiedyś potrzebne, to korzystając z wersji 0.5.0.3 pomógł mi taki skrypcik:

#!/bin/sh
for pair in `sqlite3 photos.db 'select * from photos' | awk -F\| '{ print $2 "|" $3}'`
do
    seconds=`echo $pair | awk -F\| '{print $1}'`
    path=`echo $pair | awk -F\| '{print $2}' | sed -e 's/file:\/\///'`
    photo_date=`date -d @$seconds +%F_%H:%M`
    cp $path Desktop/Sycylia_09.2009/$photo_date.jpg
    echo $photo_date $path
done

No i ok, o ile pierwsze z moich zarzutów można jakoś ścierpieć i starać się wytłumaczyć (choćby tym, że ostatnio czytałem książkę "Designing interfaces" (Amazon), to już nie wyobrażam sobie jak można dopuścić do tego, żeby aplikacja wywalała się przy dosyć kluczowej - bo końcowej, operacji!

 
 

Komentarze

 
 
 

№ 1

20 września 2009, 19:05:58

Seban

jeśli nie f-spot to co?

 
 
 

№ 2

20 września 2009, 19:15:58

kmitko

To już zależy od wymagań. Ja przerzuciłem się na gthumb — jest import zdjęć, prosta edycja, katalogi działające jak tagi i eksport do galerii html.

 
 
 

№ 3

20 września 2009, 19:59:06

Marcin

@kmitko: a czy trzeba zrobić coś specjalnego, żeby w gthumb, przy przeglądaniu folderów ze zdjęciami pokazały się te pliki? W tej chwili gdy wchodzę do zadanego katalogu nic nie pokazuje się, tak jakby był pusty. A nie jest :)

 
 
 

№ 4

20 września 2009, 21:28:06

kmitko

Cóż mogę powiedzieć, SOA#1 :).

 
 
 

№ 5

20 września 2009, 22:31:20

a_patch

digiKam

 
 
 

№ 6

20 września 2009, 23:30:12

weosły kosiarz

Marcin: gthumb w niektórych wersjach ma BUG. Też to mam.

 
 
 

№ 7

21 września 2009, 16:44:02

Livio

Zamiast robić durne afery, zgłoś błąd...

Wyobraź sobie, dla własnego komfortu psychicznego, co byłoby, gdyby każdy robił aferę ze znalezionego buga. Jogger musiałby zmienić nazwę na Bugger albo I'm-too-lazy-or-sth-to-file-a-bug.

 
 
 

№ 8

21 września 2009, 21:29:28

Jajcuś

Wiesz… aktualna wersja f-spot to 0.6.1.2, a nie 0.5.0.3.
No i ja alternatywy dla F-Spot nie widzę… oglądałem różne alternatywy (czy Picassa, czy GThumb) i niestety, jak dla mnie nawet nie zbliżyło się użytecznością do tego, dalekiego od doskonałości, F-Spota.

 
 
 

№ 9

22 września 2009, 15:10:07

Antywirusy

no brak jest alterntywy

 
 
 

№ 10

22 września 2009, 19:46:22

Marcin

@Jajcuś - racja, ale w jednym z wcześniejszych postów na tym blogu żaliłem się na system pakietowy openSuse, na którym to używałem tego f-spota.

Ok, fakt jest faktem, powinienem dać szansę nowszej wersji.

 
 
 

№ 11

22 września 2009, 20:02:47

Livio

Odnośnie pakietów i repozytoriów w openSUSE, to rzeczywiście jest tam niezły syf. Webowy klient Build Service powinien dorobić się jakiegoś interfejsu propozycji pakietów do oficjalnego repozytorium, które winno być jedno i powinno zawierać aktualizacje. Mniej do pobierania, większy porządek.

Bo Contrib nie zdało egzaminu.

 
 
 

№ 12

24 września 2009, 23:26:20

Wcinacz

Totalna załamka F-Spot :F

 
 
 

№ 13

07 czerwca 2010, 16:00:38

Mr Web

Ja jestem zadowolony z F-spot na Mandriva Extreme 2

 
 
 

№ 14

07 lipca 2010, 17:36:16

geeker

DigiKam i Gwenview oferują znacznie więcej, a tym samym są mniej zasobożerne od F-Spot. Jeśłi ktoś uparcie chce aplikację napisaną z użyciem gtk to polecam Shotwell:

http://yorba.org/shotwell/

 
 
 

Dodaj komentarz

 

Podpis

 

URL

 

Treść

 
 
 
 

Miniblog

21 kwietnia 2010, 18:01:59 | Reaktywacja o-filmoramy? |

Mam nadzieję, że wreszcie jednak ruszę z blogiem filmowym, po raz kolejny należy mu się reaktywacja.

http://o-filmorama.blogspot.com

Szukaj

Promocja