Když v Photos na MacOS přetáhnete fotku někam “ven”, tak vůbec nemusíte dostat plnou velikost. Funguje to jedině pokud nemáte aktivní optimalizaci fotek a Mac vše stahuje v plné velikosti. Krajně nepraktické.
Můžete samozřejmě jít do File/Soubor a tam proklikat skrz záplavu kroků Exportu (má to klávesovou zkratku, ale klikání vás to nezbaví). Stejně tak krajně nepraktické.
Můžete aktivovat stahování všeho a vypnout optimalizaci Fotek, ale to je stejně tak nepraktické – v Macu budete mít záplavu fotek, které možná nikdy potřebovat nebudete.
Klávesová zkratka pro váš vlastní export
Jedna elegantní možnost tu je, byť bude trochu omezená tím, že provede export do předem dané složky – v mém případě mi to vyhovuje, fotky z Photos stejně vytahuju do vlastní TMP složky (což není ta systémová, ale čistě vlastní) a tam je dál zpracovávám v XnViewMP.
Budete ale potřebovat osxphotos – umí exportovat fotky. Snadno poříditelné v terminálu:
brew install pipx pipx ensurepath pipx install osxphotos
pipx si pořizujete proto, aby osxphotos bylo možné snadno používat.
Pak už jen zjistěte, kde osxphotos je.
which osxphotos
což v mém případě je něco jako /Users/danieldocekal/.local/bin/osxphotos a u vás to bude vypadat podobně.
V Zkratkách/Shortcuts si vytvořte novou zkratku, co vykoná Run shell script:
DEST="/Volumes/Mini2TB/tmp/" /Users/danieldocekal/.local/bin/osxphotos export "$DEST" --selected --download-missing --no-exportdb
- DEST = určit kam bude fotky exportovat
- Na začátku dalšího řádku doplníte zjištěnou cestu k osxphotos
- –selected zajistí, že zpracuje vše, co máte vybrané (v Photos/Fotky)
- –download-missing je klíčové pro stažení plné podoby z iCloudu
- –no-exportdb zamezí vytváření skryté exportní databáze v cílové složce, chcete totiž jen exportovat, nechcete žádné další zpracování
Zkratce si dejte nějakou klávesovou zkratku – já ji mám na ⌃⇧E
A užitečné (ale nikoliv nutné) je aktivovat Use as Quick Action. Přidá zkratku do nabídky Služby a do kontextového menu ve Finderu (což tak jako tak nepotřebujete, tohle budete používat jen v Photos). Stejně jako případné Share in Share Sheet.
Pozor na to, že při prvním spuštění Apple klasicky začne komplikovat běh odmítáním přístupu, takže musíte vše povolit. Pak už vše funguje, jak má.
Zkratka nemaže exportované, ale pokud byste chtěli doplnit, je to opět klasicky jablečně komplikované – Apple nedovolí fotky mazat. Jediná nejbližší možnost je přidat ještě jeden parametr
--add-exported-to-album "K smazání"
Tím vám bude vznikat album, kde jsou fotky určené ke smazání – mazat je ale musíte jednou za čas ručně.
Drobnost navíc
Výše uvedený skript je tichý, nevíte, jestli proběhl. Na konec skriptu je možné přidat zvukový signál úspěšného dokončení. Základní možnost
osascript -e 'beep'
nebo ještě lepší
afplay /System/Library/Sounds/Glass.aiff
pokud byste chtěli hrát v případě chyby, tak ideální je
afplay /System/Library/Sounds/Basso.aiff
V plné podobě tedy skript například takto
DEST="/Volumes/Mini2TB/tmp/" if /Users/danieldocekal/.local/bin/osxphotos export "$DEST" --selected --download-missing --no-exportdb; then afplay /System/Library/Sounds/Glass.aiff else afplay /System/Library/Sounds/Basso.aiff afplay /System/Library/Sounds/Basso.aiff fi
Poslední drobnost navíc
Export zachovává původní datum a nemění ani datum změny. Poněkud nepraktické, protože starší exportované fotky zůstanou kdesi v hloubi složky.
Řešitelné přidáním dalšího parametru pro osxphotos:
--post-command exported "touch {filepath|shell_quote}”
touch se postará o aktuální datum změny. Pokud byste chtěli aktualizovat datum vytvoření souborů (originální datum je stále v EXIF), tak třeba takto:
--post-command exported "cp {filepath|shell_quote} {filepath|shell_quote}.tmp && mv {filepath|shell_quote}.tmp {filepath|shell_quote}"
Vytvoří kopii fotky jako .tmp soubor, poté s pomocí mv původní soubor přepíše novým. A ten už bude mít datum vytvoření aktuální.
V mém případě stačí první řešení. V XnView MP pak třídím podle data změny, nikoliv podle data vytvoření. Tím se nově exportované objeví hned na začátku.
