Страница 26 из 68
Добавлено: Ср дек 29, 2010 08:19
Rustn
Хотел поинтересоваться, почему вижу в дебаге 10 строк - [Total7zip] ContentGetSupportedField.
Может стоит уже задуматься об оптимизации кода?
Добавлено: Ср дек 29, 2010 09:36
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 - он работает как плагин листера и показывает размеры папок в несколько раз быстрее.
Добавлено: Ср дек 29, 2010 09:40
Loopback
Rustn
Тут ничего не оптимизируешь, это особенности реализации WDX API тотала. Для получения полей он несколько раз вызывает функцию ContentGetSupportedField, которая в каждый вызов возвращает одно поле.
То же самое он проделывает и для получения информации по полям. Для файлов с достаточно долгим временем получения информации без кэша никак не обойтись.
Add: Немного опоздал

Добавлено: Ср дек 29, 2010 09:56
Rustn
Спасибо за разъяснения...
Что ж, ничто не совершенно в нашем мире

Добавлено: Чт дек 30, 2010 00:28
Serge Yolkin
Total7zip
Не хочу мешать активной работе над плагином, но раз уж он использует 7zg, нельзя ли, по наличию желания/времени, написать к нему ланчер, чтобы в реестр не лазил? Чтобы его и без плагина использовать. В идеале - возможность хранить несколько профилей, а не только последний.
Добавлено: Чт дек 30, 2010 14:13
Total7zip
Total7zip версия 0.7.0.1
закончен Contetn плагин, жду отзывов.
RC на
www.totalcmd.net
http://narod.ru/disk/2455565001/wcx_Tot ... 1.rar.html
Добавлено: Чт дек 30, 2010 16:50
Rustn
Мда, работает, info оооочень много всего, нужного и не нужного.
Ну в принципе работает! Можно выпускать

Добавлено: Чт дек 30, 2010 17:18
mrmerak
Total7zip
Отлично! Особенно files\folders - это пять!
И сразу же реквест.
Добавить wlx-интерфейс. Это не шутка

Делать он должен только одно -
те же колонки что и у wdx показывать с столбик.
Это я возвращаюсь к теме замены плагинов ArchView\FileInfo. Очень удобно было быстро глянуть инфу для файла под курсором.
Добавлено: Чт дек 30, 2010 17:19
Total7zip
согласен.
не сегодня!
Добавлено: Чт дек 30, 2010 17:33
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 на инглише?
Добавлено: Чт дек 30, 2010 17:36
Total7zip
колонки wdx не поддерживают Unicode и их надо локализовать через какие-то lng файлы.
я пока не стал вникать в это.
Добавлено: Чт дек 30, 2010 17:49
mrmerak
Total7zip
тогда для плага нужно создать свои языковые файлы - общие для wdx\wlx.
И кста я знаю когда можно назначить версию 1.0 - после wlx и gui-настроек

Добавлено: Чт дек 30, 2010 18:49
Total7zip
0.7.0.2
http://narod.ru/disk/2463569001/wcx_Tot ... 2.rar.html
фикс - в 0.7.0.1 было зависание при обновлении архива, если в корне была только папка...
Добавлено: Пт дек 31, 2010 16:30
Total7zip
Total7zip v0.7.0.3 релиз.
http://wincmd.ru/plugring/Total7zip.html
С Новым Годом!
Добавлено: Пт дек 31, 2010 17:15
Flasher
Спасибо за релиз! Всё-таки лучше ссылку на русфоруме давать не на английское зеркало, а на наш сайт.
Files два раза в колонках встречается.
ИМХО, колонки, которые есть в
shelldetails, здесь не нужны.
Ждём подхвата lng.