![]() |
seriousstas
Я тут немного переделал опрос по закрытию панели ДСП через МПС после выбора пресета, снизил нагрузку на проц при обращении к диску в on_paint... теперь работает по интервальному таймеру :) вот... старт таймера и переменные размести где удобно(начало скрипта например...) Код:
var dsp_switch_check_timer = false; Код:
// ============= dsp switch interval Код:
function dsp_switch_check(){ его начало в on_paint(); if (dsp_off = utils.ReadINI(set_path + 'settings.ini', 'dsp', 'dsp_off').... fb.trace(); можно удалить на работу функций не влияет :whistle: проигрывание мп3-ки с ресемплером в дсп и в состоянии покоя... http://jpegshare.net/images/6a/ff/6a...58c4a72968.png ... |
Евген_21
Да это я просто seriousstas мысли вслух озвучил по поводу копирования сборок в системные папки винды, в системных папках нужны права на работу с файлами и иногда возникают проблемы при записи/удалении в них. И тут же вспомнилась одна проблема при использовании кириллицы в имени пользователя... как то так. Цитата:
По опросу, я просто не так спросил... скорее правильно будет так... Что опрашивать ??? Я например не совсем понимаю какие вопросы в опроснике писать... и о чем опрашивать. Если хочешь попробуй сделай опрос.:smile2: |
duzzy
Цитата:
|
Цитата:
Если я буду создовать опрос, подмоги как правильно тему создать. яяяя в теме берусь. Слущаю Сектор газа |
seriousstas
В 10-ке вообще такой х...ни намудрили с правами просто жесть, там многое работает через одно место... не по теме извиняюсь... я чего так долго за компом болтался вчера... у знакомого подруга кнопочки чего до тыкала получила бесплатно крутую 10-ку)))... рабочие программы(эл.платежи, бух.) в минус ушли, семейные фотки и т.д так же в топку(спасибо тебе за программки по восстановлению файлов что скидывал ранее если бы не они пришлось бы сидеть наверно пару дней за компом)))). Короче одним словом 10-ка это зло, и народ пока до конца не понимает какой гемор они себе ставят. Лучше бы новую ось сделали а не потрошили ли бы старый труп... смена версии ядра и изменение интерфейса не меняет кишки. |
Цитата:
|
Евген_21
Цитата:
В сборках код почти одинаковый, применить автосмену по времени не так сложно как кажется потому как функции по смене так же как и в примере выше почти самостоятельные... Люди разные всем нравиться разные вещи, фубар это как конструктор... делай с ним что хочешь в пределах его возможностей... скрипты в панелях меняются за пару минут без особых навыков(смотри... открыл файл со скриптом скопировал его содержимое, открыл редактор выделил установленный скрипт, удалил его на его место вставил скопированный код из файла скрипта... это же не сложно;)) Цитата:
И ты же вроде создавал уже тему... |
Уважаемые duzzy и seriousstas Подскажите пож... где хранятся (или куда положить) плейлисты формата m3u в Ваших последних версиях сборок??? Спасибо..:blush:
|
Цитата:
y:\4Icar_13_5_MPS_UNI\foobar2000\themes\4Icar\Radi oPl\Rадио Relax.fpl y:\4Icar_13_5_MPS_UNI\foobar2000\themes\4Icar\Radi oPl\RADIO.fpl y:\4Icar_13_5_MPS_UNI\foobar2000\themes\4Icar\Radi oPl\RADIO Best (320).fpl y:\4Icar_13_5_MPS_UNI\foobar2000\themes\4Icar\Radi oPl\Radio Jazz FM.m3u |
Евген_21
Евген - не вижу смысла в новых темах (опросах каких-то) - совсем :) |
duzzy
Ок - хорошая оптимизация .. Называется найди два отличия : Цитата:
Второе - форум постарался - сунул пробел : window.CreateTimerInterval(dsp_switch_check_timer_ count) со вторым - сразу и не заметишь )) |
seriousstas
Гуд хорошо что получилось разобраться, а то постоянное обращение к диску не есть гуд :) Про два отличия, да не вроде правильно... сейчас тут в тэг код вставлю сравним))) Код:
а вот в (dsp_switch_check_timer_count) --- вставляет пробел если без тега код :smile1: а потом очень долго кто то будет искать где ошибка... Извиняй это я поленился в код пихать сейчас поправлю пост... ------------------- поправил пост по Оптимизация проверки ДСП |
Цитата:
|
seriousstas
ну это почти одинаковые варианты, просто этот короче))) dsp_switch_check_timer_on ? dsp_switch_check_timer_on == true if(dsp_switch_check_timer_on){...} |
Сегодня "обкатываю" в авто (пока - всё хорошо работает)
Что ещё сделано : 1. Space.exe (ТАB) ушли в прошлое ... Добавил пару записей в ini и вышло в итоге "умное автозакрытие" (пока кликаем - менеджер "ждет") При этом сохранил возможность открывать-закрывать через пробел. Примерно так-же сделал автозакрытие менеджера и в двойной панели . 2 . Выбор output device . Добавил 4-е кнопки (места достаточно) для выбора нужного устройства. |
Цитата:
|
уважаемые когда ждать выход этого https://youtu.be/S7kQ_45oLoI
|
dk-fsb
Евген_21 Постараюсь сегодня оформить ... |
последний foobar2000 v1.3.10 final
На скринах - разный вид кнопок , контекстное меню .. : http://rgho.st/92MJFlnYM/thumb.png http://rgho.st/6mBxQszZj/thumb.png http://rgho.st/8lgWlwtBg/thumb.png http://rgho.st/7fDZchxm9/thumb.png http://rgho.st/6Rd7fBQSK/thumb.png http://rgho.st/76cRy7nYh/thumb.png http://rgho.st/79QMzqjks/thumb.png В авто : На ПК : Инсталл (желательно) в корень диска : d:\4Icar_13_5_MPS_UNI\ (для отображения логотипов радиостанций ), либо поправить путь на свой на вкладке "Display" в настройках .В названиях папки куда установлен плеер не должно быть пробелов. Начинать с добавления верхней папки с альбомами в разделе настроек Фубара "Media Library" . Далее перейти в панель библиотеки (нижняя правая кнопка) и двойным кликом по альбому создать авто-плейлист "Library view" , либо создать плейлист в любом из двух менеджеров - левая кнопка сверху и выборочно добавить альбомы. Для визуализации нужен DirectX 9 : https://www.microsoft.com/ru-ru/down....aspx?id=34429 Для переключения вывода звука на панели DSP добавить свое устройство CTRL+клик : http://rgho.st/7gyGcvkDv/thumb.png • При помощи отдельной кнопки CTRL (таймер меняется через "Попертиз" , моргающая индикация) можно : ---1. Выбрать отдельно нужные альбомы и отправить их в плейлист . ---2.+ движение мыши, пальца : Уменьшать-увеличивать размеры шрифтов (других элементов) (движение пальца) ---3. Выборочно удалять треки (кнопка "Корзина") . ---4.+ЛКМ Включать-выключать фоновые картинки скриптов (одиночный клик). ---5. +dblm (двойной клик)Изменять положения переключателей на двойной панели (двойной клик) . ---6. +ЛКМ - Ввести название Вашего устройства(только название!, как на вкладке Output) для быстрого перезапуска типа вывода на DSP панели (4-е кнопки справа). • При помощи Shift с клавиатуры можно : вызвать настройки основного плейлиста, + движение мыши, пальца - изменить высоту колонок в доп. менеджере плейлистов на двойной панели . • Мультитач - можно увеличивать шрифты и размер строк двумя пальцами , переключать индикаторы VU метра . • Два вида "картинок" . 1-й От Марка : кроме основных кнопок есть (отключаемая) - автоочистка при нажатии на выход из плеера . Добавлена кнопка показывать - не показывать миниатюры . 2 От Гены : Работает авто-выбор русского . При отсутствии переход на инглиш (двойной клик - смена языка). Старт "био" одним тычком . • 12 пресетов 4(вида)x3(размера) . Если наловчились вызывать ПКМ пальцем - можно без проблем переключать пресеты удержание чуть более секунды на основных кнопках (см. видео "В авто") . Там-же в меню : вкл-выкл анимации и два типа нажатия (Тач - Мышь) • Менеджеры плейлистов с авто-закрытием (таймер 10 сек) . Если ткнуть в главный менеджер либо список треков JS плейлиста - таймер обнулится и запустится снова . Вызов этого менеджера теперь без AHK скрипта :) • Автозапуск открытого плейлиста (только в менеджере JS плейлиста) . • По приципу перезапуска таймеров работают теперь все авто-закрываемые панели . То-есть , пока есть нажатие - "ожидание" . 4 состояния отображения сикбара (бегущей строки) - переключается двойным тычком - кликом. • Экспериментально - одна MPS панель внутри другой. Задержка из-за довольно сложной конструкции .. Спасибо всем доброжелателям - отдельное : Евген_21 , duzzy , kgena_ua Ну и жду багрепорты ! 4Icar_13_5_MPS_UNI (Яндекс.Диск) |
Вложений: 2
Есть вопрос по расположении кнопок.Вложение 43685
Вложение 43686 и что красным отмечено. Кнопка чуть выше. Где поправить. Пока все. |
Еще заметил одну проблему, песня 13 минут и 32 сек. До половины прогресс бара довожу и переключается на следующую песню. И это скорей не к сборке, было и до этого на других. Пропадает звук на секунду, и порой на одной песне не раз. А, на других например токового нет.
|
Кнопки поправим - остальное опиши по-подробней. Ничего не понял (выложи на rg проблемные треки).
У меня этот плеер сейчас играет круглосуточно и все форамты ) Цитата:
|
Цитата:
Попробовал, на предыдущей , такая же фигня. Скидываю трек. |
По (заиканиям) не сталкивался , но советую тестиить всегда на DS (первичный драйвер) и без ДСП ,
пробуй также немного менять буфер . |
Все, этим разобрался. Показывал время оставившего трека 13 минут, а на самом деле 6 минут. На другом плеере попробовал. Вот сам посмотри.https://cloud.mail.ru/public/Hpzz/LMBffzM13
|
Цитата:
По тестирую еще найду причину ,сообщу. |
Цитата:
Цитата:
|
https://www.youtube.com/watch?v=VQ1Ap10ZuRM
Слушал, много-много раз, Всех С Великой ПОБЕДОЙ |
Цитата:
|
Цитата:
Кнопки поправил - тянуть там-же : http://pccar.ru/showpost.php?p=360109&postcount=1739 |
Цитата:
|
Евген_21
duzzy Есть вопрос по запуску менеджера для JS плейлиста , как сейчас это работает без AHK ? Так-же интересует старт (скорость) плеера - учитывая проверки тем цветов для градиентов регуляторов сик и звука и тд .. Евген_21 еще Tы спрашивал как-то за регулировку индикаторов кнопками в 7-ке . попробуй те файлы , что по пути: 4Icar_13_5_MPS_UNI\foobar2000\Emul\Windows_7\Wheel D.exe 4Icar_13_5_MPS_UNI\foobar2000\Emul\Windows_7\Wheel Up.exe заметить в папку Emul |
seriousstas
Только до нормального компа добрался))) в секции преппроцессора... pss.GetPanel(11); /*PANEL: [milk]*/// ==PREPROCESSOR== могут возникнуть ошибки при компиляции, лучше убрать(секция препроцессора очень чувствительная штука, на глаз все может работать без проблем, но могут возникать утечки, глюки при вызовах, непонятные артефакты и другие неприятные штуки). работает шустро, стартует тоже быстро, вроде все как должно быть... Заметил загрузку проца примерно до 10% процентов при проигрывании и покое но это не критично с учетом кол-ва скриптов и бегущей строки.(тяжелые скрипты можно поставить в отсроченную загрузку "Delay Load" галка в редакторе скрипта) Вопрос, а чего не сделал автопереключение по времени ? Я пробовал с Икаром работает очень даже не плохо:yes2: Цитата:
Расскажи плиз схему работы вызова вкратце... интересно как устроено:smile2: |
Цитата:
Цитата:
Цитата:
Экран утоплен слегка - запас яркости у этого старичка-Самсунга предостаточный, чтоб четко видеть все элементы даже при прямом солнце .. + есть небольшой отвлекающий момент . Может со временем, когда победим рестарт .. :) Цитата:
получается в среднем 1-2%(проц купил 8 лет назад))), если первый запуск и состояние покоя - опускается до 0.3 иногда (если не сложно сними что-то типа ,что-б понять, где нагрузка максимальная) : Цитата:
|
На кнопке простой переключатель (два состояния) :
Код:
man++; Код:
[start_man] Код:
function togglePlaylistManager_1(){ При вызове пишу единицу, а самой функции (JS) её обнуляю, что-б не грузить проц : utils.WriteINI( set_path + 'settings.ini', 'start_man', 'man_off', 0); Далее - это для кнопки "закрыть" (ты её рисовал - знешь где :) ) : utils.WriteINI( set_path + 'settings.ini', 'close_man', 'man_off', 2); - внутри function togglePlaylistManager_2() - показываю открытую панель, при закрытии - обнуляю . в WSHplaylistmanager.js пишу тройку при закрытии (крестиком) : utils.WriteINI( set_path + 'settings.ini', 'close_man', 'man_off', 3); В МПС принимаю и обнуляю эту тройку здесь (это чтоб переключатель window.SetProperty("SYS.Man Switch", man); стал в правильное положение) : if (TAB_set_off = utils.ReadINI( set_path + 'settings.ini', 'close_man', 'man_off')==3){ tab_switch_check() } Здесь смотрим за значениями в главном скрипте JS : Код:
function on_paint(gr) { Код:
p.playlistManager.check("down", x, y); Код:
function on_timer(id) { |
seriousstas
Вот видосик по нагрузке в покое и без... мой проц уже стар по нынешним меркам, поэтому нагрузку видно хорошо. И я еще повторюсь, нагрузка не критичная просто подметил что она есть... Последнее время просто стараюсь оптимизировать функции убрав лишнюю нагрузку. Интересная схема ;) Цитата:
смотри у тебя опрос стоит в on_paint(gr)... лучше заменить на интервальный таймер например с опросом каждые пять секунд, тем самым уберешь нагрузку на проц и графику и постоянный опрос файла settings.ini на диске... а в таком варианте function on_paint(gr) { if (utils.ReadINI( set_path + 'settings.ini', 'close_man', 'man_off')==1){ togglePlaylistManager_1(); получается постоянное чтение файла с диска из функции он_паинт что может подтормаживать графику на медленных системах... я у себя переделал по таймеру и лишняя нагрузка ушла... Мой совет лучше сделай отдельную функцию опроса, что то вроде этой... Код:
var time_to_refresh = window.GetProperty("Check_Pl_Manager", 5000); |
спасибо за видео - очень наглядно !
Цитата:
Цитата:
Я ведь показываю 1-цу и сразу прячу , как-бы это работало в общей схеме ? Нажимаю - жду 5 сек - появляется менеджер , но даже если так, как он появится ,если я уже обнулил 1-цу) ? Судя и по видео и по моим тестам - в покое особой нагрузки нет тк нет действий, кроме опроса ини . Допустим если-бы при 0-ле скрипт всегда пытался закрыть панель - тогда да - растет нагрузка .. |
seriousstas
Пожалуйста ! Да я имею в виду так же как я делал с панелью ДСП при переключении пресета... Т.е. постоянно работает интервальный таймер например на на 5-ть секунд, и каждые 5-ть секунд идет опрос файла settings.ini на предмет смены флага... т.е. по сути нужно просто заменить это в JS... Код:
function on_paint(gr) { Код:
var time_to_refresh = window.GetProperty("Check_Pl_Manager", 5000); Цитата:
Т.е. закрытие менеджера может произойти как через 1-ну секунду может через две, три или через 5-ть... зависит от того до какого времени отмотался таймер как в примере установленный на 5-ть секунд. По сути ты будешь делать тоже самое что было ранее в он_паинт в JS но по установленному тобой интервалу времени, а не постоянно как было в он_паинт... Просто как мне кажется это постоянная лишняя нагрузка которой можно избежать, тем более что менеджер-плейлистов не так часто вызывается. -------------------------------- только что проверил в твоей сборке, все работает как надо... :) не забудь только потом проверку из он_паинт убрать интервал 5-ть сек. и опрос итервал 5-ть сек. и опрос... и т.д. твоя сборка в режиме стоп... ;) http://jpegshare.net/images/a6/dd/a6...ed48866f50.png загрузка проца 0% |
Цитата:
мгновнно, но даже при таком опросе уже меньше грузит проц (оставлю так)... Цитата:
Интересно , почему function on_timer(id) { в МПС ничего не грузит (если ты заметил , там несколько проверок) , хотя так-же отслеживает изменения в ini онлайн , без таймеров |
seriousstas
Цитата:
Но я бы все же поставил хотя бы 3000 мс - 3 сек. потому как 100-200 мс это ооочень часто... можешь сам посмотреть в консоли трейсом --- fb.trace("тут пишем что угодно"); прописываешь трейс в функцию опроса затем открываешь консоль и видишь в ней количество вызовов этой функции... прописать можно сюда... ... } fb.trace("тут пишем что угодно, текст который будет отображаться в консоли"); }, time_to_refresh); }; Цитата:
Цитата:
Создаются таймеры по ID которые работают изолированно друг от друга и поэтому не оказывают влияния на другие процессы. Цитата:
И у тебя там еще window.RepaintRect(...) прописан для каких-то целей... тоже постоянно что то перерисовывающий, по хорошему его бы тоже в таймер нужно прописать а не в общую функцию, либо прописать там где нужен репаинт в зависимости от события... я бы подсказал куда прописать но не знаю для чего нужен репаинт... :) |
Часовой пояс GMT +4, время: 10:04. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot