Плагин "Auto Switch"

Все что касается разработки, отладки, использования подключаемых модулей.

Moderators: Korney San, marcipan

Post Reply
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Плагин "Auto Switch"

Post by Korney San »

Создан для людей с плохой нестабильной скоростью закачки.
Тема форума с просьбой реализовать в самом DM (2007).

Основное назначение - переключаться на другую закачку, когда скорость текущей падает ниже заданной.

Версия 0.5.1. Плагину 5 лет!
Версия 0.5.2.
Версия 0.6.
Версия 0.6.1

0.5 (19.10.2011) 5-years Edition
[+] Настраиваемое время ожидания ПОСЛЕ достижения лимита (аналогично времени на запуск); переключение сработает, если по истечении этого времени параметр всё ещё будет ниже заданного лимита.
[+] Опция ожидания при нулевой скорости (время берётся из предыдущего пункта); сначала отсчитывается время, потом количество раз.
[+] Опция "Не переключать загрузки, скачанные на 95+ процентов".
[-] При восстановлении скорости скачивания до срабатывания проверки нулевой скорости, эта проверка в следующий раз могла сработать раньше, чем положено.

0.5.1 (21.10.2011) 5-years Edition Bugfix
[-] Возвращена потерянная в 0.5 из-за неразберихи с исходными кодами возможность работы с соединением.
[*] Небольшая оптимизация кода.

0.5.2 (15.11.2011)
[+] Сохранение количества переключений/переподключений в отдельный файл.
[+] Просмотр количества переключений/переподключений в отдельном окне с возможностью обнуления.

0.6 (20.02.2012)
[*] Вид опций.
[+] Указание значения параметра в абсолютном или относительном виде.

0.6.1 (13.04.2012) ПЯТНИЦА 13-Е!!!
[+] Таймаут подключения.
[+] Количество попыток подключения.

Версия 0.4+ - Важно!
1) Перед использованием версии 0.4+ (AutoSwitchEx.dll) удалите AutoSwitch.dll !
2) Без ServiceExtDldInfo будет доступна только скорость и правильная работа других функций не гарантируется!
3) При первом запуске версии 0.4+ будет доступна только скорость. Сохраните настройки, откройте заново и выберите ещё раз.
4) При обновлении сервиса Service: Extended Download Information (ServiceExtDldInfo.dll) с версии 0.3 и менее удалите ServiceFilter.dll, т.к. функции Service: Filter полностью поддерживаются сервисом Service: Extended Download Information с версии 0.4.

Принцип работы плагина с соединениями: при обнаружении у любой загрузки падения параметра ниже заданного предела выполняется постановка всех активных загрузок на паузу, разрыв соединения, восстановление соединения, после обнаружения соединения - запуск загрузок, поставленных на паузу. ВАЖНО: соединение должно быть настроено в DM, в свойствах соединения в системе должен быть сохранён пароль.

Подробности по адресу KorneySan <at> tut <dot> by
Last edited by Korney San on 13 Apr 2012, 17:59 Fri, edited 12 times in total.
Reason: Удаление информации о старых версиях.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
jameszero
Posts: 7
Joined: 03 Dec 2006, 12:24 Sun
Contact:

Post by jameszero »

Супер. Спасибо.
Давно мне не хватало этой фичи у DM
Одно только пожелание - если возможно, увеличте пожалуйста диапазон минимальной скорости для перезапуска сессии, хотя бы до 50Кб/сек. Сейчас, настолько я понял, он может быть равен максимум 5Кб/с, для DialUp это более чем, а для ADSL порог необходим повыше.
Либо, но это уже, конечно из области фантастики - что бы плагин считывал, какую скорость пользователь задал во вкладке "Настройки программы" - "Соединение", и предлагал наиболее оптимальный вариант диапазона скоростей.
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

jameszero wrote:Супер. Спасибо.
Давно мне не хватало этой фичи у DM
Одно только пожелание - если возможно, увеличте пожалуйста диапазон минимальной скорости для перезапуска сессии, хотя бы до 50Кб/сек. Сейчас, настолько я понял, он может быть равен максимум 5Кб/с, для DialUp это более чем, а для ADSL порог необходим повыше.
Надо - сделаем. :) Вот-вот положу новую версию, там и вкручу.
jameszero wrote: Либо, но это уже, конечно из области фантастики - что бы плагин считывал, какую скорость пользователь задал во вкладке "Настройки программы" - "Соединение", и предлагал наиболее оптимальный вариант диапазона скоростей.
Как я уже писал похоже в другой теме по другому вопросу, существующий API не позволяет узнать ТЕКУЩУЮ скорость (только список). Так что пока не изменят API - ой.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
jameszero
Posts: 7
Joined: 03 Dec 2006, 12:24 Sun
Contact:

Post by jameszero »

Нет, я не про текущую скорость. В настройках самого DM да и при первом его запуске, пользователь может указать, каким подключением он пользуется и DM сам подбирает оптимальное число секций и ограничение по скорости.
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

