Total7zip

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Rustn
Сообщения: 45
Зарегистрирован: Ср дек 15, 2010 11:22

Сообщение Rustn »

Хотел поинтересоваться, почему вижу в дебаге 10 строк - [Total7zip] ContentGetSupportedField.
Может стоит уже задуматься об оптимизации кода?
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

Rustn вопрос хороший, только задать его надо автору тотал коммандера. то что вы видите - это результат того, что зачем-то список полей получается несколько раз.

я вам даже больше скажу - когда коммандер начинает спрашивать содержимое полей, он делает это так - говорит имя файла и номер колонки. у него нет понятия о начале и конце операции работы с одним файлом. если я возвращаю на каждый файл значения для 4х колонок, то следуя логике коммандера я должен 4 раза открыть каждый файл. конечно это неэффективный бред, и я вставил кэширование на своей стороне.

если не верите - http://ghisler.fileburst.com/content/wdx_id3_src.zip
это плагин написанный угадайте кем. исходники. с оффициальной странички.
так вот этот "Very small and fast plugin" при получении каждого поля делает следующее:

Код: Выделить всё

int __stdcall ContentGetValue(char* FileName,int FieldIndex,int UnitIndex,void* FieldValue,int maxlen,int flags)
{
......
	
	f=CreateFile(FileName,GENERIC_READ,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,
		OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
	if (f==INVALID_HANDLE_VALUE)
		return ft_fileerror;

	SetFilePointer(f,-128,NULL,FILE_END);
	memset(&id3buf,0,sizeof(id3buf));
	if (ReadFile(f,&id3buf,128,&bytesread,NULL) && bytesread==128) {
		CloseHandle(f);
....
то есть, для того что бы заполнить 10 колонок ghisler(Author) один и тот же mp3 файл откроет и прочитает 10 раз, и назовет это "Very small and fast".

знаете, есть такой плагин - DirSizeCalc, он работает как раз как контент плагин, и страшно тормозит.
а есть другой - VisualDirSize - он работает как плагин листера и показывает размеры папок в несколько раз быстрее.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Rustn
Тут ничего не оптимизируешь, это особенности реализации WDX API тотала. Для получения полей он несколько раз вызывает функцию ContentGetSupportedField, которая в каждый вызов возвращает одно поле.

То же самое он проделывает и для получения информации по полям. Для файлов с достаточно долгим временем получения информации без кэша никак не обойтись.

Add: Немного опоздал :)
Rustn
Сообщения: 45
Зарегистрирован: Ср дек 15, 2010 11:22

Сообщение Rustn »

Спасибо за разъяснения...
Что ж, ничто не совершенно в нашем мире :)
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

Total7zip
Не хочу мешать активной работе над плагином, но раз уж он использует 7zg, нельзя ли, по наличию желания/времени, написать к нему ланчер, чтобы в реестр не лазил? Чтобы его и без плагина использовать. В идеале - возможность хранить несколько профилей, а не только последний.
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

Total7zip версия 0.7.0.1

закончен Contetn плагин, жду отзывов.
RC на www.totalcmd.net

http://narod.ru/disk/2455565001/wcx_Tot ... 1.rar.html
Rustn
Сообщения: 45
Зарегистрирован: Ср дек 15, 2010 11:22

Сообщение Rustn »

Мда, работает, info оооочень много всего, нужного и не нужного.
Ну в принципе работает! Можно выпускать :)
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

Total7zip
Отлично! Особенно files\folders - это пять!

И сразу же реквест. Добавить wlx-интерфейс. Это не шутка :) Делать он должен только одно - те же колонки что и у wdx показывать с столбик.

Это я возвращаюсь к теме замены плагинов ArchView\FileInfo. Очень удобно было быстро глянуть инфу для файла под курсором.
TC 9.51 | Win10 1903
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

согласен.
не сегодня!
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

Total7zip
Бог мой, канечно нет... можешь даже в след. году ;)

немного размышлений по-поводу каким должен быть wlx (пиши в todo ;) ):
1. Настраиваемый шрифт\размер\цвет (круто это сделано в TCTorrent). Вопрос где хранить для этого настройки... по-моему хороший вариант, все в том же Total7zip.xml, разделить типа такого:

Код: Выделить всё

<settingsWCX>
  <gui lang="" />
  ...
</settings>

<settingsWLX>
  ...
</settings>
2. РУС\ENG фейсы... по идеи можно брать с Lang\ru.txt, но тогда исходя из предыдущего поста должны быть каки-то общие параметры, как <gui lang="" />

Кстати, почему у меня установлено <gui lang="ru" /> но колонки в wdx на инглише?
TC 9.51 | Win10 1903
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

колонки wdx не поддерживают Unicode и их надо локализовать через какие-то lng файлы.
я пока не стал вникать в это.
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

Total7zip
тогда для плага нужно создать свои языковые файлы - общие для wdx\wlx.

И кста я знаю когда можно назначить версию 1.0 - после wlx и gui-настроек :roll:
TC 9.51 | Win10 1903
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

0.7.0.2

http://narod.ru/disk/2463569001/wcx_Tot ... 2.rar.html

фикс - в 0.7.0.1 было зависание при обновлении архива, если в корне была только папка...
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

Total7zip v0.7.0.3 релиз.
http://wincmd.ru/plugring/Total7zip.html
С Новым Годом!
Последний раз редактировалось Total7zip Пт дек 31, 2010 17:17, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Спасибо за релиз! Всё-таки лучше ссылку на русфоруме давать не на английское зеркало, а на наш сайт.
Files два раза в колонках встречается.
ИМХО, колонки, которые есть в shelldetails, здесь не нужны.
Ждём подхвата lng.
Ответить