Вход

Просмотр полной версии : Сборка 4iCar аудиоплеера foobar2000 [обсуждение]


Страницы : [1] 2 3 4 5

seriousstas
03.07.2017, 00:08
Универсальная сборка для тач панелей , (или для тех, кому нравятся большие элементы управления)
берет своё начало из этой (http://pccar.ru/showthread.php?t=14176) ветки и продолжение (http://pccar.ru/showthread.php?t=19671)
Последняя версия 4iCar_18[FINAL] (http://pccar.ru/showpost.php?p=414805&postcount=917)
Предлагается выбор из инсталятора при установке :
1.Как самостоятельный плеер(который так-же можно встроить в IcarDS) для разных ОС с изменяемыми стилями кнопок и их размерами . .
2.Вариант - только под IcarDS.
Обновления:
4iCar_16_7_UPD_2 (http://pccar.ru/showpost.php?p=401877&postcount=465)
4iCar_16_7_UPD_5 (http://pccar.ru/showpost.php?p=402577&postcount=506)
Системные требования :
Win7 и выше , железо "среднего уровня" для плавной прокрутки плейлиста ..
Доступ пользователя к папке foobar2000 .. Лучше ставить на диск D:\
В версии 4iCar 16.7 (подробнее ТУТ (http://pccar.ru/showpost.php?p=400137&postcount=407))
треки и плейлисты запускаются в одно касание :good1:
& добавлен новый экран с тремя панелями (+OSD) :

http://i.piccy.info/i9/7b9951bd66689a5804f5f926288a1b34/1632763974/44099/1443090/333_500.jpg (http://piccy.info/view3/15095546/bafa95aebf844324d1d604ec8d57426b/)http://i.piccy.info/a3/2021-09-27-17-32/i9-15095546/464x359-r/i.gif (http://i.piccy.info/a3c/2021-09-27-17-32/i9-15095546/464x359-r)


• Третья - инфо панель от @author "kgena_ua" - скролится пальцем и автоподстраивается под размер плеера
• По двойному нажатию кнопки "прицел" теперь можно менять разные варианты расположения панелей
(Напомню - прицел по двойному нажатию фиксирует вид панели и после - по одинарному будет всегда возврат на неё)
• Бегущая строка включается галкой в инсталляторе (для универсальной версии)
• Изменения и правки по всем панелям ( расписывать не буду..)
• По изменениям в плейлисте & описание его меню - здесь (http://pccar.ru/showpost.php?p=388755&postcount=3258)
• В меню верхних кнопок появился пункт "Auto Hide Manager"
позволит держать менеджер открытым (ранее - всегда автопрятался).
• Поработал над анимацией - теперь , если не грузить плеер "тяжелыми"(более 1000x1000) картинками можно пользоваться..
• это (http://pccar.ru/showpost.php?p=388832&postcount=3265) исправление
• Встраивание в iCarDS через второй пункт в инсталяторе - доп. информация для ознакомления (БОЛЬШЕ НЕ АКТУАЛЬНА! установщик теперь встроен в главный инсталлер) (http://pccar.ru/showpost.php?p=392775&postcount=135)
Файлы копируются по стандартному пути C:\Users\MY_PC\Documents\iCarDS\skins\Chameleon\
Видео установки (http://pccar.ru/showpost.php?p=399363&postcount=371)
выглядит так (сверху скрытые кнопки : вызов панели Икара слева, переход на главный экран по центру и закрытие - справа) :
http://i.piccy.info/i9/138ea56061f268a8c3e5ad83809b2dfa/1520968722/39584/1216956/bandicam_2018_03_13_11_15_27_710_500.jpg (http://piccy.info/view3/12149439/d5dd6efd6bdf7c9a1bfc58825906dc4e/)http://i.piccy.info/a3/2018-03-13-19-18/i9-12149439/500x304-r/i.gif (http://i.piccy.info/a3c/2018-03-13-19-18/i9-12149439/500x304-r)
И Универсал :
http://i.piccy.info/a3/2018-03-13-19-18/i9-12149439/800x487-r/i.gif (http://i.piccy.info/a3c/2018-03-13-19-18/i9-12149439/800x487-r)
http://i.piccy.info/i9/7bff1fcd8e3b842b85ecba866891668f/1520784534/46826/1216956/Snymok_ekrana_50__500.jpg (http://piccy.info/view3/12141970/80442c0241713711747c6785a3f4d279/)http://i.piccy.info/a3/2018-03-11-16-11/i9-12141970/500x289-r/i.gif (http://i.piccy.info/a3c/2018-03-11-16-11/i9-12141970/500x289-r)

C новым регулятором громкости (и стилем кнопок Silver Line) :
http://i.piccy.info/i9/53d1b69bc60ccc57a5728c99e10d8c35/1520784647/45348/1216956/Snymok_ekrana_45_1_500.jpg (http://piccy.info/view3/12141977/1de4edd773d8d53767ed24bb79369e60/)http://i.piccy.info/a3/2018-03-11-16-10/i9-12141977/500x308-r/i.gif (http://i.piccy.info/a3c/2018-03-11-16-10/i9-12141977/500x308-r)


• Инсталлятор :

1.Adding Logos Folder отметить , если нужна папка Logos
- аватарки к 3695 онлайн трекам (плейлист есть в менеджере сборки 4iCar) источник (https://cdpos.biz/showthread.php?890-%D0%9F%D0%BB%D0%B5%D0%B9%D0%BB%D0%B8%D1%81%D1%82%D 1%8B-%D0%B4%D0%BB%D1%8F-%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0-%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D 0%B8%D0%B8/page2&p=16739&viewfull=1#post16739)
Плеер подготовлен для показа таких логотипов.
2.Adding Radio Logos Folder - отметить , если нужна папка Radio Logos (Лого радиостанций)
http://i.piccy.info/i9/83ef33b47ab46a20e8f9fd7cd351175f/1520785322/34571/1216956/Snymok_ekrana_46_1_1_500.jpg (http://piccy.info/view3/12142005/db8ccac34331e43a030dc9a4abfef6b2/)http://i.piccy.info/a3/2018-03-11-16-22/i9-12142005/398x419-r/i.gif (http://i.piccy.info/a3c/2018-03-11-16-22/i9-12142005/398x419-r)http://i.piccy.info/a3/2018-03-11-15-57/i9-12141948/228x240-r/i.gif (http://i.piccy.info/a3c/2018-03-11-15-57/i9-12141948/228x240-r)

Шпаргалка по сборке (http://pccar.ru/showpost.php?p=389382&postcount=2)

ИНСТРУКЦИЯ в КАРТИНКАХ (https://drive.google.com/file/d/1A0qCDRdvCkzDlP5d3LqEChNCI9NK-9Ge/view?usp=sharing)

jQHR-OPdad0

Организация качественного вывода звука на компьютере (foobar2000 1.3.x, Windows XP, Vista/7/8/10) (https://audiophilesoft.ru/publ/my/hq_pc_sound/11-1-0-24)
Познавательная статейка ..
Полезное1(изменить время переключения на другую станцию) (http://pccar.ru/showpost.php?p=398731&postcount=295)

Полезное2(изменить настройки таймеров) (http://pccar.ru/showpost.php?p=398772&postcount=311)
::::::::::
ОТЛИЧИЯ ВЕРСИЙ(полной от тестовой):
В платной(полной) - есть инсталлятор (она стабильна и протестирована), из которого можно:
1.Загрузить DX для корректной работы визуализации.
2.Установить скрипт перезапуска если используется СОН , гибернация.
3.Установить бегущую инфо-строку, вместо статической.
4.Добавить файлы для внешнего управления (джойстиками , кнопками руля и тд).
5.Установить версию под IcarDS.
6.Вывод OSD (http://pccar.ru/attachment.php?attachmentid=51793&d=1585029230) (визуальное информирование - название , исполнитель и дт..) при смене треков.
7.Так-же можно :good1: (из меню: ПКМ по кнопкам) - выбирать стили кнопок управления.
8.Выбирать(из меню: ПКМ по кнопкам) размеры кнопок управления и других элементов под разные разрешения.
9.Запускать треки одним тычком(как в плейлистах, так и из библиотеки), что удобно в движении.
+ поддержка + обновления
Заказать полную версию 4iCar (http://pccar.ru/showthread.php?t=25941)
Скачать версию для теста (https://foobar2000.ru/forum/viewtopic.php?p=76492#p76492)

seriousstas
04.07.2017, 11:49
Еще немного о самой сборке :
Основана на плеере foobar2000 https://ru.wikipedia.org/wiki/Foobar2000
в котором достаточно разово указать папку с музыкой и плеер сам будет её мониторить на изменения .
Содержит основные и популярные плагины для настройки от 2.0 до 5.1 различных звуковых схем
Содержит самые современные скриптовые панели модифицированные для удобного управления , как на сенсорных,
так и обычных ПК, например :
foo_input_sacd (для прослушивания образов SACD)
foo_input_dvda (для прослушивания образов DVD-A)
foo_vis_shpeck (красивая визуализация)
foo_vis_vumeter (красивая визуализация в виде стрелочников)
не нуждается в рекламе VST плагин iZotope Ozone 5.dll
и новый NUGEN Halo Upmix (в версии сборки 4iCar_16_7)
Содержит радиостанции и онлайн сборники с аватаркми(картинками обложек)
"Резиновая" - те подстраивется под любое разрешения
Полностью портабельна - те можно подготовить в домашних условиях и перенести папкой в Авто или другой ПК
Плейлист умеет сортировать папками. Вид в сборниках будет списком(без оглавления для каждогого трека отдельно).

Установка:
1 После запуска установщика - выбрать тип сбрки . Универсал или для iCarDS .
Для универсальной версии есть пункт "Бегущая строка"
Добавит динамическую информационную строку на панели "сикбар". (выбор такого типа строки желателен для быстрых ПК).
2.Выбор места установки .Желательно ставить в корень диска (название папки без пробелов!).
3.Сборка содержит управляющие скрипты в папке settings
Для их быстрой работы и для работы вашего КарПК в целом можно воспользоваться этими твиками :
http://pccar.ru/showpost.php?p=398420&postcount=255
Твикер: http://www.softportal.com/screenshot-41062-winaero-tweaker.html
В различных сборках операционных систем обычно все это отключено . Например в этой :
https://rutracker.org/forum/viewtopic.php?t=5501747
4.После установки IcarDS версии плеера нужно выбрать шаблон и добавить Икар в список медиа источников.
см. видео http://pccar.ru/showpost.php?p=399363&postcount=371

Основные термины :
Тулбар - Панель со вторым рядом кнопок.
Сикбар - Панель для быстрой прокрутки трека на нужную позицию
Волюмбар(громкость) - регулировка звука . Есть по центру Тулбар-а, а так-же дополнительный регулятор,
вызывается касанием в область надписи 4iCar на двойной панели,
и по "Properties & properties file (ml)" - информация. Находится на экране из трех панелей .
Так-же (дополнительный регулятор) будет вызываться кнопкой из Икара .

ПКМ - правая кнопка мыши
Тап - одно касание (двойной тап - два быстрых касания соответственно)
Щипок - одновременное движение двумя пальцами по экрану . (Для multi-touch сенсорных панелей)
Тройная панель - вызывается быстрым нажатием на кнопку "Прицел" .
Двойная панель . экран разделен пополам . Позволяет переключаться между четырьмя панелями ,а именно :
слева - панель обложек (для отображения каверов из папок , что рядом с треками) и панель Биографии Last.fm https://www.last.fm/ru/
справа - менеджер плейлистов и полноэкранный вид плейлист панели.
Переключение делается с помощью доп.кнопок .
Доп.кнопоки - кнопки расположенные под двойной панелью.(отображаются также и в iCarDS версии)
Вызывается быстрым нажатием на кнопку "Прицел" (сменой расположения панелей) .

Менеджер плейлистов(scr№1 (https://drive.google.com/file/d/1A0qCDRdvCkzDlP5d3LqEChNCI9NK-9Ge/view)) -
менеджер позволяющий управлять файлами плейлистов в виде списка

Библиотека (scr№9 (https://drive.google.com/file/d/1A0qCDRdvCkzDlP5d3LqEChNCI9NK-9Ge/view)) -
панель которая работает с тем , что загружено в media library (во внутренних настройках плеера)

Плейлист панель (scr№6 (https://drive.google.com/file/d/1A0qCDRdvCkzDlP5d3LqEChNCI9NK-9Ge/view)) -
Панель на которой и расположены все треки.(основная панель)

Файл плейлистов(то ,что создаем и сохраняем сами) -
файл с общим названием , содержит треки,отображается в менеджере плейлистов и содержит расширения *.fpl, *.m3u либо *.m3u8
сохранив по ПКМ из менеджера в .m3u (например на рабочий стол) можно открыть блокнотом и отредактировать ,
как трэки, так и радио станции.

MilkDrop 2 (https://www.youtube.com/watch?v=QFZBTYFTeto&ab_channel=HugheeHaefnir) - панель визуализации (изначально сделан под WinAmp) .Требует установленного DX9 в систему.
1 Выбор интерфейса(внешнего вида)
1.1 Вид кнопок и фон других панелей
ПКМ по основным (нижним) кнопкам и выбираем подходящий размер и стиль.
Для версии под Икар : ПКМ по кнопкам > MAIN MENU > выбираем .

Размеры шрифта меняем так:
1.2 CTRL+колесо мыши , либо щипком (мультитач)

2 Операции с файлами (треками)
2.1 Добавления файлов в библиотеку (https://drive.google.com/file/d/1A0qCDRdvCkzDlP5d3LqEChNCI9NK-9Ge/view)
2.2 Отправка в плейлист из библиотеки scr№9 (https://drive.google.com/file/d/1A0qCDRdvCkzDlP5d3LqEChNCI9NK-9Ge/view)
2.3 Использование менеджера плейлистов scr№1 (https://drive.google.com/file/d/1A0qCDRdvCkzDlP5d3LqEChNCI9NK-9Ge/view)
Включить панель удаления(кнопка с корзиной) - второй ряд кнопок - слева.

vladj
05.07.2017, 02:49
seriousstas, респект, здорово поработал над сборкой, даже с обычного винта грузится моментально.
Спасибо огромное.

seriousstas
05.07.2017, 10:14
seriousstas, респект, здорово поработал над сборкой, даже с обычного винта грузится моментально.
Спасибо огромное.
:beer:

dmn37
05.07.2017, 12:02
seriousstas, отличная сборка! Запуск в одно касание - вообще класс :yes2: Пока на домашнем затестил, позже поставлю сборку в машину.
http://i.piccy.info/i9/2ed50cefe47cfdb062d9c55e319ee146/1499241176/36329/1159664/2017_07_05_14_49_57_500.jpg (http://piccy.info/view3/11347843/7064ef4768c84542fd991132934764b0/)http://i.piccy.info/a3/2017-07-05-07-52/i9-11347843/500x250-r/i.gif (http://i.piccy.info/a3c/2017-07-05-07-52/i9-11347843/500x250-r)

seriousstas
05.07.2017, 20:03
seriousstas, отличная сборка! Запуск в одно касание - вообще класс :yes2: Пока на домашнем затестил, позже поставлю сборку в машину.

Спасибо!
Если какие-то моменты будут появляться в процессе пользования - пишите - не стесняйтесь ..

dk-fsb
06.07.2017, 14:59
seriousstas спасибо отличная работа

dmn37
07.07.2017, 07:53
seriousstas, подскажи как поменять размер текста в плейлисте. Уменьшить бы еще обложку альбома и размер текста рядом. Очень уж большие элементы в плейлисте получаются, особенно неудобно когда включаешь радиостанции. С трудом две радиостанции помещаются на экране.
http://i.piccy.info/i9/b257c744dcde734c5fa0e243156708a3/1499399629/32542/1160163/2017_07_07_10_53_07_500.jpg (http://piccy.info/view3/11354016/4a6f7d422230c9bbf221ebcd951804f8/)http://i.piccy.info/a3/2017-07-07-03-53/i9-11354016/500x288-r/i.gif (http://i.piccy.info/a3c/2017-07-07-03-53/i9-11354016/500x288-r)

seriousstas
07.07.2017, 09:21
Добавил в шапку такой момент (если нужно отображение тегов в Икаре)
Первый запуск при закрытом Икаре или из самого Икара !
seriousstas, подскажи как поменять размер текста в плейлисте. Уменьшить бы еще обложку альбома и размер текста рядом.

Как кстати запуск станций по оглавлению , работает ?

Нумерацию - лучше INDEX выбрать для обычных треков (особенно если есть зборники)

Пока можно только уменьшить все элементы CTRL + колесо мыши вниз (либо щипком, если мультитач)..
АВУ пробовал уменьшать - начинаются проблемы с метрикой(по умолчанию ,в дефолтном плейлисте в шапке две колонки - бедно смотрится ) ,но мож немного уменьшу .. попробую
Пробуй вариант без кнопок (чуть добавит по высоте) , ну и списком можно быстро сделать - вызвав верхние кнопки (List) ..
На домашнем максисмум 4 влезает (зависит от разрешения и размера экрана, в авто у меня HD, иначе Метро не работает)
2-е фото в авто :

vladj
08.07.2017, 01:45
Как кстати запуск станций по оглавлению , работает ?

Работает очень хорошо, удобней некуда...

vladj
08.07.2017, 02:26
[B]С трудом две радиостанции помещаются на экране.

Войдут 3 если поменяешь 17 на 12...

Krysanov
08.07.2017, 03:48
Стас, а с пробуждением ото сна как ведёт себя эта сборка?

seriousstas
09.07.2017, 01:25
Стас, а с пробуждением ото сна как ведёт себя эта сборка?

Таймеры никуда не делись - нужно перезапускать ..
Тут у Икара проблемы .. атор не доделал эту "деталь" ..
Вылетов Икара небыло - в тестах уже месяц - пару раз пропустило захват..
Есть такой важный момент :
Нельзя допускать уход в сон со свернутым окном Икаром(не закрытым а именно свернутым)
Также если Икар свернут и поступает звонок - начинаются косяки)
Закрывать фубар его кнопкой в свернутом режиме Икара - тоже не нужно

Krysanov
09.07.2017, 11:43
Таймеры никуда не делись - нужно перезапускать ..
Тут у Икара проблемы .. атор не доделал эту "деталь" ..
Вылетов Икара небыло - в тестах уже месяц - пару раз пропустило захват..
Есть такой важный момент :
Нельзя допускать уход в сон со свернутым окном Икаром(не закрытым а именно свернутым)
Также если Икар свернут и поступает звонок - начинаются косяки)
Закрывать фубар его кнопкой в свернутом режиме Икара - тоже не нужно

Да я икар никогда не сворачиваю

seriousstas
09.07.2017, 14:43
Krysanov
я понял, а теги передаешь (http://pccar.ru/showpost.php?p=385998&postcount=2601) на главный экран Икара ?
Напомни свои настройки встраивания - скрин сюда (http://pccar.ru/showthread.php?t=23331&page=73) можно..
Как и говорил в прошлых версиях использовал новый JS компонент - теперь понизил его версию и сборка "заработала",
"лучшее" - оказалось врагом хорошего ..)

Krysanov
09.07.2017, 17:06
Krysanov
я понял, а теги передаешь (http://pccar.ru/showpost.php?p=385998&postcount=2601) на главный экран Икара ?
Напомни свои настройки встраивания - скрин сюда (http://pccar.ru/showthread.php?t=23331&page=73) можно..
Как и говорил в прошлых версиях использовал новый JS компонент - теперь понизил его версию и сборка "заработала",
"лучшее" - оказалось врагом хорошего ..)

Да, теги передаю и именно из этой ссылки..
Чуть позже сфоткаю настройки
47747

seriousstas
09.07.2017, 21:03
Да, теги передаю и именно из этой ссылки..
Чуть позже сфоткаю настройки

Проверь личку ..

120705
09.07.2017, 22:13
Стас, а видео работы сборки скоро замутишь??. ООчень хочется глянуть.... СПАСИБО..

seriousstas
09.07.2017, 22:35
Стас, а видео работы сборки скоро замутишь??. ООчень хочется глянуть.... СПАСИБО..
Да , как-раз собирался ..
...........
добавил небольшое видео в шапку.

seriousstas
10.07.2017, 08:35
Krysanov
Чуть позже сфоткаю настройки
Не видно название окна..
Время на захват нужно давать !
сейчас у меня - захват- 0.8
автозагрузка 1500
На четвертом (доп) экране 3200
Уже долго - без каких-либо проблем после сна ..

avic
10.07.2017, 11:04
Для тех, кто использует Foobar без Икара - отсутствует возможность регулировки громкости с экрана. Т.е. пассажир никак не может прибавить/убавить звук. Что можно сделать?

seriousstas
10.07.2017, 11:22
Для тех, кто использует Foobar без Икара - отсутствует возможность регулировки громкости с экрана. Т.е. пассажир никак не может прибавить/убавить звук. Что можно сделать?

панель громкости между вторым рядом кнопок,можешь поменять с сикбаром скрипты местаии,
громкость будет снизу..

avic
10.07.2017, 12:24
спасибо, попробую

Krysanov
10.07.2017, 16:04
Krysanov

Не видно название окна..
Время на захват нужно давать !
сейчас у меня - захват- 0.8
автозагрузка 1500
На четвертом (доп) экране 3200
Уже долго - без каких-либо проблем после сна ..

Последние параметры не понял.
У меня , из фото видно, Время задержки до перехвата окна, С равно нулю. Время на захват окна при автозагрузки, мс равно нулю.
Где выставлять параметры 0,8 не понял. И где автозагрузка и на четвёртым дополнительном экране тоже не понял.

slovak74
10.07.2017, 16:14
Hello, my name is Giuseppe ad i' m from Italy, i would like to get your last foobar release (14.6) for car, please tell me how can i do that, thank you.

seriousstas
10.07.2017, 22:20
Hello, my name is Giuseppe ad i' m from Italy, i would like to get your last foobar release (14.6) for car, please tell me how can i do that, thank you.
Check PM (http://pccar.ru/private.php)

seriousstas
10.07.2017, 22:23
Krysanov
1 - Время задержки до перехвата окна . (от 0.8 до 1.2 пробуй)
2 - Время на захват при автозагрузке (от 500 до 1500)
3 - Расширенные настройки - 4-й экран сверху - 3200

Krysanov
10.07.2017, 22:33
Krysanov
1 - Время задержки до перехвата окна . (от 0.8 до 1.2 пробуй)
2 - Время на захват при автозагрузке (от 500 до 1500)
3 - Расширенные настройки - 4-й экран сверху - 3200

Спасибо за терпение и подсказки. Все пока без глюков работает. Тегов теперь в икар фубар не передаёт. Но если без этого все будет работать, то и не надо:)

dimutik
10.07.2017, 23:26
Стас, даже Джузеппе из Италии заинтересовался сборкой, вот это респектище тебе!

seriousstas
10.07.2017, 23:34
Стас, даже Джузеппе из Италии заинтересовался сборкой, вот это респектище тебе!
Спасибо! не зря значит напрягался и все ,кто были её частью!)

seriousstas
10.07.2017, 23:55
dimutik
подсмотрел калибровку дистроника
После замены датчика ?
Krysanov
Но если без этого все будет работать, то и не надо
Должна - ещё старайся перед входом в сон не запускать сборку ..

Krysanov
11.07.2017, 00:00
dimutik
Менял датчик ?
Krysanov

Должна - ещё старайся перед входом в сон не запускать сборку ..

Это как понимать? Отдельно от икара? Так я ее использую только вместе с икаром... или наоборот , перед сном ее специально закрывать?
Пока все работает и икар не падает (пользую сборку с 10.07)

seriousstas
11.07.2017, 00:04
Это как понимать? Отдельно от икара? Так я ее использую только вместе с икаром... или наоборот , перед сном ее специально закрывать?
Пока все работает и икар не падает (пользую сборку с 10.07)
Сборка сканит библиотеку после запуска еше пару сек ..
Например случай : запускаешь сборку и сразу отправляешь ПК в сон ..(так делать не нужно)

Евген_21
13.07.2017, 18:49
Стас привет и спасибо. Все работает на пять с плюсом.
Так же работаю над проектом, уже с новой сборкой. Есть,продвижения но так же
и есть вопросы. Но пока доставать не буду , может и сам дойду что да как.
На днях скину в личку , видео что получилось.

Krysanov
13.07.2017, 19:21
Вчера опять фубар икар победил:(

Евген_21
13.07.2017, 19:23
Вчера опять фубар икар победил:(
Это как, Икар упал, завис что ли? А может дело не фубаре? Может сам Икар чудит (плагины ), или какие то другие программы.

seriousstas
13.07.2017, 23:41
Евген_21
Привет, Спасибо и Тебе!
Смотрел Твой видос дважды - здорово придумал !
По падению Икара - тут несколько факторов :
1. Оператива её количество и скорость
2. Правильно настроенные (под себя) задержки, тайминги
3. Загруженность той-же оперативы .. андро-эмулятор требователен к железу ,
а тут + еще и перезагрузка Фубара ..
4. ОС ..Как говорилось ранее - в 8-ке нет ожидания закрытия прог при входе в сон ..
Получается - Икар пытается запустить еще не закрывшийся фубар ..
У меня сейчас все работает , как часы ..

dk-fsb
20.07.2017, 14:55
Стас привет подскажи как в твоей сборке это настроить http://izzylaif.com/ru/как-улучшить-качество-звука-пк/ по подробней если можно

seriousstas
20.07.2017, 15:55
Приветствую!
Быстрое переключение на Asio и Wasapi уже есть в сборке (нужно лишь добавить название вывода на кнопку)
или ты о другом ?

dk-fsb
20.07.2017, 16:12
Приветствую!
Быстрое переключение на Asio и Wasapi уже есть в сборке (нужно лишь добавить название вывода на кнопку)
или ты о другом ?
я про это "стоит сказать про OpenAL Soft Binary Distribution. Этот софт тоже требует для работы тот самый пакет от Creative, так что увы это не более новая версия. Установив пакет от Creative, точно также скачиваем необходимый компонент для самого Foobar2k, можно через интерфейс, но мне удобнее ручками. Тут главное в нужную папку положить. Настройка немножко отличается от ASIO. В устройствах вывода звука мы ставим «Отсутствует» или Null в английской версии, а вот в эффектах DSP уже выбираем наш OpenAL. На всякий случай перезагружаем плеер и пробуем. Теперь музыка играет через OpenAl. Мне тоже показался он таким же чистым как ASIO, а в качестве бонуса — OpenAl не блокирует аудиокарту, то есть остальные программы могут по прежнему выводить звук обычным способом. Так что для жизни, наверное удобнее использовать OpenAl" что и куда ложит:dntknw:

seriousstas
20.07.2017, 16:18
я про это "стоит сказать про OpenAL Soft Binary Distribution. Этот софт тоже требует для работы тот самый пакет от Creative, так что увы это не более новая версия. Установив пакет от Creative, точно также скачиваем необходимый компонент для самого Foobar2k, можно через интерфейс, но мне удобнее ручками. Тут главное в нужную папку положить. Настройка немножко отличается от ASIO. В устройствах вывода звука мы ставим «Отсутствует» или Null в английской версии, а вот в эффектах DSP уже выбираем наш OpenAL. На всякий случай перезагружаем плеер и пробуем. Теперь музыка играет через OpenAl. Мне тоже показался он таким же чистым как ASIO, а в качестве бонуса — OpenAl не блокирует аудиокарту, то есть остальные программы могут по прежнему выводить звук обычным способом. Так что для жизни, наверное удобнее использовать OpenAl" что и куда ложит:dntknw:

Интересно .. найду время обязательно поробую .
или это способ вывода от Creative с его железом ?
тогда врядли.., не на чем)

dk-fsb
20.07.2017, 16:51
Интересно .. найду время обязательно поробую .
или это способ вывода от Creative с его железом ?
тогда врядли.., не на чем)
если я правильно понял из этой статьи http://izzylaif.com/ru/как-улучшить-качество-звука-пк/ что можно настроить с любой звучкой

seriousstas
21.07.2017, 03:09
если я правильно понял из этой статьи http://izzylaif.com/ru/как-улучшить-качество-звука-пк/ что можно настроить с любой звучкой
пробовал на домашнем - играет какое-то время и вешает фубар ..
Думаю нужна либо поддержка железом :
For Hardware Accelerated sound (Windows Vista/7/8/8.1) Your sound card must have also "native" openal driver
либо это древний компонент , который криво работает с последними версиями Фубара ..

sirota
25.07.2017, 11:29
если я правильно понял из этой статьи http://izzylaif.com/ru/как-улучшить-качество-звука-пк/ что можно настроить с любой звучкой

Нужно попробовать затестить OpenAL

Очень мягкий и без характерных искажений Asio. Не скажу как там с выводом OpenAL в иных проигрывателях, но у Foobar2000 соответствующая ДДЛ-ка имеется: foo_dsp_openal.dll. Организовывал изначально на Creative посредством установки OpenAL v.2.0.7 (у Foobar2000 надо выбирать Null Out в Output Device).



Позже нашел CrystalMixer и перешёл на него: появилась строка OpenAL в выборе модуля. При этом никаких ресемплеров 192->96 эта схема не требует! Т.е. виниловые рипы слушаю как есть, в 192 кГЦ/24-32 бит в режиме карты ЕМ!
Позже делал у товарища эксперимент и на Асусе! Завелась данная схема!!! И там, да, Asio монополен, звук не регулируется вообще. С Creative в этом плане Asio регулировка имеется, можно WMC-пультом даже управлять. smile

dk-fsb
25.07.2017, 12:07
http://crystal-mixer.sourceforge.net

sirota
25.07.2017, 12:24
http://crystal-mixer.sourceforge.net

Хочешь сказать, что это по серьезней будет?

dk-fsb
25.07.2017, 12:46
Хочешь сказать, что это по серьезней будет?

все побывать надо

sirota
25.07.2017, 13:38
все пробывать надо

Поставил, завилось, как смог в DSP настроил, звук пошел, при выборе следующего трека происходит зависание с вылетом фубара.

avic
25.07.2017, 13:57
Есть предложение (возможно в дальнейшем). В центрифуге была удобная кнопочка перебора плейлистов. просто перебирала по кругу последние игравшиеся плейлисты (5 или 10). понятно, что можно организовать в текущей сборке хоткеями, но рулевые клавиши итак все задействованы на хоткеи для других нужд.
Также было бы удобно на основе вида экрана с обложкой (где слева обложка ) создать новое представление, куда вынести часто используемые кнопки (чтобы тыкать удобно было) - перебора плейлистов, добавления трека в избранное, удаления трека и т.п.

seriousstas
25.07.2017, 14:57
avic
Кнопок добавить можно - просто даю 100%
будут те , которые будут просить кнопки удалить .. Проходили))
+ если добавлять панель кнопок слева - будут уменьшены остальные панели ,
на 7 ` это не допустимо ..
Сейчас Евгений работает над удалением большинства кнопок и интеграции последней версии сборки в Икар.

В любом случає можно подумать (блже к осени) , но Ты на фотошопь вначале , ок ?

avic
25.07.2017, 15:03
Кнопки имею ввиду в том месте, где слева отображается обложка. Т.е. как один из вариантов представления. Кому кнопки не нужны - могут не использовать данное представление. ОК попробую прикинуть

seriousstas
25.07.2017, 15:34
Кнопки имею ввиду в том месте, где слева отображается обложка. Т.е. как один из вариантов представления. Кому кнопки не нужны - могут не использовать данное представление. ОК попробую прикинуть

Хорошо ! )

bukaxa
28.08.2017, 00:31
классная сборка, подскажите как перенести сборку в автокомпьютер. Допустим мне легче под себя допилить дома на стационаре, а затем уже в авто скинуть. а тут инсталятор, он гдето следы оставляет еще? И как полностью удалить?

seriousstas
28.08.2017, 01:32
классная сборка, подскажите как перенести сборку в автокомпьютер. Допустим мне легче под себя допилить дома на стационаре, а затем уже в авто скинуть. а тут инсталятор, он гдето следы оставляет еще? И как полностью удалить?
Инсталятор делался для удобства добавленя пары функций :
1 - передача тегов из плеера в IcarDS ( на главном экране вывод информации ).
2 - добавления аватарок для онлайн пролушивания .
Те , если нет Икара и нет інтернета - добавления не нужны ..
В остальном - сборка полностью портабельна и переносится удаляется папкой , куда загружена .
В реестре лишь парочка записей о месторасположении папки.

avic
28.08.2017, 12:37
Есть предложение по реорганизации случайного режима прослушивания. Сейчас, если слушаешь в случайном порядке, и захочешь вернуться на одну-две песни (или радиостанции) назад (ещё раз послушать) - не получится, потому что обратно тоже идет случайный порядок.
В Centrafuse если по трекам идти назад - включается последовательный режим. И можешь послушать то, что раньше слушал.

seriousstas
29.08.2017, 01:04
Есть предложение по реорганизации случайного режима прослушивания. Сейчас, если слушаешь в случайном порядке, и захочешь вернуться на одну-две песни (или радиостанции) назад (ещё раз послушать) - не получится, потому что обратно тоже идет случайный порядок.
В Centrafuse если по трекам идти назад - включается последовательный режим. И можешь послушать то, что раньше слушал.

Имеем Shuffle и Random
Первый возвращает к предидущему треку (как в предложении ..).
Второй - только вперед .
Обе ф-ции зашиты в сам плеер и изменять их поведение может только его разработчик Peter Pawlowski

bukaxa
29.08.2017, 23:11
настроил сборку на стационаре, поставил свои настройки и скопировал в авто, все супер только размер окна подстроил. сборка работает шустро и красиво.
теперь к теме не относится, вчера баловался на домашнем - дай думаю через наушники попробую поиграться с озоном. наушники под рукой блютузовские нокиа 504 пытаюсь подключить а наушники тупо зависают только сброс настроек помогает, с любыми другими приложениями работают, с фубарами различных сборок тоже без проблем, а именно с этим и прошлыми версиями 4Icar сразу ступор, не знаю кто наушникам не дает работать, фубару ничего! а наушники в ребут)))

seriousstas
29.08.2017, 23:38
настроил сборку на стационаре, поставил свои настройки и скопировал в авто, все супер только размер окна подстроил. сборка работает шустро и красиво.
теперь к теме не относится, вчера баловался на домашнем - дай думаю через наушники попробую поиграться с озоном. наушники под рукой блютузовские нокиа 504 пытаюсь подключить а наушники тупо зависают только сброс настроек помогает, с любыми другими приложениями работают, с фубарами различных сборок тоже без проблем, а именно с этим и прошлыми версиями 4Icar сразу ступор, не знаю кто наушникам не дает работать, фубару ничего! а наушники в ребут)))

А я вчера как-раз на работе поставил MeeGoPad T09 ( c 10 кой) и скрестил с малюткой JBL GO - Без проблем . Запустил любимую станцию из 4Icar .
Посмотри, проверь , что там у тебя в Output ..
JBL GO кстати подойдет для свободных рук в авто (можно и музыку слушать с тела без искажений) ..
Оч не плохой звук для таких размеров .

bukaxa
30.08.2017, 09:51
выход смотрел в первую очередь, все варианты перебрал. да ладно останется в домашке винтаж https://youtu.be/2pT4V3nlg50

Евген_21
30.08.2017, 19:45
Стас, привет. По панелями идёт работа или пока нет времени. А то я тоже встал, или подскажи где поменять размеры панелей . И ещё вопрос в mps.панели есть перерисовка кнопок?

seriousstas
30.08.2017, 20:15
Стас, привет. По панелями идёт работа или пока нет времени. А то я тоже встал, или подскажи где поменять размеры панелей . И ещё вопрос в mps.панели есть перерисовка кнопок?

Привет Евгений! Сразу после 1-го.. )

Евген_21
30.08.2017, 22:56
Привет Евгений! Сразу после 1-го.. )
Хорошая новость, ждемс.

seriousstas
03.09.2017, 23:11
Хорошая новость, ждемс.

Сегодня открыл , нормально потестил и понял , какую огромную работу Ты проделал ..
Есть сырые места , но думаю это вопрос времени ..
Вобщем - Респект !

Панели опустил , посмотрю , что можно сделать с кнопкой стерео/моно для VU
....
получилось . повесил на NUM7
=> отправил в ЛС

Евген_21
04.09.2017, 16:59
Сегодня открыл , нормально потестил и понял , какую огромную работу Ты проделал ..
Есть сырые места , но думаю это вопрос времени ..
Вобщем - Респект !

Панели опустил , посмотрю , что можно сделать с кнопкой стерео/моно для VU
....
получилось . повесил на NUM7
=> отправил в ЛС

Стас, привет. Вот теперь полная картина.
Есть, пару нюансов.
На кнопке, где иконка динамика была функция вызова панели регулировки звука фубара (родная) а при повторном нажатии панель сибкара. Можно это будет реализовать.
48072
Вот пример, на скрине ниже. Вставил старый кусок кода, но вызывается только сибкар.
48073
И на панели vumeter,убрать то что стрелкой отмечено или поднять индикаторы выше. А так , вообще нормуль смотрится. Самому нравиться:smile1:
48074
Есть сырые места , но думаю это вопрос времени ..
А,здесь подскажи. Может я уже что то не замечаю. Буду признателен.
Моно, стерео (Numpad7) уже повесил на кнопку скина.

seriousstas
05.09.2017, 11:44
На кнопке, где иконка динамика была функция вызова панели регулировки звука фубара (родная) а при повторном нажатии панель сибкара.
Было и сломалось или это в планах ?
Что нужно сделать , что-б хоткеем менялись звук-сикбар, по очереди ?

vladj
05.09.2017, 16:26
Что нужно сделать , что-б хоткеем менялись звук-сикбар, по очереди ?
У меня в одной из сборок при тапе по кнопке громкости панелька просто
встает поверх сикбара, положение их прописано одинаково...
$movepanel_c(VB,60,2,$sub(%ps_width%,180),52)
$movepanel_c(SB,60,8,$sub(%ps_width%,180),46)
и прописана кнопка вызова панельки громкости для интерфейса этой сборки
//---------vol button
$if($isvisible_c(VB),
$textbutton($sub(%ps_width%,200),$sub(%ps_height%, 60),100,60,,,
PANELSHOW:VB:0;$drawimage($sub(%ps_width%,200),$su b(%ps_height%,60),100,60,%img_path%\volumeh.png,no keepaspect,,)
REFRESH)
,
$textbutton($sub(%ps_width%,200),$sub(%ps_height%, 60),100,60,,,
PANELSHOW:VB:1;$drawimage($sub(%ps_width%,200),$su b(%ps_height%,60),100,60,%img_path%\volume.png,nok eepaspect,,)
REFRESH)
)

Евген_21
06.09.2017, 16:30
Было и сломалось или это в планах ?
Что нужно сделать , что-б хоткеем менялись звук-сикбар, по очереди ?
Скинул в личку , правленый код (mps_panel). Сделал , теперь при нажатии кнопки громкости вызываются панели поочередно. Но, когда активен сибкар, если нажать на прицел (т.е. иконка перезагрузка) он не скрывается. На панели регулировки звука такой проблемы нет. И еще при вызове панели рег. звука, можно как то сделать чтоб она не поднимала другие панели а налаживалась поверх. И хотелось бы автоскрытие их же :blush:
На днях буду тестить в машине.

seriousstas
07.09.2017, 18:10
Скинул в личку , правленый код (mps_panel). Сделал , теперь при нажатии кнопки громкости вызываются панели поочередно. Но, когда активен сибкар, если нажать на прицел (т.е. иконка перезагрузка) он не скрывается. На панели регулировки звука такой проблемы нет. И еще при вызове панели рег. звука, можно как то сделать чтоб она не поднимала другие панели а налаживалась поверх. И хотелось бы автоскрытие их же :blush:
На днях буду тестить в машине.

ок, на выходных посмотрю ..
....
на этих доделаю )), чтоб и сик и звук поверх были нужно было панели все смещать..

Евген_21
15.09.2017, 15:54
Закинул, сборку в машину с новым шаблоном. Тестирую , пока. Как вся эта система будет работать после сна и гибернации. А так доволен как слон:tease: На днях скину видео как все работает.Стас, и как мои хотелки:whistle:
И ещё можно почистить код сибкара от (даты, артиста и.т.д.)

seriousstas
15.09.2017, 16:34
С хотелками думаю будет норм,
а сик зачаем чистить ? тапнул (дважды) и отключил лишнее или все полностью ..
Да и без надписей со звуком легче спутать ..

Евген_21
15.09.2017, 17:55
С хотелками думаю будет норм,
а сик зачаем чистить ? тапнул (дважды) и отключил лишнее или все полностью ..
Да и без надписей со звуком легче спутать ..
Я по сибкару так и сделал ,просто подумал что меньше всяких заморочек будет и проблем и нагрузок на фубар.
Кстати много чего поправил в шаблоне, как только дождусь от тебя твоей работы скину финал , (так думаю финал ) скина.

seriousstas
16.09.2017, 15:12
Я по сибкару так и сделал ,просто подумал что меньше всяких заморочек будет и проблем и нагрузок на фубар.
Кстати много чего поправил в шаблоне, как только дождусь от тебя твоей работы скину финал , (так думаю финал ) скина.
Посмотри, может пропустил чего ..

function RGBA(r, g, b, a) {
return ((a << 24) | (r << 16) | (g << 8) | (b));
}
function RGB(r, g, b) {
return (0xff000000 | (r << 16) | (g << 8) | (b));
}
var DT_TOP = 0x00000000;
var DT_WORDBREAK = 0x00000010;
var DT_CALCRECT = 0x00000400;
var DT_CALCRECT = 0x00000400;
var DT_NOPREFIX = 0x00000800;
var DT_LEFT = 0x00000000;
var DT_RIGHT = 0x00000002;
var DT_CENTER = 0x00000001;
var DT_VCENTER = 0x00000004;
var DT_SINGLELINE = 0x00000020;
var DT_WORD_ELLIPSIS = 0x00040000;
var font = gdi.Font("Segoe MDL2 Assets", 40);
var font_big = gdi.Font("Segoe MDL2 Assets", 50);
var font2 = gdi.Font("Segoe UI Symbol", 25);
var g_font = gdi.Font("Arial", 23, 0);
var Path = fb.FoobarPath;
var g_img = gdi.Image(Path + "\\themes\\resize_img.png");
var is_VU = window.GetProperty("is_VU")
var WshShell = new ActiveXObject("WScript.Shell");
var ctrl_exe = "ctrl.exe";
var ww = window.Width;
var wh = window.Height;
var flag = false;
var name = "4Icar";
var imgPath = fb.FoobarPath + "Themes\\" + name + "\\Images\\";
try {
var btn_type = window.GetProperty("SYS.Button Folder", "btn_set_1");
};
catch (e) {}
var is_rr_on = true;
try {
var rr = new ActiveXObject("RideRunner.sdk");
} catch (e) {
is_rr_on = false;
}
var foob_window_title_prev = "";
//var FoobarWindowTitle = "";
//var FoobarTrimTitle = "";
var foob_media_info = "";
var foob_trim_title = "";
var foob_ttrim_title = "";
var foob_strim_title = "";

is_rr_on ? title_check_timer = window.CreateTimerInterval(500) : title_check_timer = false && title_check_timer.Dispose;


function on_metadb_changed() {
is_rr_on && title_set();
}

var m_t = window.GetProperty("Mouse_touch", 1);
var rot1 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\rot1.png")
var rot2 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\rot2.png")
var rot3 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\rot3.png")
var rot4 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\rot4.png")
var DSP_S_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\dsp_s.png")
var B = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\BUTTON.png");
var ZERRO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ZERRO.png");
var ANIM_BUT = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT.png");
var ANIM_BUT_L = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_L.png");
var ANIM_BUT_R = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_R.png");
var ANIM_BUT_L1 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_L1.png");
var ANIM_BUT_L2 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_L2.png");
var ANIM_BUT_L2 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_L2.png");
var ANIM_BUT_R1 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_R1.png");
var ANIM_BUT_R2 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_R2.png");
var NEXT_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\NEXT_ICO.png");
var PREV_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\PREV_ICO.png");
var PLAY_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\PLAY_ICO.png");
var PAUSE_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\PAUSE_ICO.png");
var STOP_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\STOP_ICO.png");
var SEARCH_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\search.png");
var LIBRARY1_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\lib1.png");
var LIBRARY2_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\lib2.png");
var CLEAR_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\clear.png");
var CLOSE_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\close.png");
var DEL_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\del.png");
var DSP_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\dsp.png");
var MILK_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\milk.png")
var PLAYLIST_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\playlist.png");
var PREF_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\pref.png");
var SEARCH_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\search.png");
var SHOWNPL_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\show_now_pl.png");
var TAB_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\tab.png");
var TOOLBAR_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\toolbar_on.png");
var TOOLBAR_ICO_OFF = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\toolbar_off.png"); ;
var ROTATE_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\rotate.png");
var WshShell = new ActiveXObject("WScript.Shell");
var CtrlDown = ShiftDown = button_timer = xy = false;
var button_timeout;
var hbtn;
var dbtn;
var rbtn_up = true;
var tooltip = window.CreateTooltip();
function Button(x, y, w, h, img, img2, onclick) {
this.x = x;
this.y = y;
this.w = w;
this.h = h;
this.img = img;
this.img2 = img2;
this.onclick = onclick;
this.state = 0;
this.opacity = 0;
this.refresh = 0;
this.xy = function (x, y) {
return (this.x <= x) && (x <= this.x + this.w) && (this.y <= y) && (y <= this.y + this.h);
}
this.changeState = function (state) {
if (!button_timer)
button_timer = window.CreateTimerInterval(60);
window.RepaintRect(this.x - 2, this.y - 2, this.w + 4, this.h + 4);
this.state = state;
this.refresh = 1;
}
this.draw = function (gr) {
var state = this.state;
var op = this.opacity;
on_draw(gr, x, y, w, h, img, img2, op, state);
}
this.Opacity = function () {
if (this.state == 1 && this.opacity < 255)
this.opacity = Math.min(this.opacity + 10, 255);
if (this.state == 0 && this.opacity > 0)
this.opacity = Math.max(0, this.opacity - 10);
if (this.opacity == 0) {
this.refresh = 0;
button_timeout = window.CreateTimerTimeout(0);
}
};
this.onClick = function () {
this.onclick && this.onclick();
}
}
buttons_on_mouse_move = function (x, y) {
xy = false;
for (var i = 0; i < $buttons.length; i++)
if ($buttons[i].xy(x, y)) {
xy = true;
if (hbtn != $buttons[i]) {
if (hbtn)
hbtn.changeState(0);
hbtn = $buttons[i];
hbtn.changeState(m_t);
};
}
if (xy == false) {
if (hbtn) {
hbtn.changeState(0);
hbtn = undefined;
};
}
}
buttons_on_mouse_lbtn_down = function (x, y) {
if (hbtn) {
dbtn = hbtn;
dbtn.changeState(2);
}
}
buttons_on_mouse_lbtn_up = function (x, y) {
if (dbtn) {
dbtn.changeState(1);
dbtn.onClick();
dbtn = undefined;
}
}
buttons_on_mouse_leave = function () {
if (hbtn) {
hbtn.changeState(0);
hbtn = undefined;
}
}
buttons_on_timer = function (id) {
if (button_timeout && id == button_timeout.ID) {
if (button_timer)
window.KillTimer(button_timer);
button_timer = false;
}
for (var i = 0; i < $buttons.length; i++) {
if ($buttons[1].refresh) {
$buttons[1].Opacity();
}
}
}
SYS_check();
function on_playback_stop(reason) {
switch (reason) {
case 0:
case 1:
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
break;
case 2:
break;
};
};

window.NotifyOthers("SYS.Button Folder", btn_type)
var set_path = fb.ProfilePath + "\\settings\\";
var CTRL_prop = window.GetProperty("_CTRL_Time_Wait", 15000)
window.SetProperty("_CTRL_Time_Wait", CTRL_prop);
utils.WriteINI(set_path + 'settings.ini', 'ctrl_timer', 'TimeWait', CTRL_prop)
utils.WriteINI(set_path + 'settings.ini', 'plmanager', 'plmanager_status', 0)
if (Man_set_off = utils.ReadINI(set_path + 'settings.ini', 'close_man', 'man_off') == 2) {
utils.WriteINI(set_path + 'settings.ini', 'close_man', 'man_off', 0);
f
}
var man = window.GetProperty("SYS.Man Switch", 0);
// прогрессбар
function default_layout() {
pss.GetPanel(c_panel).Show();
pss.GetPanel(c_panel).Move(0, y, ww, wh-5, true);
//pss.GetPanel(0).Show(false);
//pss.GetPanel(0).Move(bw * 3, wh - bh - 3, ww - bw * 6, bh - 2, false); //было true
if (panel == 9)
{
pss.GetPanel(c_panel).Show();
pss.GetPanel(c_panel).Move(0, 0, ww, wh - bh, true);

pss.GetPanel(7).Show();
pss.GetPanel(7).Move(0, wh - bh, ww, wh, true); // было true
}
};

SM_CXVSCROLL = 2;
SM_CYHSCROLL = 3;
var VK_BACK = 0x08;
var VK_RETURN = 0x0D;
var VK_SHIFT = 0x10;
var VK_CONTROL = 0x11;
var VK_ALT = 0x12;
var VK_ESCAPE = 0x1B;
var VK_PGUP = 0x21;
var VK_PGDN = 0x22;
var VK_END = 0x23;
var VK_HOME = 0x24;
var VK_LEFT = 0x25;
var VK_UP = 0x26;
var VK_RIGHT = 0x27;
var VK_DOWN = 0x28;
var VK_INSERT = 0x2D;
var VK_DELETE = 0x2E;
var VK_SPACEBAR = 0x20;
var VK_Z = 0x5A;
var VK_X = 0x58;
var VK_Q = 0x51;
var VK_A = 0x41;
var VK_I = 0x49;
var VK_E = 0x45;
var VK_J = 0x4A;
var VK_T = 0x54;
var VK_U = 0x55;
var VK_Y = 0x59;
var VK_NUMPAD0 = 0x60
var VK_NUMPAD1 = 0x61
var VK_NUMPAD2 = 0x62
var VK_NUMPAD3 = 0x63
var VK_NUMPAD4 = 0x64
var VK_NUMPAD7 = 0x67
var VK_NUMPAD9 = 0x69
var KMask = {
none: 0,
ctrl: 1,
shift: 2,
ctrlshift: 3,
ctrlalt: 4,
ctrlaltshift: 5,
alt: 6
};
function GetKeyboardMask() {
var c = utils.IsKeyPressed(VK_CONTROL) ? true : false;
var a = utils.IsKeyPressed(VK_ALT) ? true : false;
var s = utils.IsKeyPressed(VK_SHIFT) ? true : false;
var ret = KMask.none;
if (c && !a && !s)
ret = KMask.ctrl;
if (!c && !a && s)
ret = KMask.shift;
if (c && !a && s)
ret = KMask.ctrlshift;
if (c && a && !s)
ret = KMask.ctrlalt;
if (c && a && s)
ret = KMask.ctrlaltshift;
return ret;
};
var autolibtopl = window.GetProperty("Auto Library to Playlist", false)
var WshShell = new ActiveXObject("WScript.Shell");
var fso = new ActiveXObject("Scripting.FileSystemObject")
var NOW_prop = 1600;
var TAB_prop = window.GetProperty("_TAB_Timer", 10) * 1000;
var SEEK_VOL_prop = window.GetProperty("_TAB_Timer", 10) * 1000;
var DEL_prop = window.GetProperty("_DEL_Timer", 25) * 1000;
var LIB_prop = window.GetProperty("_LIB_Timer", 20) * 1000;
var VU_prop = window.GetProperty("_VU_Timer", 5) * 1000;
var Milk_prop = window.GetProperty("_Milk_Timer", 6) * 1000;
var swbt = window.GetProperty("swbt", 3);
var swvk = window.GetProperty("swvk", 0);
var SEEK_VOL_Timer = false;
var Milk_Timer = false;
var DEL_Timer = false;
var LIB_Timer = false;
var TAB_Timer = false;
var VU_Timer = false;
var NOW_Timer = false;
var toolbar_timer = false;
var click_timer = false;
var btn_switch_timer = false;
var butt_type = window.GetProperty("PROP.Button_type", "space.exe");
var butt_type2 = window.GetProperty("PROP.Button_type2", "shift.exe");
var toolbar_prop = window.GetProperty("PROP.Toolbar_Timer", 10) * 1000;
var click_prop = window.GetProperty("PROP.Click_Timer", 30);
var btn_switch_prop = window.GetProperty("PROP.Button_Switch_Timer", 3) * 900;
var pb_font_name_prop = window.GetProperty("Playback Time Font Name", "Segoe UI");
var pb_font_size_prop = window.GetProperty("Playback Time Font Size", 25);
var s = window.GetProperty("SYS.Button Switch", 1);
var set_path_wsh_data = fb.ProfilePath + "\\wsh_data\\";
var set_path2_wsh_data = download_folder + "\\wsh_data\\";
var download_folder = window.GetProperty("Download to Disk", "D:\\")
var custom_folder = window.GetProperty("Download to Custom Folder|Disk", false);
var sw_vu = window.GetProperty("VU buttons auto hide", false);
var sw_lib = window.GetProperty("LIB buttons_Status", true);
var q = window.GetProperty("swsq", 0), swsq
//if (panel == 5) {
//}

try {
var btn_type = window.GetProperty("SYS.Button Folder", "btn_set_1");
};
catch (e) {
var btn_type = "btn_set_1";
};
var imgPath = fb.FoobarPath + "Themes\\" + name + "\\Images\\";
var d = new Date();
var g_font = gdi.Font(pb_font_name_prop, pb_font_size_prop, 0);
var g_font2 = gdi.Font(pb_font_name_prop, pb_font_size_prop / 2, 0);
var dsp_color = RGBA(210, 210, 210, 100);
var dsp_off = 0;
var bw = B.width;
var bh = B.height;
var background_color = window.GetProperty("COLOR.Background", "RGB(0,0,0)");
var bottom_gradient_color = window.GetProperty("COLOR.Bottom Gradient 1", "RGBA(15,15,15,200)");
var bottom_gradient_color2 = window.GetProperty("COLOR.Bottom Gradient 2", "RGBA(50,50,50,200)");
var bottom_gradient_color_angle1 = window.GetProperty("COLOR.Bottom Gradient 1 Angle", -90);
var bottom_gradient_color_angle2 = window.GetProperty("COLOR.Bottom Gradient 2 Angle", 90);
var bottom_gradient_color_angle3 = window.GetProperty("COLOR.Bottom Gradient 3 Angle", -90);
var g_background_color = 0, g_bottom_gradient_color = 0, g_bottom_gradient_color2 = 0;
function get_colors() {
if (background_color.length > 0)
g_background_color = eval(background_color);
if (bottom_gradient_color.length > 0)
g_bottom_gradient_color = eval(bottom_gradient_color);
if (bottom_gradient_color2.length > 0)
g_bottom_gradient_color2 = eval(bottom_gradient_color2);
};
function on_colors_changed() {
get_colors();
CollectGarbage();
window.Repaint();
};
get_colors();
var sac = saci = lbtn_down = false;
var anim_time_step = window.GetProperty("SYS.Animation keyb Time Step setup", 3);
var anim_step = window.GetProperty("SYS.Animation keyb Panel Step setup", 8);
var animation_status = window.GetProperty("SYS.Animation_Status", false);
var a_timer = anim_time_step;
var panel = window.GetProperty("SYS.panel", 6);
var c_panel = panel, n_panel;
var panels = 12;
var old_panel = panel;
var dir_move, move = false;
var y = 3;
var is_plmanager = 0;
var c_x = 0;
var n_x = 0;
var c_ww = 0;
var n_ww = 0;
var timer_anim = false;
var step_c = anim_step;
var step_n = anim_step;
var toolbar_open = 0;
var on_mouse = false;
function recalc_dimensions() {
animation_status = window.GetProperty("SYS.Animation_Status")
q = window.GetProperty("swsq");
ww = window.Width;
wh = window.Height;
bh = B.height;
bw = B.width;
bx = B.width;
//by = wh - ANIM_BUT.height / 3 - 4;
by = wh - ANIM_BUT.height / 3 - 4;
var ROT_var;
if (panel == 6) {
ROT_var = rot1;
swbt = 3;
} else if (panel == 10) {
swbt = 3;
ROT_var = rot1;
} else if (panel == 11) {
swbt = 3;
ROT_var = rot1;
} else if (panel == 13) {
ROT_var = rot2;
} else if (panel == 9) {
ROT_var = rot1;
} else {
ROT_var = rot3;
}
toolbar_open == 1 ? t_ico = TOOLBAR_ICO_OFF : t_ico = TOOLBAR_ICO;
$buttons = [new Button(0, by - 1, B.width, B.height, ANIM_BUT, PREV_ICO, function () {
fb.Prev();
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}), new Button(bx, by - 1, B.width, B.height, ANIM_BUT, fb.IsPlaying ? (fb.IsPaused ? PLAY_ICO : PAUSE_ICO) : PLAY_ICO, function () {
fb.PlayOrPause();
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}), new Button(bx * 2, by - 1, B.width, B.height, ANIM_BUT, NEXT_ICO, function () {
fb.Next();
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}), new Button(ww - bx * 2, by - 1, B.width, B.height, ANIM_BUT, SHOWNPL_ICO, function () {
if (NOW_Timer)
NOW_Timer.Dispose()
pss.GetPanel(1).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true);
if (panel == 6) {
if (!NOW_Timer) {
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
DEF_check()
window.NotifyOthers("SYS.Butt_state", "chkBt");
} else if (NOW_Timer) {
q++;
if (q > 2)
q = 0;
window.SetProperty("swsq", q);
DEF_check()
CollectGarbage();
swbt = 3;
window.SetProperty("SYS.VU_buttons_status", false);
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
}
NOW_Timer = false;
NOW_Timer = window.CreateTimerInterval(NOW_prop);
} else {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
DEF_check()
pss.GetPanel(14).Show(false);
pss.GetPanel(c_panel).Show();
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true);
panel = 6;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
}
}
SYS_check()
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
swbt = 3;
NOW_Timer = window.CreateTimerInterval(NOW_prop);
}), new Button(ww - bx, by - 1, B.width, B.height, ANIM_BUT, ROT_var, function () {
if (panel == 6) {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
} //3panel
pss.GetPanel(1).Show(false);
pss.GetPanel(1).Move(bw * 4, wh - bh * 2 - 4, ww - bw * 8, bh - 2, true);
if (move == false) {
swbt++;
if (swbt > 3)
swbt = 1
} else
return;
window.SetProperty("swbt", swbt)

if (swbt == 1) {
SYS_check();
utils.WriteINI(set_path + 'settings.ini', 'bio', 'panel', 0);
window.SetProperty("SYS.VU_buttons_status", false);
panel = 13
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {

move_panel();
old_panel = panel
}
if (sw_lib = window.GetProperty("LIB buttons_Status") == true) {
pss.GetPanel(2).Show(true);
pss.GetPanel(2).Move(ww - bw - 15, wh / 2 - bh * 3, bw, bh * 5, true);
LIB_Timer = window.CreateTimerInterval(LIB_prop);
}
recalc_dimensions();
window.Repaint();
}
if (swbt == 2) {
window.SetProperty("SYS.VU_buttons_status", false);
panel = 12;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
pss.GetPanel(2).Show(false);
//SYS_check();
}
if (swbt == 3) {
panel = 9;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
SYS_check();
pss.GetPanel(8).Move(0, wh - bh - 5, ww, bh, false); // было true
pss.GetPanel(8).Show(false); // было true
if (sw_vu = window.GetProperty("VU buttons auto hide") == true) { // было true
VU_Timer = window.CreateTimerInterval(VU_prop);
}
}
//recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
// кнопка доп панели
}), new Button(ww - bx * 3, by - 1, B.width, B.height, ANIM_BUT, t_ico, function () {
if (toolbar_timer)
toolbar_timer.Dispose();
if (VU_Timer)
VU_Timer.Dispose();
if (LIB_Timer)
LIB_Timer.Dispose();
utils.WriteINI(set_path + 'settings.ini', 'close_ctrl', 'ctrl', 1)
toolbar_open++
if (toolbar_open > 1) {
toolbar_open = 0
}
if (toolbar_open == 0) {
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true) //было true
pss.GetPanel(1).Show(false);
pss.GetPanel(5).Show(false);
pss.GetPanel(2).Show(false);
pss.GetPanel(3).Show(false)
pss.GetPanel(4).Show(false);
pss.GetPanel(7).Show(false);
pss.GetPanel(8).Show(false);
SEARCH = false
window.SetProperty("SYS.SEARCH_panel_status", SEARCH)
} else {
//pss.GetPanel(13).Show(true) //было true
//pss.GetPanel(13).Move(bw * 4, wh - bh * 2 - 4, ww - bw * 8, bh - 2, true); //было true
pss.GetPanel(c_panel).Show();
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true); //было true
pss.GetPanel(13).Show(false) // было false
pss.GetPanel(4).Show(false) // было false ложь
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh * 2 - 5, true) // было true двойная панель
toolbar_timer = window.CreateTimerInterval(toolbar_prop);
}
window.RepaintRect(0, wh - bh * 2 - 4, ww, bh * 2);
recalc_dimensions();
}), new Button(0, by - B.height - 2, B.width, B.height, ANIM_BUT, DEL_ICO, function () {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
panel = 6
dir_move = panel > old_panel ? "left" : "left";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
SYS_check()
pss.GetPanel(4).Show(true);
pss.GetPanel(4).Move(ww - bw, wh / 2 - bh * 2, ww, bh * 3, true);
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true);
DEL_Timer = window.CreateTimerInterval(DEL_prop);
swbt = 3;
recalc_dimensions();
window.Repaint();
}), new Button(bx, by - B.height - 2, B.width, B.height, ANIM_BUT, DSP_S_ICO, function () {
try {
fb.RunMainMenuCommand("View/DSP/DSP #2 config");
} catch (e) {};
}), new Button(bx * 2, by - B.height - 2, B.width, B.height, ANIM_BUT, DSP_ICO, function () {
pss.GetPanel(1).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true)
toolbar_open = 0
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
panel = 10;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
SYS_check()
swbt = 3;
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
// кнопка milk
}), new Button(bx * 3, by - B.height - 2, B.width, B.height, ANIM_BUT, MILK_ICO, function () {
pss.GetPanel(1).Show(false);
pss.GetPanel(0).Show(false);
pss.GetPanel(c_panel).Show();
//pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true) не понятно
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true)
toolbar_open = 0
panel = 11;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
SYS_check()
Milk_Timer = window.CreateTimerInterval(Milk_prop);
pss.GetPanel(3).Show(false); // было true
pss.GetPanel(3).Move(0, wh - bh - 4, ww, bh, false); // было true
// кнопка выход
}), new Button(ww - bx, by - B.height - 2, B.width, B.height, ANIM_BUT, CLOSE_ICO, function () {
CollectGarbage();
if (DEL_Timer)
DEL_Timer.Dispose();
if (toolbar_timer)
toolbar_timer.Dispose();
if (VU_Timer)
VU_Timer.Dispose();
if (LIB_Timer)
LIB_Timer.Dispose();
fb.RunMainMenuCommand("File/Exit");
}), new Button(ww - bx * 2, by - B.height - 2, B.width, B.height, ANIM_BUT, PREF_ICO, function () {
fb.ShowPreferences();
// поиск
}), new Button(ww - bx * 4, by - B.height - 2, B.width, B.height, ANIM_BUT, SEARCH_ICO, function () {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
panel = 6
dir_move = panel > old_panel ? "left" : "left";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
SYS_check();
pss.GetPanel(5).Show() == true ? pss.GetPanel(5).Show(false) : pss.GetPanel(5).Show(true) & pss.GetPanel(5).Move(0, wh - bh - 301, ww, 299, true); ;
pss.GetPanel(1).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true);
swbt = 3
recalc_dimensions();
}), new Button(ww - bx * 3, by - B.height - 2, B.width, B.height, ANIM_BUT, TAB_ICO, function () {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
toolbar_open = 0
if (toolbar_timer)
toolbar_timer.Dispose();
pss.GetPanel(1).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true)
panel = 5;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 3;
SYS_check()
recalc_dimensions()
window.RepaintRect(0, wh - bh - 4, ww, bh);
window.NotifyOthers("SYS.Butt_tool", "tool")
})]
}
recalc_dimensions();
function on_draw(gr, x, y, w, h, img, img2, op, state) {
gr.DrawImage(img, Math.ceil(x), Math.ceil(y), Math.ceil(w), Math.ceil(h), 0, state * h, Math.ceil(w), Math.ceil(h), 0, 255);
gr.DrawImage(img2, Math.ceil(x), Math.ceil(y), Math.ceil(w), Math.ceil(h), 0, state * h, Math.ceil(w), Math.ceil(h), 0, 255);
}
function on_paint(gr) {
gr.FillSolidRect(0, 0, ww, wh, g_background_color);
//gr.FillGradRect(0, wh - bh - 5, ww, bh + 5, bottom_gradient_color_angle1, g_bottom_gradient_color, g_bottom_gradient_color2);
for (var i = 0; i < 6; i++) {
//$buttons[i].draw(gr); //ккнопки
}
if (toolbar_open) {
gr.FillGradRect(0, wh - bh * 2 - 5, ww, bh, bottom_gradient_color_angle1, g_bottom_gradient_color, g_bottom_gradient_color2);
for (var i = 6; i < $buttons.length; i++) {
$buttons[i].draw(gr); //ккнопки
}
// var dsp = utils.ReadINI(set_path + 'settings.ini', 'dsp', 'preset')
}
}
var resize_time_prop = window.GetProperty("SYS.PANEL_RESIZE_TIMER", 300);
var resize_delay_timer = false;
function on_size() {
if (resize_delay_timer)
resize_delay_timer.Dispose();
ww = window.Width;
wh = window.Height;
//default_layout2()
resize_delay_timer = window.CreateTimerTimeout(resize_time_prop);
recalc_dimensions();
};
function on_mouse_move(x, y) {
buttons_on_mouse_move(x, y);
}
function on_mouse_lbtn_down(x, y) {
buttons_on_mouse_lbtn_down(x, y);
};
function on_mouse_lbtn_up(x, y) {
a = 1;
lbtn_down = false;
buttons_on_mouse_lbtn_up(x, y);
}
function on_mouse_leave() {
m_t = window.GetProperty("Mouse_touch")
buttons_on_mouse_leave();
}
function on_playback_pause(state) {
recalc_dimensions();
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}

function check_btns() {
btn_type = window.GetProperty("SYS.Button Folder");
if (utils.ReadINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder') != btn_type) {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', btn_type);
btn_switch_timer = window.CreateTimerInterval(btn_switch_prop);
};
};
function move_panel() {
n_panel = panel;
n_ww = ww;
c_ww = ww;
if ((dir_move == "right" & panel != 5) ? n_x = 0 - n_ww : n_x = c_ww);
move = true;
toolbar_open = 0
//window.Repaint();
//pss.GetPanel(n_panel).Show(false);
pss.GetPanel(c_panel).Move(0, y, n_ww, wh - 5, true);
pss.GetPanel(n_panel).Show(true);

timer_anim = window.CreateTimerInterval(a_timer);
}
function on_timer(id) {

if (resize_delay_timer && id == resize_delay_timer.ID) {
if (!window.Width || !window.Height) {
return;
}
toolbar_open = 0
bw = B.width;
bh = B.height;
bx = B.width;
by = wh - ANIM_BUT.height / 3 - 4;
default_layout();
resize_delay_timer.Dispose();
resize_delay_timer = false;
recalc_dimensions();

// if (panel != 5) {
//DEF_check();
//}
window.Repaint();
}

if (timer_anim && id == timer_anim.ID) {
if (move) {

if (panel == 9) {
//pss.GetPanel(c_panel).Move(0, y, ww, wh - bh - 5, true);
pss.GetPanel(n_panel).Move(0, y, ww, wh - bh - 5, true);
} else {
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
pss.GetPanel(n_panel).Move(0, y, ww, wh - 5, true);
}
pss.GetPanel(c_panel).Show(false);
c_panel = n_panel;
c_x = 0;
n_x = 0;
timer_anim.Dispose();
CollectGarbage();
move = false;
window.SetProperty("SYS.panel", panel);

window.RepaintRect(0, y, ww, wh - y - bh - 5);
}
}
if (title_check_timer && id == title_check_timer.ID) {
title_set();

}
if (toolbar_timer && id == toolbar_timer.ID) {
if (toolbar_timer)
toolbar_timer.Dispose();
if (DEL_Timer)
DEL_Timer.Dispose();
if (VU_Timer)
VU_Timer.Dispose();
SYS_check()
toolbar_open = 0
if (toolbar_timer)
toolbar_timer.Dispose();
pss.GetPanel(c_panel).Move(0, y, ww, wh- 5, true)
window.RepaintRect(0, wh - bh * 2 - 4, ww, bh * 2);
recalc_dimensions();
}
if (click_timer && id == click_timer.ID) {
click_timer.Dispose();
fb.RunMainMenuCommand("View/Show now playing in playlist");
}
if (TAB_Timer && id == TAB_Timer.ID) {
SYS_check();
swbt = 3;
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
if (Milk_Timer && id == Milk_Timer.ID) {
if (Milk_Timer)
Milk_Timer.Dispose();
try {
WshShell.Run(set_path + "MilEs.exe");
} catch (e) {};
pss.GetPanel(3).Show(false);
milk_btn = false
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true)
swbt = 3
pss.GetPanel(0).Show(true);
DEF_check()
recalc_dimensions()
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
if (NOW_Timer && id == NOW_Timer.ID) {
if (NOW_Timer)
NOW_Timer.Dispose();
NOW_Timer = false;
}
if (DEL_Timer && id == DEL_Timer.ID) {
SYS_check();
recalc_dimensions();
CollectGarbage();
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
window.Repaint();
}
if (LIB_Timer && id == LIB_Timer.ID) {
pss.GetPanel(2).Show(false);
SYS_check();
recalc_dimensions();
CollectGarbage();
window.Repaint();
}
if (VU_Timer && id == VU_Timer.ID) {
VU_Timer.Dispose();
pss.GetPanel(7).Show(false);
pss.GetPanel(8).Show(false);
pss.GetPanel(1).Show(false)
window.SetProperty("SYS.VU_buttons_status", false);
VU_btn = false
window.SetProperty("SYS.Channel spectrum panel_status", false);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
if (SEEK_VOL_Timer && id == SEEK_VOL_Timer.ID) {
SEEK_VOL_Timer.Dispose();
pss.GetPanel(c_panel).Show(true);
pss.GetPanel(c_panel).Move(0, y, ww, wh, false);
pss.GetPanel(0).Show(false);
pss.GetPanel(1).Show(false);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
if (window.GetProperty("VU buttons auto hide") == true) {
if (VU_set_off = utils.ReadINI(set_path + 'settings.ini', 'VU', 'VU_off') == 1) {
vu_switch_check()
}
}
if (utils.ReadINI(set_path + 'settings.ini', 'VU', 'VU_off') == 2) {
CollectGarbage();
vu_switch_check2()
}
if (utils.ReadINI(set_path + 'settings.ini', 'lib', 'lib_off') == 1) {
utils.WriteINI(set_path + 'settings.ini', 'lib', 'lib_off', 0);
if (autolibtopl) {
pss.GetPanel(1).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
SYS_check();
DEF_check()
pss.GetPanel(1).Show(false);
pss.GetPanel(c_panel).Show();
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
panel = 6;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
}
SYS_check()
}
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
swbt = 3;
}
if (utils.ReadINI(set_path + 'settings.ini', 'milk', 'milk_off') == 1) {
milk_switch_check();
}
if (utils.ReadINI(set_path + 'settings.ini', 'dsp', 'dsp_off') == 1) {
dsp_switch_check();
}
if (utils.ReadINI(set_path + 'settings.ini', 'del', 'del_off') == 1) {
del_switch_check();
};
if (utils.ReadINI(set_path + 'settings.ini', 'lib', 'lib_next') == 1) {
lib_switch_check();
};
if (click_timer && id == click_timer.ID) {
click_timer.Dispose();
fb.RunMainMenuCommand("View/Show now playing in playlist");
}
if (btn_switch_timer && id == btn_switch_timer.ID) {
btn_switch_timer.Dispose();
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
};
buttons_on_timer();
}

function on_mouse_rbtn_up(x, y) {
MF_SEPARATOR = 0x00000800;
MF_ENABLED = 0x00000000;
MF_GRAYED = 0x00000001;
MF_DISABLED = 0x00000002;
MF_UNCHECKED = 0x00000000;
MF_CHECKED = 0x00000008;
MF_STRING = 0x00000000;
MF_POPUP = 0x00000010;
MF_MENUBARBREAK = 0x00000020;
MF_MENUBREAK = 0x00000040;
var _menu = window.CreatePopupMenu();
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_1" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 1, "Small • << My >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_2" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 2, "Small • << Dark >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_3" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 3, "Small • << Silver >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_4" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 4, "Small • << Classic >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_5" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 5, "Middle • << My >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_6" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 6, "Middle • << Dark >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_7" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 7, "Middle • << Silver >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_8" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 8, "Middle • << Classic >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_9" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 9, "Big • << My >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_10" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 10, "Big • << Dark >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_11" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 11, "Big • << Silver >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_12" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 12, "Big • << Classic >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
autolibtopl = window.GetProperty("Auto Library to Playlist") == true ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(autolibtopl, 15, "Auto Go to Playlist [Library] ");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
m_t = window.GetProperty("Mouse_touch") == 1 ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(m_t, 16, "Touch • ON");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
sw_vu = window.GetProperty("VU buttons auto hide") == true ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(sw_vu, 18, "VU Buttons Auto Hide • ON");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);

sw_lib = window.GetProperty("LIB buttons_Status") == true ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(sw_lib, 19, "LIB buttons • ON");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);

_menu.AppendMenuItem(MF_ENABLED, 20, "Properties");
_menu.AppendMenuItem(MF_ENABLED, 30, "Configure ...");
ret = _menu.TrackPopupMenu(x, y);
switch (ret) {
case 1:
window.SetProperty("SYS.Button Folder", "btn_set_1");
window.NotifyOthers("SYS.Button Folder", "btn_set_1");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_1');
};
catch (e) {};
on_size();
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 2:
window.SetProperty("SYS.Button Folder", "btn_set_2");
window.NotifyOthers("SYS.Button Folder", "btn_set_2");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_2');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 3:
window.SetProperty("SYS.Button Folder", "btn_set_3");
window.NotifyOthers("SYS.Button Folder", "btn_set_3");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_3');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 4:
window.SetProperty("SYS.Button Folder", "btn_set_4");
window.NotifyOthers("SYS.Button Folder", "btn_set_4");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_4');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 5:
window.SetProperty("SYS.Button Folder", "btn_set_5");
window.NotifyOthers("SYS.Button Folder", "btn_set_5");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_5');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 6:
window.SetProperty("SYS.Button Folder", "btn_set_6");
window.NotifyOthers("SYS.Button Folder", "btn_set_6");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_6');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 7:
window.SetProperty("SYS.Button Folder", "btn_set_7");
window.NotifyOthers("SYS.Button Folder", "btn_set_7");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_7');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 8:
window.SetProperty("SYS.Button Folder", "btn_set_8");
window.NotifyOthers("SYS.Button Folder", "btn_set_8");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_8');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 9:
window.SetProperty("SYS.Button Folder", "btn_set_9");
window.NotifyOthers("SYS.Button Folder", "btn_set_9");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_9');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 10:
window.SetProperty("SYS.Button Folder", "btn_set_10");
window.NotifyOthers("SYS.Button Folder", "btn_set_10");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_10');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 11:
window.SetProperty("SYS.Button Folder", "btn_set_11");
window.NotifyOthers("SYS.Button Folder", "btn_set_11");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_11');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 12:
window.SetProperty("SYS.Button Folder", "btn_set_12");
window.NotifyOthers("SYS.Button Folder", "btn_set_12");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_12');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 15:
autolibtopl = !autolibtopl
window.SetProperty("Auto Library to Playlist", autolibtopl)
break;
case 16:
m_t = window.GetProperty("Mouse_touch")
m_t == 1 ? m_t = 2 : m_t = 1
window.SetProperty("Mouse_touch", m_t)
try {
utils.WriteINI(set_path + 'settings.ini', 'Mouse_touch', 'set', m_t);
};
catch (e) {};
rbtn_up = true
break;
case 17:
animation_status = !animation_status;
window.SetProperty("SYS.Animation_status", animation_status);
m_t = window.GetProperty("Mouse_touch")
rbtn_up = true
break;
case 18:
sw_vu = !sw_vu
window.SetProperty("VU buttons auto hide", sw_vu)
m_t = window.GetProperty("Mouse_touch")
rbtn_up = true
break;
case 19:
sw_lib = window.GetProperty("LIB buttons_Status")
sw_lib = !sw_lib
window.SetProperty("LIB buttons_Status", sw_lib)
sw_lib ? pss.GetPanel(2).Show(true) : pss.GetPanel(2).Show(false)
if (sw_lib) {
LIB_Timer = window.CreateTimerInterval(LIB_prop)
}
m_t = window.GetProperty("Mouse_touch")
rbtn_up = true
recalc_dimensions();
CollectGarbage();
window.Repaint();
break;
case 20:
window.ShowProperties();
break;
case 30:
window.ShowConfigure();
break;
}
_menu.Dispose();
return true;
}
function on_key_down(vkey) {
var mask = GetKeyboardMask();
if (vkey == VK_SPACEBAR) {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
toolbar_open = 0
if (toolbar_timer)
toolbar_timer.Dispose();
pss.GetPanel(1).Show(false) //было false
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true)
panel = 6;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 3;
SYS_check()
recalc_dimensions()
window.RepaintRect(0, wh - bh - 4, ww, bh);
window.NotifyOthers("SYS.Butt_tool", "tool")
}
//VK_J
if (vkey == VK_J) {
SEEK_VOL_Timer = window.CreateTimerInterval(SEEK_VOL_prop);
//звук
SYS_check()
swvk++;
if (swvk > 2)
swvk = 1
window.SetProperty("swvk", swvk);

if (swvk == 2)
{
pss.GetPanel(0).Show(false);
pss.GetPanel(1).Show(true);
pss.GetPanel(1).Move(0 , wh - bh-10 , ww, bh +10, true);

}
if (swvk == 1)
{
pss.GetPanel(1).Show(false);
pss.GetPanel(0).Show(true);
pss.GetPanel(0).Move(0 , wh - bh-10 , ww , bh +10, true);
}
else {
pss.GetPanel(2).Show(false);
}
window.SetProperty("swbt", swbt);
window.SetProperty("swvk", swvk);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
if (vkey == VK_I) { //дсп
SYS_check()
panel = 10;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}

}

if (vkey == VK_U) { // радио 3 панели
SYS_check()
swvk++;
if (swvk > 1)
swvk = 1
window.SetProperty("swvk", swvk);
if (NOW_Timer)
NOW_Timer.Dispose()
pss.GetPanel(1).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
if (panel == 6) {
if (!NOW_Timer) {
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
DEF_check()
window.NotifyOthers("SYS.Butt_state", "chkBt");
} else if (NOW_Timer) {
q++;
if (q > 2)
q = 0;
window.SetProperty("swsq", q);
DEF_check()
CollectGarbage();
swbt = 3;
window.SetProperty("SYS.VU_buttons_status", false);
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
}
NOW_Timer = false;
NOW_Timer = window.CreateTimerInterval(NOW_prop);
} else {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
DEF_check()
pss.GetPanel(1).Show(false);
pss.GetPanel(c_panel).Show();
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
panel = 6;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
}
}
SYS_check()
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
swbt = 3;
NOW_Timer = window.CreateTimerInterval(NOW_prop);
}

if (vkey == VK_NUMPAD3) {
SYS_check()
swvk++;
if (swvk > 1)
swvk = 1
window.SetProperty("swvk", swvk);
if (swvk == 1) {
pss.GetPanel(12).Show(false); // было false
panel = 9;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}


pss.GetPanel(7).Show();
pss.GetPanel(7).Move(0, wh - bh, ww, wh, true); // было true
swbt = 3
}else {
pss.GetPanel(2).Show(false);
}
window.SetProperty("swbt", swbt);
window.SetProperty("swvk", swvk);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}


//************************************************** ************************************************** *******
if (vkey == VK_NUMPAD4) { // поиск
SYS_check()

panel = 6
dir_move = panel > old_panel ? "left" : "left";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
pss.GetPanel(5).Show() == true ? pss.GetPanel(5).Show(false) : pss.GetPanel(5).Show(true) & pss.GetPanel(5).Move(0, wh - 299, ww, 299, true);
pss.GetPanel(1).Show(false)
pss.GetPanel(0).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
recalc_dimensions();

}
//************************************************** ************************************************** *******
if (vkey == VK_E) { //библ
SYS_check()
panel = 13
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
if (sw_lib = window.GetProperty("LIB buttons_Status") == true) {
pss.GetPanel(2).Show(true);
pss.GetPanel(2).Move(ww - bw - 15, wh / 2 - bh * 3, bw, bh * 5, true);
}

}

if (vkey == VK_T) { //столбики
SYS_check()
panel = 12;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}

}
if (vkey == VK_Y) { //визи
SYS_check()
panel = 11;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}


}

if (vkey == VK_NUMPAD9) {
SYS_check()
swvk++;
if (swvk > 5)
swvk = 1
window.SetProperty("swvk", swvk);
if (swvk == 1) {
panel = 5;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 3
window.Repaint();
}
if (swvk == 2) {
panel = 10;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 1
}
if (swvk == 3) {
panel = 12;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 2
}
if (swvk == 4) {
pss.GetPanel(12).Show(false);
pss.GetPanel(7).Move(bw * 3, wh - bh - 4, ww - bw * 6, bh - 2, true);
pss.GetPanel(7).Show(true);
pss.GetPanel(8).Move(0, wh - bh - 5, ww, bh, true);
pss.GetPanel(8).Show(true);
panel = 9;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
if (sw_vu = window.GetProperty("VU buttons auto hide") == true) {
VU_Timer = window.CreateTimerInterval(VU_prop);
}
swbt = 3
}
if (swvk == 5) {
panel = 13
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
}
if (panel == 13) {
if (sw_lib = window.GetProperty("LIB buttons_Status") == true) {
pss.GetPanel(2).Show(true);
pss.GetPanel(2).Move(ww - bw - 15, wh / 2 - bh * 3, bw, bh * 5, true);
}
swbt = 2;
} else {
pss.GetPanel(2).Show(false);
}
window.SetProperty("swbt", swbt);
window.SetProperty("swvk", swvk);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
if (vkey == VK_NUMPAD7) {
fdelay();
try {
is_VU == 1 ? window.SetProperty("is_VU",0)&fso.deleteFile( set_path + "VU_" + "*" ) : window.SetProperty("is_VU",1)& fso.deleteFile( set_path + "VU_" + "*" ); ;
is_VU = window.GetProperty("is_VU")
fso.CreateTextFile( set_path + "VU_" + is_VU );
} catch(e) {};
RefreshPSS();
}
if (vkey == VK_NUMPAD0) {
SYS_check()
swvk--
if (swvk < 1)
swvk = 5
window.SetProperty("swvk", swvk);
if (swvk == 1) {
panel = 6;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 3
window.Repaint();
}
if (swvk == 2) {
panel = 10;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 1
}
if (swvk == 3) {
panel = 12;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 2
}
if (swvk == 4) {
pss.GetPanel(12).Show(false);
pss.GetPanel(7).Move(bw * 3, wh - bh - 4, ww - bw * 6, bh - 2, true);
pss.GetPanel(7).Show(true);
pss.GetPanel(8).Move(0, wh - bh - 5, ww, bh, true);
pss.GetPanel(8).Show(true);
panel = 9;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
if (sw_vu = window.GetProperty("VU buttons auto hide") == true) {
VU_Timer = window.CreateTimerInterval(VU_prop);
}
swbt = 3
}
if (swvk == 5) {
panel = 13
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
}
if (panel == 13) {
if (sw_lib = window.GetProperty("LIB buttons_Status") == true) {
pss.GetPanel(2).Show(true);
pss.GetPanel(2).Move(ww - bw - 15, wh / 2 - bh * 3, bw, bh * 5, true);
}
swbt = 2;
} else {
pss.GetPanel(2).Show(false);
}
window.SetProperty("swbt", swbt);
window.SetProperty("swvk", swvk);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
};
}
function on_notify_data(name, info) {
if (name == "DEF_check") {
DEF_check()
}
}
function del_switch_check() {
if (DEL_Timer)
DEL_Timer.Dispose();
DEL_Timer = window.CreateTimerInterval(DEL_prop);
utils.WriteINI(set_path + 'settings.ini', 'del', 'del_off', 0)
}
function lib_switch_check() {
if (LIB_Timer)
LIB_Timer.Dispose();
LIB_Timer = window.CreateTimerInterval(LIB_prop);
utils.WriteINI(set_path + 'settings.ini', 'lib', 'lib_next', 0)
}
function milk_switch_check() {
if (Milk_Timer)
Milk_Timer.Dispose();
Milk_Timer = window.CreateTimerInterval(Milk_prop);
utils.WriteINI(set_path + 'settings.ini', 'milk', 'milk_off', 0)

}
function tab_switch_check() {
if (TAB_Timer)
TAB_Timer.Dispose();
window.SetProperty("SYS.Man Switch", 0);
swbt = 3;
recalc_dimensions();
window.RepaintRect(0, wh - bh - 5, ww, bh);
utils.WriteINI(set_path + 'settings.ini', 'close_man', 'man_off', 0);
}
function tab_switch_check2() {
if (TAB_Timer)
TAB_Timer.Dispose();
TAB_Timer = window.CreateTimerInterval(TAB_prop);
utils.WriteINI(set_path + 'settings.ini', 'time_man', 'man_off', 0);
}
function vu_switch_check() {
if (VU_Timer)
VU_Timer.Dispose();
if (sw_vu = window.GetProperty("VU buttons auto hide") == true) {
VU_Timer = window.CreateTimerInterval(VU_prop);
}
utils.WriteINI(set_path + 'settings.ini', 'VU', 'VU_off', 0)
}
function vu_switch_check2() {
SYS_check();
pss.GetPanel(1).Show(false)
pss.GetPanel(7).Show(false);
pss.GetPanel(8).Show(false);
window.SetProperty("SYS.Channel spectrum panel_status", false);
window.SetProperty("SYS.VU_buttons_status", false)
toolbar_open = 0
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
utils.WriteINI(set_path + 'settings.ini', 'VU', 'VU_off', 0)
};
function SYS_check() {
CollectGarbage();
q = window.GetProperty("swsq");
if (utils.ReadINI(set_path + 'settings.ini', 'lib_panel', 'lib_panel') == 1) {
utils.WriteINI(set_path + 'settings.ini', 'lib_panel', 'lib_panel', 13);
}
toolbar_open = 0
if (DEL_Timer)
DEL_Timer.Dispose();
if (toolbar_timer)
toolbar_timer.Dispose();
if (VU_Timer)
VU_Timer.Dispose();
if (LIB_Timer)
LIB_Timer.Dispose();
pss.GetPanel(1).Show(false);
pss.GetPanel(5).Show(false);
pss.GetPanel(2).Show(false);
pss.GetPanel(3).Show(false)
pss.GetPanel(4).Show(false);
pss.GetPanel(7).Show(false);
pss.GetPanel(8).Show(false);
SEARCH = false
window.SetProperty("SYS.SEARCH_panel_status", SEARCH)

}
function DEF_check() {
q = window.GetProperty("swsq");
if (q == 0) {
window.NotifyOthers("SYS.Butt_state", "dn");
}
if (q == 1) {
window.NotifyOthers("SYS.Butt_state", "up");
//window.NotifyOthers("SYS.Butt_state", "wt");
}
if (q == 2) {
window.NotifyOthers("SYS.Butt_state", "3p");

};
/*
if (q == 3) {
window.NotifyOthers("SYS.Butt_state", "3p");

};
*/
}
function dsp_switch_check() {
if (utils.ReadINI(set_path + 'settings.ini', 'dsp', 'dsp_off') == 1) {
swbt = 3
panel = 6;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
DEF_check()
utils.WriteINI(set_path + 'settings.ini', 'dsp', 'dsp_off', 0);
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
}
recalc_dimensions()
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
check_btns();
function title_set() {
tf_info = fb.TitleFormat("[$info(encoding)][ • $info(codec)][ $info(codec_profile)][ • $info(bitrate) kbps][ • $info(samplerate) Hz][ • $info(bitspersample) bps][ • $channels()]$if($stricmp($ext(%filename_ext%),cue), • '['cue']',[ • %filesize_natural%])$if($strcmp($info(cue_embedded),yes), • '['embedded cue']',)").Eval();
tf_artist = fb.TitleFormat("$upper([%artist%])").Eval();
tf_title = fb.TitleFormat("$upper([%title%])").Eval();
tf_txt = tf_artist + (tf_artist != "" ? " – " : "") + tf_title;
tf_timer = fb.TitleFormat("%playback_time_remaining%").Eval();
tf_ttimer = fb.TitleFormat("%playback_time%").Eval();
tf_stimer = fb.TitleFormat("$muldiv(%_time_elapsed_seconds%,100,%_time_total_s econds%)").Eval();
foob_window_title = tf_txt;
foob_media_info = tf_info;
foob_trim_title = tf_timer;
foob_ttrim_title = tf_ttimer;
foob_strim_title = tf_stimer;

try {
foob_window_title_prev = rr.getinfo("=$CurrentSkinMediaTitle$");
//foob_media_info_prev = rr.getinfo("=$CurrentSkinMediaInfo$");
foob_media_info_prev = rr.getinfo("=!foobar_Info");
foob_trim_title_prev = rr.getinfo("=!foobar_rtracktime");
foob_ttrim_title_prev = rr.getinfo("=!foobar_tracktime");
foob_strim_title_prev = rr.getinfo("=!foobar_trackpos");
};
catch (e) {
foob_window_title_prev = "";
foob_media_info_prev = "";
foob_trim_title_prev = "";
foob_ttrim_title_prev = "";
foob_strim_title_prev = "";
};
try {
if (foob_window_title_prev != foob_window_title) {
rr.execute("SETVAR;CurrentSkinMediaTitle;" + foob_window_title);
foob_window_title_prev = foob_window_title;
}
if(foob_media_info_prev != foob_media_info){
rr.execute("SetLabel;!foobar_Info;" + foob_media_info);
foob_media_info_prev = foob_media_info;
}
if (foob_trim_title_prev != foob_trim_title) { //SetLabel;!foobar_rtracktime
rr.execute("SetLabel;!foobar_rtracktime;" + foob_trim_title);
foob_trim_title_prev = foob_trim_title;
}
if (foob_ttrim_title_prev != foob_ttrim_title) { //SetLabel;!foobar_trackpos
rr.execute("SetLabel;!foobar_tracktime;" + foob_ttrim_title);
foob_ttrim_title_prev = foob_ttrim_title;
}
if (foob_strim_title_prev != foob_strim_title) { //SetLabel;!foobar_trackpos
rr.execute("SetLabel;!foobar_trackpos;" + foob_strim_title);
foob_strim_title_prev = foob_strim_title;
}
};
catch (e) {};
}
function ch_state_btb(){
g_timer = window.SetTimeout(function() {
if(fso.FileExists( set_path + "VU_1")) {
fso.deleteFile( set_path + "VU_" + "*" );
fso.CreateTextFile( set_path + "VU_0" )
is_VU = 0;
window.Repaint();
RefreshPSS();
}
}, seconds);
}

function RefreshPSS() {
if (fb.IsPlaying || fb.IsPaused) {
fb.RunMainMenuCommand("Playback/Play or Pause");
fb.RunMainMenuCommand("Playback/Play or Pause");
} else {
fb.RunMainMenuCommand("Playback/Play");
fb.RunMainMenuCommand("Playback/Stop");
}

}
function fdelay() {
//var delay_timer = window.SetTimeout(function () {
utils.WriteINI( set_path + 'settings.ini', 'VU', 'VU_off', 1 );
//window.ClearTimeout(delay_timer);
//}, 1000);
};

Евген_21
17.09.2017, 21:34
Посмотри, может пропустил чего ..
Проверил, заработало но не сразу. Позже дошло что панель громкости надо было поднять.:yes4: И подправил вызов панелей поиска и диспетчера.
Во общем все получается отлично.

seriousstas
18.09.2017, 01:00
Проверил, заработало но не сразу. Позже дошло что панель громкости надо было поднять.:yes4:
Во общем все получается отлично.
Странно, у меня все на своих местах(скрины ниже)
И подправил вызов панелей поиска и диспетчера
И тут все работало ..

В цикле (кнопка громкость) можно отключать все , наример первое нажатие всегда громкость,
второе сик, третье - выкл все .
Можно так-же убирать лишнее и на других панелях .
Скажем убрать кнопки с панели "Менеджер плейлистов"
они ведь есть по Твоей кнопке .
Икар версию можно добавить в инсталятор (только плеер)
...
Проверь что у Тебя с кнопкой пауза .
У меня просто перезапускается игра трека..

Евген_21
18.09.2017, 07:13
Странно, у меня все на своих местах(скрины ниже)

И тут все работало ..

Я все делал еще на той сборке что ты мне в личку скидывал.
Может, много что изменилось с того времени.

В цикле (кнопка громкость) можно отключать все , например первое нажатие всегда громкость,
второе сик, третье - выкл все .
Так по любому будет лучше , но это мпс панель надо править.

Можно так-же убирать лишнее и на других панелях .
Скажем убрать кнопки с панели "Менеджер плейлистов"
они ведь есть по Твоей кнопке .
Скажу за себя, они мне точно больше не нужны.

Икар версию можно добавить в инсталятор (только плеер)
С этим не понял, сборку фубара внедрить в инсталлятор iCarDS?

Проверь что у Тебя с кнопкой пауза .
У меня просто перезапускается игра трека..
Если непосредственно на экране фубара, посмотри файлы foobar_player1.txt, foobar_player3.txt, foobar_player4.txt. команда на кнопке play/pause должна быть B,130,518,126,80,"SET_Foobar_MODE",.
А если на любом другом экране , то пропиши команду SET_Foobar_MODE
отметил на скрине.
48142

seriousstas
18.09.2017, 10:12
сборку фубара внедрить в инсталлятор iCarDS?
Нет в мой инсталятор добавить выбор версии галкой ,
для Икара или отдельно ..
команда на кнопке play/pause должна быть
ок, но ты лучше бросай свой Финал - посмотрю уже вживую)

Евген_21
18.09.2017, 11:09
Нет в мой инсталятор добавить выбор версии галкой ,
для Икара или отдельно ..
Логично.
ок, но ты лучше бросай свой Финал - посмотрю уже вживую)
Сегодня или завтра закину. Еще раз проверю все файлы.

seriousstas
18.09.2017, 23:39
заработало но не сразу
Верно !
Забыл сказать , что нужно поднять панель звука в сплиттере , но Ты уже отлично разбираешся в фубаре , раз сам догадался!
Размер панели поиска думаю нужно увелилить - слишком мелкие кнопки будут на 7`

Есть вопрос по шаблону - куда-то пропала шапка шаблона - совсем (просто полоса серая - нижние кнопки на месте) ))
Ставил все с 0-ля, Евгений, проверь этот момент..

плейлисты переключает не по-порядку а рендомно ?

Евген_21
19.09.2017, 12:11
Есть вопрос по шаблону - куда-то пропала шапка шаблона - совсем (просто полоса серая - нижние кнопки на месте) ))
Ставил все с 0-ля, Евгений, проверь этот момент..
Повторил,все тоже самое, поставил все с нуля. Ошибка повторилась,давай файлы проверять, все на месте. Голову чуть не сломал:blink2:, а всего то надо было включить фубар, в список доступных медиа источников.:smile2:
плейлисты переключает не по-порядку а рендомно ?
у меня переключаются последовательно, даже не знаю почему так.
Размер панели поиска думаю нужно увелилить - слишком мелкие кнопки будут на 7
Сегодня у себя посмотрю как на 8 выглядит, а так то делай.

seriousstas
19.09.2017, 12:36
у меня переключаются последовательно, даже не знаю почему так.
да перепрыгивает через два на третий .. (открой менеджер и переключай)
.........
кажется понял - почему-то все скрипты запускаются множественно ..
После нажатия на кнопку - старт несколько раз .. не знаю что за глюк..(попробуй в эмуляторе win8)
И еще ,если поднимать панель (звука), то нужно изменить цифру здесь
uie_jscript_panel_class6 на нужную ..Узнать можно через C:\Program Files (x86)\AutoIt3\Au3Info.exe
У тебя это файл
VK_U_RADIO.exe .Чтоб заработал автопереход на трек при первом нажатии.
Слава у себя сделал это через ini - у меня руки не дошли)

И еще на домашнем текст налазит немного на прогрессбар в полноэкранном режиме

Евген_21
20.09.2017, 18:29
да перепрыгивает через два на третий .. (открой менеджер и переключай)
.........
кажется понял - почему-то все скрипты запускаются множественно ..
После нажатия на кнопку - старт несколько раз .. не знаю что за глюк..(попробуй в эмуляторе win8)
Я установил win8.1. на нет бук. Икар от Лекса встал, фуб не смог установить. Только копированием. И то ни одна команда не отрабатывается. Ну на фиг эта 8, уже не первый раз проблемы. Может кто на 8 и 10 протестирует новый шаблон и скажет какие есть проблемы! Или поможет с решением проблемы.
Хотя интересно, если список плей листа перепрыгивает, то и следуший трек, плей, новый плейлист, так же должен отработать. Управляющий скрипт один на все эти команды foobar_exe

И еще на домашнем текст налазит немного на прогрессбар в полноэкранном режиме
Поправим, но не фак что у всех будет гуд. Весь скин сделан под разрешение 1024 на 600 и перерисовка в нем нереализована.
И еще ,если поднимать панель (звука), то нужно изменить цифру здесь
uie_jscript_panel_class6 на нужную ..Узнать можно через C:\Program Files (x86)\AutoIt3\Au3Info.exe
У тебя это файл
VK_U_RADIO.exe .Чтоб заработал автопереход на трек при первом нажатии.
Слава у себя сделал это через ini - у меня руки не дошли)
Поменял,на uie_jscript_panel_class7, не помогло.
На той мпс что я пробовал изменять , все работало без проблем на этом uie_jscript_panel_class6.
, на нем автопереход на трек работал без проблем. Панель звука в сплиттере отпустить вниз.

function RGBA(r, g, b, a) {
return ((a << 24) | (r << 16) | (g << 8) | (b));
}
function RGB(r, g, b) {
return (0xff000000 | (r << 16) | (g << 8) | (b));
}
var DT_TOP = 0x00000000;
var DT_WORDBREAK = 0x00000010;
var DT_CALCRECT = 0x00000400;
var DT_CALCRECT = 0x00000400;
var DT_NOPREFIX = 0x00000800;
var DT_LEFT = 0x00000000;
var DT_RIGHT = 0x00000002;
var DT_CENTER = 0x00000001;
var DT_VCENTER = 0x00000004;
var DT_SINGLELINE = 0x00000020;
var DT_WORD_ELLIPSIS = 0x00040000;
var font = gdi.Font("Segoe MDL2 Assets", 40);
var font_big = gdi.Font("Segoe MDL2 Assets", 50);
var font2 = gdi.Font("Segoe UI Symbol", 25);
var g_font = gdi.Font("Arial", 23, 0);
var Path = fb.FoobarPath;
var g_img = gdi.Image(Path + "\\themes\\resize_img.png");
var is_VU = window.GetProperty("is_VU")
var WshShell = new ActiveXObject("WScript.Shell");
var ctrl_exe = "ctrl.exe";
var ww = window.Width;
var wh = window.Height;
var flag = false;
var name = "4Icar";
var imgPath = fb.FoobarPath + "Themes\\" + name + "\\Images\\";
try {
var btn_type = window.GetProperty("SYS.Button Folder", "btn_set_1");
};
catch (e) {}
var is_rr_on = true;
try {
var rr = new ActiveXObject("RideRunner.sdk");
} catch (e) {
is_rr_on = false;
}
var foob_window_title_prev = "";
//var FoobarWindowTitle = "";
//var FoobarTrimTitle = "";
var foob_media_info = "";
var foob_trim_title = "";
var foob_ttrim_title = "";
var foob_strim_title = "";

is_rr_on ? title_check_timer = window.CreateTimerInterval(500) : title_check_timer = false && title_check_timer.Dispose;


function on_metadb_changed() {
is_rr_on && title_set();
}

var m_t = window.GetProperty("Mouse_touch", 1);
var rot1 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\rot1.png")
var rot2 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\rot2.png")
var rot3 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\rot3.png")
var rot4 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\rot4.png")
var DSP_S_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\dsp_s.png")
var B = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\BUTTON.png");
var ZERRO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ZERRO.png");
var ANIM_BUT = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT.png");
var ANIM_BUT_L = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_L.png");
var ANIM_BUT_R = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_R.png");
var ANIM_BUT_L1 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_L1.png");
var ANIM_BUT_L2 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_L2.png");
var ANIM_BUT_L2 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_L2.png");
var ANIM_BUT_R1 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_R1.png");
var ANIM_BUT_R2 = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\ANIM_BUT_R2.png");
var NEXT_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\NEXT_ICO.png");
var PREV_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\PREV_ICO.png");
var PLAY_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\PLAY_ICO.png");
var PAUSE_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\PAUSE_ICO.png");
var STOP_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\STOP_ICO.png");
var SEARCH_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\search.png");
var LIBRARY1_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\lib1.png");
var LIBRARY2_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\lib2.png");
var CLEAR_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\clear.png");
var CLOSE_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\close.png");
var DEL_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\del.png");
var DSP_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\dsp.png");
var MILK_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\milk.png")
var PLAYLIST_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\playlist.png");
var PREF_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\pref.png");
var SEARCH_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\search.png");
var SHOWNPL_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\show_now_pl.png");
var TAB_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\tab.png");
var TOOLBAR_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\toolbar_on.png");
var TOOLBAR_ICO_OFF = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\toolbar_off.png"); ;
var ROTATE_ICO = gdi.Image(imgPath + "Buttons\\" + btn_type + "\\rotate.png");
var WshShell = new ActiveXObject("WScript.Shell");
var CtrlDown = ShiftDown = button_timer = xy = false;
var button_timeout;
var hbtn;
var dbtn;
var rbtn_up = true;
var tooltip = window.CreateTooltip();
function Button(x, y, w, h, img, img2, onclick) {
this.x = x;
this.y = y;
this.w = w;
this.h = h;
this.img = img;
this.img2 = img2;
this.onclick = onclick;
this.state = 0;
this.opacity = 0;
this.refresh = 0;
this.xy = function (x, y) {
return (this.x <= x) && (x <= this.x + this.w) && (this.y <= y) && (y <= this.y + this.h);
}
this.changeState = function (state) {
if (!button_timer)
button_timer = window.CreateTimerInterval(60);
window.RepaintRect(this.x - 2, this.y - 2, this.w + 4, this.h + 4);
this.state = state;
this.refresh = 1;
}
this.draw = function (gr) {
var state = this.state;
var op = this.opacity;
on_draw(gr, x, y, w, h, img, img2, op, state);
}
this.Opacity = function () {
if (this.state == 1 && this.opacity < 255)
this.opacity = Math.min(this.opacity + 10, 255);
if (this.state == 0 && this.opacity > 0)
this.opacity = Math.max(0, this.opacity - 10);
if (this.opacity == 0) {
this.refresh = 0;
button_timeout = window.CreateTimerTimeout(0);
}
};
this.onClick = function () {
this.onclick && this.onclick();
}
}
buttons_on_mouse_move = function (x, y) {
xy = false;
for (var i = 0; i < $buttons.length; i++)
if ($buttons[i].xy(x, y)) {
xy = true;
if (hbtn != $buttons[i]) {
if (hbtn)
hbtn.changeState(0);
hbtn = $buttons[i];
hbtn.changeState(m_t);
};
}
if (xy == false) {
if (hbtn) {
hbtn.changeState(0);
hbtn = undefined;
};
}
}
buttons_on_mouse_lbtn_down = function (x, y) {
if (hbtn) {
dbtn = hbtn;
dbtn.changeState(2);
}
}
buttons_on_mouse_lbtn_up = function (x, y) {
if (dbtn) {
dbtn.changeState(1);
dbtn.onClick();
dbtn = undefined;
}
}
buttons_on_mouse_leave = function () {
if (hbtn) {
hbtn.changeState(0);
hbtn = undefined;
}
}
buttons_on_timer = function (id) {
if (button_timeout && id == button_timeout.ID) {
if (button_timer)
window.KillTimer(button_timer);
button_timer = false;
}
for (var i = 0; i < $buttons.length; i++) {
if ($buttons[1].refresh) {
$buttons[1].Opacity();
}
}
}
SYS_check();
function on_playback_stop(reason) {
switch (reason) {
case 0:
case 1:
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
break;
case 2:
break;
};
};

window.NotifyOthers("SYS.Button Folder", btn_type)
var set_path = fb.ProfilePath + "\\settings\\";
var CTRL_prop = window.GetProperty("_CTRL_Time_Wait", 15000)
window.SetProperty("_CTRL_Time_Wait", CTRL_prop);
utils.WriteINI(set_path + 'settings.ini', 'ctrl_timer', 'TimeWait', CTRL_prop)
utils.WriteINI(set_path + 'settings.ini', 'plmanager', 'plmanager_status', 0)
if (Man_set_off = utils.ReadINI(set_path + 'settings.ini', 'close_man', 'man_off') == 2) {
utils.WriteINI(set_path + 'settings.ini', 'close_man', 'man_off', 0);
f
}
var man = window.GetProperty("SYS.Man Switch", 0);
// прогрессбар
function default_layout() {
pss.GetPanel(c_panel).Show();
pss.GetPanel(c_panel).Move(0, y, ww, wh-5, true);
pss.GetPanel(0).Show(false);
pss.GetPanel(0).Move(bw * 3, wh - bh - 3, ww - bw * 6, bh - 2, false); //было true

};

SM_CXVSCROLL = 2;
SM_CYHSCROLL = 3;
var VK_BACK = 0x08;
var VK_RETURN = 0x0D;
var VK_SHIFT = 0x10;
var VK_CONTROL = 0x11;
var VK_ALT = 0x12;
var VK_ESCAPE = 0x1B;
var VK_PGUP = 0x21;
var VK_PGDN = 0x22;
var VK_END = 0x23;
var VK_HOME = 0x24;
var VK_LEFT = 0x25;
var VK_UP = 0x26;
var VK_RIGHT = 0x27;
var VK_DOWN = 0x28;
var VK_INSERT = 0x2D;
var VK_DELETE = 0x2E;
var VK_SPACEBAR = 0x20;
var VK_Z = 0x5A;
var VK_X = 0x58;
var VK_Q = 0x51;
var VK_A = 0x41;
var VK_I = 0x49;
var VK_E = 0x45;
var VK_J = 0x4A;
var VK_T = 0x54;
var VK_U = 0x55;
var VK_Y = 0x59;
var VK_NUMPAD0 = 0x60
var VK_NUMPAD1 = 0x61
var VK_NUMPAD2 = 0x62
var VK_NUMPAD3 = 0x63
var VK_NUMPAD4 = 0x64
var VK_NUMPAD7 = 0x67
var VK_NUMPAD9 = 0x69
var KMask = {
none: 0,
ctrl: 1,
shift: 2,
ctrlshift: 3,
ctrlalt: 4,
ctrlaltshift: 5,
alt: 6
};
function GetKeyboardMask() {
var c = utils.IsKeyPressed(VK_CONTROL) ? true : false;
var a = utils.IsKeyPressed(VK_ALT) ? true : false;
var s = utils.IsKeyPressed(VK_SHIFT) ? true : false;
var ret = KMask.none;
if (c && !a && !s)
ret = KMask.ctrl;
if (!c && !a && s)
ret = KMask.shift;
if (c && !a && s)
ret = KMask.ctrlshift;
if (c && a && !s)
ret = KMask.ctrlalt;
if (c && a && s)
ret = KMask.ctrlaltshift;
return ret;
};
var autolibtopl = window.GetProperty("Auto Library to Playlist", false)
var WshShell = new ActiveXObject("WScript.Shell");
var fso = new ActiveXObject("Scripting.FileSystemObject")
var NOW_prop = 1600;
var TAB_prop = window.GetProperty("_TAB_Timer", 10) * 1000;
var DEL_prop = window.GetProperty("_DEL_Timer", 25) * 1000;
var LIB_prop = window.GetProperty("_LIB_Timer", 20) * 1000;
var VU_prop = window.GetProperty("_VU_Timer", 5) * 1000;
var Milk_prop = window.GetProperty("_Milk_Timer", 6) * 1000;
var swbt = window.GetProperty("swbt", 3);
var swvk = window.GetProperty("swvk", 0);
var Milk_Timer = false;
var DEL_Timer = false;
var LIB_Timer = false;
var TAB_Timer = false;
var VU_Timer = false;
var NOW_Timer = false;
var toolbar_timer = false;
var click_timer = false;
var btn_switch_timer = false;
var butt_type = window.GetProperty("PROP.Button_type", "space.exe");
var butt_type2 = window.GetProperty("PROP.Button_type2", "shift.exe");
var toolbar_prop = window.GetProperty("PROP.Toolbar_Timer", 10) * 1000;
var click_prop = window.GetProperty("PROP.Click_Timer", 30);
var btn_switch_prop = window.GetProperty("PROP.Button_Switch_Timer", 3) * 900;
var pb_font_name_prop = window.GetProperty("Playback Time Font Name", "Segoe UI");
var pb_font_size_prop = window.GetProperty("Playback Time Font Size", 25);
var s = window.GetProperty("SYS.Button Switch", 1);
var set_path_wsh_data = fb.ProfilePath + "\\wsh_data\\";
var set_path2_wsh_data = download_folder + "\\wsh_data\\";
var download_folder = window.GetProperty("Download to Disk", "D:\\")
var custom_folder = window.GetProperty("Download to Custom Folder|Disk", false);
var sw_vu = window.GetProperty("VU buttons auto hide", false);
var sw_lib = window.GetProperty("LIB buttons_Status", true);
var q = window.GetProperty("swsq", 0), swsq
//if (panel == 5) {
//}

try {
var btn_type = window.GetProperty("SYS.Button Folder", "btn_set_1");
};
catch (e) {
var btn_type = "btn_set_1";
};
var imgPath = fb.FoobarPath + "Themes\\" + name + "\\Images\\";
var d = new Date();
var g_font = gdi.Font(pb_font_name_prop, pb_font_size_prop, 0);
var g_font2 = gdi.Font(pb_font_name_prop, pb_font_size_prop / 2, 0);
var dsp_color = RGBA(210, 210, 210, 100);
var dsp_off = 0;
var bw = B.width;
var bh = B.height;
var background_color = window.GetProperty("COLOR.Background", "RGB(0,0,0)");
var bottom_gradient_color = window.GetProperty("COLOR.Bottom Gradient 1", "RGBA(15,15,15,200)");
var bottom_gradient_color2 = window.GetProperty("COLOR.Bottom Gradient 2", "RGBA(50,50,50,200)");
var bottom_gradient_color_angle1 = window.GetProperty("COLOR.Bottom Gradient 1 Angle", -90);
var bottom_gradient_color_angle2 = window.GetProperty("COLOR.Bottom Gradient 2 Angle", 90);
var bottom_gradient_color_angle3 = window.GetProperty("COLOR.Bottom Gradient 3 Angle", -90);
var g_background_color = 0, g_bottom_gradient_color = 0, g_bottom_gradient_color2 = 0;
function get_colors() {
if (background_color.length > 0)
g_background_color = eval(background_color);
if (bottom_gradient_color.length > 0)
g_bottom_gradient_color = eval(bottom_gradient_color);
if (bottom_gradient_color2.length > 0)
g_bottom_gradient_color2 = eval(bottom_gradient_color2);
};
function on_colors_changed() {
get_colors();
CollectGarbage();
window.Repaint();
};
get_colors();
var sac = saci = lbtn_down = false;
var anim_time_step = window.GetProperty("SYS.Animation keyb Time Step setup", 3);
var anim_step = window.GetProperty("SYS.Animation keyb Panel Step setup", 8);
var animation_status = window.GetProperty("SYS.Animation_Status", false);
var a_timer = anim_time_step;
var panel = window.GetProperty("SYS.panel", 5);
var c_panel = panel, n_panel;
var panels = 11;
var old_panel = panel;
var dir_move, move = false;
var y = 3;
var is_plmanager = 0;
var c_x = 0;
var n_x = 0;
var c_ww = 0;
var n_ww = 0;
var timer_anim = false;
var step_c = anim_step;
var step_n = anim_step;
var toolbar_open = 0;
var on_mouse = false;
function recalc_dimensions() {
animation_status = window.GetProperty("SYS.Animation_Status")
q = window.GetProperty("swsq");
ww = window.Width;
wh = window.Height;
bh = B.height;
bw = B.width;
bx = B.width;
//by = wh - ANIM_BUT.height / 3 - 4;
by = wh - ANIM_BUT.height / 3 - 4;
var ROT_var;
if (panel == 5) {
ROT_var = rot1;
swbt = 3;
} else if (panel == 9) {
swbt = 3;
ROT_var = rot1;
} else if (panel == 10) {
swbt = 3;
ROT_var = rot1;
} else if (panel == 12) {
ROT_var = rot2;
} else if (panel == 8) {
ROT_var = rot1;
} else {
ROT_var = rot3;
}
toolbar_open == 1 ? t_ico = TOOLBAR_ICO_OFF : t_ico = TOOLBAR_ICO;
$buttons = [new Button(0, by - 1, B.width, B.height, ANIM_BUT, PREV_ICO, function () {
fb.Prev();
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}), new Button(bx, by - 1, B.width, B.height, ANIM_BUT, fb.IsPlaying ? (fb.IsPaused ? PLAY_ICO : PAUSE_ICO) : PLAY_ICO, function () {
fb.PlayOrPause();
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}), new Button(bx * 2, by - 1, B.width, B.height, ANIM_BUT, NEXT_ICO, function () {
fb.Next();
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}), new Button(ww - bx * 2, by - 1, B.width, B.height, ANIM_BUT, SHOWNPL_ICO, function () {
if (NOW_Timer)
NOW_Timer.Dispose()
pss.GetPanel(13).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true);
if (panel == 5) {
if (!NOW_Timer) {
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
DEF_check()
window.NotifyOthers("SYS.Butt_state", "chkBt");
} else if (NOW_Timer) {
q++;
if (q > 2)
q = 0;
window.SetProperty("swsq", q);
DEF_check()
CollectGarbage();
swbt = 3;
window.SetProperty("SYS.VU_buttons_status", false);
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
}
NOW_Timer = false;
NOW_Timer = window.CreateTimerInterval(NOW_prop);
} else {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
DEF_check()
pss.GetPanel(13).Show(false);
pss.GetPanel(c_panel).Show();
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true);
panel = 5;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
}
}
SYS_check()
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
swbt = 3;
NOW_Timer = window.CreateTimerInterval(NOW_prop);
}), new Button(ww - bx, by - 1, B.width, B.height, ANIM_BUT, ROT_var, function () {
if (panel == 5) {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
} //3panel
pss.GetPanel(13).Show(false);
pss.GetPanel(13).Move(bw * 4, wh - bh * 2 - 4, ww - bw * 8, bh - 2, true);
if (move == false) {
swbt++;
if (swbt > 3)
swbt = 1
} else
return;
window.SetProperty("swbt", swbt)

if (swbt == 1) {
SYS_check();
utils.WriteINI(set_path + 'settings.ini', 'bio', 'panel', 0);
window.SetProperty("SYS.VU_buttons_status", false);
panel = 12
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {

move_panel();
old_panel = panel
}
if (sw_lib = window.GetProperty("LIB buttons_Status") == true) {
pss.GetPanel(2).Show(true);
pss.GetPanel(2).Move(ww - bw - 15, wh / 2 - bh * 3, bw, bh * 5, true);
LIB_Timer = window.CreateTimerInterval(LIB_prop);
}
recalc_dimensions();
window.Repaint();
}
if (swbt == 2) {
window.SetProperty("SYS.VU_buttons_status", false);
panel = 11;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
pss.GetPanel(2).Show(false);
//SYS_check();
}
if (swbt == 3) {
panel = 8;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
SYS_check();
pss.GetPanel(7).Move(0, wh - bh - 5, ww, bh, false); // было true
pss.GetPanel(7).Show(false); // было true
if (sw_vu = window.GetProperty("VU buttons auto hide") == true) { // было true
VU_Timer = window.CreateTimerInterval(VU_prop);
}
}
//recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
// кнопка доп панели
}), new Button(ww - bx * 3, by - 1, B.width, B.height, ANIM_BUT, t_ico, function () {
if (toolbar_timer)
toolbar_timer.Dispose();
if (VU_Timer)
VU_Timer.Dispose();
if (LIB_Timer)
LIB_Timer.Dispose();
utils.WriteINI(set_path + 'settings.ini', 'close_ctrl', 'ctrl', 1)
toolbar_open++
if (toolbar_open > 1) {
toolbar_open = 0
}
if (toolbar_open == 0) {
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true) //было true
pss.GetPanel(13).Show(false);
pss.GetPanel(1).Show(false);
pss.GetPanel(2).Show(false);
pss.GetPanel(3).Show(false)
pss.GetPanel(4).Show(false);
pss.GetPanel(6).Show(false);
pss.GetPanel(7).Show(false);
SEARCH = false
window.SetProperty("SYS.SEARCH_panel_status", SEARCH)
} else {
//pss.GetPanel(13).Show(true) //было true
//pss.GetPanel(13).Move(bw * 4, wh - bh * 2 - 4, ww - bw * 8, bh - 2, true); //было true
pss.GetPanel(c_panel).Show();
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true); //было true
pss.GetPanel(1).Show(false) // было false
pss.GetPanel(4).Show(false) // было false ложь
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh * 2 - 5, true) // было true двойная панель
toolbar_timer = window.CreateTimerInterval(toolbar_prop);
}
window.RepaintRect(0, wh - bh * 2 - 4, ww, bh * 2);
recalc_dimensions();
}), new Button(0, by - B.height - 2, B.width, B.height, ANIM_BUT, DEL_ICO, function () {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
panel = 5
dir_move = panel > old_panel ? "left" : "left";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
SYS_check()
pss.GetPanel(4).Show(true);
pss.GetPanel(4).Move(ww - bw, wh / 2 - bh * 2, ww, bh * 3, true);
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true);
DEL_Timer = window.CreateTimerInterval(DEL_prop);
swbt = 3;
recalc_dimensions();
window.Repaint();
}), new Button(bx, by - B.height - 2, B.width, B.height, ANIM_BUT, DSP_S_ICO, function () {
try {
fb.RunMainMenuCommand("View/DSP/DSP #2 config");
} catch (e) {};
}), new Button(bx * 2, by - B.height - 2, B.width, B.height, ANIM_BUT, DSP_ICO, function () {
pss.GetPanel(13).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true)
toolbar_open = 0
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
panel = 9;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
SYS_check()
swbt = 3;
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
// кнопка milk
}), new Button(bx * 3, by - B.height - 2, B.width, B.height, ANIM_BUT, MILK_ICO, function () {
pss.GetPanel(13).Show(false);
pss.GetPanel(0).Show(false);
pss.GetPanel(c_panel).Show();
//pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true) не понятно
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true)
toolbar_open = 0
panel = 10;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
SYS_check()
Milk_Timer = window.CreateTimerInterval(Milk_prop);
pss.GetPanel(3).Show(false); // было true
pss.GetPanel(3).Move(0, wh - bh - 4, ww, bh, false); // было true
// кнопка выход
}), new Button(ww - bx, by - B.height - 2, B.width, B.height, ANIM_BUT, CLOSE_ICO, function () {
CollectGarbage();
if (DEL_Timer)
DEL_Timer.Dispose();
if (toolbar_timer)
toolbar_timer.Dispose();
if (VU_Timer)
VU_Timer.Dispose();
if (LIB_Timer)
LIB_Timer.Dispose();
fb.RunMainMenuCommand("File/Exit");
}), new Button(ww - bx * 2, by - B.height - 2, B.width, B.height, ANIM_BUT, PREF_ICO, function () {
fb.ShowPreferences();
// поиск
}), new Button(ww - bx * 4, by - B.height - 2, B.width, B.height, ANIM_BUT, SEARCH_ICO, function () {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
panel = 5
dir_move = panel > old_panel ? "left" : "left";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
SYS_check();
pss.GetPanel(1).Show() == true ? pss.GetPanel(1).Show(false) : pss.GetPanel(1).Show(true) & pss.GetPanel(1).Move(0, wh - bh - 301, ww, 299, true); ;
pss.GetPanel(13).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true);
swbt = 3
recalc_dimensions();
}), new Button(ww - bx * 3, by - B.height - 2, B.width, B.height, ANIM_BUT, TAB_ICO, function () {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
toolbar_open = 0
if (toolbar_timer)
toolbar_timer.Dispose();
pss.GetPanel(13).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true)
panel = 5;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 3;
SYS_check()
recalc_dimensions()
window.RepaintRect(0, wh - bh - 4, ww, bh);
window.NotifyOthers("SYS.Butt_tool", "tool")
})]
}
recalc_dimensions();
function on_draw(gr, x, y, w, h, img, img2, op, state) {
gr.DrawImage(img, Math.ceil(x), Math.ceil(y), Math.ceil(w), Math.ceil(h), 0, state * h, Math.ceil(w), Math.ceil(h), 0, 255);
gr.DrawImage(img2, Math.ceil(x), Math.ceil(y), Math.ceil(w), Math.ceil(h), 0, state * h, Math.ceil(w), Math.ceil(h), 0, 255);
}
function on_paint(gr) {
gr.FillSolidRect(0, 0, ww, wh, g_background_color);
//gr.FillGradRect(0, wh - bh - 5, ww, bh + 5, bottom_gradient_color_angle1, g_bottom_gradient_color, g_bottom_gradient_color2);
for (var i = 0; i < 6; i++) {
//$buttons[i].draw(gr); //ккнопки
}
if (toolbar_open) {
gr.FillGradRect(0, wh - bh * 2 - 5, ww, bh, bottom_gradient_color_angle1, g_bottom_gradient_color, g_bottom_gradient_color2);
for (var i = 6; i < $buttons.length; i++) {
$buttons[i].draw(gr); //ккнопки
}
// var dsp = utils.ReadINI(set_path + 'settings.ini', 'dsp', 'preset')
}
}
var resize_time_prop = window.GetProperty("SYS.PANEL_RESIZE_TIMER", 300);
var resize_delay_timer = false;
function on_size() {
if (resize_delay_timer)
resize_delay_timer.Dispose();
ww = window.Width;
wh = window.Height;
//default_layout2()
resize_delay_timer = window.CreateTimerTimeout(resize_time_prop);
recalc_dimensions();
};
function on_mouse_move(x, y) {
buttons_on_mouse_move(x, y);
}
function on_mouse_lbtn_down(x, y) {
buttons_on_mouse_lbtn_down(x, y);
};
function on_mouse_lbtn_up(x, y) {
a = 1;
lbtn_down = false;
buttons_on_mouse_lbtn_up(x, y);
}
function on_mouse_leave() {
m_t = window.GetProperty("Mouse_touch")
buttons_on_mouse_leave();
}
function on_playback_pause(state) {
recalc_dimensions();
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}

function check_btns() {
btn_type = window.GetProperty("SYS.Button Folder");
if (utils.ReadINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder') != btn_type) {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', btn_type);
btn_switch_timer = window.CreateTimerInterval(btn_switch_prop);
};
};
function move_panel() {
n_panel = panel;
n_ww = ww;
c_ww = ww;
if ((dir_move == "right" & panel != 5) ? n_x = 0 - n_ww : n_x = c_ww);
move = true;
toolbar_open = 0
//window.Repaint();
pss.GetPanel(n_panel).Show(false);
pss.GetPanel(c_panel).Move(0, y, n_ww, wh - 5, true);
pss.GetPanel(n_panel).Show(true);
timer_anim = window.CreateTimerInterval(a_timer);
}
function on_timer(id) {

if (resize_delay_timer && id == resize_delay_timer.ID) {
if (!window.Width || !window.Height) {
return;
}
toolbar_open = 0
bw = B.width;
bh = B.height;
bx = B.width;
by = wh - ANIM_BUT.height / 3 - 4;
default_layout();
resize_delay_timer.Dispose();
resize_delay_timer = false;
recalc_dimensions();

// if (panel != 5) {
//DEF_check();
//}
window.Repaint();
}

if (timer_anim && id == timer_anim.ID) {
if (animation_status = window.GetProperty("SYS.Animation_status") == true) {
if (move) {
a_timer = anim_time_step;
step_c = anim_step;
step_n = anim_step;
if (dir_move == "left") {
c_x = c_x - step_c;
n_x = n_x - step_n;
}
if (dir_move == "right") {
c_x = c_x + step_c;
n_x = n_x + step_n;
}

pss.GetPanel(c_panel).Move(c_x, y, ww, wh - 5, true);
pss.GetPanel(n_panel).Move(n_x, y, n_ww, wh - y - bh - 5, true);
if (dir_move == "right" ? n_x >= 0 : n_x <= 0) {
pss.GetPanel(c_panel).Show(false);
c_panel = n_panel;
c_x = 0;
n_x = 0;
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
pss.GetPanel(n_panel).Move(0, y, n_ww, wh - 5, true);
//default_layout();//
resize_delay_timer = false;
//recalc_dimensions();
timer_anim.Dispose();
move = false;
}
window.SetProperty("SYS.panel", panel);

}
} else {
if (move) {
window.RepaintRect(0, y, ww, wh - y - bh - 5);
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
pss.GetPanel(n_panel).Move(0, y, ww, wh - 5, true);
pss.GetPanel(c_panel).Show(false);
c_panel = n_panel;
c_x = 0;
n_x = 0;
timer_anim.Dispose();
CollectGarbage();
move = false;
window.SetProperty("SYS.panel", panel);
if (flag == true) {
animation_status = true;
window.SetProperty("SYS.Animation_Status", animation_status)
flag = false
}
}
}
}
if (title_check_timer && id == title_check_timer.ID) {
title_set();

}
if (toolbar_timer && id == toolbar_timer.ID) {
if (toolbar_timer)
toolbar_timer.Dispose();
if (DEL_Timer)
DEL_Timer.Dispose();
if (VU_Timer)
VU_Timer.Dispose();
SYS_check()
toolbar_open = 0
if (toolbar_timer)
toolbar_timer.Dispose();
pss.GetPanel(c_panel).Move(0, y, ww, wh- 5, true)
window.RepaintRect(0, wh - bh * 2 - 4, ww, bh * 2);
recalc_dimensions();
}
if (click_timer && id == click_timer.ID) {
click_timer.Dispose();
fb.RunMainMenuCommand("View/Show now playing in playlist");
}
if (TAB_Timer && id == TAB_Timer.ID) {
SYS_check();
swbt = 3;
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
if (Milk_Timer && id == Milk_Timer.ID) {
if (Milk_Timer)
Milk_Timer.Dispose();
try {
WshShell.Run(set_path + "MilEs.exe");
} catch (e) {};
pss.GetPanel(3).Show(false);
milk_btn = false
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true)
swbt = 3
pss.GetPanel(0).Show(true);
DEF_check()
recalc_dimensions()
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
if (NOW_Timer && id == NOW_Timer.ID) {
if (NOW_Timer)
NOW_Timer.Dispose();
NOW_Timer = false;
}
if (DEL_Timer && id == DEL_Timer.ID) {
SYS_check();
recalc_dimensions();
CollectGarbage();
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
window.Repaint();
}
if (LIB_Timer && id == LIB_Timer.ID) {
pss.GetPanel(2).Show(false);
SYS_check();
recalc_dimensions();
CollectGarbage();
window.Repaint();
}
if (VU_Timer && id == VU_Timer.ID) {
VU_Timer.Dispose();
pss.GetPanel(6).Show(false);
pss.GetPanel(7).Show(false);
pss.GetPanel(13).Show(false)
window.SetProperty("SYS.VU_buttons_status", false);
VU_btn = false
window.SetProperty("SYS.Channel spectrum panel_status", false);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
if (window.GetProperty("VU buttons auto hide") == true) {
if (VU_set_off = utils.ReadINI(set_path + 'settings.ini', 'VU', 'VU_off') == 1) {
vu_switch_check()
}
}
if (utils.ReadINI(set_path + 'settings.ini', 'VU', 'VU_off') == 2) {
CollectGarbage();
vu_switch_check2()
}
if (utils.ReadINI(set_path + 'settings.ini', 'lib', 'lib_off') == 1) {
utils.WriteINI(set_path + 'settings.ini', 'lib', 'lib_off', 0);
if (autolibtopl) {
pss.GetPanel(13).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
SYS_check();
DEF_check()
pss.GetPanel(13).Show(false);
pss.GetPanel(c_panel).Show();
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
panel = 5;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
}
SYS_check()
}
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
swbt = 3;
}
if (utils.ReadINI(set_path + 'settings.ini', 'milk', 'milk_off') == 1) {
milk_switch_check();
}
if (utils.ReadINI(set_path + 'settings.ini', 'dsp', 'dsp_off') == 1) {
dsp_switch_check();
}
if (utils.ReadINI(set_path + 'settings.ini', 'del', 'del_off') == 1) {
del_switch_check();
};
if (utils.ReadINI(set_path + 'settings.ini', 'lib', 'lib_next') == 1) {
lib_switch_check();
};
if (click_timer && id == click_timer.ID) {
click_timer.Dispose();
fb.RunMainMenuCommand("View/Show now playing in playlist");
}
if (btn_switch_timer && id == btn_switch_timer.ID) {
btn_switch_timer.Dispose();
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
};
buttons_on_timer();
}
function on_mouse_lbtn_dblclk(x, y) {}
function on_mouse_rbtn_down(x, y) {}
function on_mouse_rbtn_up(x, y) {
MF_SEPARATOR = 0x00000800;
MF_ENABLED = 0x00000000;
MF_GRAYED = 0x00000001;
MF_DISABLED = 0x00000002;
MF_UNCHECKED = 0x00000000;
MF_CHECKED = 0x00000008;
MF_STRING = 0x00000000;
MF_POPUP = 0x00000010;
MF_MENUBARBREAK = 0x00000020;
MF_MENUBREAK = 0x00000040;
var _menu = window.CreatePopupMenu();
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_1" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 1, "Small • << My >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_2" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 2, "Small • << Dark >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_3" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 3, "Small • << Silver >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_4" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 4, "Small • << Classic >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_5" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 5, "Middle • << My >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_6" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 6, "Middle • << Dark >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_7" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 7, "Middle • << Silver >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_8" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 8, "Middle • << Classic >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_9" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 9, "Big • << My >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_10" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 10, "Big • << Dark >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_11" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 11, "Big • << Silver >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
var btn_type = window.GetProperty("SYS.Button Folder") == "btn_set_12" ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(btn_type, 12, "Big • << Classic >>");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
autolibtopl = window.GetProperty("Auto Library to Playlist") == true ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(autolibtopl, 15, "Auto Go to Playlist [Library] ");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
m_t = window.GetProperty("Mouse_touch") == 1 ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(m_t, 16, "Touch • ON");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
animation_status = window.GetProperty("SYS.Animation_Status") == true ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(animation_status, 17, " Animation Main Panels • ON");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
sw_vu = window.GetProperty("VU buttons auto hide") == true ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(sw_vu, 18, "VU Buttons Auto Hide • ON");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);

sw_lib = window.GetProperty("LIB buttons_Status") == true ? MF_CHECKED : MF_ENABLED;
_menu.AppendMenuItem(sw_lib, 19, "LIB buttons • ON");
_menu.AppendMenuItem(MF_SEPARATOR, 0, 0);

_menu.AppendMenuItem(MF_ENABLED, 20, "Properties");
_menu.AppendMenuItem(MF_ENABLED, 30, "Configure ...");
ret = _menu.TrackPopupMenu(x, y);
switch (ret) {
case 1:
window.SetProperty("SYS.Button Folder", "btn_set_1");
window.NotifyOthers("SYS.Button Folder", "btn_set_1");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_1');
};
catch (e) {};
on_size();
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 2:
window.SetProperty("SYS.Button Folder", "btn_set_2");
window.NotifyOthers("SYS.Button Folder", "btn_set_2");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_2');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 3:
window.SetProperty("SYS.Button Folder", "btn_set_3");
window.NotifyOthers("SYS.Button Folder", "btn_set_3");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_3');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 4:
window.SetProperty("SYS.Button Folder", "btn_set_4");
window.NotifyOthers("SYS.Button Folder", "btn_set_4");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_4');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 5:
window.SetProperty("SYS.Button Folder", "btn_set_5");
window.NotifyOthers("SYS.Button Folder", "btn_set_5");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_5');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 6:
window.SetProperty("SYS.Button Folder", "btn_set_6");
window.NotifyOthers("SYS.Button Folder", "btn_set_6");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_6');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 7:
window.SetProperty("SYS.Button Folder", "btn_set_7");
window.NotifyOthers("SYS.Button Folder", "btn_set_7");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_7');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 8:
window.SetProperty("SYS.Button Folder", "btn_set_8");
window.NotifyOthers("SYS.Button Folder", "btn_set_8");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_8');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 9:
window.SetProperty("SYS.Button Folder", "btn_set_9");
window.NotifyOthers("SYS.Button Folder", "btn_set_9");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_9');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 10:
window.SetProperty("SYS.Button Folder", "btn_set_10");
window.NotifyOthers("SYS.Button Folder", "btn_set_10");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_10');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 11:
window.SetProperty("SYS.Button Folder", "btn_set_11");
window.NotifyOthers("SYS.Button Folder", "btn_set_11");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_11');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 12:
window.SetProperty("SYS.Button Folder", "btn_set_12");
window.NotifyOthers("SYS.Button Folder", "btn_set_12");
try {
utils.WriteINI(set_path + 'settings.ini', 'Button Folder', 'Button Folder', 'btn_set_12');
};
catch (e) {};
try {
fb.RunMainMenuCommand("File/Restart");
};
catch (e) {};
break;
case 15:
autolibtopl = !autolibtopl
window.SetProperty("Auto Library to Playlist", autolibtopl)
break;
case 16:
m_t = window.GetProperty("Mouse_touch")
m_t == 1 ? m_t = 2 : m_t = 1
window.SetProperty("Mouse_touch", m_t)
try {
utils.WriteINI(set_path + 'settings.ini', 'Mouse_touch', 'set', m_t);
};
catch (e) {};
rbtn_up = true
break;
case 17:
animation_status = !animation_status;
window.SetProperty("SYS.Animation_status", animation_status);
m_t = window.GetProperty("Mouse_touch")
rbtn_up = true
break;
case 18:
sw_vu = !sw_vu
window.SetProperty("VU buttons auto hide", sw_vu)
m_t = window.GetProperty("Mouse_touch")
rbtn_up = true
break;
case 19:
sw_lib = window.GetProperty("LIB buttons_Status")
sw_lib = !sw_lib
window.SetProperty("LIB buttons_Status", sw_lib)
sw_lib ? pss.GetPanel(2).Show(true) : pss.GetPanel(2).Show(false)
if (sw_lib) {
LIB_Timer = window.CreateTimerInterval(LIB_prop)
}
m_t = window.GetProperty("Mouse_touch")
rbtn_up = true
recalc_dimensions();
CollectGarbage();
window.Repaint();
break;
case 20:
window.ShowProperties();
break;
case 30:
window.ShowConfigure();
break;
}
_menu.Dispose();
return true;
}
function on_key_down(vkey) {
var mask = GetKeyboardMask();
if (vkey == VK_SPACEBAR) {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
toolbar_open = 0
if (toolbar_timer)
toolbar_timer.Dispose();
pss.GetPanel(13).Show(false) //было false
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true)
panel = 5;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 3;
SYS_check()
recalc_dimensions()
window.RepaintRect(0, wh - bh - 4, ww, bh);
window.NotifyOthers("SYS.Butt_tool", "tool")
}
//VK_J
if (vkey == VK_J) { //звук
SYS_check()
swvk++;
if (swvk > 2)
swvk = 1
window.SetProperty("swvk", swvk);

if (swvk == 2)
{
pss.GetPanel(c_panel).Show(true);
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, false);
pss.GetPanel(0).Show(false);
pss.GetPanel(13).Show(true);
pss.GetPanel(13).Move(bw * 0, wh - bh - 2, ww - bw * 0, bh - 4, true);
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 1
}
if (swvk == 1)
{
pss.GetPanel(c_panel).Show(true);
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
pss.GetPanel(13).Show(false);
pss.GetPanel(0).Show(true);
pss.GetPanel(0).Move(bw * 0, wh - bh - 2, ww - bw * 0, bh - 4, true);
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 2
}
else {
pss.GetPanel(2).Show(false);
}
window.SetProperty("swbt", swbt);
window.SetProperty("swvk", swvk);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
if (vkey == VK_I) { //дсп
SYS_check()
swvk++;
if (swvk > 1)
swvk = 1
window.SetProperty("swvk", swvk);
//if (swvk == 1) {
//panel = 5;
//dir_move = panel > old_panel ? "right" : "right";
//if (old_panel != panel) {
//move_panel();
//old_panel = panel
//}
//swbt = 3
//window.Repaint();
//}
if (swvk == 1) {
panel = 9;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 1
}
/*if (swvk == 3) {
panel = 11;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 2
}
if (swvk == 4) {
pss.GetPanel(11).Show(false);
pss.GetPanel(6).Move(bw * 3, wh - bh - 4, ww - bw * 6, bh - 2, true);
pss.GetPanel(6).Show(true);
pss.GetPanel(7).Move(0, wh - bh - 5, ww, bh, true);
pss.GetPanel(7).Show(true);
panel = 8;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
if (sw_vu = window.GetProperty("VU buttons auto hide") == true) {
VU_Timer = window.CreateTimerInterval(VU_prop);
}
swbt = 3
}
if (swvk == 5) {
panel = 12
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
}
if (panel == 12) {
if (sw_lib = window.GetProperty("LIB buttons_Status") == true) {
pss.GetPanel(2).Show(true);
pss.GetPanel(2).Move(ww - bw - 15, wh / 2 - bh * 3, bw, bh * 5, true);
}
swbt = 2;
}*/ else {
pss.GetPanel(2).Show(false);
}
window.SetProperty("swbt", swbt);
window.SetProperty("swvk", swvk);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}

if (vkey == VK_U) { // радио 3 панели
SYS_check()
swvk++;
if (swvk > 1)
swvk = 1
window.SetProperty("swvk", swvk);
if (NOW_Timer)
NOW_Timer.Dispose()
pss.GetPanel(13).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
if (panel == 5) {
if (!NOW_Timer) {
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
DEF_check()
window.NotifyOthers("SYS.Butt_state", "chkBt");
} else if (NOW_Timer) {
q++;
if (q > 2)
q = 0;
window.SetProperty("swsq", q);
DEF_check()
CollectGarbage();
swbt = 3;
window.SetProperty("SYS.VU_buttons_status", false);
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
}
NOW_Timer = false;
NOW_Timer = window.CreateTimerInterval(NOW_prop);
} else {
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
DEF_check()
pss.GetPanel(13).Show(false);
pss.GetPanel(c_panel).Show();
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
panel = 5;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
}
}
SYS_check()
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
swbt = 3;
NOW_Timer = window.CreateTimerInterval(NOW_prop);
}

if (vkey == VK_NUMPAD3) {
SYS_check()
swvk++;
if (swvk > 1)
swvk = 1
window.SetProperty("swvk", swvk);
////// двойной экран РАДИО
//if (swvk == 1) {
//panel = 5;
//dir_move = panel > old_panel ? "right" : "right";
//if (old_panel != panel) {
//move_panel();
//old_panel = panel
//}
//swbt = 3
//window.Repaint();
//}
if (swvk == 1) {
pss.GetPanel(11).Show(false); // было false
//pss.GetPanel(6).Move(bw * 3, wh - bh - 4, ww - bw * 6, bh - 2, true);
pss.GetPanel(6).Move(bw * 0, wh - bh - 2, ww - bw * 0, bh - 0, true); // было true столбики горизонт
pss.GetPanel(6).Show(true); // было true
pss.GetPanel(7).Move(0, wh - bh - 5, ww, bh, false); // было true
pss.GetPanel(7).Show(false); // было true
panel = 8;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
if (sw_vu = window.GetProperty("VU buttons auto hide") == true) {
VU_Timer = window.CreateTimerInterval(VU_prop);
}
swbt = 3
}else {
pss.GetPanel(2).Show(false);
}
window.SetProperty("swbt", swbt);
window.SetProperty("swvk", swvk);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}


//************************************************** ************************************************** *******
if (vkey == VK_NUMPAD4) { // поиск
SYS_check()
swvk++;
if (swvk > 1)
swvk = 1
window.SetProperty("swvk", swvk);
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
panel = 5
dir_move = panel > old_panel ? "left" : "left";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
SYS_check();
pss.GetPanel(1).Show() == true ? pss.GetPanel(1).Show(false) : pss.GetPanel(1).Show(true) & pss.GetPanel(1).Move(0, wh - 299, ww, 299, true); ;
pss.GetPanel(13).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
swbt = 3
recalc_dimensions();
}
//************************************************** ************************************************** *******
if (vkey == VK_E) {
SYS_check()
swvk++;
if (swvk > 1)
swvk = 1
window.SetProperty("swvk", swvk);
////// двойной экран РАДИО
//if (swvk == 1) {
//panel = 5;
//dir_move = panel > old_panel ? "right" : "right";
//if (old_panel != panel) {
//move_panel();
//old_panel = panel
//}
//swbt = 3
//window.Repaint();
//}
if (swvk == 1) {
panel = 12
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
}
if (panel == 12) {
if (sw_lib = window.GetProperty("LIB buttons_Status") == true) {
pss.GetPanel(2).Show(true);
pss.GetPanel(2).Move(ww - bw - 15, wh / 2 - bh * 3, bw, bh * 5, true);
}
swbt = 2;
}else {
pss.GetPanel(2).Show(false);
}
window.SetProperty("swbt", swbt);
window.SetProperty("swvk", swvk);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
if (vkey == VK_T) { //столбики
SYS_check()
swvk++;
if (swvk > 1)
swvk = 1
window.SetProperty("swvk", swvk);
if (swvk == 1) {
panel = 11;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 1
}
window.SetProperty("swbt", swbt);
window.SetProperty("swvk", swvk);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
if (vkey == VK_Y) { //визи
SYS_check()
swvk++;
if (swvk > 1)
swvk = 1
window.SetProperty("swvk", swvk);
if (swvk == 1) {
panel = 10;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 1
}
window.SetProperty("swbt", swbt);
window.SetProperty("swvk", swvk);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 3, ww, bh);
}

if (vkey == VK_NUMPAD9) {
SYS_check()
swvk++;
if (swvk > 5)
swvk = 1
window.SetProperty("swvk", swvk);
if (swvk == 1) {
panel = 5;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 3
window.Repaint();
}
if (swvk == 2) {
panel = 9;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 1
}
if (swvk == 3) {
panel = 11;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 2
}
if (swvk == 4) {
pss.GetPanel(11).Show(false);
pss.GetPanel(6).Move(bw * 3, wh - bh - 4, ww - bw * 6, bh - 2, true);
pss.GetPanel(6).Show(true);
pss.GetPanel(7).Move(0, wh - bh - 5, ww, bh, true);
pss.GetPanel(7).Show(true);
panel = 8;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
if (sw_vu = window.GetProperty("VU buttons auto hide") == true) {
VU_Timer = window.CreateTimerInterval(VU_prop);
}
swbt = 3
}
if (swvk == 5) {
panel = 12
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
}
if (panel == 12) {
if (sw_lib = window.GetProperty("LIB buttons_Status") == true) {
pss.GetPanel(2).Show(true);
pss.GetPanel(2).Move(ww - bw - 15, wh / 2 - bh * 3, bw, bh * 5, true);
}
swbt = 2;
} else {
pss.GetPanel(2).Show(false);
}
window.SetProperty("swbt", swbt);
window.SetProperty("swvk", swvk);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
if (vkey == VK_NUMPAD7) {
fdelay();
try {
is_VU == 1 ? window.SetProperty("is_VU",0)&fso.deleteFile( set_path + "VU_" + "*" ) : window.SetProperty("is_VU",1)& fso.deleteFile( set_path + "VU_" + "*" ); ;
is_VU = window.GetProperty("is_VU")
fso.CreateTextFile( set_path + "VU_" + is_VU );
} catch(e) {};
RefreshPSS();
}
if (vkey == VK_NUMPAD0) {
SYS_check()
swvk--
if (swvk < 1)
swvk = 5
window.SetProperty("swvk", swvk);
if (swvk == 1) {
panel = 5;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 3
window.Repaint();
}
if (swvk == 2) {
panel = 9;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 1
}
if (swvk == 3) {
panel = 11;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 2
}
if (swvk == 4) {
pss.GetPanel(11).Show(false);
pss.GetPanel(6).Move(bw * 3, wh - bh - 4, ww - bw * 6, bh - 2, true);
pss.GetPanel(6).Show(true);
pss.GetPanel(7).Move(0, wh - bh - 5, ww, bh, true);
pss.GetPanel(7).Show(true);
panel = 8;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
if (sw_vu = window.GetProperty("VU buttons auto hide") == true) {
VU_Timer = window.CreateTimerInterval(VU_prop);
}
swbt = 3
}
if (swvk == 5) {
panel = 12
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
}
if (panel == 12) {
if (sw_lib = window.GetProperty("LIB buttons_Status") == true) {
pss.GetPanel(2).Show(true);
pss.GetPanel(2).Move(ww - bw - 15, wh / 2 - bh * 3, bw, bh * 5, true);
}
swbt = 2;
} else {
pss.GetPanel(2).Show(false);
}
window.SetProperty("swbt", swbt);
window.SetProperty("swvk", swvk);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww, bh);
};
}
function on_notify_data(name, info) {
if (name == "DEF_check") {
DEF_check()
}
}
function del_switch_check() {
if (DEL_Timer)
DEL_Timer.Dispose();
DEL_Timer = window.CreateTimerInterval(DEL_prop);
utils.WriteINI(set_path + 'settings.ini', 'del', 'del_off', 0)
}
function lib_switch_check() {
if (LIB_Timer)
LIB_Timer.Dispose();
LIB_Timer = window.CreateTimerInterval(LIB_prop);
utils.WriteINI(set_path + 'settings.ini', 'lib', 'lib_next', 0)
}
function milk_switch_check() {
if (Milk_Timer)
Milk_Timer.Dispose();
Milk_Timer = window.CreateTimerInterval(Milk_prop);
utils.WriteINI(set_path + 'settings.ini', 'milk', 'milk_off', 0)

}
function tab_switch_check() {
if (TAB_Timer)
TAB_Timer.Dispose();
window.SetProperty("SYS.Man Switch", 0);
swbt = 3;
recalc_dimensions();
window.RepaintRect(0, wh - bh - 5, ww, bh);
utils.WriteINI(set_path + 'settings.ini', 'close_man', 'man_off', 0);
}
function tab_switch_check2() {
if (TAB_Timer)
TAB_Timer.Dispose();
TAB_Timer = window.CreateTimerInterval(TAB_prop);
utils.WriteINI(set_path + 'settings.ini', 'time_man', 'man_off', 0);
}
function vu_switch_check() {
if (VU_Timer)
VU_Timer.Dispose();
if (sw_vu = window.GetProperty("VU buttons auto hide") == true) {
VU_Timer = window.CreateTimerInterval(VU_prop);
}
utils.WriteINI(set_path + 'settings.ini', 'VU', 'VU_off', 0)
}
function vu_switch_check2() {
SYS_check();
pss.GetPanel(13).Show(false)
pss.GetPanel(6).Show(false);
pss.GetPanel(7).Show(false);
window.SetProperty("SYS.Channel spectrum panel_status", false);
window.SetProperty("SYS.VU_buttons_status", false)
toolbar_open = 0
pss.GetPanel(c_panel).Move(0, y, ww, wh - 5, true);
utils.WriteINI(set_path + 'settings.ini', 'VU', 'VU_off', 0)
};
function SYS_check() {
CollectGarbage();
q = window.GetProperty("swsq");
if (utils.ReadINI(set_path + 'settings.ini', 'lib_panel', 'lib_panel') == 1) {
utils.WriteINI(set_path + 'settings.ini', 'lib_panel', 'lib_panel', 13);
}
toolbar_open = 0
if (DEL_Timer)
DEL_Timer.Dispose();
if (toolbar_timer)
toolbar_timer.Dispose();
if (VU_Timer)
VU_Timer.Dispose();
if (LIB_Timer)
LIB_Timer.Dispose();
pss.GetPanel(13).Show(false);
pss.GetPanel(1).Show(false);
pss.GetPanel(2).Show(false);
pss.GetPanel(3).Show(false)
pss.GetPanel(4).Show(false);
pss.GetPanel(6).Show(false);
pss.GetPanel(7).Show(false);
SEARCH = false
window.SetProperty("SYS.SEARCH_panel_status", SEARCH)

}
function DEF_check() {
q = window.GetProperty("swsq");
if (q == 0) {
window.NotifyOthers("SYS.Butt_state", "dn");
}
if (q == 1) {
window.NotifyOthers("SYS.Butt_state", "up");
//window.NotifyOthers("SYS.Butt_state", "wt");
}
if (q == 2) {
window.NotifyOthers("SYS.Butt_state", "3p");

};
/*
if (q == 3) {
window.NotifyOthers("SYS.Butt_state", "3p");

};
*/
}
function dsp_switch_check() {
if (utils.ReadINI(set_path + 'settings.ini', 'dsp', 'dsp_off') == 1) {
swbt = 3
panel = 5;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
DEF_check()
utils.WriteINI(set_path + 'settings.ini', 'dsp', 'dsp_off', 0);
try {
WshShell.Run(set_path + "click.exe");
} catch (e) {}
}
recalc_dimensions()
window.RepaintRect(0, wh - bh - 4, ww, bh);
}
check_btns();
function title_set() {
tf_info = fb.TitleFormat("[$info(encoding)][ • $info(codec)][ $info(codec_profile)][ • $info(bitrate) kbps][ • $info(samplerate) Hz][ • $info(bitspersample) bps][ • $channels()]$if($stricmp($ext(%filename_ext%),cue), • '['cue']',[ • %filesize_natural%])$if($strcmp($info(cue_embedded),yes), • '['embedded cue']',)").Eval();

tf_artist = fb.TitleFormat("$upper([%artist%])").Eval();
tf_title = fb.TitleFormat("$upper([%title%])").Eval();
tf_txt = tf_artist + (tf_artist != "" ? " – " : "") + tf_title;
tf_timer = fb.TitleFormat("%playback_time_remaining%").Eval();
tf_ttimer = fb.TitleFormat("%playback_time%").Eval();
tf_stimer = fb.TitleFormat("$muldiv(%_time_elapsed_seconds%,100,%_time_total_s econds%)").Eval();
foob_window_title = tf_txt;
foob_media_info = tf_info;
foob_trim_title = tf_timer;
foob_ttrim_title = tf_ttimer;
foob_strim_title = tf_stimer;

try {
foob_window_title_prev = rr.getinfo("=$CurrentSkinMediaTitle$");
//foob_media_info_prev = rr.getinfo("=$CurrentSkinMediaInfo$");
foob_media_info_prev = rr.getinfo("=!foobar_Info");
foob_trim_title_prev = rr.getinfo("=!foobar_rtracktime");
foob_ttrim_title_prev = rr.getinfo("=!foobar_tracktime");
foob_strim_title_prev = rr.getinfo("=!foobar_trackpos");
};
catch (e) {
foob_window_title_prev = "";
foob_media_info_prev = "";
foob_trim_title_prev = "";
foob_ttrim_title_prev = "";
foob_strim_title_prev = "";
};
try {
if (foob_window_title_prev != foob_window_title) {
rr.execute("SETVAR;CurrentSkinMediaTitle;" + foob_window_title);
foob_window_title_prev = foob_window_title;
}
if(foob_media_info_prev != foob_media_info){
rr.execute("SetLabel;!foobar_Info;" + foob_media_info);
foob_media_info_prev = foob_media_info;
}
if (foob_trim_title_prev != foob_trim_title) { //SetLabel;!foobar_rtracktime
rr.execute("SetLabel;!foobar_rtracktime;" + foob_trim_title);
foob_trim_title_prev = foob_trim_title;
}
if (foob_ttrim_title_prev != foob_ttrim_title) { //SetLabel;!foobar_trackpos
rr.execute("SetLabel;!foobar_tracktime;" + foob_ttrim_title);
foob_ttrim_title_prev = foob_ttrim_title;
}
if (foob_strim_title_prev != foob_strim_title) { //SetLabel;!foobar_trackpos
rr.execute("SetLabel;!foobar_trackpos;" + foob_strim_title);
foob_strim_title_prev = foob_strim_title;
}
};
catch (e) {};
}
function ch_state_btb(){
g_timer = window.SetTimeout(function() {
if(fso.FileExists( set_path + "VU_1")) {
fso.deleteFile( set_path + "VU_" + "*" );
fso.CreateTextFile( set_path + "VU_0" )
is_VU = 0;
window.Repaint();
RefreshPSS();
}
}, seconds);
}

function RefreshPSS() {
if (fb.IsPlaying || fb.IsPaused) {
fb.RunMainMenuCommand("Playback/Play or Pause");
fb.RunMainMenuCommand("Playback/Play or Pause");
} else {
fb.RunMainMenuCommand("Playback/Play");
fb.RunMainMenuCommand("Playback/Stop");
}



}
function fdelay() {
//var delay_timer = window.SetTimeout(function () {
utils.WriteINI( set_path + 'settings.ini', 'VU', 'VU_off', 1 );
//window.ClearTimeout(delay_timer);
//}, 1000);
};

Размер панели поиска думаю нужно увелилить - слишком мелкие кнопки будут на 7
У меня норм, больше половины экрана занимает. Все читаемо и удобнонажимаемо.

seriousstas
20.09.2017, 19:24
К
Ну на фиг эта 8
У неня везде 8.1 (три штуки))
кроме рабочего meegopad t09 (там 10-ка) ,
нигде никаких проблем вообще , и фуб ставится норм..
Что-б потестить , мне нужны исходники из папки Scripts_foo
Но дело не в ОС и не в скриптах - они отрабатывают нормально, если нажимать прямо из папки , а вот по кнопкам - старт несколько раз подряд :
https://youtu.be/9XSZIxE7dTs
На той мпс что я пробовал изменять
Одной из Твоих хотелок было переключение сик-звук ПОВЕРХ, поэтому звук нужно было поднять ..
После поднятия произошло смещение на один вниз и плейлист (и остальные jscript_panel) встал на 7-ю позицию ..
uie_jscript_panel_class7 - будет верным

Евген_21
20.09.2017, 19:32
К

У неня везде 8.1 (три штуки))
кроме рабочего meegopad t09 ,
нигде никаких проблем вообще , и фуб ставится норм..
Что-б потестить , мне нужны исходники из папки Scripts_foo
Но дело не в ОС и не в скриптах - они отрабатывают нормально, если нажимать прямо из папки , а вот по кнопкам - старт несколько раз подряд
https://youtu.be/9XSZIxE7dTs
Исходники прямо сейчас скину. И еще попробуй в UserExecTBL.ini изменить
команды в управлении плей листом с RUNW на RUN
У неня везде 8.1 (три штуки)) нетик очень стар, проблемы походу в нем.

Евген_21
20.09.2017, 19:36
Исходники (https://cloud.mail.ru/public/NGeo/L3UHLXEo2)
uie_jscript_panel_class7 - будет верным
Это верно но почему то не работает.У тебя работает?


А НИЖЕ КОМАНДЫ, КОТОРЫМИ Я ПОЛЬЗОВАЛСЯ.
RUN=Выполнить внешнюю программу или скрипт. RUN;c:\prog.exe|1 , где c:\prog.exe - путь к программе, 1 - параметр передаваемый программе
RUNW=Выполнить внешнюю программу или скрипт, остановив работу iCarDS до выполнения программы. RUN;c:\prog.exe|1 , где c:\prog.exe - путь к программе, 1 - параметр передаваемый программе
RUNQW=Скрыто выполнить внешнюю программу или скрипт, остановив работу iCarDS до выполнения программы. RUN;c:\prog.exe|1 , где c:\prog.exe - путь к программе, 1 - параметр передаваемый программе
RUNQ=Скрыто выполнить внешнюю программу или скрипт. RUN;c:\prog.exe|1 , где c:\prog.exe - путь к программе, 1 - параметр передаваемый программе
Сегодня , оставил фуб на весь экран кнопкой Икара, вылетела ошибка,но не понял с чем связано. Попробуйте оставить фуб на весь экран, как поведет после сна или гибернации.

Евген_21
20.09.2017, 20:32
старт несколько раз подряд
Это в машине или на всех компах?

seriousstas
21.09.2017, 00:48
Евген_21
Я переделаю Инсталятор на днях и все заработает ..
C переходом на трек , там нужно и в click.exe класс окна поменять (вобщем - решено!)
Перепрыгивание при переключении плейлистов не ясно с чем связано,
а вот множественный старт происходит на двух кнопках плей-пауза и сик-звук..( RUNW на RUN не решает проблемы)
Смена экранов (VK_T_PEARMETER ; VK_E_browser и Numpad3) к примеру работет хорошо ..

Евген_21
21.09.2017, 05:54
Евген_21
Я переделаю Инсталятор на днях и все заработает ..
C переходом на трек , там нужно и в click.exe класс окна поменять (вобщем - решено!)
Перепрыгивание при переключении плейлистов не ясно с чем связано,
а вот множественный старт происходит на двух кнопках плей-пауза и сик-звук..( RUNW на RUN не решает проблемы)
Смена экранов (VK_T_PEARMETER ; VK_E_browser и Numpad3) к примеру работет хорошо ..

Походу, есть решение проблеммы. Как проверю
,отпишусь. А если не смогу победить, тогда только
Лекс поможет. Есть еще пару нюансов. Кнопка выбора порядка воспроизведения
интерестно работает. При выборе по порядку может проигрывать только один трек(как повтор одного трека).
И рандом то правильно отрабатывает, то как хаотичный порядок.

seriousstas
21.09.2017, 12:36
Походу, есть решение проблеммы. Как проверю
,отпишусь. А если не смогу победить, тогда только
Лекс поможет. Есть еще пару нюансов. Кнопка выбора порядка воспроизведения
интерестно работает. При выборе по порядку может проигрывать только один трек(как повтор одного трека).
И рандом то правильно отрабатывает, то как хаотичный порядок.

Да, договорились!

seriousstas
23.09.2017, 00:13
Евген_21
И еще попробуй в UserExecTBL.ini изменить
команды в управлении плей листом с RUNW на RUN

Вобщем - ничего не нужно - все работает - мой косяк, запустил тогда Твой Foobar_install.exe повторно (с новой версией)
там (UserExecTBL) соответственно все продублировалось - сейчас убрал лишнее и все норм , но нужно учесть этот момент ..

Из Твоего описания :
1я клавиша - ] и её функция-View/Visualizations/Analog VU Meter skins/<Default>/Next skin
2я клавиша - [ и её функция-View/Visualizations/Analog VU Meter skins/<Default>/Previous skin
Я бы не трогал ни буквы ни цыфры ..
В русской раскладке это буквы "Х" и "Ъ"
соответственно при играющем фубаре работать не будут (например если нужно будет использовать в гуглопоиске в браузере) ..
А вообще эти команды лучше отправлять напрямую или запускать из MPS скрипта:
fb.RunMainMenuCommand("View/Visualizations/Analog VU Meter skins/<Default>/Previous skin");
fb.RunMainMenuCommand("View/Visualizations/Analog VU Meter skins/<Default>/Next skin");
Я могу сделать инсталятор (в него думаю получится добавить и твою строку
|%playback_time%|%playback_time_remaining%|$muldiv (%_time_elapsed_seconds%,100,%_time_total_seconds% )
по выбору), но я должен знать , что там с хоткеями.. ?

Евген_21
23.09.2017, 16:41
Евген_21
Вобщем - ничего не нужно - все работает
Уже хорошо, одной проблемы меньше.
Я бы не трогал ни буквы ни цыфры ..
В русской раскладке это буквы "Х" и "Ъ"
соответственно при играющем фубаре работать не будут (например если нужно будет использовать в гуглопоиске в браузере) ..
А если они будут не глобальным,то должно все работать.
А вообще эти команды лучше отправлять напрямую или запускать из MPS скрипта:
Я не против, но это уже лучше ты сделай. Вот скрипты которые управляют vumeter, через горячие клавиши.
next_vumeter
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
ControlSend, MegaPanelSplitterWindowContainer1, {VKDD}, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Sleep 50
ControlFocus, {88D33FF9-8199-4332-B69C-6B99D67A24C9}1, foobar2000
prev_vumeter
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
ControlSend, MegaPanelSplitterWindowContainer1, {VKDB}, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Sleep 50
ControlFocus, {88D33FF9-8199-4332-B69C-6B99D67A24C9}1, foobar2000
Я могу сделать инсталятор (в него думаю получится добавить и твою строку
Добавляй,
по выбору), но я должен знать , что там с хоткеями.. ?
С хоткеями для vumeter?

seriousstas
23.09.2017, 18:44
С хоткеями для vumeter?
в том числе .. если ничего больше менять не будешь - то сегодня-завтра заделаю инстал

Евген_21
23.09.2017, 21:13
в том числе .. если ничего больше менять не будешь - то сегодня-завтра заделаю инстал
Да, вроде менять ни чего не собираюсь.
И еще на домашнем текст налазит немного на прогрессбар в полноэкранном режиме Кроме шапки шаблона, и инструкции. Архив, обновлю. Но это уже завтра.

Евген_21
24.09.2017, 11:10
Сделал два варианта отображения тегов. Выбираем нужный вариант из папки Теги в два ряда или один, копируем в папку Chameleon, с заменой.
48203

seriousstas
25.09.2017, 03:20
Стас,обновил файлы шаблона (https://cloud.mail.ru/public/JgHC/TKfRvC4cT).
Сделал два варианта отображения тегов. Выбираем нужный вариант из папки Теги в два ряда или один, копируем в папку Chameleon, с заменой.
48203
Понял - удобно , проверяй личку ..
Нужно будет только вызов панели звука сделать всегда первой ..

seriousstas
26.09.2017, 01:01
Евген_21
Вижу сразу одно неудобство :
Нет быстрого перехода в библиотеку .. (
Логично, что-б при нажатии на другие кнопки - библиотека становилась первой в цикле это реально ?

Евген_21
26.09.2017, 20:21
Евген_21
Вижу сразу одно неудобство :
Нет быстрого перехода в библиотеку .. (
Логично, что-б при нажатии на другие кнопки - библиотека становилась первой в цикле это реально ?
С быстрым переходом получилось.
Нужно будет только вызов панели звука сделать всегда первой .
Не знаю, смогу ли это реализовать через Икар. , Пока, не получилось.

seriousstas
27.09.2017, 03:12
С быстрым переходом получилось.

Не знаю, смогу ли это реализовать через Икар. , Пока, не получилось.

Думаю нет острой необходимости(можно и так оставить) , проверь, как сейчас звук-сик синхронизовано и нет-ли ошибок ..

Евген_21
28.09.2017, 16:50
Думаю нет острой необходимости(можно и так оставить) , проверь, как сейчас звук-сик синхронизовано и нет-ли ошибок ..
Да, все работает отлично. Я как понял, ты вызов панелей звук-сик, в мпс реализовал через Numpad1.
Мне на него переделать команды в шаблоне?
Из Твоего описания :
Цитата:
1я клавиша - ] и её функция-View/Visualizations/Analog VU Meter skins/<Default>/Next skin
2я клавиша - [ и её функция-View/Visualizations/Analog VU Meter skins/<Default>/Previous skin
Я бы не трогал ни буквы ни цыфры ..
В русской раскладке это буквы "Х" и "Ъ"
соответственно при играющем фубаре работать не будут (например если нужно будет использовать в гуглопоиске в браузере) ..

Я сделал сейчас так.
1я клавиша - Alt s и её функция-View/Visualizations/Analog VU Meter skins/<Default>/Next skin

2я клавиша - Alt w и её функция-View/Visualizations/Analog VU Meter skins/<Default>/Previous skin
по другому пока не получилось.
А вообще эти команды лучше отправлять напрямую или запускать из MPS скрипта:
У тебя есть решение? Как реализовать.
Вижу сразу одно неудобство :
Нет быстрого перехода в библиотеку .. (

Скинул, в личку.

Krysanov
28.09.2017, 17:15
Ребята, у вас тут идет бурное обсуждение о чем? О личных хотелках/настройках? Или это пойдет для всех, захотевших приобрести данную сборку? Если первый вариант, то пишите друг другу в личку....

Евген_21
28.09.2017, 17:29
Ребята, у вас тут идет бурное обсуждение о чем? О личных хотелках/настройках? Или это пойдет для всех, захотевших приобрести данную сборку? Если первый вариант, то пишите друг другу в личку....

Второй вариант.

seriousstas
29.09.2017, 02:14
Я сделал сейчас так.
1я клавиша - Alt s и её функция-View/Visualizations/Analog VU Meter skins/<Default>/Next skin

2я клавиша - Alt w и её функция-View/Visualizations/Analog VU Meter skins/<Default>/Previous skin
Верни ,как было (скобки) , если снять глобальную галку , то все ОК
по другому и не выйдет - MPS не видит этих команд, не ясно почему,
вобщем закинул финальную версию , проверь два варианта (ссылка та-же)
В версии "под Икар" пропишутся теги для прогресбара и хоткеи под вуметр ..
(Так-же если заметил в МПС снес-почистил все , что относится к кнопкам .. )

..и выкладывай готовый вариант)
bJUsfnCW1g8

seriousstas
29.09.2017, 10:51
Евген_21
, так же настроил на рулевых кнопках переключение плейлистов, вооообще удобняк
Я переключаю еще экраны через Num 0 Num 9 - тоже удобно ..

Евген_21
29.09.2017, 18:17
Верни ,как было (скобки) , если снять глобальную галку , то все ОК
по другому и не выйдет - MPS не видит этих команд, не ясно почему,
вобщем закинул финальную версию , проверь два варианта (ссылка та-же)
В версии "под Икар" пропишутся теги для прогресбара и хоткеи под вуметр ..
(Так-же если заметил в МПС снес-почистил все , что относится к кнопкам .. )

..и выкладывай готовый вариант)

Все вернул, как было (скобки). Звук-сик, переделал на Numpad1
Еще раз все проверил на финальной сборке foobar (для Икара), а так же и сам шаблон. Заливай сборку.
Финал шаблона. (http://pccar.ru/showpost.php?p=392775&postcount=135)

seriousstas
29.09.2017, 23:16
Обновление сборки 29.09.2017 (Всем заказавшим ранее сборку пишите в личку - вышлю новый линк)

Плеер (ядро) обновлен до версии 1.3.16 final (http://foobar2000.ru/forum/viewtopic.php?p=65386#p65386)

Добавлена версия под Икар , за шаблон (http://pccar.ru/showpost.php?p=392775&postcount=135) и наработки спасибо Евген_21

4Icar_14_6_final UPDATE1
Коротко порядок установки под iCarDS :
1. Выбрать iCarDS Version в инсталяторе - установить
2. Запустить Foobar_install.exe из архива Евгения (http://pccar.ru/showpost.php?p=392775&postcount=135) прямая ссылка тут : https://cloud.mail.ru/public/K6DE/Szony9nCo
3. Встроить, используя шаблон , который появится в меню встраивания после запуска Foobar_install.exe (загрузить настройки из файла)
3.1 Обязательно добавить Фубар в доступные медиа источники
3.2 (если пользуетесь режимами сна Windows)В настройках встраивания выбрать Переход в ждущий режим - "Перезапустить"
3.3(если пользуетесь режимами сна Windows) Убрать Фубар ,если был добавлен ранее , из автозагрузки Икара

seriousstas
08.10.2017, 10:29
seriousstas

Подскажи какой прогой можно перекодироват для теста по такому алгоритму(или он не правильный?)


Слышал, что можно через фубар, но незнаю как.
(УДАЛЮ)
Если пофайлово - предложу довольно известный конвертер dMC (https://dbpoweramp.com/dmc.htm),есть в этом (https://rutracker.org/forum/viewtopic.php?t=391396) пакете .

Из фубара(например SACD) ПКМ - Convert > Quick convert > WAV > затем "скормить" dMC или любому другому ..

sirota
11.10.2017, 10:08
Если пофайлово - предложу довольно известный конвертер dMC (https://dbpoweramp.com/dmc.htm),есть в этом (https://rutracker.org/forum/viewtopic.php?t=391396) пакете .

Из фубара(например SACD) ПКМ - Convert > Quick convert > WAV > затем "скормить" dMC или любому другому ..

Спасиб за ссылки...разобрался :bye:

И опять вопрос по сборке:
Качнул отсюда (http://sssr-rutracker.org/forum/viewtopic.php?t=3749323) HOTEL CALIFORNIA в sacd.
В шапке указано, что играет Аудио кодек: DSD 2.0,5.1.
Но у меня проигрывает только в стерео, хотя другие раздачи с такими же дорожками (2.0, 5.1) проигрываются сразу в 5.1...в плагине sacd стоит мультиченел.
Прочитал отзывы...вот у чела такая же проблема.
Добрый день.
Подскажите пожалуйста, почему фубар воспроизводит именно 2 канала а не 6? С другими SACD такого нет, определяет сразу многоканал и воспроизводит 6 каналов, с этим диском не могу справиться, звучит только стерео. Заранее спасибо за помощь.
Другой пишет противоположное оттуда же..
Как на Foobar 2000 проиграть стерео дорожку? У меня стоит 6 каналов...А как дорожку 2.0 играть?

Еще пишут с железным проигрывателем.
Но он вроде разобрался.
играет только стерео это норм? или многоканальный тоже должен быть? записывал дискутилитой из мак ос/ плеер денон 2910 рес денон 2308 подсоединен через экст 5,1
разобрался - дело в настройках плеера,
создателю раздачи - респект!!!!!

В общем какя то хрень непонятная :dntknw:

seriousstas
11.10.2017, 23:25
sirota
Спасиб за ссылки...разобрался
Обращайся !)
И опять вопрос по сборке:
Качнул отсюда HOTEL CALIFORNIA в sacd.
У меня есть эта копия "отеля", даже качать не нужно было - только хеш сравнил торентом ..
проверил все ОК и звук изо всех колонок , см скрин.
У Тебя какая версия сборки ?

sirota
12.10.2017, 09:42
Да...вижу у тебя 6 каналов.

Версия 4Icar_14_3_MPS_UNI

http://s018.radikal.ru/i527/1710/3e/b3d4af1da826.jpg (http://radikal.ru)

seriousstas
12.10.2017, 12:38
Версия 4Icar_14_3_MPS_UNI
Там похоже древний компонент .. у меня она и не сохранилась ..

avic
12.10.2017, 13:17
интернет радиостанции с grifon.info больше не работают ссылки?

sirota
12.10.2017, 17:13
Там похоже древний компонент .. у меня она и не сохранилась ..
Скорей всего так и есть...там компонент стоит перелопаченный с одной строчькой выбора стерео или мультиченела и двух галок.
Попробую качнуть новый и запустить....отпишусь о результате.
---------------------------------

Отписуюсь.

Если менять один компонент, то эффекта 0....играет все равно в стерео.
А если все с нова сделать......распаковать сборку, в компоненте sacd поставить мультиченел, довавить папку с музыкой в общем все по новой, то тогда начинает играть в 5.1.(тоесть если компонет sacd сразу не настроить в 5.1, а запустить как есть, то играет в стерео и уже изменение на мультиченел к переключению в 5.1 не получается)
Если же теперь в компоненте поставить стерео, то все равно играет в 5.1.....почему так, опять не понятно.

seriousstas
12.10.2017, 21:31
Я вижу две группы треков в списке - стерео и 5.1 , так и звучит .

sirota
12.10.2017, 22:06
Я вижу две группы треков в списке - стерео и 5.1 , так и звучит .
Я вижу только одну....в чем дело?

seriousstas
12.10.2017, 22:53
Я вижу только одну....в чем дело?
не знаю , как и говорил , ту версию не имею .
Автор foo_input_sacd тестирует последние наработки на новом Фубаре вероятно ,
в той сборке не последний Фубар (см.version.txt) .

seriousstas
12.10.2017, 23:05
Кстати , кто пользуется последней 14.6_final UPDATE1 сборкой вместе с шаблоном для Икара , что-б сменить вид кнопок на двойной панели , либо попасть в основное меню - нужно кликнуть ПКМ примерно в красную точку на скрине :

seriousstas
01.11.2017, 23:59
Krysanov
Фубар , сборка от Стаса, при просыпании все чаще зависает, приводит к закрытию икара и всего другого...
...................
Вчера опять фубар икар победил
вылетов икара теперь нет, я просто фубар исключил из автозагрузки икара и все..
Проверил Твою теорию - действительно дело в этом ) - убать из автозагрузки IcarDS
Теперь перезапуск после сна всегда без проблем .

dk-fsb
02.11.2017, 12:14
привет Стас что за 14.6_final UPDATE1 ? я что то пропустил

seriousstas
03.11.2017, 00:35
привет Стас что за 14.6_final UPDATE1 ? я что то пропустил

ПРИВЕТ!:drinks_cheers:
кликай по "UPDATE1" в шапке(и "подробно" в описании) ..

Обновил ядро и появилась версия под Икар (по выбору в установщике) , если интересно - стучи ..

dk-fsb
03.11.2017, 13:17
[QUOTEесли интересно - стучи ..[/QUOTE]
конечно интересно где качнуть

sirota
03.11.2017, 16:06
[QUOTEесли интересно - стучи ..
конечно интересно где качнуть[/QUOTE]
Как постучишь, так и качнешь :big:

dk-fsb
03.11.2017, 16:49
да я бы с удовольствием стукнул но
seriousstas превысил(а) максимальный объём сохранённых личных сообщений и не может получать новые сообщения, пока не удалит часть старых.

seriousstas
04.11.2017, 00:56
sirota
Как постучишь, так и качнешь :big:
Можно и не стучать , для старожилов - стулья вечером ..)
Проверь личку ..
dk-fsb
Почистил , отправил обнову ..

dk-fsb
04.11.2017, 03:18
Спасибо Стас:bye:

seriousstas
04.11.2017, 11:40
Спасибо Стас:bye:

Не за что , по UPD 1 (http://pccar.ru/showpost.php?p=392793&postcount=104) - Женя постарался , я лишь почистил от лишнего ..
.....
По самой сборке пишите пож-ста сюда , в личке осталась важная переписка быстро забивается ..

dk-fsb
04.11.2017, 14:48
ЖЕне само сабой респект все классно

Евген_21
05.11.2017, 18:01
ЖЕне само сабой респект все классно
Спасибо.
Вопрос, сборка внедренная в Икар? Если да, то как работает. За себя скажу,уже месяца два ,без проблем и вылетов. И сон и гибернация и просто перезагрузка. Или обычный режим (выключение включение)...:smile1:

dk-fsb
05.11.2017, 18:28
Спасибо.
Вопрос, сборка внедренная в Икар? Если да, то как работает. За себя скажу,уже месяца два ,без проблем и вылетов. И сон и гибернация и просто перезагрузка. Или обычный режим (выключение включение)...:smile1:
:bye: да сборка с твоими доработками:pleasantry: пака все классно:derisive::derisive:
женя у меня с твоим шаблоном потплеера проблем при первом запуски пот отображается не полностью. разворачиваешь на весь экран и сворачиваешь и тогда норм. (надо видео снять чтоб понятней было)
фубар установился с первого раза норм

Евген_21
05.11.2017, 18:31
:bye: да сборка с твоими доработками:pleasantry: пака все классно:derisive::derisive:
Установил, без проблем? А то у меня установочный скрипт не на всех компах работал?

dk-fsb
05.11.2017, 19:12
Сними, только давай в теме про пот плеере это обсуждать. Удалю через час.

окей

seriousstas
06.11.2017, 17:10
Установил, без проблем? А то у меня установочный скрипт не на всех компах работал?
Евген_21
Привет!)
Да на двух ПК - норм. Предположу на Твоих не на всех есть права доступа к Документам , где стоит Икар. (может со временем суну твой установщик в свой ..)
Тут Krysanov важный момент прояснил по сну - не пропусти :
http://pccar.ru/showpost.php?p=394100&postcount=116
Ломали голову пару лет ..))
Хотел спросить , Ты с телефоном (http://pccar.ru/showthread.php?t=24142) завязал или будешь допиливать ?

Krysanov
06.11.2017, 21:42
А у меня Стас что то это обновление не пошло.. пользуюсь версией без Обновления .
Пс. Ты убрал икар из автозагрузки? И как теперь все загружается? Покажи видео!

seriousstas
06.11.2017, 22:58
Krysanov
не пошло.. - это не понравилось или чтo-то не работает ?
Ты убрал икар из автозагрузки?

Нет , почему так решил ?
Я процитировал Тебя :
вылетов икара теперь нет, я просто фубар исключил из автозагрузки икара и все..

Евген_21
07.11.2017, 14:18
Стас,привет.
Евген_21
Тут Krysanov важный момент прояснил по сну - не пропусти :
http://pccar.ru/showpost.php?p=394100&postcount=116
Ломали голову пару лет ..))

Да с этим у меня не было проблем, может то что 7ка стоит.

Хотел спросить , Ты с телефоном (http://pccar.ru/showthread.php?t=24142) завязал или будешь допиливать ?
Не знаю... Настроя пока нет.
(может со временем суну твой установщик в свой ..)
Удобно будет, меньше заморочек. Нужно только учесть чтоб, не дублировались команды в файле UserExecTBL

sirota
07.11.2017, 15:04
Как Daum Potplayer сделать, что бы звук шел через foobar2000 или в том же foobar2000 запустить видео.
Все подвожу к тому, что бы смотреть и слушать dvd-a, блюрей но со звуком через фубар....в Daum Potplayer не нравятся настройки по звуку.
Возможно ли?

seriousstas
07.11.2017, 15:08
sirota
Возможно ли?
смотреть блюрей но со звуком через фубар
Нет такой взможности и думаю не будет в ближайшем..
Смотреть через Фубар на сегодня можно только ролики из YouTube

seriousstas
07.11.2017, 15:22
Евген_21
Да с этим у меня не было проблем, может то что 7ка стоит.
Может Ты и не пользовался автозагрузкой Икара вместе с одним из режимов сна ..
Не знаю... Настроя пока нет.
Понятно , z вот понял , что проблемы со звуком при звонке или прослушке музыки из-за одновременно подлюченного управления через Икар.
Узкий канал получается ..
Подключал такую колонку :

https://www.youtube.com/watch?v=-N-giNZd_LM
Звук отличный.

sirota
07.11.2017, 15:29
sirota


Нет такой взможности и думаю не будет в ближайшем..
Смотреть через Фубар на сегодня можно только ролики из YouTube

Понятно...посто вспомнилась сборка от onv (http://foobar2000.ru/forum/viewtopic.php?t=4787&start=40) и там была кнопка видео...но теперь вроде понял, что это только кнопка для запуска полноценного плеера.
Думал, может какой компонет написать под видео успели.

Krysanov
07.11.2017, 15:56
Krysanov
- это не понравилось или чтo-то не работает ?

Нет , почему так решил ?
Я процитировал Тебя :

Сейчас уже и помню.. как то и первое и второе вместе.. наверное..не привык к настройкам, которые Евгений в скине сделал.. даже по большей части не понял... а как установить в икар твоё обновление фубар без скина Евгения у менчинеиполучилось... вот и все застопорилось...
Зачем мне икар из автозагрузки убирать? У меня стоит сборка Икара от Алексея. При загрузки винды сначала запускается икар, а потом то, что я поставлю в автозагрузку икара... я исключил фубар .. и работает прекрасно...

seriousstas
07.11.2017, 22:18
Krysanov
Зачем мне икар из автозагрузки убирать?
Не знаю, а кто это предлагает ?
а как установить в икар твоё обновление фубар без скина Евгения
выбрать "Typical instalation" (обычная установка ,см. скрин в шапке)
не привык к настройкам, которые Евгений в скине сделал.
Имеешь ввиду кнопкам ? Так там по большей части они дублируются, а сам Фубар должен работать ещё шустрее (с икаровскими кнопками) .

Krysanov
08.11.2017, 19:16
Krysanov

Не знаю, а кто это предлагает ?

выбрать "Typical instalation" (обычная установка ,см. скрин в шапке)

Имеешь ввиду кнопкам ? Так там по большей части они дублируются, а сам Фубар должен работать ещё шустрее (с икаровскими кнопками) .

Ок, я еще раз попробую:wink2:

Евген_21
10.11.2017, 18:07
Сейчас уже и помню.. как то и первое и второе вместе.. наверное..не привык к настройкам, которые Евгений в скине сделал.. даже по большей части не понял... а как установить в икар твоё обновление фубар без скина Евгения у менчинеиполучилось... вот и все застопорилось...
Зачем мне икар из автозагрузки убирать? У меня стоит сборка Икара от Алексея. При загрузки винды сначала запускается икар, а потом то, что я поставлю в автозагрузку икара... я исключил фубар .. и работает прекрасно...
Андрей,привет.
Для начала тестани все на домашнем компе. А после если все устроит встраивай в машину.
И почитай здесь про установку шаблона для крайней сборки фубара от Стаса. http://pccar.ru/showpost.php?p=392775&postcount=135 . Там же есть и видео, а так все управление через Икар анологично сборки фубара. Добавлено только управление плейлистом.

Krysanov
11.11.2017, 16:04
Андрей,привет.
Для начала тестани все на домашнем компе. А после если все устроит встраивай в машину.
И почитай здесь про установку шаблона для крайней сборки фубара от Стаса. http://pccar.ru/showpost.php?p=392775&postcount=135 . Там же есть и видео, а так все управление через Икар анологично сборки фубара. Добавлено только управление плейлистом.

Привет!!! Обязательно гляну...времени пока нет совсем:yes2:

Евген_21
20.11.2017, 16:38
Привет!!! Обязательно гляну...времени пока нет совсем:yes2:
Андрей, чето долго глядишь.:rolleyes2:

Krysanov
20.11.2017, 22:08
Привет! Да уже поставил голую сборку , обновлённую. Мне нравится пока, с твоей не смог справится, непривычно , хотя она очень гармонично смотрится в икаре!!

Евген_21
21.11.2017, 06:28
Привет! Да уже поставил голую сборку , обновлённую. Мне нравится пока, с твоей не смог справится, непривычно , хотя она очень гармонично смотрится в икаре!!
А что, там справляться. Управление анологичное , как в самой сборке. Если что то не понятно спрашивай.

Krysanov
21.11.2017, 16:41
А что, там справляться. Управление анологичное , как в самой сборке. Если что то не понятно спрашивай.

Пока все устраивает:) только теперь в голой сборке (так мне проще ее называть:) не хватает наименование песни в главном окне икара.. там только фубар на вражьем написано..

seriousstas
21.11.2017, 18:33
Пока все устраивает:) только теперь в голой сборке (так мне проще ее называть:) не хватает наименование песни в главном окне икара.. там только фубар на вражьем написано..
Должно быть ..

Krysanov
21.11.2017, 21:15
Должно быть ..

Ну , а у меня нет:) сфоткаю завтра

seriousstas
21.11.2017, 21:59
Ну , а у меня нет:) сфоткаю завтра
Так же не забываем включить foobar, в доступных медиа источниках.
Это делал ?

Krysanov
22.11.2017, 05:32
48617

48618

Евген_21
22.11.2017, 13:03
Ну , а у меня нет:) сфоткаю завтра
Если,установка сборки без оболочки для Икара, как Андрей говорит голая то и название треков в шапке не будет. Если я не ошибаюсь Стас трансляцию тегов в Икар не делал для обычной установки.

Или голая, это которая без кнопок?

seriousstas
22.11.2017, 14:11
Евген_21
не делал , но речь про сборку для Икара
Krysanov
Напиши , что и как (встраивал) , что-б не гадать ..

Krysanov
23.11.2017, 12:59
Если,установка сборки без оболочки для Икара, как Андрей говорит голая то и название треков в шапке не будет. Если я не ошибаюсь Стас трансляцию тегов в Икар не делал для обычной установки.

Или голая, это которая без кнопок?
Евгений, привет! Я как раз ЭТО. И понимаю. В Гогой сборке и не должно было работать. Я это сказал как констатацию.. без права на реализацию.
Но если мне Стас подскажет что и где изменить буду признателен:yes4:

Krysanov
23.11.2017, 13:13
Евген_21
не делал , но речь про сборку для Икара
Krysanov
Напиши , что и как (встраивал) , что-б не гадать ..

Привет! Делал как ты мне и сказал, поставил голую версию фубара , как на картинке, потом изменил путь к фубару в шаблоне. И все.

seriousstas
23.11.2017, 15:44
как на картинке
Каких ?
на Твоих катринках не видно что ты ставил :
http://pccar.ru/showpost.php?p=395155&postcount=150

Евген_21
13.12.2017, 21:41
Стас привет.
Как Икар сборка работает, если ей пользуешься. Я уже с самого выхода, только на ней
,ни одного глюка. Че то Вас с Славой не хватает, и ваших дискуссий. Достигли совершенства. Не может быть.

seriousstas
13.12.2017, 22:09
Евген_21
Не может быть.
Может!))
Есть идеи еще по версии с родными кнопками (ну и по скриптам все что изменяется - пойдет в Икаровскую ) , поэтому готовлю Update 2 ,
в январе думаю ..
Я уже с самого выхода, только на ней,ни одного глюка
супер!

Евген_21
13.12.2017, 22:23
Евген_21

Может!))
Есть идеи еще по версии с родными кнопками (ну и по скриптам все что изменяется - пойдет в Икаровскую ) , поэтому готовлю Update 2 ,
в январе думаю ..

супер!
Какая помощь нужна? Я рад помочь всегда. Сейчас новый проект рисуется,только это уже стиль главного окна Икара будет.

seriousstas
14.12.2017, 13:50
Какая помощь нужна? Я рад помочь всегда.
Спасибо Большое!
Больше уделяю внимание работе скриптов . Будут изменения и в плейлисте . Вызов и автоскрытие скролбара (кнопок) теперь почти "безшумно" , без перезагрузки кеша картинок .
это (http://pccar.ru/showpost.php?p=389382&postcount=2) победил , сам создал сам исправил))

sirota
14.12.2017, 14:38
В интернет радио только мп3 форматы вещает или есть, что повыше качеством?

seriousstas
14.12.2017, 16:18
sirota
Есть радио а есть "онлайн" треки . Если смотрел сборку, что бросал Тебе в личку,
в списке плейлистов предлагается Альбомы разных исполнителей (2016 - 2017) - 3695 треков с аватарками (картинками)
Это mp3, но в подобном формате попадались и flac-и на просторах .
Сложно слушать в движении в авто будет , тк поток шире ..

vladj
14.12.2017, 18:43
или есть, что повыше качеством?
http://95.188.107.89:8008/stream2.ogg
http://89.223.45.5:8000/progressive-flac
http://89.223.45.5:8000/space-flac
http://89.223.45.5:8000/next-flac
Меню/Файл/ Добавить локацию, добавляешь и после проверки что играет
нормально переносишь станцию в любой плейлист с инет станциями.

seriousstas
20.12.2017, 16:05
http://95.188.107.89:8008/stream2.ogg
http://89.223.45.5:8000/progressive-flac
http://89.223.45.5:8000/space-flac
http://89.223.45.5:8000/next-flac
Меню/Файл/ Добавить локацию, добавляешь и после проверки что играет
нормально переносишь станцию в любой плейлист с инет станциями.
Есть неплохой менеджер из той-же серии , что и плейлист.
Находится здесь (https://br3tt.deviantart.com/art/JS-Smooth-Playlist-Manager-571376332)
Из +сов :
- плавная прокрутка
- более удобное переименование(прямо в списке)
- плейлист можно просто перетянуть в менеджер
Например список выше - создаем файл в блокноте , обзываем m3u
и тянем мышкой в окно менеджера. Либо через ПКМ > открыть .
Сам по себе менеджер малопригоден в авто .
Нужно добавить однокасание, кнопки и тд..
Поэтому вопрос - есть-ли желание видеть новый менеджер в следующем ,
возможно :sm490: обновлении ?

Евген_21
20.12.2017, 16:20
Есть неплохой менеджер из той-же серии , что и плейлист.
Находится здесь (https://br3tt.deviantart.com/art/JS-Smooth-Playlist-Manager-571376332)
Из +сов :
- плавная прокрутка
- более удобное переименование(прямо в списке)
- плейлист можно просто перетянуть в менеджер
Например список выше - создаем файл в блокноте , обзываем m3u
и тянем мышкой в окно менеджера. Либо через ПКМ > открыть .
Сам по себе менеджер малопригоден в авто .
Нужно добавить однокасание, кнопки и тд..
Поэтому вопрос - есть-ли желание видеть новый менеджер в следующем ,
возможно :sm490: обновлении ?
Стас,это надо для начала тестануть. Я как всегда готов.

seriousstas
21.12.2017, 14:27
(Мод duzzy)Библиотека Вильба (http://pccar.ru/showpost.php?p=382807&postcount=3168) используемая в сборке по дефолту работает так :
При выборе альбома отправляет список всегда в Library view . Если Library view нет - создает его . Если удалить Library view из менеджера - при выборе альбома из бибиотеки создастся пустой Library view вначале, что не есть гуд (нужно повторять действие) .
Поправлю это в следующем обновлении. Будет создаваться плейлист и сразу добавление :
N68aOITR2JU

seriousstas
21.12.2017, 14:35
Евген_21
Стас,это надо для начала тестануть. Я как всегда готов.
Договорились - будет готов скрипт нового менеджера - заверну в личку.

Евген_21
22.12.2017, 19:07
Евген_21

Договорились - будет готов скрипт нового менеджера - заверну в личку.
Жду.

seriousstas
22.12.2017, 20:43
Жду.

Готов на 90% , но я застрял в МПС )) пару дней думаю ..

Евген_21
22.12.2017, 21:08
Готов на 90% , но я застрял в МПС )) пару дней думаю ..
Не торопись. Главное чтоб потом ошибки не исправлять. Лучше релиз,в январе сделать. Вроде как и подарок и еще одна твоя победа. Уже с Наступающем.....:ded_snegurochka2:

seriousstas
31.12.2017, 15:16
Евген_21
с Наступающем Взаимно!!! :sm490:
Закинул менеджер в личку

Умеет:
1. Плавно прокручивать список.
2. Получать плейлисты перетаскиванием на панель m3u или fpl(фубаровский формат) файлов
3. Проигрывать плейлист (в одно касание) при выборе вкл-выкл из меню
4. Переименовывать прямо из строки.
5. Перетаскивать строки вверх-вниз по списку - активируется (деактивируется) двойным кликом

Пример работы на видео :
ATgZMs22c_U

Евген_21
10.01.2018, 17:36
Стас, привет. Посмотрел,новый вид менеджера. Работает все отлично (все выше описанные функции), прокрутка списков вообще на высоте. Мне понравилось.
Переименовывать прямо из строки.
А , можно как то реализовать вызов клавиатуры при переименовывании (например которая в поиске ,фубаровская.)
Будет, удобная фишка.

seriousstas
10.01.2018, 20:49
Стас, привет. Посмотрел,новый вид менеджера. Работает все отлично (все выше описанные функции), прокрутка списков вообще на высоте. Мне понравилось.

А , можно как то реализовать вызов клавиатуры при переименовывании (например которая в поиске ,фубаровская.)
Будет, удобная фишка.
Привет ! С возващением!)
например которая в поиске ,фубаровская.
У меня клава висит на физ. кнопке -удобно .
тот скрипт поиска работает на прямую с библиотекой ... Нужно подумать(спрошу еще на http://foobar2000.ru) .

120705
13.01.2018, 18:03
Стас привет. Решил замутить свой плейлист. Как бы всё понятно, что бы отображалось лого станции, нужно соблюсти условие-- название станции и логотип станции должны иметь одинаковые название. А как быть если в названии станции присутствуют запрещённые симболы (/,< > и т. д) Не получается правильно назначить имя логотипу. И второй вопрос, на рисунке не отображается лого станции в списке, где рыть??

seriousstas
13.01.2018, 18:11
Стас привет. Решил замутить свой плейлист. Как бы всё понятно, что бы отображалось лого станции, нужно соблюсти условие-- название станции и логотип станции должны иметь одинаковые название. А как быть если в названии станции присутствуют запрещённые симболы (/,< > и т. д) Не получается правильно назначить имя логотипу. И второй вопрос, на рисунке не отображается лого станции в списке, где рыть??
Привет!
1 - залей пример станции с кривыми символами
2 - залей эту пару - посмотрим, что там .

3 - Твой плейлист можно будет добавить в новую сборку , если захочешь .. )

120705
13.01.2018, 19:08
Привет!
1 - залей пример станции с кривыми символами
2 - залей эту пару - посмотрим, что там .

3 - Твой плейлист можно будет добавить в новую сборку , если захочешь .. )

Может исходники плей листов надо??

seriousstas
13.01.2018, 19:16
А как быть если в названии станции присутствуют запрещённые симболы (/,< > и т. д)
..............................
1.Попробуй добавить на вкладку Дисплей такую строку
B:\Radio Logos\$replace(%title%,<,,>,,:,,",,/,,\,,|,,?,,*,,-,, ,).*
,а в проблемных названиях убери пробелы.
....................................
2.Еще вариант :
http://foobar2000.ru/forum/viewtopic.php?p=62429#p62429
тогда ничего добавлять не нужно (замени символы) :

если <> заменить на _
если :/\|? заменить на -
* на x
Получаем
___ KAZA FM ___ Pride party music russian radio 80's 90's 2000's disco pop hit
....................................
Обычные станции называй через :
Copy filename to clipboard (копируем название в память)
Соpy Name из плейлиста
По ПКМ .

120705
13.01.2018, 19:58
Огромное СПАСИБО СТАС. Всё получилось (добавил строку в Disp... и убрал в проблемных пробелы)

seriousstas
13.01.2018, 20:04
Огромное СПАСИБО СТАС. Всё получилось (добавил строку в Disp... и убрал в проблемных пробелы)
А второй вариант (если <> заменить на _) не проще ?
___ KAZA FM ___ Pride party music russian radio 80's 90's 2000's disco pop hit
Строка - это дополнительный фильтр - может влиять на
скорость загрузки плеера ..

120705
13.01.2018, 20:10
А второй вариант (если <> заменить на _) не проще ?
Строка - это дополнительный фильтр - может влиять на
скорость загрузки плеера ..
Может и проще, если это разовый вариант, но встречаются и /, :. Моё мнение в данный момент, это замутил строку в Disp... и забыл:acute:

seriousstas
14.01.2018, 01:48
встречаются и /, :.
там далее если :/\|? заменить на - тире
Строка (с удалением пробелов) - это мой метод - не нравился из-за "не эстетики" ))

