PictureView 3 — просмотр изображений различных форматов

Здесь можно обсудить ваш любимый плагин.
SEt
Posts: 463
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 21 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

В этой теме обсуждается плагин PictureView 3.
Старый тред с обсуждением предыдущих версий: PictureView 1 и 2.

Дальнейшее развитие версии 1.5, переделано под API Far 3.0.



Об извлечении плагинов из дистрибутивов ACDSee.


PS: API как было убогим в Far 2, так и осталось...
Attachments
PictureView3_20140813_last_xp.7z
Последняя версия, работающая на WinXP
(321.22 KiB) Downloaded 731 times

SEt
Posts: 463
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 21 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

Latest post of the previous page:

Да, есть такое, в PV вызывался CoUninitialize при не успешном CoInitializeEx. В следующей версии будет исправлено.

Но в данном случае – это была очень полезная ошибка, так как иначе вот это прошло бы тихо:
drkns 02.09.2019 21:09:11 +0100 - build 5463
1. Инициализируем COM как multithreaded, вроде бы так правильнее в нашем случае.
Какая прекрасная идея: "вроде бы так правильнее"! А что должны сделать плагины? Как им понять, что теперь COM работает по-другому?

EDIT:
Ну и MSDN говорит, что
Because OLE technologies are not thread-safe, the OleInitialize function calls CoInitializeEx with the COINIT_APARTMENTTHREADED flag. As a result, an apartment that is initialized for multithreaded object concurrency cannot use the features enabled by OleInitialize.
Applications that use the following functionality must call OleInitialize before calling any other function in the COM library:
  • Clipboard
  • Drag and Drop
  • Object linking and embedding (OLE)
Так что в плагинах ещё что-то может принципиально отвалиться, если они теперь обязаны жить в COINIT_MULTITHREADED.
Last edited by SEt on Sat 07 Sep, 2019 23:30, edited 2 times in total.

User avatar
DrKnS
Posts: 5523
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 281 times

PictureView 3 — просмотр изображений различных форматов

Post by DrKnS »

SEt wrote:
Sat 07 Sep, 2019 23:06
А что должны сделать плагины?
Плагины не должны строить предположения и зависеть от состояния по умолчанию.

Вы не можете предполагать, что COM инициализиован.
Вы не можете предполагать, что COM не инициализиован.
Вы не можете предполагать, что COM инициализирован как multithreaded.
Вы не можете предполагать, что COM инициализирован как не multithreaded.

Почему?
Потому что плагинов - легион.
Представьте, что фар вообще не трогает COM (раньше так и было).
Любой другой плагин может быть вызван до вас и сделать по-другому.
Любой shell extension, загруженный EMenu до вас, может сделать по-другому.
Это не сейчас изменилось, это всегда так было.
Как им понять, что теперь COM работает по-другому?
Пример "как понять" - в предыдущем сообщении.
Если режим вам безразличен - отлично.
Если принипиально надо апартмент - всегда можно создать новый тред и инициализировать его там.

SEt
Posts: 463
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 21 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

DrKnS wrote:
Sun 08 Sep, 2019 02:40
Это не сейчас изменилось, это всегда так было.
Не было этого всегда. Вот специально проверил на довольно старой версии Far3 без плагинов: COM инициализирован в COINIT_APARTMENTTHREADED, то есть кто-то там случайно изменить это не мог.
DrKnS wrote:
Sun 08 Sep, 2019 02:40
Если режим вам безразличен - отлично.
Мне то без разницы – легко перекомпилировать.
А вот зачем потребовалось изменять это в Far'е и потенциально ломать плагины – не ясно. Не всё можно пересобрать.

2useven10
Posts: 4006
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

PictureView 3 — просмотр изображений различных форматов

Post by 2useven10 »

SEt wrote:
Sun 08 Sep, 2019 03:36
Мне то без разницы – легко перекомпилировать.
Когда ожидается обновлениие?

SEt
Posts: 463
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 21 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

Новая версия:
  • Полная поддержка увеличения изображений методом ближайшего соседа.
  • Новый декодер на основе libtiff.
  • Обновлены многие декодеры.

pukan1
Posts: 29
Joined: Tue 27 Mar, 2007 15:30
Has thanked: 3 times

PictureView 3 — просмотр изображений различных форматов

Post by pukan1 »

