V rámci Explorer Thumbnails pluginu jsem narazil na koncepční otázku...
CPluginInterfaceForThumbLoader::LoadThumbnail(..., BOOL fastThumbnail ) je nejprve volána s fastThumbnail = TRUE a pokud při tomto prvním průchodu zavolám CSalamanderThumbnailMakerAbstract::SetParameters(..., SSTHUMB_ONLY_PREVIEW) je za chvíli volána moje funkce znova s fastThumbnail = FALSE.
Některé soubory již obsahují malé náhledy, pro některé mám náhledy již hotové v cache. Tyto náhledy by se měli uživateli vrátit při prvním průchodu. Až poté co se načtou všechny rychlé náhledy be měl nastat druhý průchod, který se pokusí načíst náhledy všech souborů v aktuálně potřebné velikosti (někdy vyžadující čtení i celého souboru).
Otázka tedy zní: Je nějak možné dát Salamanderu vědět, že rychlý náhled není dostupný (je možné, že ho dodá jiný plugin), ale možná bude dostupný pomalý náhled?
Nechci totiž blokovat načítáním velkého nenacachovaného souboru při prvním průchodu zobrazení jednoduchých náhledů ostatních souborů.
Současná možná "řešení":
- Teoreticky bych mohl v prvním průchodu mohl v případě nenačtení rychlého náhledu zobrazit dummy bitmapu - například ikonu souboru. Tím bych ale zamezil fallback na jiný plugin.
- Pokud nenačtu rychlý náhled, tak se okamžitě v prvním průchodu pokusím získat náhled ze souboru. Toho se chci právě vyvarovat...
PS: Bohužel načítání náhledů je v Explorer Thumbnails pluginu záležitost černé skříňky a nedokáži předem zjistit, jak dlouho to potrvá. Bylo by dobré, aby toto načítání mohlo probíhat na vlákně na pozadí bez ovlivnění uživatele (tedy aby nebyla blokována změna cesty). Takovéto černé skříňky budou časté u Thumbnails pluginů, pokud se budou využívat jakékoliv cizí knihovny (například kodeky pro video).
Rychlé a pomalé náhledy (thumbnails)
-
- ALTAP Staff
- Posts: 5231
- Joined: 08 Dec 2005, 06:34
- Location: Novy Bor, Czech Republic
- Contact:
- stepand76
- Plugin Developer
- Posts: 455
- Joined: 16 Apr 2007, 21:22
- Location: Pardubice, Czech Republic
Nezapomeňte se prosím ozvat i na tohle:Jan Rysavy wrote:Pouze informace ohledně odpovědí: všechna vlákna si Petr uložil a časem odpoví, ale zabere to několik hodin práce, které momentálně potřebujeme na vydání AS 2.52b1 a následně na odbavení nárazové vlny. Takže se ozve potom.
http://forum.altap.cz/viewtopic.php?t=2966
...až budete mít chvilku.