jameszero wrote:Нет, я не про текущую скорость. В настройках самого DM да и при первом его запуске, пользователь может указать, каким подключением он пользуется и DM сам подбирает оптимальное число секций и ограничение по скорости.
Я немного оговорился. Мой плагин мониторит текущюу скорость закачки, на этом основана его работа.
API не даёт возможность знать ТЕКУЩИЙ ЗАДАННЫЙ ТИП подключения и тем более его скоростные интервалы.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

Плагин обновился до версии 0.2.0.2, в которой исправлены досадные ошибки предыдущей версии.
История изменений здесь.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
jameszero
Posts: 7
Joined: 03 Dec 2006, 12:24 Sun
Contact:

Post by jameszero »

Спасибо. Работает так, как доктор прописал :)
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

В новой версии 0.2.0.3 исправлены работа опции "Выйти из программы" и обработка закрытия подтверждения по таймеру.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

В новой версии 0.2.0.4 исправлены несколько глюков, добавлены несколько фишек и введён третий, самый эффективный режим работы, контролирующий не скорость закачки, а объём записи на диск в единицу времени.

Планируется (пока планируется :) ) выпуск версии Lite с одним этим режимом и самым необходимым из остального.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Neo_Anderson
Posts: 1
Joined: 20 Apr 2006, 16:03 Thu
Location: Belarus

Post by Neo_Anderson »

Отличная конечно вещь... Но только плагин работает с группой закачек, как я понял... Нельзя ли сделать, чтобы плагин работал только с одной закачкой? А то у меня на паузе около 200(так хотелось все закачать), и все качать о-о-чень долго, а удалять не хочу: нужны все-таки. Пожалуйста :oops: , думаю, для такого прогаммиста как Вы это не составит особого труда :wink:
What happened, if I fail?
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

Neo_Anderson wrote:Отличная конечно вещь...
Спасибо... Делал для себя. :)
Neo_Anderson wrote: Но только плагин работает с группой закачек, как я понял...
Со всеми найденными и добавленными.
Neo_Anderson wrote: Нельзя ли сделать, чтобы плагин работал только с одной закачкой? А то у меня на паузе около 200(так хотелось все закачать), и все качать о-о-чень долго, а удалять не хочу: нужны все-таки. Пожалуйста :oops: , думаю, для такого прогаммиста как Вы это не составит особого труда :wink:
Как говорится,
1. RTFM
2. В окне настроек есть кнопки "Вкл. все" и "Выкл. все"
3. В окне настроек прямо над очередью закачек написано "...дважды щёлкнуть, чтобы включить/выключить"
4. Щелчком правой кнопки на закачке из очереди вызывается контекстное меню, в котором есть приоритет "Неотложный", установка которого будет означать, что закачка будет закачиваться до упора (если она с таким приоритетом одна).

Резюме.
Есть два способа:
1. Выключить все и включить только нужную.
2. Поставить нужной приоритет "Неотложный".

P.S. ...если с версии 0.2.0.3 я случайно его не отломал... :) Есть у меня такие сомнения.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

Рассматривается вопрос о целесообразности снятия лимита в одну активную закачку.

Т.е. качаются, допустим, две, на одной сработал лимит - её отключаем, стартуем третью, вторую не трогаем.

Есть такие счастливцы, у которых больше чем одна "нормально" качается?
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
canis
Бывалый
Posts: 11
Joined: 30 Aug 2007, 13:53 Thu

Post by canis »

Отличный плагин, давно не хватало подобного рода функционала.
Нашел одну ошибку: все изменения, внесенные в окне настроек, вызванном из иконки в трее сохраняются, но не применяются. Например, если включить опцию "Иконка в трее" в настройках плагина, а потом из этой иконки в трее вызвать окно настроек и отключить опцию - иконка не пропадает, хотя при повторном вызове окна настроек из трея опция отключена. Чтобы действительно убрать иконку приходится открывать ДМ и вызывать настроки плагина из списка плагинов (при вызове непосредственно из ДМ опция "Иконка в трее" оказывается активированной).
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

canis wrote:Отличный плагин, давно не хватало подобного рода функционала.
Спасибо, я тронут. ;)
canis wrote:Нашел одну ошибку...
Хм, а ведь действительно... Виноват, исправлю!
В настоящее время разрабатывается третья версия плагина, там буду смотреть...

Предполагается:
- новый движок обработки закачек
- наличие статистики типа "сколько мне ещё ждать эту закачку, когда в очереди ...ндцать?", возможно, вывод этой инфы на плавающее окно DM
- наличие статистики "рывка" (сколько скачалось и за сколько между переключениями)
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
canis
Бывалый
Posts: 11
Joined: 30 Aug 2007, 13:53 Thu

Post by canis »

Новая версия это хорошо. Нельзя ли в ней предусмотреть следующую опцию: "Не следить за закачкой первые Х секунд".

Столкнулся со следующей проблемой: канал у меня небольшой и во время старта любой закачки пока не завершатся соединения всех секций скорость может скакать значительно. Поставил в плагине минимальную скорость 5 кБт/с: вообще-то качает стабильно на 7,5, но во время старта (первые секунд 10-15) скорость обычно ниже - в итоге плагин просто перебирает все закачки, после 3-5 секунд стартует следующа - и так бесконечно.
Post Reply