Rychlé a pomalé náhledy (thumbnails)

Podpora vývojářů nových pluginů, oznámení o nových pluginech nezávislých autorů a diskuse o nich.
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Rychlé a pomalé náhledy (thumbnails)

Post by zarevak »

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).
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

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.
User avatar
stepand76
Plugin Developer
Plugin Developer
Posts: 455
Joined: 16 Apr 2007, 21:22
Location: Pardubice, Czech Republic

Post by stepand76 »

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.
Nezapomeňte se prosím ozvat i na tohle:

http://forum.altap.cz/viewtopic.php?t=2966

...až budete mít chvilku.
Post Reply