seriousstas
15.01.2018, 02:59
там далее если :/\|? заменить на - тире
ничего нового - проверил - всё ОК (второй способ)
Пример уже есть в сборке (128кbps)

kirnet
15.01.2018, 22:34
Народ добрый вечер. Может кто сталкивался с такой проблемой (https://www.youtube.com/watch?v=8ndvosiJv38), делал всё по инструкции. Вот скрин (https://yadi.sk/i/JmQk4hrH3RUqDB) встраивания.

seriousstas
16.01.2018, 00:29
Народ добрый вечер. Может кто сталкивался с такой проблемой (https://www.youtube.com/watch?v=8ndvosiJv38), делал всё по инструкции. Вот скрин (https://yadi.sk/i/JmQk4hrH3RUqDB) встраивания.
Икар какой ? Шаблон делался и тестировался на сборке (iCarDS_1.7.0.60b24) от Lexx09
1 . Посмотри , не висит-ли второго встроенного фубара в настройках программ .
2 . Попробуй название окна foobar2000
3 . Попробуй другое время задержки до перехвата . 1 или 2 сек

kirnet
16.01.2018, 00:49
Икар какой ?
1 . Посмотри , не висит-ли второго встроенного фубара в настройках программ .
2 . Попробуй название окна foobar2000
3 . Попробуй другое время задержки до перехвата . 1 или 2 сек
Икар_1.7.0.60b24
1. Винда только поставленная.
2. Не помогло, да и на домашнем с этими кракозябрами работает.
3. Тоже не помогло.
Я думаю что это из за Foobar new.ini или foobar skin install.exe (не отследил после какой манипуляции) до проделывания всего выше написанного, появлялось окно с надписями про настройки.

seriousstas
16.01.2018, 00:51
1. Винда
Вопрос - нет ли дубля в "Настройках Программ" в настройках Икара:
не висит-ли второго встроенного фубара
Что-то мешает захвату окна ..
На домашнем все ОК ?
Тут (http://pccar.ru/showpost.php?p=392793&postcount=104) короткая инструкция ..
Попробуй поновой поставь.. Выбери тему Classic

kirnet
16.01.2018, 00:57
Первый вопрос - какой икар , а не винда ..

На домашнем все ОК ?
Тут (http://pccar.ru/showpost.php?p=392793&postcount=104) короткая инструкция ..
Попробуй поновой поставь
Я уже третий раз ставлю в месте с новой виндой.
Ещё дома стоит 64х винда на PCCARе 86х может это тоже каким то боком причастно?

seriousstas
16.01.2018, 01:12
Разряднось не думаю , что влияет .. ставь http://www.ammyy.com/en/ammyy_gm.html
Зайду на ПиСикар - возможно найду причину ..

Запусти Foobar_install.exe от админа .
Попробуй другой путь (диск D), другой (например с кнопками) фубар подсунуть ..(поищи причину почему его сворачивает)
Обязательно добавить Фубар в доступные медиа источники
Это делал ?
У меня похожий косяк был, когда пытался встроить два фубара c разными настройками..(попробуй первую сверху слева ячейку на этом экране выбрать):

kirnet
16.01.2018, 02:20
Разряднось не думаю , что влияет .. ставь http://www.ammyy.com/en/ammyy_gm.html
Зайду на ПиСикар - возможно найду причину ..

Запусти Foobar_install.exe от админа .
Попробуй другой путь (диск D), другой (например с кнопками) фубар подсунуть ..(поищи причину почему его сворачивает)

Это делал ?
У меня похожий косяк был, когда пытался встроить два фубара c разными настройками..(попробуй первую сверху слева ячейку на этом экране выбрать):

В общем поставил foobar который не заточен под icar, все работает. Захотел запустить визуализацию, ругнулся что нет derecx после этого запустил "заточенный" foobar картинка сама не сворачивается но стоит нажать на любую кнопку снова исчезает.
По поводу удаленки до завтра, если не занят будешь.
Спасибо за помощь.

seriousstas
16.01.2018, 04:02
ругнулся что нет derecx
Web Installer
По поводу удаленки до завтра, если не занят будешь
ок

120705
16.01.2018, 14:33
ничего нового - проверил - всё ОК (второй способ)
Пример уже есть в сборке (128кbps)
Стас , а если станция названия не имеет в плейлисте? Тогда как? Пример: http://online.odessa.fm:8000/stream

Евген_21
16.01.2018, 14:40
Народ добрый вечер. Может кто сталкивался с такой проблемой (https://www.youtube.com/watch?v=8ndvosiJv38), делал всё по инструкции. Вот скрин (https://yadi.sk/i/JmQk4hrH3RUqDB) встраивания.

1.После установки нового шаблона для фубар (Foobar_install) проверь, если файл UserSkin.ini. Если нет, пробуй 3 вариант.

2.Содержимое файла,следующие...Если нет,добавляем ручками.

VIEW_FOO=3
ORDER_FOO=1
PLAYPAUSE_FOO=0
VOLUMETRACK_FOO=1

3. Или,еще вариант вернуть в должный вид. Вызвать доп панель, и нажать кнопку вид экрана.
49029
49030

seriousstas
16.01.2018, 15:30
Стас , а если станция названия не имеет в плейлисте? Тогда как? Пример: http://online.odessa.fm:8000/stream
Без тегов - никак .
Нужно писать Питеру (автору плеера) , что-б добавил возможность изменять теги станций ..

120705
16.01.2018, 15:33
Без тегов - никак .
Нужно писать Питеру (автору плеера) , что-б добавил возможность изменять теги станций ..
Это было бы замечательно...

kirnet
16.01.2018, 16:02
1.После установки нового шаблона для фубар (Foobar_install) проверь, если файл UserSkin.ini. Если нет, пробуй 3 вариант.

2.Содержимое файла,следующие...Если нет,добавляем ручками.

VIEW_FOO=3
ORDER_FOO=1
PLAYPAUSE_FOO=0
VOLUMETRACK_FOO=1

3. Или,еще вариант вернуть в должный вид. Вызвать доп панель, и нажать кнопку вид экрана.
49029
49030

Содержимое фала на месте, кнопка вид экрана не помогла.
Вот теперь когда я запускаю foobar потом выхожу в windows появляется вот это (https://www.youtube.com/watch?v=7rXlvxVdcKM)

seriousstas
16.01.2018, 16:13
Содержимое фала на месте, кнопка вид экрана не помогла.
Вот теперь когда я запускаю foobar потом выхожу в windows появляется вот это (https://www.youtube.com/watch?v=7rXlvxVdcKM)
Окно не захвачено ..
Что-то мешает ..Если что - я на месте - бросай номер TeamViewer или AMMY
Пробовал сейчас имя окна foobar2000 ?

seriousstas
16.01.2018, 16:17
Это было бы замечательно...
Есть такой вариант .
В дисплей
$if(%length%,,B:\Radio Logos\%url%.*)
название соответственно
https---mama.odessa.fm-
Что-б небыло перебора с фильтрами пользуйся только вторым способом ,
убрав B:\Radio Logos\$replace(%url%,<,,>,,:,,",,/,,\,,|,,?,,*,,-,, ,).*

Евген_21
16.01.2018, 17:08
Содержимое фала на месте, кнопка вид экрана не помогла.
Вот теперь когда я запускаю foobar потом выхожу в windows появляется вот это (https://www.youtube.com/watch?v=7rXlvxVdcKM)
Попробуй, с другим шаблоном.

kirnet
16.01.2018, 17:23
Попробуй, с другим шаблоном.

А где его взять?

kirnet
16.01.2018, 17:25
Цитата:
Сообщение от kirnet
Содержимое фала на месте, кнопка вид экрана не помогла.
Вот теперь когда я запускаю foobar потом выхожу в windows появляется вот это
Окно не захвачено ..
Что-то мешает ..Если что - я на месте - бросай номер TeamViewer или AMMY
Пробовал сейчас имя окна foobar2000 ?

Стас я отправил в личку. ammyy

Евген_21
16.01.2018, 17:28
А где его взять?
49031

seriousstas
16.01.2018, 18:26
http://remontka.pro/net-framework-3-5-4-5-windows-10/
В некоторых случаях .NET Framework 3.5 не устанавливается и сообщает об ошибках с различными кодами. В большинстве случаев это связано с отсутствием обновления 3005628, скачать которое вы можете на официальной странице https://support.microsoft.com/ru-ru/kb/3005628 (загрузки для x86 и x64 систем находятся ближе к концу указанной страницы). Дополнительные способы исправить ошибки вы можете найти в конце этого руководства.

Если по какой-то причине вам требуется официальный установщик .NET Framework 3.5, то скачать его вы можете со страницы http://www.microsoft.com/ru-ru/download/details.aspx?id=21 (при этом не стоит обращать внимания, что Windows 10 отсутствует в списке поддерживаемых систем,
все успешно устанавливается, если вы используете режим совместимости Windows 10).
ПКМ по файлу - свойства

kirnet
16.01.2018, 18:36
Есть такой вариант .
В дисплей
$if(%length%,,B:\Radio Logos\%url%.*)
название соответственно
https---mama.odessa.fm-
Что-б небыло перебора с фильтрами пользуйся только вторым способом ,
убрав B:\Radio Logos\$replace(%url%,<,,>,,:,,",,/,,\,,|,,?,,*,,-,, ,).*

Стас я отправил в личку. ammyy

seriousstas
16.01.2018, 18:49
kirnet
Получилось установить .NET Framework 3.5 ?

kirnet
16.01.2018, 19:01
kirnet
Получилось установить .NET Framework 3.5 ?

Да, это из за отключения обновления винды, но теперь я не могу загрузить настройки из файла

seriousstas
16.01.2018, 19:03
Да но теперь я не могу загрузить настройки из файла
После установки Фрейма .
1 Перезапусти Винд.
2 Установи Икар и скин последовательно по новой
(сегодня поставлю 10-ку в виртулку..)
Да, это из за отключения обновления винды
Ты ставил твики ?
Они делались под 7-ку ..

120705
16.01.2018, 19:21
https---mama.odessa.fm-
Что-б небыло перебора с фильтрами пользуйся только вторым способом ,
убрав B:\Radio Logos\$replace(%url%,<,,>,,:,,",,/,,\,,|,,?,,*,,-,, ,).*
Запутался:
1. Давай уточним, второй вариант это --(без "тире и пробелов") ??
2. Сделал " $if(%length%,,B:\Radio Logos\%url%.*) ",убрал B:\Radio Logos\$replace(%url%,<,,>,,:,,",,/,,\,,|,,?,,*,,-,, ,).* , переименовал лого Одессы в https---mama.odessa.fm- . В менеджере справа появилось лого Одессы, а слева NO COVER LOADED

seriousstas
16.01.2018, 20:11
Запутался:
В менеджере справа появилось лого Одессы, а слева NO COVER LOADED

Скрипт слева работает на прямую с папкой .. Ему нужна отдельная коррекция ..
второй вариант это
Двойка стоит ) :
http://pccar.ru/showpost.php?p=397986&postcount=176

kirnet
17.01.2018, 00:00
После установки Фрейма .
1 Перезапусти Винд.
2 Установи Икар и скин последовательно по новой
(сегодня поставлю 10-ку в виртулку..)

Ты ставил твики ?
Они делались под 7-ку ..

В общем поставил нетфреймворк запустил икар запустился с ошибкой, при отключении фрейма икар запускается. Несколько раз пробывал переустанавливать икар, не помню какие галки ставил при установке но всетаки получилось запустить икар с Фреймворком но фубар все так же запускается с маленьким окном.

seriousstas
17.01.2018, 12:05
В общем поставил нетфреймворк запустил икар запустился с ошибкой, при отключении фрейма икар запускается. Несколько раз пробывал переустанавливать икар, не помню какие галки ставил при установке но всетаки получилось запустить икар с Фреймворком но фубар все так же запускается с маленьким окном.
Ну ты наверняка твикнул , а твики под 7-ку ..Тебе навносило кривых изменений ..
Поставил в виртуалку вот только - из этого набора http://pirat.ca/viewtopic.php?t=157073
Pro lite Full 10-ку (x86)
И встроилась в Икар "с пол-тыка .." и без лишних вопросов .
Икар ставь БЕЗ ТВИКОВ! (сборка выше уже твикнутая ..)
Защитник Windows во ВСЕХ версиях удалён
Это то-же гуд..

Но на этом не всё

Евген_21
тк исходников нет , перезалей
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_J_VOL.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_U_RADIO.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_OEM_3_SIBCAR.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\Numpad7.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\Control_visualization.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\Numpad4.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\next_vumeter.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\prev_vumeter.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\Numpad2.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_Y_VIZI.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_T_PEARMETER.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_I_DSP.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_E_browser.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\Numpad3.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\ENES.exe
эти файлы с универсальной компиляцией (просто по ПКМ).

Сейчас они сохранены для работы только в 64 битной ОС

kirnet
17.01.2018, 18:21
Ну ты наверняка твикнул, а твики под 7-ку ..Тебе навносило кривых изменений ..
Если ты про последние 3 галки то я, не ставил их.
Икар ставь БЕЗ ТВИКОВ! (сборка выше уже твикнутая ..)
Вот здесь я не понял, разве твики не ставятся по желанию?
(сборка выше уже твикнутая ..)
Это которая от LEXXа?

seriousstas
17.01.2018, 19:05
Если ты про последние 3 галки то я, не ставил их.

Вот здесь я не понял, разве твики не ставятся по желанию?

Это которая от LEXXа?
Та Win 10 , что у Тебя с отключенными некоторыми ф-циями
упрощенной графикой и тд..
Поставь , что по ссылке и все запоёт! Проверил вчера .

Евген_21
17.01.2018, 19:06
Евген_21
тк исходников нет , перезалей
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_J_VOL.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_U_RADIO.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_OEM_3_SIBCAR.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\Numpad7.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\Control_visualization.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\Numpad4.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\next_vumeter.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\prev_vumeter.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\Numpad2.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_Y_VIZI.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_T_PEARMETER.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_I_DSP.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\VK_E_browser.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\Numpad3.exe
C:\Users\ASUS_PC\Documents\iCarDS\skins\Chameleon\ Scripts\foo_scripts\ENES.exe
эти файлы с универсальной компиляцией (просто по ПКМ).

Сейчас они сохранены для работы только в 64 битной ОС

seriousstas, закинул в личку.
Исходники+универсальные скрипты управления. Так же готовый шаблон (как просил эвук всегда первый),тестируй.

kirnet
Тоже проверил на windows 10 (x86), все встало без проблем.
Попробуй, запустить Foobar, который под Икар версию и посмотри как поведет окно (развернется или нет).

kirnet
17.01.2018, 19:33
Та Win 10 , что у Тебя с отключенными некоторыми ф-циями
упрощенной графикой и тд..
Поставь , что по ссылке и все запоёт! Проверил вчера .

Я не знаю что я не так делаю, но не работает.

kirnet
17.01.2018, 19:35
Попробуй, запустить Foobar, который под Икар версию и посмотри как поведет окно (развернется или нет).

Так я его и ставлю.

Евген_21
17.01.2018, 19:43
Так я его и ставлю.
Запусти, только фубар с рабочего стола.

kirnet
17.01.2018, 20:13
Запусти, только фубар с рабочего стола.

Не работает :swoon2:

seriousstas
17.01.2018, 21:14
Не работает :swoon2:

Ты поставил начисто (не как обновление!)
Windows 10 x86 Lite 1709 (16299.125) for SSD v3 xlx (http://pirat.ca/viewtopic.php?t=157073)
?

kirnet
17.01.2018, 21:20
Ты поставил начисто (не как обновление!)
Windows 10 x86 Lite 1709 (16299.125) for SSD v3 xlx (http://pirat.ca/viewtopic.php?t=157073)
?

Да, по новой. Я сегодня раз 5 наверное по новой поставил и 86х и 64х. Осталось семерку поставить. :be:

kirnet
17.01.2018, 22:57
Поставил очередную винду 64х скапировал все папки которые связаны с айкаром и фубаром с домашнего на тот с которым мучаюсь, все заработало как надо.

seriousstas
17.01.2018, 23:39
все заработало как надо.
У меня на ум приходит только что-то по железу может (видекарта ,дрова) или из-за соотношения сторон не стандартного..

А так - у Тебя просто перегруз ..)
Еслиб ты выспался , отложил на время , то все б встало на раз после отдыха)

Евген_21
19.01.2018, 19:09
Стас привет.
Шаблон посмотрел? Кстати нашел, некрасивый момент.
Но уже поправил.

kirnet
Поставил очередную винду 64х скапировал все папки которые связаны с айкаром и фубаром с домашнего на тот с которым мучаюсь, все заработало как надо.
С победой. В чем проблема была?

kirnet
19.01.2018, 21:35
kirnetС победой. В чем проблема была?

Рано поздравлять, я бы оставил все как описывал раньше с подменой папок, но появились косяки которые я с начала не увидел. Например когда я нажимаю на громкость не вываливается окно регулировки громкости, и следующее за ним (не знаю как называется) в общем не работает перемотка трека и нажатие на кнопку vumetr, pearmetеr тоже ничего не переключают.

seriousstas
20.01.2018, 14:18
kirnet
У тебя проблема с захватом окна Икаром.
Если сейчас с этим норм - попробуй новый инсталятор (если Женя успел обновить) поверх .

Евген_21 Привет!!
Шаблон посмотрел? Кстати нашел, некрасивый момент.
Выпал на пару дней(родилась дочка))..
Сегодня посмотрю. Ты инстал обновлял в своей теме ?

Евген_21
20.01.2018, 15:21
Евген_21 Привет!!

Выпал на пару дней(родилась дочка))..
Сегодня посмотрю. Ты инстал обновлял в своей теме ?

Стас,привет.
Поздравляю с рождением дочки

Инстал, пока не обновлял. Жду когда ты посмотришь. Может есть ошибки, которые сам не увидел.

kirnet
20.01.2018, 15:50
родилась дочка

Поздравляю Стас!!!!

kirnet
20.01.2018, 16:10
У тебя проблема с захватом окна Икаром.

У меня заканчиваются мысли по поводу всего этого, сегодня поставил 7,64х.Та же песня с маленьким окном, но при копировании папок все работает и громкость и перемотка и, все остальное. Но не хочется использовать это костыли. Мне кажется я пропускаю какой то шаг в процессе установки, например может сначала надо поставить обычный фубар а поверх него все остальное. Может у кого то появится возможность записать видос с поэтапной установкой желательно на новой винде или расписать все до мелочей для таких "одаренных" как я. Подробная инструкция установки пригодилась что бы больше не возникала подобная ситуация. Стас, Евгений выручайте одна надежда на вас. Заранее спасибо.

Евген_21
20.01.2018, 17:07
У меня заканчиваются мысли по поводу всего этого, сегодня поставил 7,64х.Та же песня с маленьким окном, но при копировании папок все работает и громкость и перемотка и, все остальное. Но не хочется использовать это костыли. Мне кажется я пропускаю какой то шаг в процессе установки, например может сначала надо поставить обычный фубар а поверх него все остальное. Может у кого то появится возможность записать видос с поэтапной установкой желательно на новой винде или расписать все до мелочей для таких "одаренных" как я. Подробная инструкция установки пригодилась что бы больше не возникала подобная ситуация. Стас, Евгений выручайте одна надежда на вас. Заранее спасибо.
Есть, одна мысль. Но надо проверить.
Если сейчас все работает, то найди в папке Chameleon файл foobar_player_1.txt и удали его. Если повториться Та же песня с маленьким окном, то скорей всего не правильно отрабатывает скрипт.

dk-fsb
20.01.2018, 17:24
kirnet

Выпал на пару дней(родилась дочка))..


Стас привет :bye:
:pleasantry:Поздравляю с рождением дочки:pleasantry:

kirnet
20.01.2018, 17:26
Есть, одна мысль. Но надо проверить.
Если сейчас все работает, то найди в папке Chameleon файл foobar_player_1.txt и удали его. Если повториться Та же песня с маленьким окном, то скорей всего не правильно отрабатывает скрипт.

Удалил, окно стало маленьким. Теперь то что делать?

Евген_21
20.01.2018, 17:35
Удалил, окно стало маленьким. Теперь то что делать?
То есть ошибка повторилась. Значит скорей всего скрип, не правильно отрабатывает. Еще вопрос, все кнопки отрабатывают, или что не работает.
Личку посмотри.

kirnet
20.01.2018, 17:56
Еще вопрос, все кнопки отрабатывают, или что не работает.

Вроде все работает.

Евген_21
20.01.2018, 17:59
Вроде все работает.
Жду, тест с новым шаблоном.

kirnet
20.01.2018, 18:26
Жду, тест с новым шаблоном.

foobar_player_1.txt на месте. есть косяк с громкостью (https://www.youtube.com/watch?v=e0fPmlvpCU0)

Евген_21
20.01.2018, 18:55
foobar_player_1.txt на месте. есть косяк с громкостью (https://www.youtube.com/watch?v=e0fPmlvpCU0)
В архиве, что я тебе скинул есть файл mps_panel.
Вот его скопируй в папку foobar. Путь, куда копировать.
C:\4iCar\foobar2000\themes\4Icar\Scripts.
Чтоб правильно все отражалось.

kirnet
20.01.2018, 19:04
В архиве, что я тебе скинул есть файл mps_panel.
Вот его скопируй в папку foobar. Путь, куда копировать.
C:\4iCar\foobar2000\themes\4Icar\Scripts.
Чтоб правильно все отражалось.

Ураааа заработало. спасибо тебе Евгений.
Буду снова ставить десятку.

Евген_21
20.01.2018, 19:09
Ураааа заработало. спасибо тебе Евгений.
Буду снова ставить десятку.
НЕ ПОЗДРАВЛЯЮ, чтоб не сглазить.

sirota
24.01.2018, 17:05
Помогите осознать.
Один чел утверждает, что фубар гуано, а вот проигрыватель классик хороший, так как фубар играет отсебятину и напрямую звук не передает в отличии от классик...я понимаю, что это бред...но все таки кто с классиком имел дело и как он звук отправляет на звуковую карту...у него то же asio и wasapi имеются?

vladj
24.01.2018, 18:13
Один чел утверждает, что фубар гуано, а вот проигрыватель классик хороший, так как фубар играет отсебятину и напрямую звук не передает в отличии от классик
Напрямую, (сырым) с любого плеера можно вывести только цифру. При выводе по аналогу (по wasapi) плееры не при делах, качество вывода зависит от звуковой карты...посылай этого чела нах...:big:

sirota
24.01.2018, 21:16
Напрямую, (сырым) с любого плеера можно вывести только цифру. При выводе по аналогу (по wasapi) плееры не при делах, качество вывода зависит от звуковой карты...посылай этого чела нах...:big:

В общих чертах понял :yes4:

Евген_21
25.01.2018, 15:14
Стас, шаблон обновил (http://pccar.ru/showpost.php?p=392775&postcount=135)
Для, всех.... шаблон для новой сборки foobar от seriousstas.
Если установите на старую сборку, не правильно будет отображаться
следующие,смотрим видео (http://pccar.ru/showpost.php?p=398223&postcount=233)
Ждем обновление СБОРКИ

dk-fsb
25.01.2018, 15:36
Стас, шаблон обновил (http://pccar.ru/showpost.php?p=392775&postcount=135)
Для, всех.... шаблон для новой сборки foobar от seriousstas [B][COLOR="Lime"]СБОРКИ
Женя привет что за новая сборка:dntknw:

Евген_21
25.01.2018, 15:51
Женя привет что за новая сборка:dntknw:
Привет!
Сборка foobar от Стаса, но еще не выкладывал.
Ждем....

seriousstas
25.01.2018, 16:32
Во первых - СПАСИБО ЗА ПОЗДРАВЛЕНИЯ!!! :)
По сборке .Все было почти готово , но обнаружил, что скрипт и-нет картинок
морально устарел и часть функционала не работает и-за изменений на серваке.
Поэтому решил адаптировать новый скрипт:
http://foobar2000.ru/forum/viewtopic.php?p=67641#p67641
Сейчас он работает , как надо и лучше предидущего.
Остальные изменения буду бросать сюда . Постараюсь с видео.
Время займет ещё версия под Икар, за которую еще не брался ..

Евген_21
25.01.2018, 16:41
Постараюсь с видео.
Время займет ещё версия под Икар, за которую еще не брался ..
Ждем, не торопись. Главное чтоб все работало.
Кстати шаблон затестил?

kirnet
25.01.2018, 17:25
Ждем, не торопись. Главное чтоб все работало.
Кстати шаблон затестил?

Достану ещё немного своими придирками по скину, когда нажимаю кнопку громкости то полоса регулировки громкости появляется с задержкой.

Евген_21
25.01.2018, 17:47
Достану ещё немного своими придирками по скину, когда нажимаю кнопку громкости то полоса регулировки громкости появляется с задержкой.
А по этому, я не спец. У Меня на 5 компах (а нетбук вообще древний) стоит сборка iCarDS от Лекса и сборка foobar от Стаса на разных архитектурах и разных windows. Все отрабатывает без проблем. Но не одной нет антивируса. Копай туда, или железо слабое. Хотя шаблон делал на офисном нотбуке.

Евген_21
25.01.2018, 18:41
Достану ещё немного своими придирками по скину, когда нажимаю кнопку громкости то полоса регулировки громкости появляется с задержкой.
Еще как вариант....
В файле UserExecTBL.ini найди такие строки.
"VOLUME_FOO","SETVAR;VOLUMETRACK_FOO;0||SAVEVARTOFILE;$skinpath$ UserSkin.ini;VOLUMETRACK_FOO;$VOLUMETRACK_FOO$||RU NW;$SKINPATH$\Scripts\foo_scripts\VK_J_VOL.exe"
"TRACK_FOO","SETVAR;VOLUMETRACK_FOO;1||SAVEVARTOFILE;$skinpath$ UserSkin.ini;VOLUMETRACK_FOO;$VOLUMETRACK_FOO$||RU NW;$SKINPATH$\Scripts\foo_scripts\VK_J_VOL.exe"
"VOLUME_FOO","StartTimer;VOLUME_FOO;10100"
"OnVOLUME_FOOTimer","EndTimer;VOLUME_FOO||CloseOverlay"
"VOLUME_FOO","RUNQ;$SKINPATH$\Scripts\foo_scripts\VK_J_VOL.exe|| Overlay;foobar_progress.skin"
И замени на эти
"VOLUME_FOO","SETVAR;VOLUMETRACK_FOO;0||SAVEVARTOFILE;$skinpath$ UserSkin.ini;VOLUMETRACK_FOO;$VOLUMETRACK_FOO$||RU N;$SKINPATH$\Scripts\foo_scripts\VK_J_VOL.exe"
"TRACK_FOO","SETVAR;VOLUMETRACK_FOO;1||SAVEVARTOFILE;$skinpath$ UserSkin.ini;VOLUMETRACK_FOO;$VOLUMETRACK_FOO$||RU N;$SKINPATH$\Scripts\foo_scripts\VK_J_VOL.exe"
"VOLUME_FOO","StartTimer;VOLUME_FOO;10100"
"OnVOLUME_FOOTimer","EndTimer;VOLUME_FOO||CloseOverlay"
"VOLUME_FOO","RUN;$SKINPATH$\Scripts\foo_scripts\VK_J_VOL.exe||O verlay;foobar_progress.skin"
И отпишись:smile2:

kirnet
25.01.2018, 19:03
Еще как вариант....
В файле UserExecTBL.ini найди такие строки.
"VOLUME_FOO","SETVAR;VOLUMETRACK_FOO;0||SAVEVARTOFILE;$skinpath$ UserSkin.ini;VOLUMETRACK_FOO;$VOLUMETRACK_FOO$||RU NW;$SKINPATH$\Scripts\foo_scripts\VK_J_VOL.exe"
"TRACK_FOO","SETVAR;VOLUMETRACK_FOO;1||SAVEVARTOFILE;$skinpath$ UserSkin.ini;VOLUMETRACK_FOO;$VOLUMETRACK_FOO$||RU NW;$SKINPATH$\Scripts\foo_scripts\VK_J_VOL.exe"
"VOLUME_FOO","StartTimer;VOLUME_FOO;10100"
"OnVOLUME_FOOTimer","EndTimer;VOLUME_FOO||CloseOverlay"
"VOLUME_FOO","RUNQ;$SKINPATH$\Scripts\foo_scripts\VK_J_VOL.exe|| Overlay;foobar_progress.skin"
И замени на эти
"VOLUME_FOO","SETVAR;VOLUMETRACK_FOO;0||SAVEVARTOFILE;$skinpath$ UserSkin.ini;VOLUMETRACK_FOO;$VOLUMETRACK_FOO$||RU N;$SKINPATH$\Scripts\foo_scripts\VK_J_VOL.exe"
"TRACK_FOO","SETVAR;VOLUMETRACK_FOO;1||SAVEVARTOFILE;$skinpath$ UserSkin.ini;VOLUMETRACK_FOO;$VOLUMETRACK_FOO$||RU N;$SKINPATH$\Scripts\foo_scripts\VK_J_VOL.exe"
"VOLUME_FOO","StartTimer;VOLUME_FOO;10100"
"OnVOLUME_FOOTimer","EndTimer;VOLUME_FOO||CloseOverlay"
"VOLUME_FOO","RUN;$SKINPATH$\Scripts\foo_scripts\VK_J_VOL.exe||O verlay;foobar_progress.skin"
И отпишись:smile2:

Попробовал, если и есть изменения то незаметные.

Евген_21
25.01.2018, 19:08
Попробовал, если и есть изменения то незаметные.
А видос можно

seriousstas
25.01.2018, 19:11
Пример работы нового скрипта биографии Геннадия с моими правками под тач :
upp8a6TF8cU