Microsoft Windows [Version 6.1.7601]
GeForce GT 630

Far Manager v3.0.0.5454
PictureView v3.2019.9.10

Вместо любых JPG картинок показывает серый прямоугольник.
PNG, GIF, WDP работают нормально.

Замена JpegRec.pvd на предшествовавшую версию проблему решило.
Прошу разобраться в чем может быть причина такого поведения JpegRec.pvd в новой версии.

User avatar
HaRT
Moderator
Posts: 9265
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 95 times
Been thanked: 201 times

PictureView 3 — просмотр изображений различных форматов

Post by HaRT »

pukan1 wrote:
Tue 10 Sep, 2019 22:57
GeForce GT 630

Far Manager v3.0.0.5454
PictureView v3.2019.9.10
У меня на Nvidia GeForce GT 640 всё нормально. Windows 8.1 x64, Far 3.0.0.5470 x86, PictureView v3.2019.9.10.
Проверьте на сайте Nvidia, свежие ли у вас драйверы.
Фар есть инструмент, а не нянька. © 2009 DrKnS

pukan1
Posts: 29
Joined: Tue 27 Mar, 2007 15:30
Has thanked: 3 times

PictureView 3 — просмотр изображений различных форматов

Post by pukan1 »

HaRT wrote:
Tue 10 Sep, 2019 23:18
Проверьте на сайте Nvidia, свежие ли у вас драйверы.
Драйверы 391.35 и согласно https://www.geforce.com/drivers это самые актуальные для моей конфигурации.

Еще раз подчеркну что предыдущий JpegRec.pvd работает отлично в точно тех же условиях, в которых новый - нет.

Last edited by pukan1 on Tue 10 Sep, 2019 23:31, edited 1 time in total.

2useven10
Posts: 4006
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

PictureView 3 — просмотр изображений различных форматов

Post by 2useven10 »

pukan1 wrote:
Tue 10 Sep, 2019 22:57
Вместо любых JPG картинок показывает серый прямоугольник.
+1

2useven10
Posts: 4006
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

PictureView 3 — просмотр изображений различных форматов

Post by 2useven10 »

JpegRec.pvd подозрительно сильно похудел.
Last edited by 2useven10 on Wed 11 Sep, 2019 08:28, edited 1 time in total.

Pasha_ZZZ
Posts: 97
Joined: Mon 12 Jun, 2006 14:58
Contact:

PictureView 3 — просмотр изображений различных форматов

Post by Pasha_ZZZ »

Win 10 Pro x64, Far x64 3.0.0.5472, GeForce 1030, дрова 430-е. Серые прямоугольники на JpegRec

Pasha_ZZZ
Posts: 97
Joined: Mon 12 Jun, 2006 14:58
Contact:

PictureView 3 — просмотр изображений различных форматов

Post by Pasha_ZZZ »

Обновил дрова до вчерашних 436.30 - ничего не изменилось. Снес настройки плагина (SQLite) - ничего не изменилось.

DVall
Posts: 83
Joined: Tue 04 May, 2010 13:35

PictureView 3 — просмотр изображений различных форматов

Post by DVall »

Win 7 SP1 x64, Far x64 3.0.0.5472, Intel(R) HD Graphics 4600 (драйвер 14.12.2017) - Работает.

Win 7 SP1 x64, Far x64 3.0.0.5472, GeForce 1080 (драйвер 436.30) - Работает.
Last edited by DVall on Wed 11 Sep, 2019 16:30, edited 2 times in total.

SEt
Posts: 463
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 21 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

Это не драйвера.
Единственное крупное изменение с JpegRec – эта версия собрана Clang, а предыдущие ICC.
Вот, попробуйте пересобранную в ICC (хоть и другой версии) x86:
JpegRec.pvd.7z
Last edited by HaRT on Wed 11 Sep, 2019 17:34, edited 1 time in total.
Reason: Добавлено предупреждение

Pasha_ZZZ
Posts: 97
Joined: Mon 12 Jun, 2006 14:58
Contact:

PictureView 3 — просмотр изображений различных форматов

Post by Pasha_ZZZ »

х86 не катит, фар не той системы ;-)

SEt
Posts: 463
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 21 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

Так и знал, что кто-то захочет x64... Вот, смотрите:
JpegRec_x64.pvd.7z

Post Reply

Return to “Обсуждение плагинов”