Просмотр полной версии : сборка/тема foobar 2000 для CarPС
Страницы :
1
2
3
4
5
6
7
8
9
10
11
[
12]
13
14
15
seriousstas
10.10.2016, 21:17
Стас, Слава вопрос может из области фантастики.
Можно ка кто реализовать запись правильных тегов при воспроизведении файла?
А то это выглядит не айс.
45120
Да, вручную только.. .
где смог прописал Pink Floyd ,а в первых 4 не могу.
А что это - первые 4-е ? не похоже, что это треки . ..
Компонент суёт в плейлист все подряд-посмотри настройки, ограничь зону (выбери например стерео только)
И совет - не качай самопалы (http://pccar.ru/showpost.php?p=371213&postcount=2750) - смысла в них "0"
Это апмиксы из обычных CD в лучшем случае из DTS ,DVD
Это у тебя не образ DVD-A запущен ? Если работаем с такими образами,
то прописывать можно имея в компонентах foo_input_dvda.dll. То что мы пропишем
хранится в созданной плагином папке dvda_metabase, вот пример (один трек прописал)
seriousstas
10.10.2016, 21:20
vladj
де не было траблов
с показом номеров треков
А где траблы? Скрипт показывает то, что записано в тегах,
естественно в само-сборниках будет каша ..
Это у тебя не образ DVD-A запущен ? Если работаем с такими образами,
то прописывать можно имея в компонентах foo_input_dvda.dll. То что мы пропишем
хранится в созданной плагином папке dvda_metabase, вот пример (один трек прописал)
компонент есть в сборке и все отлично пишется (если это трек , а не мусор)..
А вся эта "инерция"...ну на раз-два поигратся, мало кто в движении
пальцами по монитору елозит, имхо.
Есть разные там сесорные моноблоки для дома , но плейлист не для инерции создавался , а для плавного
движения по экрану - глазу и пальцу приятно :)
Просто я очень не уважаю, когда запускаю альбом и у меня столбиком название исполнителя
во всех треках одно и то-же...как впрочем и битрейт и проч звездочки кружочки.
Потому и стараюсь использовать типы плейлистов, где при запуске альбома исполнитель
указан в шапке, а в самом плейлисте нет этих одинаковых строк.
vladj
А где траблы? Скрипт показывает то, что записано в тегах,
естественно в само-сборниках будет каша ..
видимо имеется ввиду, что раньше нравилось что идёт просто номер по порядку (№ п/п), а щас нумерацию тянет с тэгов да.
ждёмс финалочки! ))
хочется уже в тачку закинуть финальную версию и наслаждатся.
seriousstas
12.10.2016, 12:12
видимо имеется ввиду, что раньше нравилось что идёт просто номер по порядку (№ п/п), а щас нумерацию тянет с тэгов да.
а попробуй , найти поиском в скрипте :
[%tracknumber%]
и заменить либо на (будет красивее)
$num($if2(%tracknumber%,0),2)
либо на :
%list_index%
квадратных скобок не нужно, тогда будет , как ты хотел..
ждёмс финалочки! ))
посмотрю только , что Гена тут подправил :
http://foobar2000.ru/forum/viewtopic.php?p=62235#p62235
а попробуй , найти поиском в скрипте :
[%tracknumber%]
и заменить либо на (будет красивее)
$num($if2(%tracknumber%,0),2)
либо на :
%list_index%
квадратных скобок не нужно, тогда будет , как ты хотел..
- заменил на: %list_index% везде где нашел заменил (вроде в 3 местах).
заработало! стал просто номер по порядку, правда внутри одной папки только. Если добавить 2+ папки в плейлист, то с каждой новой папкой нумерация стартует заново с единицы. в прошлых сборках продолжало нумерацию. но все равно приемливо.
- заменил на: $num($if2(%tracknumber%,0),2) и не понял разницу между [%tracknumber%].
объясни плиз слепому в чём разница?:blush:
посмотрю только , что Гена тут подправил :
http://foobar2000.ru/forum/viewtopic.php?p=62235#p62235
да да... я видел дискусию... погляди конечно.
я правда не до конца понимаю суть вообще затеии (проблемы). что именно щас не работает (не так работает)?
у меня единственное, что бывает, это не подгружает (а скорее почему то не отображает иногда) фото артиста... пишет Last fm и всё... стоит переключить следущий/предыдущий трэк - всё ок становится - сразу отображает.
seriousstas
14.10.2016, 04:55
shumaz
суть вообще затеи :
"Biography Text && Picture. www.last.fm "
@author "kgena_ua"
@version "18112016"
Некоторые мои добавки для быстрого доступа к биографии и что-б побороть "Малевича" в разных ситуациях :
1 Текст . Взывается и прячется в одно касание по названию, при этом , сохранено "таскание" текста .
2 Размеры картинок . Артист - три размера, обложка - два размера (большой размер обложки будет при выборе кнопки "Or") .
3 Кнопки . Показ включается из меню . Если выбран показ в меню - активируются кнопки при помощи ЛКМ по окну . Таймер 5 сек - обнуляется при каждом повторном клике .
4 Автопереключение текста . Если в приоритете русский поищет его ,если нет - покажет (при наличии) инглиш .
5 Автопереключение картинок . Выставляем приоритет . Например выбран Артист . Если нет картинок артиста - закачает обложку (ну и наоборот...) .
при этом кнопка переключение станет не активной .
6. Nocover (без обложки) - раздельно для радиостанций и для треков .Пути :
foobar2000\themes\radio_stub.png
foobar2000\themes\stub.png
7.Показ логотипов радиостанций Проверено на методе № 2 (http://foobar2000.ru/forum/viewtopic.php?p=62157#p62157),eсли ничего не загружено или отключена загрузка (кнопкой),
покажет логотип станции.
8.Показ Обложек . Покажет одну обложку из папки (или трека ,если ничего не загружено или отлючена загрузка (кнопкой))
Полностью отключить обложки можно из меню.
9.Смена размера фото и его кол-ва "на лету" ;)
Масштаб текста : ctrl+колесо м .
Последние изменения (http://foobar2000.ru/forum/viewtopic.php?p=62941#p62941)
Скрипт + архив (https://yadi.sk/d/-1CQQTrzxzjRo) (скоп. в Фубар шрифт и картинки)
(желательно !)Сбросить настройки в пропертиз
sktbwDnrYrE
Если у кого есть желание можно попробовать мною слепленный компонент фубара для вызова ДСП из меню(работает так же как и в компоненте VST Adaptor 2.4)
http://jpegshare.net/thumbs/3a/db/3adb1d547bd84d29683b037861f8c11e.jpg (http://jpegshare.net/3a/db/3adb1d547bd84d29683b037861f8c11e.png.html)
Убедительная просьба не выкладывать на других форумах по фубару, так как код честно стянут из VST компонента.
Прочитать внимательно все что написано, до установки компонента в сборку.
Предупреждаю потому что компонент может вызвать падение сборки при вызове ДСП ! ! !
Так что прежде чем пихать в рабочую сборку лучше всего проверить на тестовой сборке...
Проверить на каких плагинах при вызове падает фубар легко...
Ставим портативный фубар копируем свои плагины в него, пихаем их в цепочку ДСП и делаем вызов из меню(первый скрин поста)...
Проблемы с падением фубара те же что и у VST компонента.
Например Эквалайзер и ChannelMixer...
На более необходимых компонентах падений нет, таких как Распределение Панорамы/баланса(Surround Pan (foo_dsp_span)); Объемный звук(Surround); Подчеркивание низких частот; Matrix Mixer; Resampler(Sox) и (Sox)mod.
Давно хотел организовать регулировку баланса по кнопке через компонент Surround Pan (foo_dsp_span)
http://jpegshare.net/thumbs/0b/c5/0bc59f84a7edaba165c901b38fed4c82.jpg (http://jpegshare.net/0b/c5/0bc59f84a7edaba165c901b38fed4c82.png.html)
, без компонента VST так как им более не пользуюсь. Теперь это возможно и без VST компонента :big:
Вызывать ДСП из JS скрипта можно так...
вешаем этот код на кнопку...
fb.RunMainMenuCommand("View/DSP/DSP #1 config");
где #1 это номер ДСП в цепочке.
http://jpegshare.net/thumbs/b8/ee/b8ee5db5e93e557293e744d4d26833c8.jpg (http://jpegshare.net/b8/ee/b8ee5db5e93e557293e744d4d26833c8.png.html)
Установка:
- Скачать архив foo_dsp_menu.7z по ссылке.
- Распаковать архив foo_dsp_menu.7z и копировать папку foo_dsp_menu в папку сборки user-components.
- Либо скопировать сам компонент foo_dsp_menu.dll из архива в папку components.
Скачать foo_dsp_menu (https://yadi.sk/d/Z3IWLRqewrPQd)
...
seriousstas
15.10.2016, 04:05
shumaz
- заменил на: $num($if2(%tracknumber%,0),2) и не понял разницу между [%tracknumber%].
объясни плиз слепому в чём разница?
В таком виде , если не будет номера в тегах , то будут просто нули 00 .
ну и номера будут 01 02 03 и тд ... вместо 1 2 3 ..
seriousstas
15.10.2016, 22:04
duzzy
Проблемы с падением фубара те же что и у VST компонента.
Писал разрабам - был отклик, мож и поправят ...
Surround Pan У него что-то с метрикой .. Если менять размеры элементов винды (125-150 %) - есть смещение .. )
duzzy
Писал разрабам - был отклик, мож и поправят ...
Surround Pan У него что-то с метрикой .. Если менять размеры элементов винды (125-150 %) - есть смещение .. )
Ты на Гидрогене писал в этой теме (https://hydrogenaud.io/index.php/topic,112695.0.html) :) (я в ней ссылки Зереми брал на исходники VST плагина).
Будет время попробую сделать обход ошибки при вызове, в плагине ДСП меню... просто сложновато пока разобраться что к чему.
Думаю что Петру похоже очень фиолетово на нужные фичи, он и баги то правит не хотя(заметь сколько багов в последних версиях:yes4:)... он сейчас похоже всеми силами двигает "Мобильный фубар" на все платформы(Андрон, Айос и 10-й Магазин)...
Большинство народа сидит на версии 1.3.10...
Бретт аву сменил на черепо-кости фубара)))...
http://jpegshare.net/images/b5/d7/b5d7d0d9e5e2b26973ad406099e0d1d6.png (http://jpegshare.net/)
думается мне забросит Петр фубар для ПС...
Есть вариант интерфейса еще интересней (SUI) (https://hydrogenaud.io/index.php/topic,110516.msg929149.html#msg929149) чем JS, но разраб китаец и похоже это все опять быстро закончится не начавшись... :sad2:
B]Surround Pan[/B] У него что-то с метрикой ..
У меня в 7-ке норм с размерами, тоже есть масштабирование но не сильное, цифры уже не помню.
Попробуй оригинальный плагин поставить, возможно были ошибки при пересборке dll.
Возможно из за проблем с dpi в 8-ке(в 10-ке тоже сложности с этим делом)...
-------------------------------------------------------------
Вот так живьем выглядит новый интерфейс Sciter UI(пример простенькой темы с гидрогена)... Видос (https://drive.google.com/file/d/0B60qIBsIiUkgTWVXSF9tbXc1Y28/view?usp=sharing)
Пока плагин ковырял в визуал студии в перерывах вынес большую часть настроек JS и MPS в панели настроек. Теперь в пропертис ходить не нужно, почти все можно пальцем настроить. И объединил настройки всех панелей по нотифай(цвета всех панелей, фон и блюр и т.д.).
И добавил одну прикольную фичу... рандомный цвет в заданном диапазоне на нижней панели при переключении треков...
http://jpegshare.net/thumbs/aa/58/aa58f4bb92bf2a9c5419b64de5eca5c4.jpg (http://jpegshare.net/aa/58/aa58f4bb92bf2a9c5419b64de5eca5c4.gif.html)
...
Евген_21
16.10.2016, 20:26
Стас. Когда релиз, руки чешутся.
seriousstas
17.10.2016, 01:46
@name "JS Smooth Playlist Sort_folders ss_Mod v8"
@author "Br3tt aka Falstaff
Изменения :
http://foobar2000.ru/forum/viewtopic.php?p=62304#p62304
seriousstas
17.10.2016, 02:08
4Icar_14.1_MPS_UNI (http://pccar.ru/showpost.php?p=370561&postcount=2673)
В основном меню появилась функция автоперехода на плейлист,
после выбора каталога в блиотеке
Auto Go to Playlist [Library]
Обновлен скрипт Biography Text && Picture с последними добавлениями :
http://pccar.ru/showpost.php?p=371437&postcount=2761
В плейлист добавил два пункта ранее обсуждаемых :
Copy[Loved Tracks]To Folder
Выдеяем трек и при отметке "сердечком" будет скопирован в папку (по умолчанию d:\Loved Tracks\)
и
Track Number (выбор отображения нумерации)
7QtaiiNokDQ
seriousstas
17.10.2016, 02:53
duzzy
"Мобильный фубар" на все платформы
ну пора ему уже заработать ...
Вот так живьем выглядит новый интерфейс Sciter UI
Интересная штуковина - надеемся на развитие ..
Сборку (http://foobar2000.ru/forum/viewtopic.php?p=59842#p59842) думаю можно в "готовые" продублирвать ..
seriousstas, duzzy и ещё те кто принимал участие в тестировании - спасибки за огроменный объём работ и новую классную сборку.:yes2:
seriousstas
17.10.2016, 14:52
Gadina
Не за что - было-бы больше свободного времени ... )
Вот только обнаружил (и сразу исправил) :
http://foobar2000.ru/forum/viewtopic.php?p=62308#p62308
И ещё заметил, что текст в менеджере кривенько отображался . Так-же поправил..
Если ещё что-то - пишите , сразу поправлю, по свежей памяти ..
Krysanov
17.10.2016, 15:13
Gadina
Не за что - было-бы больше свободного времени ... )
Вот только обнаружил (и сразу исправил) :
http://foobar2000.ru/forum/viewtopic.php?p=62308#p62308
И ещё заметил, что текст в менеджере кривенько отображался . Так-же поправил..
Если ещё что-то - пишите , сразу поправлю, по свежей памяти ..
Скачал 14.1.. ничего не настраивал, указал только путь к музыке..что то не показывают картинки с инета!?!! Только часы вижу. На предыдущей сборке 14.0 все гут...
в готовых сборках нет ни 14.0 ни 14.1...
seriousstas
17.10.2016, 15:34
Скачал 14.1.. ничего не настраивал, указал только путь к музыке..что то не показывают картинки с инета!?!! Только часы вижу. На предыдущей сборке 14.0 все гут...
Одновременно не вижу смысла использовать два скрипта картинок .
Включай при необходимости один из двух (или если нужно вместе тогда) . Для этого есть отдельная кнопка Вкл-Выкл на обоих .
в готовых сборках нет ни 14.0 ни 14.1..
duzzy закинет думаю ..
Krysanov
17.10.2016, 17:42
Где это кнопка , Урри? :)
seriousstas
17.10.2016, 18:43
Где это кнопка , Урри? :)
Вторая справа - возле вызова текста биографии . (я давал в PDF (https://yadi.sk/i/YaHxKrqZw5tkY) описание кнопок на панелях картинок)
Панель №2 Просмотр картинок и биографии из и-нета
Панель №9 Полноэкранный просмотр картинок и биографии из и-нета
с миниатюрами (кнопки так-же ,как в №2)
Krysanov
17.10.2016, 19:22
Спасибо, будем смотреть!!
seriousstas
18.10.2016, 01:45
Если ещё что-то - пишите , сразу поправлю
в 14.1 делал автопереход (http://pccar.ru/showpost.php?p=371543&postcount=2532) из библиотеки в плейлист:
http://i.piccy.info/i9/0f02a039d10da56197d3c5dd2e611daa/1476738547/7158/1080699/scr1_240.jpg (http://piccy.info/view3/10408078/f98b642ec73ccabeb36f96e70650056e/)http://i.piccy.info/a3/2016-10-17-21-09/i9-10408078/240x96-r/i.gif (http://i.piccy.info/a3c/2016-10-17-21-09/i9-10408078/240x96-r)
, после чего библиотека
стала отправлять треки в плейлист не правильно ...
Достаточно сбросить настройки библиотеки : ПКМ > Panel properties > Clear
Либо перекачать сборку ..
И просьба протестировать автопереключение картинок и текста биографии (первый русский, если нет eng),
в новой версии скрипта ..
duzzy
ну пора ему уже заработать ...
Интересная штуковина - надеемся на развитие ..
Сборку (http://foobar2000.ru/forum/viewtopic.php?p=59842#p59842) думаю можно в "готовые" продублирвать ..
))) А ты думаешь он не зарабатывает... и фубаром занимается чисто на общественных началах...
Интересная штуковина
Очень интересный интерфейс, от разраба ES Lyrics... А самое важное что он работает не через window.Repaint()(процессорная обработка графики при помощи перерисовки экрана, простыми словами). Постройка интерфейса происходит средствами HTML/CSS и WSH... т.е. можно получить очень удобное управление графикой, эффектами, плавной прокруткой(не изобретая велосипед) и т.д. Все что вы видите на веб станицах и веб приложениях(эффекты, красивую анимацию и т.д.).
На гидрогене есть ссылки на sciter-sdk (https://github.com/c-smile/sciter-sdk), его можно скачать и посмотреть примеры(их много) по анимации графике и т.д. Нужно просто установить SciterUI и в папку фубара в корне в папку UI скопировать необходимые файлы примера и прописать код в default.htm.
Вот к примеру гифка (http://jpegshare.net/b9/04/b904427659e0147d9225e00e56666822.gif.html) плавных кнопочек(со звуком)...
Видос просто писать лень.
Сборка в готовых.
seriousstas
18.10.2016, 05:09
Очень интересный интерфейс, от разраба ES Lyrics...
Найду время обязательно испытаю .. Гифка впечатлила !
Сборка в готовых.
Ок .
Panel properties > Clear приводит к пропаданию всех кнопок.))
Так это ведь в нескольких местах можно почикать. Ты Clear делай в
панели библиотеки, о ней-же речь, а не о скрипте с кнопками. ИМХО.
У меня все прекрасно работает, автоматом плейлист после отправки вижу.
Так это ведь в нескольких местах можно почикать. Ты Clear делай в
панели библиотеки, о ней-же речь, а не о скрипте с кнопками. ИМХО.
У меня все прекрасно работает, автоматом плейлист после отправки вижу.
Понял. Спасибо
seriousstas
19.10.2016, 12:51
По обновленным "картинкам" обнаружился ещё такой момент :
http://foobar2000.ru/forum/viewtopic.php?p=62341#p62341
Можно просто заменить скрипт (только скрипт) :
http://pccar.ru/showpost.php?p=371437&postcount=2761
Проявляется на Win XP , но советую обновить - минутное дело (настройки сбрасывать не нужно)
Если интересно...
Обновил программку autorunner (http://pccar.ru/showpost.php?p=371882&postcount=21). Теперь можно из нее грузить программы при старте ОС при использовании Икара в качестве оболочки. Работает почти так же как обычная виндовая автозагрузка, только с бонусами.
seriousstas
20.10.2016, 12:33
А на ЯН. диске 4Icar_14_MPS_UNI.7z
Без .1
А в архиве ? (так удобнее обновлять сборку)
Евген_21
20.10.2016, 13:15
Стас, сборочка очень радует, уже в машине. Все работает ,ни одного глюка пока не было. Сплюнул, 3 раза.
И просьба протестировать автопереключение картинок и текста биографии (первый русский, если нет eng),
в новой версии скрипта ..
Картики, био , все переключения работают, я даже новую версию скрипта
не ставил. Которая эта.
http://pccar.ru/showpost.php?p=371841&postcount=2783
Загрузка проца скачет от 5 до 27 но это вместе с Икаром.
А еще, копирование и лове треки удобно реализовано.
Уже заценил. Спасибо Стас и всем кто участвовал.
seriousstas
20.10.2016, 14:21
В архиве так же 4Icar_14_MPS_UNI
какая ссылка ? проверил дважды 4Icar_14.1_MPS_UNI
seriousstas
20.10.2016, 14:29
Спасибо Стас и всем кто участвовал.
И Вам спасибо!
В картинках поправил одну строчку ,результат :Работает как часы, никакой классовой борьбы между процессами, загрузка ЦП 0-1%
так что можешь и заменить ..
Евген_21
20.10.2016, 14:33
И Вам спасибо!
В картинках поправил одну строчку ,результат :
так что можешь и заменить ..
Ясно, заменю. Результат работы сообщу.
Там внутри архива правильное название. Она изменена вчера.
seriousstas
20.10.2016, 17:01
Там внутри архива правильное название. Она изменена вчера.
Измения только в одной строчке "картинок" ..
А 14.1 там давно..
Евген_21
20.10.2016, 18:24
Стас, вопрос? А почему ВСТку NUGEN Halo не добавил в дсп?
seriousstas
20.10.2016, 19:11
Стас, вопрос? А почему ВСТку NUGEN Halo не добавил в дсп?
В авто ещё не тестировал .. можно и добавить будет .
Евген_21
20.10.2016, 19:23
В авто ещё не тестировал .. можно и добавить будет .
Я в авто тоже толком не тестировал. Разрешение экрана маленькое, На предыдущих версиях сборках как умудрился настроить. Этот плагин имеет фиксированное окно, Слава сможет переделать?.
А так очень интересная штука. И авто режиме по каналом может работать.
Т.Е. один ,два........5.1 или авто.
seriousstas
21.10.2016, 01:19
Слава сможет переделать?.
Нет.
Евген_21
NUGEN Halo
Штука прикольная, и идея у них классная, но работает очень нестабильно и периодически сыпется на открытии окна настроек из за графики.
Плагин Объемный звук(Surround) тоже очень неплохо делает из мп3 многоканал:) нужно просто настроить нормально.
http://jpegshare.net/thumbs/2a/37/2a377d50c1440a6fe49e34d48d62f7f8.jpg (http://jpegshare.net/2a/37/2a377d50c1440a6fe49e34d48d62f7f8.png.html)
16.1 :)
И можно в цепочку еще добавить Real Bass Exciter (https://hydrogenaud.io/index.php/topic,86083.0.html) eng версия(по настройкам лучше тут(на гидрогене) почитать на инглише)
Real Bass Exciter (https://cdpos.biz/showthread.php?276-Real-Bass-Exciter-(%D0%9F%D0%BE%D0%B4%D1%87%D1%91%D1%80%D0%BA%D0%B8% D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B8%D0%B7%D0%BA%D0%B8%D1%85-%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82)) с переводом на русский.
сможет переделать?.
Нет не выйдет, у меня таких знаний просто нет... (нужно развернуть а затем собрать обратно библиотеку)
Стандартный графический интерфейс винды изменить очень легко... например как этот..
http://jpegshare.net/thumbs/e4/4d/e44d43d957351bd5b89bf5364343a919.jpg (http://jpegshare.net/e4/4d/e44d43d957351bd5b89bf5364343a919.png.html)
Меняешь элементы по нужным тебе размерам и сохраняешь изменения(но не факт что будет правильно работать, потому как это тоже пересборка, нужно проверять).
-------------------------------------------------------------------------
seriousstas
Некоторый народ на Гидрогене похоже совсем съехал с катушек))))
Почитай в той теме где сообщение оставлял по падению фубара.
Краткая выдержка...
Пишет чучело с именем mudlord
The bug is caused by using threads to help do non modal dialogs. It is a massive hack and that component should be removed.
А ничего что это меню есть в СДК фубара по дефолту)))
И тут же возникает вопрос... а на кой вообще тогда компом пользоваться??? Поставить его в угол и пыль с него вытирать что ли...
Хак не хак... какая разница если он работат... Так же и компонент UI Hacks забанили... Мне просто интересно они что делают ПО по управлению оборонной сетью... это же просто плеер на нем музыку слушают какая разница какие у него возможности и чем их больше тем лучше для пользователя.
seriousstas
22.10.2016, 16:03
duzzy
Нда, "весело" , не зря Бред на кости аву сменил ..
Похоже теперь на 1.3.10 и будем сидеть ...
еще про логотипы (вечная тема ))) :
пробовал предлженную замену
$if(%length%,,B:\stream_logo\Radio_RU\$replace(%ti tle%,*,,|,,\,,:,,",,<,,>,,?,,/,).*)
Во первых - это работает портабельно , и B: работает
также для crc32 метода, а мы всё пути пишем... :)
Далее есть возможнось и по названиям сравнивать,
но как бороться с разными символами , пока не соображу .. есть где-то подробное описание этих методов ?
Твоё не могу здесь найти ..
Евген_21
22.10.2016, 16:57
duzzy
Нет не выйдет, у меня таких знаний просто нет... (нужно развернуть а затем собрать обратно библиотеку)
Стандартный графический интерфейс винды изменить очень легко... например как этот..
Спасибо и на этом, а какой прогой это делаешь?
seriousstas
Обновил, скрипт... Точно загрузка проца снизилась. Как ты и говорил.
seriousstas
Не то слово...
У меня были мысли что фубару копец как только Петр объявил про создание мобильной версии. Он наверно будет понемногу подгаживать ПС версию тем самым заставляя пользователей перейти на мобильную версию из магазина. Причем заметь мобильная версия работает только на 10-ке :)
еще про логотипы (вечная тема ))) :
Читал вашу переписку :)
И успел попробовать, могу сказать что по этому методу показывает не все лого станций, самый верный вариант пока через хеш.
По портабельности тоже большой вопрос, может и у меня в сборке проблема, но у меня увеличивается время загрузки сборки на плейлисте со станциями и при открытии тулбара фубар виснет пока видимо сличает хеш с картинками в плейлисте.
есть где-то подробное описание этих методов ?
Смотря где применять, в JS или скриптах форматирования ?
Если в скриптах форматирования то в сборке в корне файлик titleformat_help.html
Если JS то тут (http://javascript.ru/RegExp).
Сам в этой мути :) не разбирался...
Вот пример из скрипта Гены... для замены артиста
function clean_name(n) {
if (!n) return;
return n.replace(/[\/\:\*\?\"\<\>\|]/g,' ');
}
replace(/[^a-zA-Z0-9а-яА-я]/g,'');
это замена всего кроме (^) букв (a-zA-Zа-яА-я) и цифр (0-9) на "". На случай если, для примера, в имени файла лишний пробел и т.д.
Евген_21
Не за что :)
Программа называется Resource Hacker (http://www.angusj.com/resourcehacker/).
seriousstas
22.10.2016, 18:32
seriousstas
function clean_name(n) {
if (!n) return;
return n.replace(/[\/\:\*\?\"\<\>\|]/g,' ');
}
replace(/[^a-zA-Z0-9а-яА-я]/g,'');
Только как это применить к utils.GetAlbumArtV2()
Функция %title% видит , а replace не работает ,
поэтому и не все обложки выводит ..
По портабельности тоже большой вопрос, может и у меня в сборке проблема, но у меня увеличивается время загрузки
странно, мы просто меняем букву диска ,например с D: на B:, нет причин увеличивать время ..
Евген_21
22.10.2016, 18:56
Евген_21
Не за что :)
Программа называется Resource Hacker (http://www.angusj.com/resourcehacker/).
А что лучше скачать ,зип или ехе?
Слава, это смотрел...
http://pccar.ru/showpost.php?p=372152&postcount=67
seriousstas
Только как это применить к utils.GetAlbumArtV2()
Хз... я с этой фубаровской тумбо-юмбой очень плохо знаком... это как скрипты из Panel Stack Splitter одно и тоже... слава яйцам что есть МПС :).
Мне больше нравится метод Зереми с хешем он проще и правильней, потому как буквы это буквы(разные кодировки, спец символы и т.д.)... а хеш это цифры а цифры они и в Африке цифры)))
прикол из описания по форматированию...
$add(X,Y), $sub(X,Y), $mul(X,Y), $div(X,Y), $mod(X,Y), $min(X,Y), $max(X,Y)
а описывается это так...
Various math operations.
ни примеров не толкового описания как зачем и для чего этим пользоваться)))
странно, мы просто меняем букву диска ,например с D: на B:, нет причин увеличивать время ..
Ну тут не так все просто как кажется, это виртуальный диск а не физический. Не понятно по какому принципу он работает, потому как в системе его нет и видит его только фубар.
Я попробую сейчас видео записать, покажу как это происходит если фубар падать не будет при записи.
Фишка в том что это очень не приятное явление... примерно похоже на то когда обложка с очень очень большим разрешением и когда открываешь тулбар фубар подвисает, только время этого затупа можно умножить на 4.
Зацени Видосик (https://drive.google.com/file/d/0B60qIBsIiUkgVWU2NUh6aVNJa0k/view?usp=sharing)... и на свежем фубаре ...13 бета 2 тот же эффект.
Похоже я понимаю от чего этот затуп, видимо скрипт плейлиста перечитывает теги на старте ресайзе и т.д. отсюда задержка со ступором пока ответ получит от сервака.
-------------------------------------------------
Евген_21
Они одинаковые, зип(портативка), ехе(установщик)... кто то предпочитает установку, кто то портативку, смотри сам что тебе больше подходит.
Еще не смотрел, с инет-радио логотипами развлекаюсь пока.
seriousstas
22.10.2016, 20:18
Видос гляну,
Мне больше нравится метод Зереми
Все вроде норм, но станции дохнут, очень (и очень :) ) не удобно
потом логотип искать и снова переименовывать, а тут раз назвал и заб(и)ыл (только URL поправить) ..
с инет-радио логотипами развлекаюсь пока.
Смотрю - я всех озадачил , только Зареми еще не отписался))
seriousstas
Видос выложил в предыдущем сообщении.
очень (и очень ) не удобно
В удобстве есть проблемы спору нет, но что касается точности то хеш выигрывает у реплейса.
У меня 3 или 4-ре станции не берет реплейс... /mdl_128 точно не берет, вроде Noise FM - It's Your Lifestyle | 128 kbps MP3 тоже...
Мне например просто проще хеш переименовать, знаешь что это 100% результат, и потом кол-во станций слушаемых а не лежащих мертвым грузом не такое большое как мне кажется... думаю что у многих станций 8-10 слушаемых остальные просто так болтаются)))
Можно делать так немного упростит процесс, прогнал дома хешем отвалившиеся станции, удалил старую папку лого в сборке и заменил на новую.
Можно как вариант попробовать скрипт сличения организовать... т.е. например есть папка с лого по названиям, запускаешь фубар с плейлистом нужных станций прогоняешь их по порядку а скрипт сам сравнивает название из папки с названием станции и переименовывает в нужный хеш станции.
Смотрю - я всех озадачил , только Зареми еще не отписался))
:) Да не так и озадачил, выбор то не большой, всего два варианта... и один из двух спорный.
Тут на самом деле нужно просто определится что более удобно каждому в конкретном случае. Я как и говорил выше предпочитаю хеш, да он не проще, но зато результат 100% и без сюрпризов.
Вариант с реплейсом с одной стороны проще, но когда часть лого показывает а часть не отображаются нужно сидеть голову ломать почему не показывает... тут задумаешься что лучше :)
--------------------------------------------------------
По реплейсу можно и без иф($if)...
B:\stream_logo\$replace(%title%,*,,|,,\,,:,,",,<,,>,,?,,/,).*
получается так берем (%тайтл%, ищем в названии *,,|,,\,,:,,",,<,,>,,?,,/, затем меняем на пустоту)
как работает эта хрень с запятыми ,,|,, я так и не понял, если добавить свой символ лого не показывает...
По обновленным "картинкам" обнаружился ещё такой момент :
http://foobar2000.ru/forum/viewtopic.php?p=62341#p62341
Можно просто заменить скрипт (только скрипт) :
http://pccar.ru/showpost.php?p=371437&postcount=2761
Проявляется на Win XP , но советую обновить - минутное дело (настройки сбрасывать не нужно)
Стас, немного упустил момент...
Если щас скачать 14.1 версию, в ней все равно надо заменить скрипт или там уже с "новым" идёт?
seriousstas
22.10.2016, 22:26
Стас, немного упустил момент...
Если щас скачать 14.1 версию, в ней все равно надо заменить скрипт или там уже с "новым" идёт?
С новым, но он еще в процессе доработки .. есть некоторые идеи ..
seriousstas
22.10.2016, 23:57
duzzy
Так же и компонент UI Hacks забанили
как тут работает бан ? обновился до 13-ки - пока норм ..
seriousstas
:) Это не программный бан, это исключение из белого списка плагинов (http://www.foobar2000.org/components).
По сути это просто троллинг автора/разработчика плагина который использует запрещенные Петром методы кодинга. А плагин UI Hacks это сплошной запрет, почти все методы использованные в плагине под запретом, так решил хозяин фубара Петр.
А еще бесит что почти у всех плагинов нет нормального описания, для чего сделан как пользоваться и т.д.
И еще))), плагинов тма тмущая, а толковых можно по пальцам сощитать... как например МПС. Автор делал полезную штуку, захват панелей для их управления, а головой подумать забыл что можно взять и собрать свой плагин вместе с JScript Panel...
kgena_ua
23.10.2016, 10:40
как работает эта хрень с запятыми ,,|,, я так и не понял, если добавить свой символ лого не показывает...
немного разобрался, для себя.
$replace(строка , меняем это , на это, меняем это , на это , и.т.д)
тут у меня на скрине (слева) в первой строке исходная строка,
ниже после $replace (скрипт справа).
Я бы добавил дополнительную панель (panel stack splitter) для теста, вставл бы скрипт
$font(Arial, 12,)
$drawstring(
$replace(%title%,*,,|,,\,,:,,",,<,,>,,?,,/,)
,30,30,,,250-255-200,)
и смотреть, что выдает replace, совпадает ли это с именем файла.
Еще можно добавить, сколько символов в полученной строке - а вдруг где-то лишний пробел...
$puts(p,%title%)
$puts(r,$replace(%title%,*,,|,,\,,:,,",,<,,>,,?,,/,))
$drawstring(
$get(p)
$crlf()
$len($get(p))
,30,30,,,250-255-200,)
kgena_ua
Спасибо за подсказку :)
Метод получения проще чем хеш, но к сожалению работает как то странно, например вот...
/mdl_128 --- это Медляк ФМ от Рекорда, медляки гоняют :)
mdl_128.jpg --- файл с таким именем, должна быть замена по вхождению, а ее нет... и лого в плейлисте нет
http://jpegshare.net/thumbs/c3/a9/c3a907a9b858873926e41b60b2b0c36f.jpg (http://jpegshare.net/c3/a9/c3a907a9b858873926e41b60b2b0c36f.png.html)
так же загадка
Noise FM - It's Your Lifestyle | 128 kbps MP3 --- название из плейлиста
Noise FM - It's Your Lifestyle 128 kbps MP3 --- название файла
результат, лого нет...
Вчера пытался отловить закономерность процесса по %title% так и не понял в чем проблема, похоже на то что фубар показывает не полное название... хотя с другой стороны работать должно ведь %title% совпадает с названием файла. Печально то что этот метод работает на большинстве станций, а малая часть не отображается...
С методом через хеш показывает все станции без проблем.
------------------------------------------------------
Фубар обновился до 1.3.13 (http://www.foobar2000.org/download) кто хочет можно и обновится.
kgena_ua
23.10.2016, 12:44
duzzy,
а можно посмотреть Вашу строку с $replace(%title%,........
Noise FM - It's Your Lifestyle | 128 kbps MP3 --- название из плейлиста
Noise FM - It's Your Lifestyle 128 kbps MP3 --- название файла
В первой строке $replace() заменяет | на пустышку и получается между словами Lifestyle и 128 два пробела, а в имени файла один пробел.
может быть
$replace($replace($get(p),*,++++++++,|,,\,,:,,",,<,,>,,?,,/,,), , ,)
kgena_ua
Да конечно, вот она... брал с фубар.ру
B:\stream_logo\$replace(%title%,*,,|,,\,,:,,",,<,,>,,?,,/,).*
kgena_ua
23.10.2016, 12:59
kgena_ua
Да конечно, вот она... брал с фубар.ру
B:\stream_logo\$replace(%title%,*,,|,,\,,:,,",,<,,>,,?,,/,).*
вообще-то после
,,/,
должно быть две запяиые
,,:,,",,<,,>,,?,,/,,).*
хотя и так работает......
kgena_ua
Уже поставил эффект тот же...
Вот те плейлисты (https://yadi.sk/d/r7TUOoECxRFGX) что сейчас гоняю в фубаре на предмет показа лого.
Странно то что при методе поиска через хеш все показывает замечательно, а с реплейсом не работает...
Возможно я конечно что то делаю не так, для меня эта скриптовая форма(синтаксис) из PSS всегда была пыткой :)
kgena_ua
23.10.2016, 13:11
а если скопировать из Properties и переименовать файл
kgena_ua
а если скопировать из Properties и переименовать файл
Я так многие лого и правил их названия, из Properties копирую, вставляю при переименовании, если есть запрещенные символы идет звук "блям" из винды, поле переименования очищается от запрещенных символов и сохраняю.
Еще иногда было так, название из Properties идентичное с названием файла, делаешь копипаст из Properties в название файла сохраняешь файл и лого показывается в плейлисте.
kgena_ua
23.10.2016, 13:23
duzzy, а какой плейлист, в архиве два
Вот как мая кошка умудряется наступать на кнопку питания, когда слазит с системника. Четыре раза за сегодня....
Да, Онлайн - радио Россия.fpl
kgena_ua
Вот этот Онлайн - радио Россия.fpl, в нем станции на которых лого не показываются сейчас набью названия здесь...
/mdl_128
/gop_128
/keks128 --- мертвая ссылка
RADIO UNITON: 192k --- мертвая ссылка
/MayakFM/mp3_128kbps --- мертвая ссылка
Noise FM - It's Your Lifestyle | 128 kbps MP3
kgena_ua
23.10.2016, 13:43
Все, приехали, никогда такого не было.
Foobar накрылся....
duzzy, у меня какая-то фигня, поставил новый плеер - работает. Добавляю плейлист Онлайн - радио Россия.fpl - работает.
Выключаю. Запускаю - запускается через несколько минут.
Висит на плейлисте (программа не отвечает). Затем попускает.....
Не знаю, duzzy, плеер не отвечает. Закрываю. Запускаю (безопасный режим). Все плейлисты переключаются. Только выбираю Онлайн - радио Россия - все, программа не отвечает
Проверил на других сборках - не моих. Виснет.
kgena_ua
Все, приехали, никогда такого не было.
Foobar накрылся....
Не понял... что произошло ?
у меня какая-то фигня, поставил новый плеер - работает. Добавляю плейлист Онлайн - радио Россия.fpl - работает.
Выключаю. Запускаю - запускается через несколько минут.
Плеер стартует но с большой задержкой, т.е. интерфейс висит но недоступен, так ?
Я эту хрень заметил день назад, включаю радио и привет... сборка запустилась но ничего не работает несколько секунд, затем начинает работать кнопки плейлист и т.д.
Пытался на видео Стасу показать что за хрень, но толком показать не получилось. Но на видео четко видно разницу при запуске сборки. Вот смотри Видосик (https://drive.google.com/file/d/0B60qIBsIiUkgVWU2NUh6aVNJa0k/view?usp=sharing)...
(на звук в видео не обращай внимания он настроен не правильно, комп для работы я на нем музыку не слушаю, только скрипты и по работе)
И вообще заметил что теперь в каждой новой версии фубара багов все больше и больше. Очень похоже на то что Петя преднамеренно косячит ПС версию фубара для того чтоб перегнать пользователей на мобильную версию фубара (http://mobile.foobar2000.com/). А мобильная версия бесплатная и платная))).
Причем заметь установить ее можно только начиная с Вин 10.
Я все понимаю денег надо поднять и все такое, но зачем портить ПС версию.
seriousstas
24.10.2016, 02:47
Привет Друзья ! :)
по 1.3.13 . Перенёс dll-ки и ехе_шку - ошибка (вылет) .
Обновил ещё components - всё запело.
Запуск через B: или через прямой путь .
Первый запуск - была разница (подтормаживало) . Но тут-же устаканилось и через B:
работает быстро . Повторить не смог .
По логотипам - смотрим видео от Зареми :
Video to debug.
https://www.dropbox.com/s/kixnrgnfa4e8cho/bandicam 2016-10-22 19-33-28-177.avi?dl=0
Так и не понял из видео, как он фильтрует только картинки в процессах , поэтому создал доп ,такой :
.*
точнее такие параметры фильтра : "Path" "contain" ".*" - без кавычек
и сразу видно , на что нужно поменять название ,нет необходимости в :
Я бы добавил дополнительную панель (panel stack splitter) для теста, вставил бы скрипт
seriousstas
24.10.2016, 06:24
Ну и все решилось (теперь Ура!) :
http://foobar2000.ru/forum/viewtopic.php?p=62434#p62434
duzzy
kgena_ua
Спасибо !
Будет время попробую сделать обход ошибки при вызове, в плагине ДСП меню... просто сложновато пока разобраться что к чему.Это меню вообще делает очень неправильные вещи с точки зрения фубара чисто технически (что-то там с модальными окнами, спустя шесть лет не помню). Естественно, ни фубар, ни остальные плагины подвохов этого меню не ожидают. Когда я этот адаптер разрабатывал, то мне нудобно было каждый раз в настройки лазить, и я решил добавить настройку в меню, а в процессе добавления понял, что могу сделать общий механизм для всех активных DSP. Из релиза я эту фичу убрать забыл, и теперь народ пытается ею пользоваться)
Привет Yegor.
Извини что влез в твой код была необходимость.
Я с С незнаком вообще, только скрипты JS и то на уровне школьника))).(с визуал студией на уровне добавить проект и собрать)
Понимаю что меню делает не правильные вещи с точки зрения фубара, но уж очень оно удобно для использования в авто-сборке.
Мог бы ты помочь если тебе не сложно хотя бы поставить обход ошибки при вызове из цепочки дсп ?
Делал сборку плагина методом научного тыка, долго думал как взять из исходника только меню, и потом до меня дошло что в СДК фубара есть пример плагина который можно собрать. Добавил в пример плагина из исходника menu.cpp, удалил лишнее из примера и попробовал собрать, в итоге получилось сделать только отдельное меню.
seriousstas
Молоток :)
Смотрю ты все же добил эти картинки)))
Как работает, все показывает или есть исключения ?
Бяка все же есть, этот символ в названии '
NoiseFM-It'sYourLifestyle128kbpsMP3
seriousstas
24.10.2016, 16:26
seriousstas
Молоток :)
Смотрю ты все же добил эти картинки)))
Как работает, все показывает или есть исключения ?
Бяка все же есть, этот символ в названии '
NoiseFM-It'sYourLifestyle128kbpsMP3
это общими усилиями!
а с символом ' проблем нет, тут NoiseFM-It'sYourLifestyle128kbpsMP3
нужно убрать тире: NoiseFMIt'sYourLifestyle128kbpsMP3
или (https://noisefm.ru/play.m3u) NoiseFMIt'sYourLifestyle256kbpsMP3
единственное, если в названии есть ****. *** или * их нужно заменить на иксы xxx xx x,
например (сунул в код - форум пробелы добавляет):
x187xCosmicRadioChilloutAmbientPsyDowntempoTrance! !
xRADIOWATERPOLINTERNATIONALxxxxHITSUITDEJAREN6070x xx
Как работает, все показывает или есть исключения ?
пока не заметил все картинки вижу .
Мог бы ты помочь если тебе не сложно хотя бы поставить обход ошибки при вызове из цепочки дсп ?А где проблема наиболее полно описана? Можно какой-нибудь summary, чтобы по форуму не лазить?
Yegor
Я могу в принципе почти полно описать. И прикрепить краш лог.
Суть такая есть плагины на которых вылета фубара нет, например:
-Ресамплеры Sox и Sox(mod)
-Matrix Mixer
-Free Surround
-Real Bass Exiter
-Surround Pan
На этих плагинах идет вылет(фубар падает)
-Channel mixer
-Equalizer(родной фубара)
Я пытаюсь вызывать как из меню так и из JS скрипта командой...
fb.RunMainMenuCommand("View/DSP/DSP #1 config");
результат один и тот же фубар падает, если нужна еще инфа скажи.
Краш дамп со сборки если нужен с чистого фубара сейчас сделаю.
Вот краш дамп (https://yadi.sk/d/S8SbR25exWcvS) на плагине Channel mixer.
Краш дамп (https://yadi.sk/d/m2gqqPEuxWhkY) с чистого фубара 1.3.13 DUI на родном эквалайзере.
На сколько я понял он пытается открыть окно настроек плагина из цепочки ДСП, но что-то идет не так и фубар падает...
Мои попытки поставить обход ни к чему не привели, потому как исходники на С видел только несколько раз, а JS хоть и похож читать код можно, но понять где находится процедура вызова тяжко :)
Странно то что код примера меню ДСП есть в СДК фубара, но автор и хозяин наверно решил оставить его просто примером. Хотя это очень удобная фича потому как не нужно лезть в настройки, а достаточно просто вызвать нужный плагин из меню, или например из JS скрипта кнопкой.
seriousstas
нужно убрать тире: NoiseFMIt'sYourLifestyle128kbpsMP3
Да так воркает зараза :)
Только что проверил свои древние станции))) от McWeb и все фурычит как нужно.
http://jpegshare.net/thumbs/ee/1a/ee1a15ccd95c65ff9728272a4efd0d43.jpg (http://jpegshare.net/ee/1a/ee1a15ccd95c65ff9728272a4efd0d43.png.html)
С Х-ми только не совсем понял что нужно делать... это когда пробелов много или другой символ заменить нужно на Х ?
seriousstas
25.10.2016, 16:10
seriousstas
С Х-ми только не совсем понял что нужно делать... это когда пробелов много или другой символ заменить нужно на Х ?
Правило переименования проще простого :
1. Убрать пробелы.
2. Убрать тире.
3. Убрать символы: < > : " / \ |, ?
4. Если есть звезды (редко , но бывают), заменить на иксы:
пример :
*RADIO WATERPOL INTERNATIONAL* -*** HITS UIT DE JAREN 60 -70 ***
название файла должно быть таким :
xRADIOWATERPOLINTERNATIONALxxxxHITSUITDEJAREN6070x xx.png
seriousstas
25.10.2016, 16:13
тк замена для * не работает можно её убрать :
B:\stream_logo\Radio Logos Best\$replace(%title%,<,,>,,:,,",,/,,\,,|,,?,,-,, ,).*
duzzy
По реплейсу можно и без иф($if)...
B:\stream_logo\$replace(%title%,*,,|,,\,,:,,",,<,, >,,?,,/,).*
получается так берем (%тайтл%, ищем в названии *,,|,,\,,:,,",,<,,>,,?,,/, затем меняем на пустоту)
В этот и была загвоздка - добавлялся второй пробел - картинка не отображалась ..
И условие думаю всё-же нужно .
Будет :
$if(%length%,,B:\stream_logo\Radio Logos Best\$replace(%title%,<,,>,,:,,",,/,,\,,|,,?,,-,, ,).*)
проверка стрим или треки . Условие такое : если не треки - делает реплейс .
Похоже я понимаю от чего этот затуп, видимо скрипт плейлиста перечитывает теги на старте ресайзе и т.д. отсюда задержка со ступором пока ответ получит от сервака.
Тогда это точно не связано с (виртуальной) буквой диска. По Твоему видео (http://pccar.ru/showpost.php?p=372198&postcount=2799) сложно что-то сказать . Сними видео на 20 сек , где со строкой и без -тогда все станет ясно ..
Еще заметил - есть (редко) станции, которые долго или криво грузятся в буфер, тогда плеер замирает ,
и в процессе работы тоже , например у меня эта
Left Coast 70s: Mellow album rock from the Seventies. Yacht friendly. [SomaFM]
Может дело в таких станциях а не с буквах ? Думаю их просто нужно выбросить из плейлиста ..
seriousstas
Намучился я с этими картинками)))
Вроде более менее сделал как хотел в скрипте Макса :)
У меня еще одна проблема была, не понятно почему некоторые обложки не показывал скрипт, почему я так и не понял.
Решил сделать по другому, забрал кусок кода от Бретта по показу обложек с блюром и пристроил его в скрипт Макса))) теперь все гуд.
А без no cover radio я обойдусь, мне важнее чтобы показывало все обложки какие есть, ну и плюсом получил отображение радио лого :).
Хотел с тебя скатать))) но немного потрейсив понял что при подсосе обложек в on_paint() есть проблемы, бесконечная отрисовка обложки и No cover при таком варианте...
img = get_album_art(fb.GetNowPlaying());
У Бретта захват картинки сделан по другому и получается только одноразовая обработка картинки. Теперь когда радио играет и работает скрипт обложек нагрузка почти 0 %.
А еще убрал опрос файла настроек из скрипта Макса, перенес в Properties переменные. Смысла читать их из файла нет.
В этот и была загвоздка - добавлялся второй пробел - картинка не отображалась ..
И условие думаю всё-же нужно .
Да ты прав условие нужно, разница есть при загрузке... скрипты с графикой начинают при старте искать по паттерну обложки.
Тогда это точно не связано с (виртуальной) буквой диска. По Твоему видео сложно что-то сказать . Сними видео на 20 сек , где со строкой и без .
тогда все станет ясно ..
В видосе видно затуп просто сборка другая поэтому сложно сразу увидеть :) плейлиста на старте не видно, только морда вместо него)))
Мы вчера с Геной эксперименты ставили на радио, я ему отправил эти плейлисты от McWeb... Онлайн - радио Россия.fpl не понятно по какой причине но он почти на всех станциях загоняет в тупик фубар отсюда и затуп на старте...
Виртуальный диск не причем, это я с горяча подумал что причина в нем :).
------------------------------
Еще переделал скрипты Coverflow, Библиотеку Вилба на один тычек пальцем(отключаемая опция) :)
Почищу код и на днях наверно выложу свой "шедевр")))
Хотел тебя попросить, если не сложно кинь пару тройку плейлистов радио с картинками(можно не переделанными).
seriousstas
25.10.2016, 18:25
Хотел с тебя скатать))) но немного потрейсив понял что при подсосе обложек в on_paint() есть проблемы, бесконечная отрисовка обложки и No cover при таком варианте...
img = get_album_art(fb.GetNowPlaying());
Не трейсил - тк не замечал доп нагрузки , а так интересен Твой гибрид с Бреттом :)
Я сегодня утром по переключению уже кое-что поправил в Максовском .. (можно и img = get_album.. в условие сунуть .., нужно подумать ) :
img = get_album_art(fb.GetNowPlaying());
if(img != null ){
img = img.CreateRawBitmap();
Cover.CoverX = x;
Cover.CoverY = y;
var size = calc_img_size(img);
gr.GdiDrawBitmap( img, size.x, size.y, size.width, size.height, size.cx, size.cy, size.cwidth, size.cheight );
}else
if(no_cover_on){
if( img == null && fb.PlaybackLength > 0){
img = no_cover_image;
img = img.CreateRawBitmap();
Cover.CoverX = x;
Cover.CoverY = y;
var size = calc_img_size(img);
gr.GdiDrawBitmap( img, size.x, size.y, size.width, size.height, size.cx, size.cy, size.cwidth, size.cheight );
};
if(fb.PlaybackLength <= 0 && img == null ){
img = no_cover_radio_image;
img = img.CreateRawBitmap();
Cover.CoverX = x;
Cover.CoverY = y;
var size = calc_img_size(img);
gr.GdiDrawBitmap( img, size.x, size.y, size.width, size.height, size.cx, size.cy, size.cwidth, size.cheight );
};
и сделал Био от Гены через on_item_focus_change() .
Теперь всё супер ! (позже сниму видео)
Хотел тебя попросить, если не сложно кинь пару тройку плейлистов радио с картинками(можно не переделанными).
Есть только бест Анархиста из его сборки .. остальное в хеше (из моей сборки :) ), не-было времени заняться ..
Доля правды в том, что-б не загружать сотни станций есть - слушаем в итоге пару тройку..
на один тычек пальцем
:good1:
перенес в Properties переменные. Смысла читать их из файла нет.
Тоже не понял зачем он так заморочился .. Но чтение , что там , что там,
только из разных мест .. померять быстрее из Properties или нет не знаю как ..
Почищу код и на днях наверно выложу свой "шедевр")))
Давай!
seriousstas
Там как то странно у Макса сделано по поиску картинок, разбираться просто лень))) вот я и решил по простому варианту пойти:)
и сделал Био от Гены через on_item_focus_change() .
А в чем там был затык ?
остальное в хеше (из моей сборки ), не-было времени заняться ..
Ну тогда я у тебя из сборки тисну если ты не против :)
--------------------------------
Я тоже чуть позже видос сделаю покажу как и что выглядит.
seriousstas
25.10.2016, 23:25
А в чем там был затык ?
Было всё прописано в get_pic()
1 При "подсосе" промаргивала "ноу кавер" - не нравилось .
2 Выводило не все картинки . Связано с обновлением тегом ,
некоторые станции ведь без тегов вообще и при переключении не-было
перерисовки ..
Ну тогда я у тебя из сборки тисну если ты не против
Бери конечно , мне лень снова переименовывать - может часть переназову ..
seriousstas
Тоже не понял зачем он так заморочился .. Но чтение , что там , что там,
только из разных мест .. померять быстрее из Properties или нет не знаю как ..
В принципе можно померить время, но я пока с одной функцией не разбирался вообще... fb.CreateProfiler().
Но чисто теоретически думаю что из Properties читает быстрее потому как эти настройки находятся уже в открытом состоянии, а на диск нужен доступ потом чтение из файла и преобразование т.е. по идее должно занимать больше время :)
Было всё прописано в get_pic()
Моргалки не нужны это бяка )))
Я себе чтение тегов сунул в... on_playback_dynamic_info_track(), для инет радио.
Бери конечно , мне лень снова переименовывать - может часть переназову ..
Спасибо ;) Уже стырил)))
------------------------------------------------------------------------------------
Вот как и говорил Видос (https://drive.google.com/file/d/0B60qIBsIiUkgejI2WENmcTVfT28/view?usp=sharing) почти готовой сборки)))...
(Видос долгий так как много всего нужно показывать :))
Задумка была сделать простую сборку в несколько рабочих панелей, но как обычно все что с виду простое внутри оказывается весьма сложным :)
Почти все важные настройки вынесены в отдельные панели настроек JS и MПС.
Ушла куча время на подгон, настройки и переделки некоторых моментов. Все скрипты вынесены в секцию импорта для удобства редактирования сторонним редактором.
Плейлист, библиотека, CoverFlow --- имеют отключаемую функцию проигрывания трека в одно касание.
Прикольная цветовая фича выбора рандомного цвета на нижней панели(опция отключаемая, и имеет функцию приглушения цвета(более темные тона)).
Много всего сделано, в видосе думаю заметишь, текстом позже опишу :)
seriousstas
26.10.2016, 04:21
Я себе чтение тегов сунул в... on_playback_dynamic_info_track(), для инет радио.
В БИО - это то-же самое :
function on_playback_dynamic_info_track() {
on_item_focus_change();
}
по
бесконечная отрисовка обложки
Думаю достаточно будет :
if (metadb) {img = get_album_art(fb.GetNowPlaying());}
Много всего сделано, в видосе думаю заметишь
просмотрел часть (работа немалая!) - пощупаю , когда выложишь ..
seriousstas
Вот как и говорил Видос (https://drive.google.com/file/d/0B60qIBsIiUkgejI2WENmcTVfT28/view?usp=sharing) почти готовой сборки)))...
(Видос долгий так как много всего нужно показывать :))
Выглядит неплохо, на мою под windows 10 похоже, жду готовый вариант !!
seriousstas
26.10.2016, 15:53
на мою под windows 10 похоже
duzzy выше где-то писал , что делал по твоему дизайну ..
seriousstas
Думаю достаточно будет :
if (metadb) {img = get_album_art(fb.GetNowPlaying());}
Надо трейсом попробовать что будет :)
if (metadb) {
img = get_album_art(fb.GetNowPlaying());
fb.trace("БЕРЕМ КАРТИНКУ")
}
просмотрел часть (работа немалая!) - пощупаю , когда выложишь ..
Спасибо :)
Но я все больше осознаю что мог сделать и больше но знаний не хватает, есть просто общее представление... вот в этом и проблема.
Есть одна беда и я не знаю как ее решить, переинициализация объекта из массива...
Нужно для того чтоб не делать общий вызов recalc_dimensions(); это очень затратно по ресурсам.
Например для обновления одной из кнопок(глифа на кнопке, состояния кнопки и т.д.).
Отдельно нарисовать кнопку могу, отдельно перерисовать кнопку могу, но блин не понимаю как сделать вызов отдельной кнопки из массива чтобы ее обновить)))
--------------------------------------------------------------------------------------
Lexins
Выглядит неплохо, на мою под windows 10 похоже, жду готовый вариант !!
Дизайн был чесно тиснут с твоей сборки :)
Один человечек попросил сделать без графики простую сборку, думал сначала что сам пользоваться не буду, но как видишь проект продолжается и уже оброс многими полезными фичами.
seriousstas
26.10.2016, 19:19
Есть одна беда и я не знаю как ее решить, переинициализация объекта из массива...
Мне не очень подходит , тк иконки кнопок взаимозаисимы ,
но вопросом задавался ..
seriousstas
Это я так мысли в слух :)
Иногда бывает нужно для активных кнопок, как например кнопка громкости и приходится делать общий вызов recalc... а можно если знать как только одну кнопку:)
А у меня когда цвет глифов меняешь в МПС))) 30% проц, но тут нужно все глифы обновить.
В JS по нотифай работает по другому, нагрузка меньше.
--------------------------------------
Сегодня ближе к ночи выложу сборку если все будет пучком :)
seriousstas
26.10.2016, 23:58
Скрипт Макса :
Opening track for playback: "http://radiocyclone.com:8005/;stream.nsv"
БЕРЕМ КАРТИНКУ
Opening track for playback: "http://air.radiorecord.ru:8102/mdl_320"
БЕРЕМ КАРТИНКУ
duzzy
Надо трейсом попробовать что будет
походу все хорошо ...
Но я все больше осознаю что мог сделать и больше но знаний не хватает
Знаешь в чем прикол ? Когда реализуешь ,всё ,что осознал -
сознание подкинет новые "осознания") Проверено ..
seriousstas
Смотри это самый простой вариант посмотреть(trace), просто в вызов пишем трейс и смотрим в консоль что будет...
например твой вывод:
Opening track for playback: "http://radiocyclone.com:8005/;stream.nsv"
БЕРЕМ КАРТИНКУ
Opening track for playback: "http://air.radiorecord.ru:8102/mdl_320"
БЕРЕМ КАРТИНКУ
Это хорошо, потому как это одиночный вызов... другими словами все гуд)))
например такой вывод в консоли:
БЕРЕМ КАРТИНКУ
БЕРЕМ КАРТИНКУ
БЕРЕМ КАРТИНКУ
БЕРЕМ КАРТИНКУ
БЕРЕМ КАРТИНКУ
БЕРЕМ КАРТИНКУ
БЕРЕМ КАРТИНКУ
БЕРЕМ КАРТИНКУ
БЕРЕМ КАРТИНКУ
БЕРЕМ КАРТИНКУ
... и т.д.
Это уже очень хреново потому как идет постоянное обращение... это не сильно страшно в этой ситуации(скрипт Макса) но будет хавать ресурсы проца.
Знаешь в чем прикол ? Когда реализуешь ,всё ,что осознал -
сознание подкинет новые "осознания") Проверено ..
Классно сказал, понравилось :)...
В этом наверно и есть прикол нашей темной головы... тяга к неизведанному и запрещенному))).
-------------------------------
По сборке, я сегодня опять с библиотекой воевал)))
Проглядел один серьезный момент, при повторном добавлении(add) папок добавляются первый раз выбранные папки вместе с новыми... они при add в массиве остаются не сбрасываются на 0, а продолжают там множится, и при каждом новом добавлении получаешь кучу папок вместе с только что выбранными... хрень.
Вроде сделал как нужно надо немного погонять, сегодня уже не выложу сборку из за этого косяка с библиотекой... Завтра проверю свежим глазом и если все нормально с библиотекой выложу... остальные скрипты вроде работают как нужно(сегодня почти все проверил:smile2:).
seriousstas
27.10.2016, 17:04
с библиотекой воевал
Версия 0.8 или 1.1 ? Запустил 1.1 - при сворачивании по All Music - список пропал . Дальше не пробовал ..
Версия 0.8 или 1.1 ? Запустил 1.1 - при сворачивании по All Music - список пропал . Дальше не пробовал ..
0.8 версия, а дальше уже бред пошел:be: с добавлением ненужного функционала...
В 0.8 тоже бреда хватает, слишком усложненный код с кучей конструкторов перетекающих из одного в другой.
Вилб тоже любитель сокращать названия переменных :big: до состояния когда не понятно к чему она относится.
Как он сам в этом не запутался не понятно. Мне пришлось маркерами пользоваться на полях, комментариями и писюлями в блокноте)))
Вьетнамец все же был прав в своей простоте(я про его библиотеку).
-берет библиотеку
-выстраивает список
-рисует
--- мышиные и кнопочные дела)))
Будет время гляну последнюю вьетнамскую версию на предмет использования в карпс.
seriousstas
28.10.2016, 01:00
Проглядел один серьезный момент, при повторном добавлении(add) папок добавляются первый раз выбранные папки вместе с новыми.
Я могу это подтвердить , тк сталкивался ранее (когда впервые тестил Вильба), но может есть какие условия,как повторить ?
Мучал и так и сяк не могу вызвать проблему в своей сборке .. Мож и от версии JP
зависит . Попробуй воспроизвести в 4icar.
Сборочка FLAT :)
http://jpegshare.net/thumbs/fb/97/fb9705af8da3ece8552b86d0251183a9.jpg (http://jpegshare.net/fb/97/fb9705af8da3ece8552b86d0251183a9.png.html) http://jpegshare.net/thumbs/fb/21/fb2189225f3e987c55dcf8c38ec7f00e.jpg (http://jpegshare.net/fb/21/fb2189225f3e987c55dcf8c38ec7f00e.png.html) http://jpegshare.net/thumbs/e1/6f/e16f50d6f5fe4204fd93c2680ccb63f7.jpg (http://jpegshare.net/e1/6f/e16f50d6f5fe4204fd93c2680ccb63f7.png.html)
http://jpegshare.net/thumbs/7b/32/7b32bea809b3cac2e22ed57d0d3ac494.jpg (http://jpegshare.net/7b/32/7b32bea809b3cac2e22ed57d0d3ac494.png.html) http://jpegshare.net/thumbs/ad/64/ad64589ab02a3c636be668f71a7af654.jpg (http://jpegshare.net/ad/64/ad64589ab02a3c636be668f71a7af654.png.html) http://jpegshare.net/thumbs/64/68/6468a1d1cf6f3bedcc9c219629d11698.jpg (http://jpegshare.net/64/68/6468a1d1cf6f3bedcc9c219629d11698.png.html)
Сборка простая, ориентирована на обычное прослушивание треков и готова сразу к использованию.
Основные скрипты для работы с треками подготовлены для проигрывание трека в одно нажатие.
Так же возможно прослушивание инет-радио с отображением лого в плейлисте и панели CoverFlow.
В сборку добавлены плейлисты инет-радио и логотипы к ним... Спасибо за них большое seriousstas :smile2:
Почти все важные настройки вынесены в отдельные панели настроек MPS и JS(пояснение по кнопкам в папке themes сборки).
Скрипты вынесены в секцию импорта, для удобства редактирования(сторонним редактором) и возможной последующей заменой.
Сборка поставляется как есть, это значит что правится будут только ошибки в скриптах. При возможных последующих обновлениях заменятся будут только скрипты, всю сборку менять не нужно достаточно просто сбросить настройки той панели где был обновлен скрипт.
Скрипты сжаты для ускорения загрузки так что если вы не знаете как развернуть их обратно(в удобоваримое состояние) лучше не трогать.
В том случае если не работает добавление треков в плейлист из библиотеки нужно узнать класс окна библиотеки программкой из Автоита или Автохоткея типо WindowSpy(info) и прописать в файл настроек ...FLAT\settings\settings.ini
(то что необходимо менять выделил красным
программки Au3Info от Автоита в сборке в папке FLAT\settings\...(не знаю будут они отдельно работать или нет))
класс окна плейлиста
[playlist_class]
playlist_class=uie_jscript_panel_class3
класс окна библиотеки
[library_class]
library_class=uie_jscript_panel_class4
Большое СПАСИБО Всем тем кто помогал в разработке, тестировании сборки, скриптов и морально поддерживал.
Скачать (https://yadi.sk/d/W8t3IZx8xicHm)
...
Я могу это подтвердить , тк сталкивался ранее (когда впервые тестил Вильба), но может есть какие условия,как повторить ?
Мучал и так и сяк не могу вызвать проблему в своей сборке .. Мож и от версии JP
зависит . Попробуй воспроизвести в 4icar.
Сам пока не совсем догоняю почему так происходит :)...
У меня просто модифицировано для добавления в активный плейлист, проявляется эта муть не всегда... поймать можно при отмене выделения по ctrl и добавлении в плейлист...
Завтра т.е. уже сегодня попробую полностью с этой фигней разобраться.
seriousstas
28.10.2016, 17:52
Сам пока не совсем догоняю почему так происходит :)...
У меня просто модифицировано для добавления в активный плейлист, проявляется эта муть не всегда... поймать можно при отмене выделения по ctrl и добавлении в плейлист...
Завтра т.е. уже сегодня попробую полностью с этой фигней разобраться.
помнится раздражала эта штука , и это был ещё один + вьетнамцу,
но вот сейчас не могу повторить (хоть с CTRL хот без, добавляется ровно столько, сколько выделил) ,само пропало ..
seriousstas
28.10.2016, 18:05
// @name "Biography Text && Picture. www.last.fm __ 4CarMod"
// @author "kgena_ua"
Архив обновлен (http://pccar.ru/showpost.php?p=371437&postcount=2761) . Отладил переключение между :
1. Обложка из папок 2. Картинки из и-нета 3. Заставки "Без обложки" и "Без обложки Радио".
Пример (https://www.youtube.com/watch?v=RiZWKJdpyb4) Авто - переключения (при отсутствии картинок Артиста)
Скрипты сжаты для ускорения загрузки так что если вы не знаете как
развернуть их обратно(в удобоваримое состояние) лучше не трогать.
Критично-ли то, что я заменил скрипт DSP скриптом обложек от kgena_ua ?
DSP не пользуюсь, а при прослушивании инет радио удобней сразу видеть и
картинки и названия трека-исполнителя крупно. Какой программой скрипт
сжимается-разжимается ?
И как поменять цвет ON AIR с красного на нейтральный ?
помнится раздражала эта штука , и это был ещё один + вьетнамцу,
но вот сейчас не могу повторить (хоть с CTRL хот без, добавляется ровно столько, сколько выделил) ,само пропало ..
Раньше я просто не замечал этой хрени :smile1:
Есть мысли что это фубар что-то косячит... но это только догадки...
Я пока временно решил эту проблему снятием выделения после отправки треков в плейлист по ADD. Нужно еще погонять и посмотреть будут ли проблемы.
но вот сейчас не могу повторить
смотри немного не так... в твоей версии библиотеки немного не так работает добавление(ADD) если ты сам ее не переделывал, у меня изменен порядок добавления(ADD) треков/папок... не отправки(SEND) а добавления(ADD)... т.е. в своей версии я могу отправлять треки в любой выбранный(активный) плейлист...
косяк появлялся так...
идем в библиотеку отправляем любую папку/трек в плейлист, затем выбираем дугой плейлист, идем в библиотеку жмем Ctrl отменяем прошлое выделение, затем выделяем новые папки/треки и добавляем в выбранный плейлист :smile2:.
vladj
Критично-ли то, что я заменил скрипт DSP скриптом обложек от kgena_ua ?
Нет не критично...
Но скрипт обложек уже есть в сборке :) (скрипт обложек от Максима).
DSP не пользуюсь
Зря, как раз для инет-радио есть Нормализатор/компрессор(EBU R128) позволяющий уравнивать громкость.
Какой программой скрипт
сжимается-разжимается ?
редактор Notepad++
И как поменять цвет ON AIR с красного на нейтральный ?
перейти в панель настроек МПС и поменять нужные цвета :)
Почти все важные настройки вынесены в отдельные панели настроек MPS и JS(пояснение по кнопкам в папке themes сборки).http://jpegshare.net/thumbs/79/ad/79ad4af193ccbe50714633da109f4858.jpg (http://jpegshare.net/79/ad/79ad4af193ccbe50714633da109f4858.jpg.html)
для JS панелей также... переходим в панель настроек и меняем цвета и параметры пальцем...
Если не знаешь где панели то я ранее снимал Видос (https://drive.google.com/file/d/0B60qIBsIiUkgejI2WENmcTVfT28/view?usp=sharing) по настройкам и т.д.
Видос я сразу скачал как появился, цвета тоже поднастраивал, ща методом
тыка пощелкал и красная приблуда вообще пропала при прослушивании инет
радио, что и нужно было. Я в принципе и так знаю что слушаю.
Еще для себя сделал небольшое удобство, в кавер флов уменьшил высоту
спектрометров и присобачил сикбар. Стало удобно, кликаю по лого станции,
она начинает играть и сразу вижу кто и что...
http://jpegshare.net/thumbs/04/c2/04c2c7b681aab7ab27d3607a64b0fb3e.jpg (http://jpegshare.net/04/c2/04c2c7b681aab7ab27d3607a64b0fb3e.jpg.html)
vladj
Ну как говорится каждому свое :)
Я радио не слушаю, комп в авто для этого и ставил чтоб слушать что мне нравится а не то что по радио гоняют.
Оптимизация скриптов по радио в сборке(отображение лого в плейлисте и CoverFlow) только для для тех кто его слушает, упор был на обычное прослушивание треков без картинок из инета и био.
Изначально сборка делалась вообще пустой, так у меня просили сделать т.е. очень простой, плейлист, библиотека, обложки, и возможность старта с обложек(CoverFlow) все. А это уже модернизированный вариант для себя, я просто думал что пользоваться ей не буду, но потом заинтересовался идеей простоты и решил переделать на свой манер.
kgena_ua
28.10.2016, 22:09
Вопрос, наверное, к seriousstas и duzzy по плейлмсту на WSH.
Как там устроено. Как, например, отобразить выбранный альбом из библиотеки.
Можно-ли короткий пример (скрипт, без всяких скроллингов и украшательств).
Я смотрел скрипты на эту тему, но там так много строк :smile1:, мне нужен основной базис, а всякие фильтры, сортировки, группировки я сделаю, наверное.
vladj
Ну как говорится каждому свое :)
Спасибо большое за сборку, она отлично подойдет для планшета и компа
с большим мультитачем. На рабочем у меня в основных другая, на PSS.
И с твоего позволения еще пару вопросов (касается сборок и от seriousstas).
Отображение в плейлисте хорошо для сборок, разные артисты-треки. Меня
всегда напрягает показ артиста при прослушивании альбома. Трудно сделать
например так, что если не сборник, то артиста перед названием трека нет ?
И второе...радио очень много слушаю дома и на своей сборке все прекрасно,
спасибо kgena_ua помог. Слушаю с харда, в плейлисте все как положено,
шапки и под ними треки. Переключаюсь на радио и тут все в порядке, только
названия станций. Но на крайних скриптах плейлистов не названия станций,
а в две строки цифры, только если автоколлапс выключить кое-где видны
названия станций и тогда можно с одного тычка запускать.
Учитывайте, что это отнюдь не критика вашей работы, просто небольшое
недопонимание. Менять в этой сборке скрипт плейлиста рука не поднимается
из-за прекрасной работы на мультитачах имеющихся. В машине резистив, езжу
мало, пальцем не прокручивается, только краем ногтя потому там ранние ваши.
Еще раз спасибо за сборку.
Сборочка FLAT :)
...
Привет.
Не понял, как добавить папку с музыкой или хотя бы открыть настройки Foobar
seriousstas
29.10.2016, 00:33
Привет.
Не понял, как добавить папку с музыкой или хотя бы открыть настройки Foobar
Я открыл из трея . Preferences .
На настройки жми при зажатом контрол левом...
seriousstas
29.10.2016, 00:42
kgena_ua
Я только "Плавный плейлист" немного изучал..
Задача была изменить группировку по тегам, на - папками , но там ... ногу сломит .,
поэтому вначале задал значение строки вручную (пример) :
tf1 = fb.TitleFormat("$if2($if(%length%,%directoryname%,%path%),%album artist%)").EvalWithMetadb(this.rows[i].metadb);
и в отрисовку :
gr.gdiDrawText(tf1, gdi.Font(g_fname, g_fsize-1, g_fstyle), track_artist_color_text, tx-5, ay_2+2, tw-cColumns.track_time_part+115, ah_2, DT_LEFT | DT_VCENTER | DT_CALCRECT | DT_END_ELLIPSIS | DT_NOPREFIX);
Затем изменил группировку на : tf_groupkey: (switch_tf_groupkey) ? fb.TitleFormat("$directory_path(%path%) .......
А с индексами строк та ещё муть (надеюсь Вам удастся расшифровать) :
this.getOffsetFocusItem = function(fid) { // fixed!
var row_idx = 0;
if(fid > -1) {
if(ppt.showgroupheaders) {
// fid = no item dans la playlist (focus id)
// this.rows[] => albumId
// 1 . rech album id contenant le focus_id
g_focus_album_id = this.getAlbumIdfromTrackId(fid);
// 2. rech row id
for(i = 0; i < this.rows.length; i++) {
if(this.rows[i].type != 0 && this.rows[i].type != 99 && this.rows[i].albumId == g_focus_album_id) {
if(this.groups[g_focus_album_id].collapsed) {
row_idx = i;
}; else {
var albumTrackId = g_focus_id - this.groups[g_focus_album_id].start;
row_idx = i + this.groupHeaderRowHeight + albumTrackId;
};
break;
};
};
}; else {
// 1 . rech album id contenant le focus_id
g_focus_album_id = this.getAlbumIdfromTrackId(fid);
// 2. rech row id
for(i = 0; i < this.rows.length; i++) {
if(this.rows[i].type == 0 && this.rows[i].albumId == g_focus_album_id) {
var albumTrackId = g_focus_id - this.groups[g_focus_album_id].start;
row_idx = i + albumTrackId;
break;
};
};
};
};
return row_idx;
};
Надеюсь у duzzy больше инф-ции..
Я открыл из трея . Preferences .
Спасибо.
Lexins
Привет!
Жми Ctrl + шестеренка и попадешь в настройки.
В папке themes небольшая пояснялка по кнопкам(делал ночью без света так что извините за ошибки :))
--------------------------------------------------------------------------------------------
vladj
Пожалуйста :)
Я уже переделал CoverFlow)))...
http://jpegshare.net/thumbs/3f/c6/3fc6ef0be45d6c1585e4dd47b842ea9f.jpg (http://jpegshare.net/3f/c6/3fc6ef0be45d6c1585e4dd47b842ea9f.jpg.html)
если не сборник, то артиста перед названием трека нет ?
Надо смотреть, но могу сказать что в этом варианте(плавном скрипте плейлиста) очень говенно реализована сортировка треков... по простому не выйдет надо ковырять, а полностью переделывать механизм как у seriousstas не охота:)
Эта опция есть по дефолту в Пропертис но похоже она не работает. Будет время гляну что можно сделать. Сейчас меня библиотека мучает своими гемороями.
Но на крайних скриптах плейлистов не названия станций,
а в две строки цифры, только если автоколлапс выключить кое-где видны
названия станций и тогда можно с одного тычка запускать
Это тоже момент из сортировки... Автор скрипта Бретт делал его только для варианта Альбом-Артист, отсюда и сложности с отображением и сортировкой... у него нет паттернов по выбору пользователя т.е. это не настраиваемый вариант, все это нужно либо переделывать либо искать как добавить варианты, а это не так просто.
В машине резистив, езжу
мало, пальцем не прокручивается, только краем ногтя потому там ранние ваши.
Можно и в машине пользовать :), этот вариант уже объезженный на резистиве у меня.
Еще раз спасибо за сборку.
Пожалуйста !
Пользуйтесь на здоровье :)
kgena_ua
Лучше всего смотреть старые варианты плейлистов Бретта, там более внятно и видно что к чему.
Последние варианты очень мудрено сделаны, Бретт их просто клепает с незапамятных времен а мы то просто меняем концепцию использования :)
У него удобно сделано все функции читаемы и разбиты на блоки есть комментарии, и немаловажный плюс код оформлен по человечески заблудится сложно.
Можно-ли короткий пример (скрипт, без всяких скроллингов и украшательств).
Короткие еще не видел, и по сути это просто отображалка содержимого в плейлисте.
Т.е. нужно взять список треков(получить список треков из активного плейлиста) из плейлиста и ототбразить ее в JS панели.
plman.GetPlaylistName
var handle_list = plman.GetPlaylistItems(plman.PlayingPlaylist);
plman.SortByFormat
Тебе будет проще самому посмотреть методы в interfaces.txt чем я очень криво буду приводить примеры, так как знаком с ними только на уровне модификации :)
Плюс глянь ранние скрипты Бретта в них много полезной информации.
Вот нашел несколько скриптов (https://yadi.sk/d/eVov9yf4xmKRh).
seriousstas
29.10.2016, 01:26
в твоей версии библиотеки немного не так работает добавление(ADD) если ты сам ее не переделывал, у меня изменен порядок добавления(ADD) треков/папок... не отправки(SEND) а добавления(ADD)
пробую , что SEND, что ADD - работает только с Library view ... (главное без ошибок и глюков)
И мне хватает одного )
Если нужно больше ,можно переименовать имеющийся на Library view1 (есть ведь кнопка) и создать новый Library view(двойным кликом).
seriousstas
В варианте где отправка в один плейлист проблем нет, я его несколько дней долбил прежде чем в машину бросить.
В том то и дело что охота иметь возможность просто добавлять в любой выбранный плейлист :)
Сейчас вроде работает без проблем со снятием выделения после ADD, но я еще вариант придумал еще не пробовал, хочу просто изменить заданный плейлист на активный и посмотреть что будет)))
seriousstas
29.10.2016, 06:03
seriousstas
В варианте где отправка в один плейлист проблем нет, я его несколько дней долбил прежде чем в машину бросить.
В том то и дело что охота иметь возможность просто добавлять в любой выбранный плейлист :)
Сейчас вроде работает без проблем со снятием выделения после ADD, но я еще вариант придумал еще не пробовал, хочу просто изменить заданный плейлист на активный и посмотреть что будет)))
Проясни плиз почему 0.8 что ты выкладывал в 3 раза больше по строкам чем с его сайта ?
Это что спец версия под тач ? :)
Попробовал добавлять из 1.1 - там тоже странно добавляет , работает только " insert" и "send"
seriousstas
:) Это секретные ингридиенты)))
(шутка)
0.8 версия на Гидрогене была в сжатом виде, я ее развернул потом добавил крутилки для тача(это несколько строк кода), затем позже добавил код Бретта для отображения обложек с блюром он весьма объемный примерно 180 строк...
В сжатом виде его скрипт примерно в 580 строк не сжатый 3400 строк.
Попробовал добавлять из 1.1 - там тоже странно добавляет , работает только " insert" и "send"
Там тот же механизм отправки треков только немного добавлено(лишнего)... и он там наконец добавил вариант отправки в активный плейлист и назвал его "insert")))
Мне очень не понятно зачем было делать такую муть, смотри когда гуляешь по его варианту все папки по которым идешь добавляются в плейлист(как бы для просмотра)... зачем??? Можно же было сделать эту опцию отключаемой(у него просили это убрать на их форуме... он послал звезды считать)))).
Теперь еще в 1.1 добавилась бесполезная опция подсоса картинок из его скрипта био. Для чего в скрипте библиотеки картинки из нета не понятно... тогда можно еще добавить кнопки управления и т.д. менеджер-плейлистов и отображение плейлиста, в итоге можно будет пользоваться только скриптом библиотеки в одной панели)))
Настроек тьма но полезных из них можно по пальцам посчитать.
seriousstas
29.10.2016, 13:39
В сжатом виде его скрипт примерно в 580 строк не сжатый 3400 строк.
:blink2:
.......понял - у него просто ф-ции в одну строку . Он так пишет (сжимает))
Мне очень не понятно зачем было делать такую муть
Смотрю там на просьбы нет реакции, но я написал ..)
seriousstas
Это не обычный это сжатие :smile2:
Ты сможешь это редактировать...
var smoothness = 0.3439; this.count = -1; this.draw_timer = false; this.hover = false; this.s1 = 0; this.s2 = 0; this.scroll_step = window.GetProperty(" Scroll - Mouse Wheel: Page Scroll", true); this.smooth = window.GetProperty(" Scroll: Smooth Scroll", true); this.timer_but = false;
this.x; this.y; this.w; this.h; this.bar_ht = 0; this.but_h; this.bar_y = 0; this.row_count = 0; this.scroll = 0; this.delta = 0; this.ratio = 1; this.rows_drawn = 0; this.row_h; this.scrollbar_height = 0; this.scrollable_lines = 0; this.scrollbar_travel = 0;
this.b_is_dragging = false; this.drag_distance_per_row; this.initial_drag_y = 0; // dragging
this.draw = function(gr) {if (this.scrollable_lines > 0) {try {gr.FillSolidRect(this.x, this.y + this.bar_y, this.w, this.bar_ht, RGBA(200, 200, 200, !this.hover && !this.b_is_dragging ? 75 : 192));} catch (e) {}}}
this.leave = function() {if (this.b_is_dragging) return; this.hover = false; this.hover_o = false; window.RepaintRect(this.x, this.y, this.w, this.h);}
this.nearest = function(y) {y = (y - this.but_h) / this.scrollbar_height * this.scrollable_lines * this.row_h; y = y / this.row_h; y = Math.round(y) * this.row_h; return y;}
this.reset = function() {this.delta = this.scroll = this.s1 = this.s2 = 0; this.metrics(this.x, this.y, this.w, this.h, this.rows_drawn, this.row_h);}
this.scroll_timer = function() {var that = this; this.draw_timer = window.SetInterval(function() {if (p.w < 1 || !window.IsVisible) return; that.smooth_scroll();}, 16);}
this.set_rows = function(row_count) {this.row_count = row_count; this.metrics(this.x, this.y, this.w, this.h, this.rows_drawn, this.row_h);}
this.wheel = function(step) {this.check_scroll(this.scroll + step * - (this.scroll_step ? this.rows_drawn : 3) * this.row_h);}
Функции все не читабельные в одну строку...
Смотри этот же кусок кода в развернутом виде :wink2:...
var smoothness = 0.3439;
this.count = -1;
this.draw_timer = false;
this.hover = false;
this.s1 = 0;
this.s2 = 0;
this.scroll_step = window.GetProperty(" Scroll - Mouse Wheel: Page Scroll", true);
this.smooth = window.GetProperty(" Scroll: Smooth Scroll", true);
this.timer_but = false;
this.x;
this.y;
this.w;
this.h;
this.bar_ht = 0;
this.but_h;
this.bar_y = 0;
this.row_count = 0;
this.scroll = 0;
this.delta = 0;
this.ratio = 1;
this.rows_drawn = 0;
this.row_h;
this.scrollbar_height = 0;
this.scrollable_lines = 0;
this.scrollbar_travel = 0;
this.b_is_dragging = false;
this.drag_distance_per_row;
this.initial_drag_y = 0; // dragging
this.draw = function (gr) {
if (this.scrollable_lines > 0) {
try {
gr.FillSolidRect(this.x, this.y + this.bar_y, this.w, this.bar_ht, RGBA(200, 200, 200, !this.hover && !this.b_is_dragging ? 75 : 192));
} catch (e) {}
}
}
this.leave = function () {
if (this.b_is_dragging)
return;
this.hover = false;
this.hover_o = false;
window.RepaintRect(this.x, this.y, this.w, this.h);
}
this.nearest = function (y) {
y = (y - this.but_h) / this.scrollbar_height * this.scrollable_lines * this.row_h;
y = y / this.row_h;
y = Math.round(y) * this.row_h;
return y;
}
this.reset = function () {
this.delta = this.scroll = this.s1 = this.s2 = 0;
this.metrics(this.x, this.y, this.w, this.h, this.rows_drawn, this.row_h);
}
this.scroll_timer = function () {
var that = this;
this.draw_timer = window.SetInterval(function () {
if (p.w < 1 || !window.IsVisible)
return;
that.smooth_scroll();
}, 16);
}
this.set_rows = function (row_count) {
this.row_count = row_count;
this.metrics(this.x, this.y, this.w, this.h, this.rows_drawn, this.row_h);
}
this.wheel = function (step) {
this.check_scroll(this.scroll + step * - (this.scroll_step ? this.rows_drawn : 3) * this.row_h);
}
В моем варианте просто другой алгоритм сжатия, более сильный... а у Вилба более мягкий(видимо на сайте жал).
Но разница ощутимая даже когда в редактор скрипт грузишь, сжатый быстро, не сжатый на порядок медленнее.
Смотрю там на просьбы нет реакции, но я написал ..)
Я так понимаю он видимо для себя что то делает и просто выкладывает на тесты чтоб багулины править :) (хитрожопый Вилб))))
Чуть позже выложу обновленный вариант скрипта CoverFlow :smile2:
c Артистом - Треком и тех инфой(опции отключаемы в Пропертис)
http://jpegshare.net/thumbs/6d/fe/6dfe6dbc2cf075f4929e5991593d937e.jpg (http://jpegshare.net/6d/fe/6dfe6dbc2cf075f4929e5991593d937e.jpg.html)
В сборке FLAT меняется просто заменой файла coverflow_panel.js на выключенном фубаре
в папке FLAT\themes\scripts\...
затем просто запускаем фубар и пользуемся :wink2:
_________________________________________________
Ну вот обновленная версия CoverFlow
Добавлены как выше и писал Артист - Трек и тех. инфа проигрываемого трека(инет-радио либо с носителя).
Добавленные опции отключаемы в Пропертис(Properties) этого скрипта(Shift + правый клик по панели со скриптом):
(по умолчанию включены и после замены скрипта сразу будет видно исполнителя и тех инфу)
"*USER.Show.Track.Tech.Info", true --- показывать тех инфу трека
"*USER.Show.Track.Artist.Title", true --- показывать проигрываемого артиста - трек
"SYSTEM.Font.Mid.name", "Segoe UI" --- шрифт тех инфы
"SYSTEM.Font.Mid.size", 18 --- его размер
"SYSTEM.Font.Mid.style", 0 --- стиль
шрифт Артиста - Трека меняется вместе с общим шрифтом панели
"SYSTEM.Font.name", "Segoe UI" --- общий шрифт панели
"SYSTEM.Font.size", 25); --- его размер
"SYSTEM.Font.style", 0); --- стиль
Скачать (https://yadi.sk/d/0TvXDaeaxnS4P)
(и если не сложно отписывайтесь пожалуйста работает или нет)
...
seriousstas
Ты пробовал эту штуку foo_dsd_processor-1.0.1-1.zip (https://sourceforge.net/projects/sacddecoder/files/interim/) ?
окно настроек...
http://jpegshare.net/thumbs/70/99/709938fcd42dd71a43a4c5533f3d565e.jpg (http://jpegshare.net/70/99/709938fcd42dd71a43a4c5533f3d565e.jpg.html)
не пойму только одного, но неужели так сложно пару строчек чиркануть в ридми ... что и для чего.
duzzy, спасибо за сборку.:yes4:
seriousstas
29.10.2016, 19:01
Ты пробовал эту штуку foo_dsd_processor
Есть разные железки , которые умеют на прямую выводить DSD (через свой драйвер),
возможно это для них , но в плагине Максима уже есть, все , что нужно для этого ..
duzzy, перенёс сборку в авто - кнопки меню, что слева вертикальные, накладываются друг на друга. Печалька блин. Нажимать конечно можно, но еле попадаешь пальцами. На кнопку настроек, на шестерёнку наезжает следующая над ней. В тачке завтра буду - сфоткаю, чё-т сразу не допёр сфотать. Монитор Lilliput 869.
Gadina
Пожалуйста !
перенёс сборку в авто - кнопки меню, что слева вертикальные, накладываются друг на друга
С тебя фотка и разрешение у моника какое стоит ?
У меня все нормально 7" 800х600(натив наверно 800х480), т.е. наложение есть но оно минимально примерно 2-3 пикселя, в этом месте...
http://jpegshare.net/thumbs/1f/e3/1fe39e3d0ff922cb274365622efa1c23.jpg (http://jpegshare.net/1f/e3/1fe39e3d0ff922cb274365622efa1c23.jpg.html)
Как вариант решения проблемы могу добавить корректировочный параметр, который будет убирать из высоты кнопок заданное кол-во пикселей. Т.е. ты сможешь вручную подогнать размер кнопок левой панельки по высоте...
смотри...
http://jpegshare.net/thumbs/18/0e/180e9085ead03d72533560e54fa493da.jpg (http://jpegshare.net/18/0e/180e9085ead03d72533560e54fa493da.jpg.html)
Тут просто видишь какая хрень кнопки я делал тянущимися, но блоки кнопок с разными отсчетами координат т.е. нижняя часть считается от нижнего края, верхняя от верхнего края... из расчета на большие разрешения.
В обновлении добавлю корректировочную настройку для подгона кнопок левой панели, но с тебя все равно фотка с проблемой и натуральные размеры моника.
----------------------------------------------------------------------
Немного переделал размещение блоков кнопок, думаю теперь будут нормально размещаться по высоте на левой панели...
http://jpegshare.net/thumbs/02/5f/025f144a7c1e8268bc882551ecf24337.jpg (http://jpegshare.net/02/5f/025f144a7c1e8268bc882551ecf24337.jpg.html)
трудности еще в том что верхние блоки кнопок с разным количеством кнопок, т.е. где то 4 кнопки а есть и 3, их размещать сложней по У. Нужно поправки делать по размерам при растягивании по высоте. Немного еще погоняю и выложу обнову.
__________________________________________________
Сегодня будет пару обновлений...
Библиотека и основной скрипт МПС(небольшие правки).
(как и писал ранее сборку перекачивать не нужно, просто замена двух файлов)
Открывай в блокноте из папки со скриптами mps_panel.js и играйся размерами
глифов и подписей, старый скрипт в сторонке сохрани. У тебя по вертикали 480,
а сборка делалась под минимум 600....в верхней части скрипта размеры поменял
методом тыка, парочка наезжает, тут по вертикали менять еще, мне в ломы, пробуй сам
или автор переделает под твое разрешение...
var font=gdi.Font("Segoe MDL2 Assets",20);var font_big=gdi.Font("Segoe MDL2 Assets",30);var font2=gdi.Font("Segoe UI Symbol",15);var g_font=gdi.Font("Arial",13,0);var Path=fb.FoobarPath;var g_img=gdi.Image(Path+"\\themes\\resize_img.png");function StringFormat(){var h_align=0,v_align=0,trimming=0,flags=0;switch(argu ments.length){case 3:trimming=arguments[2];case 2:v_align=arguments[1];case 1:h_align=arguments[0];break;default:return 0;};return((h_align<<28)|(v_align<<24)|(trimming<<20)|flags);
После изменений сборку перезапускай. На домашнем сделай минимум 480 окна фубара.
vladj
Брал вариант CoverFlow (http://pccar.ru/showpost.php?p=372962&postcount=2869) c дополнениями :) ?
vladj
Брал вариантc дополнениями ?
Не...поскольку удалось пристроить туда сикбар с инфой, на том и остановился.
А с этим сикбаром и в панели инфа будет повторятся.
В принципе в каверфлоу можно удобно слушать не переходя в плейлист,
где названия станций убивают цифрами, а на лого не рассмотреть (мелкие) и все
их не запомнить.
Gadina
С тебя фотка и разрешение у моника какое стоит ?
Разрешение натив 800х480. А да, ещё снизу почему-то белая полоска по горизонтали есть. Завтра сделаю фотки и выложу здесь.
На обычном компе тупо убрал галку с minimum size в настройках Foobar и потом подогнал размер окна фубара так чтобы наложение кнопок получилось как в автомобиле. Короче скрины вот.
А ещё, как уменьшить высоту полоски с громкостью - просто относительно всего экрана, сильно великовата. Её бы в половину меньше сделать в высоту.
Gadina
Странно у меня все влезает...
Ну да ладно я все равно уже переделал)))
Ты только фотки делай до замены скрипта:) чтоб мне понять что не так.
Белых полос бы не должно. Где она, в самом низу(край окна фубара) ?
Основная панель(сплиттер) он резиновый т.е. тянется по размеру.
Попробуй ограничения размера окна снять тут...
http://jpegshare.net/thumbs/84/9a/849ac23a1710e82d6158244b10134df9.jpg (http://jpegshare.net/84/9a/849ac23a1710e82d6158244b10134df9.jpg.html)
Вот смотри с четким разрешением 800х480...
http://jpegshare.net/thumbs/a9/f7/a9f74c7bdeb0c2cd2da9cc4a756572ff.jpg (http://jpegshare.net/a9/f7/a9f74c7bdeb0c2cd2da9cc4a756572ff.jpg.html)
Gadina
А ещё, как уменьшить высоту полоски с громкостью
Сейчас добавлю настройку в Пропертис, можно будет свой размер поставить.
Обнова МПС панели...
Думал что будет маленькое обновление:big:(правка мелких косяков что нашел), но в итоге получилось приличное по МПС панели.
- Добавил настройку ширины панели громкости
"PROP.Volume_Panel_Height", 105 --- размер панели в пикселях(теперь звук удобно регулировать на 50" дюймах)
- Добавил настройки размеров шрифта МПС панели(настраивать как обычно в Пропертис(правый клик по нижней панели и выбрать в меню Properties))
"PROP.Font.Size.Left_Panel_Gliph", 30 --- размер глифов левой панели
"PROP.Font.Size.Big.Bottom_Panel_Gliph", 50 --- размер глифов play/pause/prev/next
"PROP.Font.Size.Med.Bottom_Panel_Gliph", 35 --- размер глифов кнопки тулбара и кнопки вызова панели громкости
"PROP.Font.Size.Left_Panel_Txt", 25 --- размер текстовых кнопок левой панели(coverflow, cover, milk)
- Опцию отключения заглушки ON AIR при инет-радио
"PROP.ON_AIR ON|OFF", true --- true(вкл) false(выкл)
- Переделал размещение и увеличил зоны кнопок левой панели
- Опция отображения границ зоны кнопки, теперь рудимент и используется только для проверки багулин с отрисовкой кнопок
"SYS.Button_Zone_Draw_ON", false
выглядит это дело так...
http://jpegshare.net/thumbs/39/d1/39d1500ecc92e6277e90211843044be3.jpg (http://jpegshare.net/39/d1/39d1500ecc92e6277e90211843044be3.jpg.html)
если кто использовал до изменения(были овалы/круг с заливкой) могу вернуть(но при растяжке круги на левой панели искажаются)...
Скачать mps_panel.js (https://yadi.sk/d/rY3naXXXxqPxw)
__________________________________________________ ______
Обнова Библиотеки...
- Попробовал исправить косяк с повторным добавлением папок из прошлого добавления из библиотеки)))(масло масляное)
Погонял вроде бы все работает правильно.
- 31.10.2016 --- Поправил ошибку(не критичную) в библиотеке с...
Если отключить запуск "тычком" - тогда выделение не работает совсем ..
Спасибо seriousstas за проверку и выявление :)
Перезалил скрипт библиотеки, кто скачивал ранее до 31.10.2016 перекачайте.
Скачать library_panel.js (https://yadi.sk/d/8IdbFVJ-xryWo)
...
В сборке FLAT меняется просто заменой скаченного по ссылке файла на выключенном фубаре
в папке FLAT\themes\scripts\...
затем просто запускаем фубар и пользуемся :wink2:
...
Попробуй ограничения размера окна снять тут...
Галочку с " прилипания экрана" тоже желательно снять, иногда мешает.
(Stick to the edges), ведь на наших экранчиках мы всегда на полном едем.
Ну и клавишу горячую сделать Во весь экран, ей попробовать, ибо у нас
ведь не показывается панель инструментов, откуда мы можем развернуть.
vladj
Брал вариант CoverFlow c дополнениями ?
Применил в своей основной сборке на домашнем, очень удобней стало :yes4:
Обнова МПС панели...
Думал что будет маленькое обновление:big:(правка мелких косяков что нашел), но в итоге получилось приличное по МПС панели.
Огроменное спасибо!!!
vladj
Применил в своей основной сборке на домашнем, очень удобней стало
Значит я не зря ковырял coverflow, вот и пригодилось :)
Сам тоже в основном в coverflow сижу, особенно когда знаешь что слушаешь, очень удобно.
А вот со сборниками солянками(которые только скачал и сразу скинул в авто) уже скрипт плейлиста помогает))). Я не привередливый могу слушать что угодно и в любом формате))), главное чтоб из динамиков треска и хрипов не было:smile1:
____________________________________________
Gadina
Пожалуйста :)
А как же рипы с винила?:smile2:
Вчера скачал рипы Луи Армстронга - вещь великолепная. Естественно есть треск с пластинок, но он на фоне композиций можно сказать что не замечается.
А как же рипы с винила?
Запал прошел, прошли года (70-е), когда зарплаты хватало на пару дисков виниловых,
тогда это было в радость. А сейчас при изобилии контента переел видать и уже ни
за чем не гоняюсь. Сам удивлен что больше инет радио слушаю, чем что-то с харда.
seriousstas
31.10.2016, 01:47
А как же рипы с винила?
Прбовал VST-шку
iZotope RX 5 De-click
Хорошо "на-лету" удаляет щелчки ..
seriousstas
31.10.2016, 06:57
duzzy
Обнова Библиотеки...
- Попробовал исправить косяк с повторным добавлением папок из прошлого добавления из библиотеки)))(масло масляное)
Погонял вроде бы все работает правильно.
Есть некоторые неудобства : Если просто ткнуть в альбом (без CTRL, например для добавления однго альбома) - будет снова добавление в Library view .
Если отключить запуск "тычком" - тогда выделение не работает совсем ..
seriousstas
Есть некоторые неудобства : Если просто ткнуть в альбом (без CTRL, например для добавления однго альбома) - будет снова добавление в Library view .
Это так и должно быть по дефолту, дабл по папке делает SEND(отправляет в дефолтный плейлист Library view и начинает играть) :)
Если отключить запуск "тычком" - тогда выделение не работает совсем ..
Это косяк который проглядел, уже поправил. Спасибо что нашел :)
__________________________________________________ _________
Поправил ошибку(не критичную) в библиотеке с...
Если отключить запуск "тычком" - тогда выделение не работает совсем ..
Спасибо seriousstas за проверку и выявление :)
С повторной отправкой пока та же хрень... выделяем папки снимаем с некоторых выделение и в плейлист попадают те папки с которых было снято выделение... как побороть пока не знаю, схема сложная добавляет выделенное в массив как из него убирать то что отменили при выделении пока не понятно. В последних версиях скрипта этого автора ситуация одинаковая.
Ахаха... Решил посмотреть скрипт вьетнамца который мы использовали ранее и что я там обнаружил))) та же хрень что и в новом от Вилба... идем в библиотеку жмем Ctrl выделяем нужные нам папки затем с некоторых снимем выделение и отправляем в плейлист выбранное, в итоге получаем в плейлисте все папки которые выделяли по Ctrl... печаль.
Это конечно не криминально пользоваться можно но иногда доставляет некоторые неудобства...
Перезалил скрипт библиотеки library_panel.js (http://pccar.ru/showpost.php?p=373074&postcount=2882)
Почему то две копии сборки начали запускаться одновременно....одна в икаре, другая за икаром.
sirota
Какой сборки :) ?
У меня нет таких проблем.
seriousstas
31.10.2016, 17:41
Это так и должно быть по дефолту, дабл по папке делает SEND(отправляет в дефолтный плейлист Library view и начинает играть)
Не совсем понятна логика .
Не важно дабл или тычёк - это ведь переключаемо .
Мы активируем плейлист (создаем его в менеджере к примеру) .
Далее переходим в библиотеку и при задаче добавить одну папку используем CTRL . (сложновато и всегда можно случайно ткнуть в строку и спрыгнуть с активного)
CTRL ведь для добавления только если > 1 альбома создавали .
Предлагаю либо все папки отправлять в активный , либо оставить работу только с Library view (как было по дефолту) .
Ахаха... Решил посмотреть скрипт вьетнамца который мы использовали ранее и что я там обнаружил))) та же хрень
Вильб там "подсмотрел" этот механизм для себя :)
Спасибо seriousstas за проверку и выявление
Да не за что - особо ничего не выявлял ) Поклацал вчера :)
seriousstas
31.10.2016, 17:46
Почему то две копии сборки начали запускаться одновременно....одна в икаре, другая за икаром.
Думаю - всему виной - выходные ..:rolleyes2:
На компе в авто стоит 2 сборки Foobar2000. Крайняя сборка от seriousstas и крайняя от duzzy. Когда врубаю первую сборку, в ней как есть 24/192 или 24/96 запись, так и играется. Почему-то во второй сборке на той же записи пишет 16/44,1. Причём ни там, ни там не включено никаких DSP обработок. Используется везде defonica. И причём в первом случае в дефонике пишется, что запись 24/192 или 24/96 и никаких обработок нет, во втором случае пишет что запись 16/44,1 и тоже никаких обработок нет.
Чё за хрень не догоняю... Везде настройки вывода одинаковые. Или у меня глюки, или хз... Ваще чудеса какие-то.
seriousstas
31.10.2016, 18:46
duzzy
добавляет выделенное в массив как из него убирать то что отменили при выделении пока не понятно. В последних версиях скрипта этого автора ситуация одинаковая.
У него на странице - все гладко .
Пиши в его тему про проблему . Мож исправит.. Хотя с другой стороны, ели проблема в выводом в активный плейлист - то эта возможность не заявлена и писать нужно,
про ADD to current playlist , с акцентом на current )
seriousstas
Не совсем понятна логика .
Не важно дабл или тычёк - это ведь переключаемо .
Так я все оставил как и было по дефолту... :smile2:
Логика оригинальная как и в оригинальном скрипте, это я тебе просто так написал в сообщении.
Один тычек отправляет выбранную папку/трек в дефолтный плейлист Library view вне зависимости какой был до этого плейлист.
По Ctrl кнопка добавить(Enter) мы можем отправлять как в дефолтный Library view так и в выбранный нами
любой плейлист.
То что я изменил...
Я просто убрал курсор и выделения при работе мышью на панели, и сделал отправку в один тычек(то что раньше работало по Даблу), все это работает если включена опция отправки в один тычек.
И добавлен выбор активного плейлиста для добавления(ADD).
И все, остальной функционал работает идентично той версии что в твоей сборке(версии 0.8 которой я ранее тут выкладывал).
У вьемтнамского скрипта функционал одинаковый, за исключением отправки в один тычек.
---------------------------------------------------------------------------
У тебя получилось воспроизвести то что я описывал(добавление тех папок которые отменили при выборе по Ctrl) ?
Хотя с другой стороны, ели проблема в выводом в активный плейлист - то эта возможность не заявлена и писать нужно,
про ADD to current playlist
Понимаешь тут без разницы в какой плейлист добавляем, суть в том что при отмене выделения в библиотеке отправляются те папки с которых было снято выделение.
Во вьетнамском скрипте ситуация с отменой выделения и добавлением идентична.
Я ему наверно лучше видео сниму так будет проще :)
Gadina
Когда врубаю первую сборку, в ней как есть 24/192 или 24/96 запись, так и играется. Почему-то во второй сборке на той же записи пишет 16/44,1. Причём ни там, ни там не включено никаких DSP обработок.
А можно вопрос, а ты где информацию в сборках смотришь по битности и частоте(я про 24/192 16/44,1) ?
Используется везде defonica
Это что такое и с чем ее едят :) ?
Так в дефонике всё видно. Сайт с софтом вот (https://dephonica.com/?lang=ru). Это софт кроссовер, со множеством возможностей, будь то задержки, эквалайзер, кроссовер, фазы и прочие вкусности.
В пробной версии, можно подключить до 6 каналов и нужно будет перезапускать ядро программы через каждые полчаса, в платной 8 и ограничений нет. Скоро должна будет выйти версия с поддержкой большего количества каналов. Надеюсь что новая версия решит наши проблемы с одновременным использованием аудиоплейера с асио, громкой связи и прочими возможностями. Вот ссылка от создателя проги на обсуждение на вегалабе (http://forum.vegalab.ru/showthread.php?t=73377&page=37).
В интерфейсе проги, прекрасно видно ресемплится ли материал или нет.
seriousstas
01.11.2016, 06:26
У тебя получилось воспроизвести то что я описывал(добавление тех папок которые отменили при выборе по Ctrl) ?:yes4:
sirota
Какой сборки :) ?
У меня нет таких проблем.
Со всеми сборками :rolleyes2:
seriousstas
Думаю - всему виной - выходные ..
:yes2:
Сегодня с утра одна запустилась.:be:
Gadina
Проблем с фубаром быть не должно...
Ядро последнее оф.(без переводов) с оф. сайта, ставился он в портативном режиме, затем менялись все файлы сборки на файлы из портативной установки. Если есть сомнения можешь сам проделать эту операцию, по времени занимает две минуты.
И хочу обратить внимание пользователей...
В фубаре нельзя использовать компоненты от прошлых версий !
Об этом не однократно писал и сам автор фубара.
Если обновляете сборку обновляйте все файлы установки(сторонние плагины и компоненты к этому не относятся, их можно не трогать)
Так в дефонике всё видно.
А так это очередной виртуальный кабель :). А я думал что за дефоника такая.
По памяти могу сказать примерно что уже есть две или три таких программы.
А говоришь дсп не используешь, это еще хлеще дсп будет(да еще и со своими дровами).
Что ты слушал какой материал когда появилась разница в битности и частоте ?
Сборки отличаются по наполнености компонентами и плагинами.
Фубар сам по себе ничего не ресемплит.
Перезагружать комп пробовал когда слушал через дефонику разные сборки ?
Фубар запускаешь от обычного пользователя или от админа ?
Меньше всего костылей на этой программе. Фубар в первой сборке в запуске точно от админа. А вот во второй не помню, может и в этом косяк. Если время будет, может поковыряюсь сегодня и постараюсь разобраться чё за фихня происходит.
Gadina
:)... Попробуй поменяй версию фубара на 1.3.10 (https://yadi.sk/d/7Hm4AihGxvdvz)(перезалитая финальная версия), первая заливка 1.3.10 (https://yadi.sk/d/mAnyrk2rxveG6)...
1.3.11; 1.3.12 --- версии с косяками.
(сделай как писал выше, установи в портативном режиме затем замени все файлы в сборке относящиеся к фубару).
Можно для проверки попробовать удалить мною собранный плагин foo_dsp_menu.dll из папки components(но он звук не меняет а просто добавляет в меню пункты если есть ДСП)
http://jpegshare.net/thumbs/14/98/149899e6733a4a69060342d16762b37a.jpg (http://jpegshare.net/14/98/149899e6733a4a69060342d16762b37a.jpg.html)
, не думаю что в нем проблема.
Потом смотри, я у тебя спросил что за материал ты слушал в этот момент... ты не ответил...
Повторю еще раз сборки отличаются по наполненности плагинами, посмотри на разницу на вкладке компонентов...
у меня нет DVD, SACD, DTS...
Да там просто оцифровка, не многоканал. Стерео. Вечером если гляну - отпишусь.
seriousstas
01.11.2016, 16:37
duzzy
у меня нет DVD
Фубар и не умеет такого . А жаль, я как-то просил автора foo_input_sacd создать
плагин для пролушки ADVD (https://rutracker.org/forum/tracker.php?nm=ADVD) и HDAD в Фубаре.. тот думает , уже долго )
Я ему наверно лучше видео сниму
Сними короткое видео ..
Вчера открыл скрипт . В теории нужно найти ,где он прибавляет индекс
строки и при снятии - отнимать ...
вот здесь от обнуляет :
this.clear = function () {
for (var i = 0; i < this.tree.length; i++)
this.tree[i].sel = false;
}
А сходу сложно - много всего там. Пусть автор правит .
Да там просто оцифровка, не многоканал. Стерео. Вечером если гляну - отпишусь.
Блин. Дело было не в бобине...:rofl:
Первым делом залез на жёсткий диск и увидел что у меня есть две папки с музлом Dire Straits, и в названии одной есть нижнее подчёркивание. А битрейт в них разный. В одной сборке открывал без подчёркивания папку, а в другой с подчёркиванием. Короче всё нормально с выводом в сборках.:smile2:
seriousstas, вопрос - каждый раз когда открываю твою сборку с фубаром, всегда открываются папки в развёрнутом виде. Не выставляется галка на Collaps all.
Как сделать чтобы всегда загружалось как на втором скрине?
seriousstas
01.11.2016, 18:24
seriousstas, вопрос - каждый раз когда открываю твою сборку с фубаром, всегда открываются папки в развёрнутом виде. Не выставляется галка на Collaps all.
Как сделать чтобы всегда загружалось как на втором скрине?
Спасибо, уже поправил , позже обновлю архив .
seriousstas
Фубар и не умеет такого .
Гы а это тогда для чего...:)
http://jpegshare.net/thumbs/2e/7f/2e7ff9c6fe9d3720b698060be8e63bc0.jpg (http://jpegshare.net/2e/7f/2e7ff9c6fe9d3720b698060be8e63bc0.jpg.html)
Вчера открыл скрипт . В теории нужно найти ,где он прибавляет индекс
строки и при снятии - отнимать ...
Ну в теории да, и я знаю как загнать выделенное в массив...
Сложность в том что не понятно как убрать из массива:big: только то что мне нужно и оставить остальное...
А эта функция this.clear(); просто очищает графику снимает выделенное, и по отдельности она не работает нужно еще дерево перерисовать... т.е. p.tree_paint();
Для того чтоб обнулить то что было в массиве переназначаем его this.sel_items = [];
теперь в массиве пусто :wink2:
Бороться с неудачным/ненужным выделением в библиотеке можно так...
отключаем Ctrl затем просто кликаем по списку в библиотеке, но этот маневр работает только с отключенным режимом "старта в один тычек".
Пусть автор правит .
Сомневаюсь что он будет править, просто пошлет или проигнорит...
Попробую написать о этой проблеме, но это достаточно сложно объяснить на пальцах в чем проблема.
Залез на Гидроген и глянул, там где ты писал он просто выкладывает скрипт, а обсуждение его работы тут (https://hydrogenaud.io/index.php/topic,111060.0.html).
seriousstas
02.11.2016, 01:14
а обсуждение его работы тут.
Смотрю он и отписал мне там .
Могу тогда я ему видео запилить со всем этим ... но ты уже ковырял его - тебе будет легче пояснить .
Напиши,как и мне - просто - если выделить и снять (например выделить три строки и одну снять) - добавится три ,
хотя , должно две .
Гы а это тогда для чего..
Проверяет есть или нет водяных знаков (используются в железных плеерах для защиты от пиратов) в образе [DVD-AUDIO] . Формат для звука со своей структурой , MLP контейнером .
общего с обычным DVD - почти нет .
seriousstas
Ну я ему отписал (https://hydrogenaud.io/index.php/topic,111060.new.html#new))))... блин забыл уже как сложно объяснить проблему которой ни у кого нет)))
Проверяет есть или нет водяных знаков
А я думал двд шпарить на фубаре :smile2:)))...
У меня просто нет таких жирных записей, в основном флак, мп3, и обезьяна(ape).
--------------------------------------------------------
Ты там смотрю тоже пишешь :)
Но то о чем ты пишешь это не проблема, мы же не используем контекстное меню для отправки добавления треков. А то что нужно исправить по "отправке" можно легко переделать. Да и в 1.1 целая куча мути которая нам просто не нужна.
Концепцию работы скрипта он менять не будет, он об этом уже писал выше.
В правленой 0.8 версии все работает как нужно, за исключением проблемы с отменой выделенных папок.
---SEND(дабл при отключенном режиме в один тычек, и один тычек при включенном) отправляет в дефолтный Library view...
---ADD(кнопка Enter клавы) добавляет в любой активный(т.е. выбранный) плейлист...
(функционал идентичен работе вьетнамского скрипта)
В 1.1 другая проблема, список папок пропадает при включении Node: Show All Music... + то что описывал выше по отмене выделения.
seriousstas
02.11.2016, 04:09
В 1.1 другая проблема, список папок пропадает при включении Node: Show All Music..
Писал это ему уже ранее ..
---ADD(кнопка Enter клавы) добавляет в любой активный(т.е. выбранный) плейлист...
У меня Enter не добавляет почему-то .. Всегда в Library view :dntknw:
то-есть не важно - меню или клавой или кнопкой Фубара .
Проверяет есть или нет водяных знаков
Не только это...плагин при первом-же запуске образа iso создает
в корне фубара папку dvda_metabase. Треки в плейлисте выглядят
неудобноваримо поэтому прописываем в свойствах треков их названия.
Вот эти данные и сохраняются в dvda_metabase в формате .xml
При последующем запуске образа в плейлисте мы будем видеть
привычную инфу, в шапке название альбома и исполнитель альбома,
в плейлисте названия треков.
seriousstas
02.11.2016, 13:01
Не только это...плагин при первом-же запуске образа iso создает
в корне фубара папку dvda_metabase. Треки в плейлисте выглядят
неудобноваримо поэтому прописываем в свойствах треков их названия.
Вот эти данные и сохраняются в dvda_metabase в формате .xml
При последующем запуске образа в плейлисте мы будем видеть
привычную инфу, в шапке название альбома и исполнитель альбома,
в плейлисте названия треков.
Да , знаю, в своё время хотел огранизовать обмен этими данными,
но тк формат почти умер - интереса было мало.
seriousstas
У меня Enter не добавляет почему-то ..
Если у тебя стоит первый вариант библиотеки (0.8 с тач модом) что я тут выкладывал, то в нем просто нет этого функционала(условие при add пустое)... я про добавление в сторонний плейлист.
0.8 работает только с одним плейлистом library view.
Я писал тут про это не так давно(кучу страниц тому назад:smile2:), что библиотека работает только с одним плейлистом дефолтным.
Нормально работающая функция ADD библиотеки появилась в моей сборке FLAT. По функционалу работает как скрипт вьетнамца :wink2:
(проблема там только одна, отмена выбора... все остальное работает прекрасно)
Да , знаю
Знаю, что знаешь :smile1: Инфа для duzzy и тех, кто не знает
про возможности плагина. На трекерах болтаются образы и неплохо
иметь несколько самых полюбившихся, имхо. Хотя-бы для проверки
возможностей построенного аудиотракта.
seriousstas
02.11.2016, 15:24
Плейлист.
// @name "JS Smooth Playlist Sort_folders ss_Mod v9"
1. Исправил (http://pccar.ru/showpost.php?p=373293&postcount=2908)
2. Для симметрии добавил инфо про формат трека в оглавлении.
3. Для "Радио" - через кнопку title v1/2 можно теперь убрать URL из оглавления .
https://i.yapx.ru/EIgv.gif
СКАЧАТЬ (https://yadi.sk/d/0akGgwsYxy3x5)
Что изменялось ранее (http://foobar2000.ru/forum/viewtopic.php?p=62304#p62304)
добавил инфо про формат трека в оглавлении.
3. Для "Радио" - можно теперь убрать URL из оглавления .
Хорошая подвижка по скрипту, жаль не смог пристроить во FLAT сборку от duzzy,
крашится собака и нельзя даже на строчки с крэшем взглянуть, по конфигурации
только шапка скрипта, так и не допонял где его посмотреть можно весь...работающий.
По автоколлапсу тоже все по уму работает в скрипте. Спасибо.
seriousstas
02.11.2016, 23:07
vladj
Gadina
не за что! :)
duzzy, поправь пож-та в коверфлоу отображение по cover -у, в стандартном при
присутствии в папке с альбомом кавера, обратки и сд показывает именно cover, а в твоем
скрипте если забросить папку с несколькими альбомами, может показывать в некоторых
случаях вообще одинаковые картинки.
vladj
Дефолтный механизм отображения картинок почти не тронут, да и сам скрипт почти без изменений, которые могут влиять на его работоспобность, закомментированы только несколько строк для отображения инет-лого. Проблем с этим быть не должно.
Если это в сборке то возможно нужно поправить паттерн обложек в Display...
http://jpegshare.net/thumbs/0d/dd/0ddd370669bdeb4e7e1ab9caab0e4869.jpg (http://jpegshare.net/0d/dd/0ddd370669bdeb4e7e1ab9caab0e4869.jpg.html)
Я для себя убирал и забыл вернуть...
front.jpg
cover.jpg
front.png
cover.png
%filename%.jpg
%filename%.png
%album%.png
%album%.jpg
folder.jpg
folder.gif
folder.png
Еще возможно из за сортировки папками...
Попробуй изменить в Пропертис(Shift + ПКМ)
параметр *USER.group Key --- %album artist%%album%
...
seriousstas
04.11.2016, 05:28
duzzy
Нормально работающая функция ADD библиотеки появилась в моей сборке FLAT. По функционалу работает как скрипт вьетнамца :wink2:
(проблема там только одна, отмена выбора... все остальное работает прекрасно)
И всё-же - добавлять по одному альбому можно или всегда должно быть больше двух ?
Если так - то не гуд..:sad2:
Вот слушаю я один альбом - решаю добавить ещё один и ничего не выходит .
У вьетнамца как-раз с этим - ноу проблем .., как и в 1.1 у Вильба (скорей всего настройки не сбросил от 0.8..- уже отписал ему).
Видел , что он "нарешал" снимание.. - а Ты говорил - забыл ,как посянять на инглише :)
seriousstas
И всё-же - добавлять по одному альбому можно или всегда должно быть больше двух
Не совсем понимаю о чем ты...
Работает точно так же как и работало раньше... количество тут не причем...
Выделяешь то что нужно и добавляешь в любой выбранный плейлист. Можно и треки выбранные добавлять разницы нет.
Вот слушаю я один альбом - решаю добавить ещё один и ничего не выходит .
Ну не знаю, у меня все прекрасно работает... :wink2:
Единственное неудобство которое мне иногда доставляет скрипт библиотеки это отмена выделения(о чем писал ранее), других проблем с ним не возникает.
Вот Видос (https://drive.google.com/file/d/0B60qIBsIiUkgU2NuN0ptRE5YWHc/view?usp=sharing) о том как работает.
_______________________
Если ты используешь прошлую версию скрипта то естественно работать не будет, я уже писал об этом.
Нормальная функция добавления появилась только в сборке FLAT(обновленный скрипт библиотеки я больше нигде не выкладывал).
В предыдущей версии скрипта(0.8 что я выкладывал здесь ранее) эта функция просто отсутствует.
Легко проверить на оригинальном скрипте, там она просто не работает... ее нет в коде.
________________________
Видел , что он "нарешал" снимание..
Жду когда будет релиз и уже почти доволен как слон, у меня наконец будет сборка с нормальным функционалом как мне нужно :dance:
seriousstas
04.11.2016, 18:55
seriousstas
Жду когда будет релиз и уже почти доволен как слон, у меня наконец будет сборка с нормальным функционалом как мне нужно :dance:
согласен, а то ранее - если не желтуха, то золотуха..:blink2:)
Ну не знаю, у меня все прекрасно работает...
Есть подозрение , что не очищал настройки - сейчас ещё проверю ...
...............
запутало это (перебор) :
Старая версия 0.8
Новая версия 0.8
Новая версия 0.8 с включенным одним тычком (когда переход в library view будет автоматом и следующий тест уже не стем плейлистом)
Новая версия 0.8 с правленым выделением
Версия 1.1
въетмамец)
.........................................
Все :) - понял причину !
Косячек все-же есть - и это важный момент!
Когда добавляю папку в свой new плейлист ФОКУС все-равно ПЕРЕХОДИТ на Library View
Соответственно все последующие добавления будут не туда .
Или я снова выдумал ? :be:
проверил Вильба 1.1 и въетнамца - там всё хорошо ..
seriousstas
согласен, а то ранее - если не желтуха, то золотуха..)
Тут видишь чем сложнее скрипт тем сложнее все предусмотреть :)
Поэтому появляются проблемы.
Пишет один чел., по багам отписываются очень редко, а многие просто забивают)))
Косячек все-же есть - и это важный момент!
Косячков нет :)
Модифицированные версии от меня всего две которые увидели свет на этом форуме...
1. та что выкладывал когда перегонял вас с вьетнамского скрипта.
2. та что в моей сборке FLAT.
Когда добавляю папку в свой new плейлист
Ну так это и логично если у меня в сборке проверяешь то при нажатии на нотку
http://jpegshare.net/images/de/80/de801ce4f44f8acca82576cf0499c599.jpg (http://jpegshare.net/)
(вызов панели плейлиста) автоматом переходишь на проигрываемый трек.
Все это можно посмотреть в менеджере-плейлистов, как меняется активный плейлист при выборе.
В скрипте плейлиста нет позиционирования проигрываемого трека при ресайзе, поэтому эту функцию выполняет кнопка вызова панели плейлиста. Соответственно при вызове функции показать проигрываемый трек плейлист переключается с выбранного на проигрываемый в данный момент.
В пояснялке по кнопкам сборки я этот момент указывал...:rolleyes2:
http://jpegshare.net/thumbs/68/82/688232aa511238fc8311023d761c328e.jpg (http://jpegshare.net/68/82/688232aa511238fc8311023d761c328e.jpg.html)
Ты не говоришь где скрипт гоняешь... а говоришь что не работает, по умолчанию я предполагаю что на чистом фубаре...:wink2:
seriousstas
04.11.2016, 22:51
В пояснялке по кнопкам сборки я этот момент указывал...
Времени хватило на загрузить сборку и проверить в ней .
Ты не говоришь где скрипт гоняешь
Твою конечно использую - оригинал :) .. (и что б не возиться с разжатием и тд..)
Вобщем прояснилось наконец - чтоб попасть в менеджер ,
я должен нажать "нотку" , которая в свою очередь активирует меню ,
которое позволяет вызвать менеджер , так ? И которая в свою очередь автоматом переходит на трек и активный плейлист.
то-есть, если я иду в библиотеку , добавляю одну папку, иду снова в менеджер ,
каждый раз перед добавлением я должен акривировать нужный плейлист (при условии, что играет трек из другого) , верно ? Иначе ведь в менеджер не попасть (не через нотку)
...
Предлагаю сделать быстрый доступ к настройкам (без CTRL) и закрытие плеера (не через три нажатия).
Если не хватает места для кнопок по вертикали, предлагаю так-же использовать горизонталь , как временную (по таймеру) панель .
И посмотри на перемещение плейлиста - он как-то странно убегает вправо, затем возврат. При вызове левой панели.
по этим советам - Тебе решать - в любом случае сборка отличная! ( скоростная и со стильным дизайном!)
............
Хотя не - нифига :) :
В скрипте плейлиста нет позиционирования проигрываемого трека при ресайзе, поэтому эту функцию выполняет кнопка вызова панели плейлиста. Соответственно при вызове функции
Это вообще не при чём !
Попробуй ,активируй плейлист , пустой . Добавь папку и увидишь , что фокус ВСЕГДА спрыгивает на library view (добавляется в нужный, а активируется library view) . Нотка наводит фокус на играющий трек ,
а в этом случае ничего не играет . И нотку я не трогаю .
Позже сниму видео.
....
На видео - первое добавление не правильно работает,
но бывает и при последующих оставался активным library view ..
Сложно всё как-то :)
3BMqfqDB1S0
seriousstas
Ахаха... КОСЯЧКИ есть)))
Уже проверил, как я проглядел эту хрень не пойму... тысячу раз долбил эти отправки туда... сюда... туда... сюда... Вот я дятел :rofl:.
Спасибо большое что нашел косяк... и извини я иногда бываю очень упертым как баран :smile2:
Видимо я проглядел потому что часто через менеджер ходил добавлять... невнимательность и автоматизм))).
Но на самом деле не пойму почему Вилб так не сделал, у него есть проверка но она работает не так... похоже что это из за того что он решил что будет только с одним плейлистом на ранних версиях скрипта(0.8).
Суть проблемы была в том что после отправки(ADD и SEND), плейлист переключался на активный, почему загадка, условия стояли... пришлось добавить дополнительную проверку "что за плейлист" и " ADD или SEND".
Сделал правки сейчас выложу поправленную версию библиотеки.
__________________________________________
Обновление скрипта библиотеки...
- Исправил косяк при добавлении треков в выбранный плейлист.
Спасибо seriousstas за выявленную косячину :)
Скачать library_panel.js (https://yadi.sk/d/eSKez5Rfy6Six)
...
В сборке FLAT меняется просто заменой скаченного по ссылке файла на выключенном фубаре
в папке FLAT\themes\scripts\...
затем просто запускаем фубар и пользуемся :smile2:
...
Вчера появилась новая версия скрипта Библиотеки 1.2 :big:
Правки от Автора:
- Исправлено выделение папок по Ctrl + левый клик
- Исправлено сворачивание пункта All Music
- Добавлено Node size(плюсов от этой настройки не заметил)
- Добавлена настройка плавности прокрутки
____________________________________________
http://images.vfl.ru/ii/1478340724/bd987dcf/14812923_s.jpg (http://vfl.ru/fotos/bd987dcf14812923.html)
Уже переделал ее под наши нужды.
Выделение и отмена выделения папок теперь работает как нужно.
Переделал добавление папок в плейлисты по выбору.
Прокрутку теперь можно более детально настроить, крутится приятнее.
Ну уж теперь все должно работать как должно))):smile1:
Подправлю то что ночью не успел доделать и выложу новую версию.
...
Скачать library_panel.js (https://yadi.sk/d/55ZD6soky7No8)
...
В сборке FLAT меняется просто заменой скаченного по ссылке файла на выключенном фубаре
в папке FLAT\themes\scripts\...
затем просто запускаем фубар и пользуемся :wink2:
(предыдущую версию скрипта можно пока оставить, на тот случай если я вдруг что-то пропустил:big:)
...
vasekbfg
05.11.2016, 14:24
1. При сворачивании панели с кнопками playlist и cover не уменьшается область вывода текста исполнителя
https://cloud.mail.ru/public/5MjA/nw9vNd7Ta
2. Нужно оставлять рамку фокуса на играющем треке если выделили на другой. Дешево выглядит центрированное название трека без какого либо выделения.
3. Зачем центрировать название играемого трека и выводить его без исполнителя? Где убрать данную настройку , чтобы было слева и полное название?
4. Почему то в настройках панели с прокруткой инфо о треке 0 реакции на изменение размера шрифтов.
5. Нужен автохоткей скрипт для перехода откуда бы нибыло в этот экран
https://cloud.mail.ru/public/6tiM/Yd56m2B6R
6. Просьба автора внимательным образом проверить реакцию на нажатие кнопки прицела , есть подозрение , что порой ее надо 2 раза давить чтобы произошла смена на экране.
seriousstas
Предлагаю сделать быстрый доступ к настройкам (без CTRL) и закрытие плеера (не через три нажатия).
Если не хватает места для кнопок по вертикали, предлагаю так-же использовать горизонталь , как временную (по таймеру) панель .
И посмотри на перемещение плейлиста - он как-то странно убегает вправо, затем возврат. При вызове левой панели.
В настройки каждый день лазить то не нужно))) Ctrl + шестеренка прекрасно работает, как и вызов Properties по Alt + кнопка открытия тулбара... еще можно через панель ДСП в настройки попасть, если очень нужно... зачем лишние кнопки плодить... Клавиатура икара с этим прекрасно справляется.
Кнопки закрытия и сворачивания плеера только для экстренных случаев, когда нужно сборку без икара запустить(настроить и т.д.). Икар же нормально закрывает встроенные приложения.
Плюс я иногда без икара пользуюсь ей, сделал себе небольшую программку по перебору запущенных программ в виде кнопки на экране...
http://jpegshare.net/thumbs/95/78/9578e30dd7b1e959f0625f32e9207b75.jpg (http://jpegshare.net/95/78/9578e30dd7b1e959f0625f32e9207b75.jpg.html)
С плейлистом все хорошо(он же почти без изменений, отрисовка графики не трогалась), так и должно быть... панель плейлиста смещается вправо(вычитается размер тулбара от размера панели плейлиста) потому как тулбар с левой стороны а счет координат по Х = 0. Если бы тулбар был внизу тогда было бы другое дело... или справа.
Кнопок мне хватает, я ее и делал простой чтоб просто запустить и слушать, мне в принципе только нормальной библиотеки не хватало... теперь она есть :smile2:.
seriousstas
05.11.2016, 17:02
С плейлистом все хорошо
да просто в "глаз упало"..
потому как тулбар с левой стороны а счет координат по Х
я как-то вычесть ширину не выйдет, чтоб не перемещать ?
seriousstas
05.11.2016, 17:21
vasekbfg
позвольте
Просьба автора
Если пишешь мне - то есть ник или имя,
а хоткей я Тебе делал , но Ты не ответил :
http://pccar.ru/showpost.php?p=371572&postcount=2533
У прицела задержка 1.5 секунды, если не успел - нужно жать повторно(что-б произошла смена экранов)
Панели задаются прицелом один раз . Я не планировал частое использования смены расположения панелей.
Но попробую ещё отладить..
Зачем центрировать название играемого трека и выводить его без исполнителя
Без правки скрипта не выйдет - я почти не слушаю сборники - вижу исполнителя :
1. Перед выбором трека.
2. В соседних треках (если не сборник)
3. На панели картинок снизу.
4. Через панель обложек "Максима" - оставил только для радио . Тут мог вернуть и для треков ?
Дешево выглядит центрированное название трека без какого либо выделения.
согласен, но пока - так, подумаю :) (выделения не будет - может шрифт поменяю ..)
не уменьшается область вывода текста исполнителя
Знаю , но полагал - это не проблема текст подтянуть вручную .
Так-же подумаю ..
vasekbfg
06.11.2016, 13:03
>> Если пишешь мне - то есть ник или имя,
а хоткей я Тебе делал , но Ты не ответил :
Не не , то что space bar.exe делает , я понял
Он переходит на основной экран проигрывания.
А нужно чтоб открывал список плейлистов в нем же.
в 13-й сборке пробелом сделали выезжание списка плейлистов в окне прицела, не хватало только чтоб тем же пробелом осуществлялся переход на это окно прицела. И вот эти 2 действия существуют независимо до сих пор. Почему бы на спейсбар их оба не повесить ? первый пробел переходит на окно прицела , второй разворачивает список плейлистов , третий его опять сворачивает , потом опять...
vasekbfg
06.11.2016, 13:18
Угостите ссылочкой на 4Icar_13_6_2_MPS_UNI , гляну как там что , пропустил сию сборку
seriousstas
06.11.2016, 21:10
в 13-й сборке
Могу говорить за 14 -ю. (13_6_2 не сохранил, на ЯД сейчас 13_6_3)
Пробел в 14.1 переходит на плейлист. Единственное - предложу ещё + открытие менеджера по "спейсбар" ?
тоесть это :
А нужно чтоб открывал список плейлистов в нем же.
seriousstas
я как-то вычесть ширину не выйдет, чтоб не перемещать ?
Не получится такой маневр... открывается тулбар, панель плейлиста нужно сместить по Х правее на размер тулбара, ну и вычесть размер смещения от ширины панели.
Если не вычитать размер смещения тогда да ресайза панели не будет, но панель со скриптом будет за границей экрана... не айс.
seriousstas
Есть проблема в работе Numpad0.exe/Numpad9.exe (возможно и со Space bar.exe такое у меня, просто не использую его).
В общем у меня работает переключение только если фокус ВНЕ фубара (к прмиеру: жму на бегущую строку от iCar (снимаю фокус с фубара) - всё работает отлично, панели переключаются шустро без тормозов и прочего, как только возвращаю фокус на фубар (не важно плейлист листаю или "прицел" жму) - не работает вперёд вообще, а назад выдает символ "0" или "o" (фото приложу щас). как будто комфликт какой то.
http://i12.pixs.ru/thumbs/8/6/6/IMAG0923jp_2149327_23946866.jpg (http://pixs.ru/showimage/IMAG0923jp_2149327_23946866.jpg)
seriousstas
07.11.2016, 03:52
seriousstas
[/url]
Напомни , какая у Тебя версия Windows ?
Я не сохранил исходник - попробуй сейчас (сделал по-новой) .
на win 10 и 8.1 - нет проблем .
Напомни , какой у тебя Windows ?
Win 8.1
до этого проблем не было (с 13.6 версией и старыми файлами Numpad0.exe/Numpad9.exe)
seriousstas
07.11.2016, 04:06
Win 8.1
до этого проблем не было (с 13.6 версией и старыми файлами Numpad0.exe/Numpad9.exe)
Пробуй , перезалил . Если проблема останется -
лучше видео сними , я не могу повторить ..
Икаром не пользуешься ?
Пробуй , перезалил . Если проблема останется -
лучше видео сними , я не могу повторить ..
Икаром не пользуешься ?
почему же, пользуюсь...Lexx09 сборкой.
видео сниму, если не заработает.
Спасибо!:derisive:
seriousstas
07.11.2016, 04:14
почему же, пользуюсь...Lexx09 сборкой.
видео сниму, если не заработает.
Спасибо!:derisive:
тогда попробуй, как будет вне Икара..
тогда попробуй, как будет вне Икара..
а ок, тестану.
vasekbfg
07.11.2016, 12:21
Могу говорить за 14 -ю. (13_6_2 не сохранил, на ЯД сейчас 13_6_3)
Пробел в 14.1 переходит на плейлист. Единственное - предложу ещё + открытие менеджера по "спейсбар" ?
тоесть это :
правильно ли я понял ,что доработка планируется не в ahk скрипте , а в скрипте плейлиста ? Можно тогда выложить исходник ahk скрипта space bar.exe ?
seriousstas
07.11.2016, 12:50
правильно ли я понял ,что доработка планируется не в ahk скрипте , а в скрипте плейлиста ? Можно тогда выложить исходник ahk скрипта space bar.exe ?
С фокусом на плейлисте :
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
ControlSend, MegaPanelSplitterWindowContainer1, {space}, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Sleep 50
ControlFocus, uie_jscript_panel_class1, foobar2000 ;
доработка планируется
добавлю в 14.2
seriousstas
07.11.2016, 13:34
Дешево выглядит центрированное название трека без какого либо выделения.
Можно сделать такую подсветку , но сильно "дорого" не будет :) :
95wGQYQdg7U
seriousstas
Стас, тестанул новые .exe - такое же... не работает.
Видео (https://youtu.be/5OrTjJTQkUY)
seriousstas
08.11.2016, 00:42
seriousstas
Стас, тестанул новые .exe - такое же... не работает.
Видео (https://youtu.be/5OrTjJTQkUY)
Хм - нужно больше инфы тк у меня все путём .
Что будет если оставить фокус на кнопках ?
Попробуй :
1 Ткни в любую нижнюю кнопку .. И переключай клавишами
Ctrl Alt Num0 или Ctrl Alt Num9
2.
Покажи , что у тебя выдаст AutoIt (https://www.autoitscript.com/site/autoit/downloads/) Window Info,например
>>>> Window <<<<
Title: VHS Nite (Starkey Remix) - foobar2000
Class: {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
>>>> Control <<<<
Class: MegaPanelSplitterWindowContainer
Instance: 1
ClassnameNN: MegaPanelSplitterWindowContainer1
Name:
Advanced (Class): [CLASS:MegaPanelSplitterWindowContainer; INSTANCE:1]
>>>> Visible Text <<<<
Mega Panel Splitter
>>>> Hidden Text <<<<
Analog VU Meter
PeakmeterSpectrum
Для этого перетяни прицел на кнопки .
3. Попробуй скрипты на домашнем ПК .
Win 8.1
Сколько бит ?
Хм - нужно больше инфы тк у меня все путём .
Что будет если оставить фокус на кнопках ?
Попробуй :
1 Ткни в любую нижнюю кнопку .. И переключай клавишами
Ctrl Alt Num0 или Ctrl Alt Num9
2.
Покажи , что у тебя выдаст AutoIt (https://www.autoitscript.com/site/autoit/downloads/) Window Info,например
Для этого перетяни прицел на кнопки .
3. Попробуй скрипты на домашнем ПК .
Сколько бит ?
1) пробовал не кнопками (клавиатуры USB щас нету, на виртуальной попробую завтра), а просто фокус на нижних кнопках делал и так же крутилкой крутил (на которой повешены исполнения .exe - не работало так же.
2) не понял как это сделать.... AutoIT стоит... а что дальше делать не вкурил (
3) на ноуте стоит Win7 x64... скрипты запускал, работают - но и фокус снимается же... кнопками Ctrl Alt Num0 или Ctrl Alt Num9 (если фокус навести на нижние кнопки фубара) работает.
Win 8.1 x64 в машине.
seriousstas
08.11.2016, 01:08
на ноуте стоит Win7 x64... скрипты запускал, работают - но и фокус снимается же
Ты ведь сам просил его переводить в плейлист ранее .
При каждом последующем нажатии фокус наводится вначале на кнопках.
Если у Тебя на ноуте работает , у меня на Win10 x64 и Win10 x64 работает,
значит у Тебя в авто что-то мешает переводу фокуса на кнопки ...
Попробуй так :
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
ControlFocus, MegaPanelSplitterWindowContainer1, foobar2000 ;
Sleep 50
ControlSend, MegaPanelSplitterWindowContainer1, ^!{Numpad9}, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Sleep 50
ControlFocus, uie_jscript_panel_class1, foobar2000 ;
Скомпилируй через AHK .
Попробуй так-же увеличить паузы Sleep 50 на Sleep 100 или Sleep 200
или например прежний вариант , но с большей паузой :
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
ControlSend, MegaPanelSplitterWindowContainer1, ^!{Numpad9}, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Sleep 200
ControlFocus, uie_jscript_panel_class1, foobar2000 ;
не понял как это сделать.... AutoIT стоит... а что дальше делать не вкурил
C:\Program Files (x86)\AutoIt3\Au3Info.exe
Запусти , перетяни прицел на кнопки фубара
не работало так же.
Скрипт должен перезапускаться, но мало-ли.. посмотри в диспетчере в процессах,
не "залипает-ли" скрипт . Тогда можно добавить ещё
ExitApp в коце :
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
ControlSend, MegaPanelSplitterWindowContainer1, ^!{Numpad9}, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Sleep 200
ControlFocus, uie_jscript_panel_class1, foobar2000 ;
ExitApp
Ты ведь сам просил его переводить в плейлист ранее
ты меня не так понял...
я о том, что на компе я запускал .exe файлы (как ты на видео раньше показывал) этим самым снимая фокус с фубара именно!
но теперь у меня вопрос:blush:: ты сделал щас так, что фокус (после запуска Numpad0.exe/Numpad9.exe) переводится на плейлист?))) если да то это было бы огонь)
по всему остальному завтра буду тестить что к чему...
не понял только, скрипты (точнее один скрипт просто несколько вариантов) скопилированый через AHK запустить, что бы он висел в процессах и пробовать как с ним работают Numpad0.exe/Numpad9.exe?
seriousstas
08.11.2016, 02:35
ты сделал щас так, что фокус (после запуска Numpad0.exe/Numpad9.exe) переводится на плейлист?
да должен переводится и с вчерашними файлами ..
не понял только, скрипты (точнее один скрипт просто несколько вариантов) скопилированый через AHK запустить, что бы он висел в процессах и пробовать как с ним работают Numpad0.exe/Numpad9.exe?
Скрипты на примере Numpad9
если поменяешь в нем Numpad9 на Numpad0, то будет - назад .
Компилируй пару вариантов и пробуй.
что на компе я запускал .exe файлы (как ты на видео раньше показывал) этим самым снимая фокус с фубара именно!
Скрипт работает так (должен работать) :
находит кнопки , фокусируется на кнопках жмет Ctrl Alt Num ,
затем переходит в плейлист и закрывается
WeZP7NKJW1Q
На Твоем видео - переходит в плейлист и остается в нем, не знаю почему ..
У Тебя на домашнем переключает панели запуском скрипта ?
У Тебя на домашнем переключает панели запуском скрипта ?
да.
Попробовал предложеные тобой скрипты на компе:
1й вариант почему то первых раз 10-12 не срабатывает (только фокус возвращает на фубар).
2й и 3й работают.
Завтра поганяю всё это дело в машине + скину тебе, то что ты просил.
P.S. на твоём видео ты снимаешь фокус с фубара переводя его на ТС (с которого запускаешь .exe). Если по другому сказать: активное/не активное окно фубара.
При таких же расскладах и у меня работает. не работает когда фокус на фубаре (когда окно фубара активное).
Спасибо!!!
seriousstas
08.11.2016, 05:23
не работает когда фокус на фубаре (когда окно фубара активное).
Создаю ярлык для Numpad9.exe .
Вешаю на него хоткей через свойства . Например Ctrl + Alt + N .
И все работает с фокусом где угодно . Попробуй повторить на домашнем(отпускай все клавиши перед повторным нажатием) .
Как ты делаешь запуск Numpad9.exe ?
Если другим хоткеем, то в нем не должно быть Numpad.
seriousstas
Подскажи в чем дело.
В общем любые версии сборок стали грузится неимоверно долго секунд 30-40 (раньше такого безобразия не было).
Я так понимаю, что в реестр наши сборки ничего не пишут так? Или я ошибаюсь.
В общем подскажи где, и что можно подчистить...или винду сносить?
vasekbfg
08.11.2016, 12:10
С фокусом на плейлисте :
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
ControlSend, MegaPanelSplitterWindowContainer1, {space}, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Sleep 50
ControlFocus, uie_jscript_panel_class1, foobar2000 ;
добавлю в 14.2
Спасибо , а насчет подсветки пока не могу посмотреть ресурс заблочен на работе , отпишусь как дома буду
seriousstas
08.11.2016, 17:10
sirota
Попробуй чистый фубар или чистую свежескачанную сборку , другую сборку , вне Икара ..
Не знаю , что советовать - у меня старт за секунду во всех режимах ..
Если библиотека больше 10 000 треков то секунды две ..
sirota
Попробуй чистый фубар или чистую свежескачанную сборку , другую сборку , вне Икара ..
Не знаю , что советовать - у меня старт за секунду во всех режимах ..
Если библиотека больше 10 000 треков то секунды две ..
Значит так...запускаю чистую сборку без икара.....первый запуск очень долгий как и писал больше 30 сек.....но после закрытия и опять запуска...уже за 1 сек. как только перезагрузил винду опять первый старт долгий.
Покажи , что у тебя выдаст AutoIt (https://www.autoitscript.com/site/autoit/downloads/) Window Info...
Для этого перетяни прицел на кнопки .
>>>> Window <<<<
Title: The Black Eyed Peas - Don't Stop The Party foobar2000
Class: {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Position: 0, 79
Size: 1280, 569
Style: 0x160B0000
ExStyle: 0x00000000
Handle: 0x00090132
>>>> Control <<<<
Class: MegaPanelSplitterWindowContainer
Instance: 1
ClassnameNN: MegaPanelSplitterWindowContainer1
Name:
Advanced (Class): [CLASS:MegaPanelSplitterWindowContainer; INSTANCE:1]
ID:
Text:
Position: 0, 0
Size: 1280, 569
ControlClick Coords: 1032, 505
Style: 0x56000000
ExStyle: 0x00010000
Handle: 0x0004084A
>>>> Mouse <<<<
Position: 1032, 584
Cursor ID: 0
Color: 0xFFFFE8
>>>> StatusBar <<<<
>>>> ToolsBar <<<<
>>>> Visible Text <<<<
Mega Panel Splitter
>>>> Hidden Text <<<<
Analog VU Meter
PeakmeterSpectrum
Скрипт должен перезапускаться, но мало-ли.. посмотри в диспетчере в процессах,
не "залипает-ли" скрипт
В процессах проверил - Numpad9.exe появляется на пару сек (после запуска) и изчезает. Numpad0.exe почему то даже не смог выловить в процессах при запуске.
Разные варианты скриптов с задержкой (паузами точнее) проверил - результат такой же (((
Создаю ярлык для Numpad9.exe .
Вешаю на него хоткей через свойства . Например Ctrl + Alt + N .
И все работает с фокусом где угодно . Попробуй повторить на домашнем(отпускай все клавиши перед повторным нажатием)
А вот ты о чём... проверил на ПК (win7 x64) - да, работает!
Как ты делаешь запуск Numpad9.exe ?
Если другим хоткеем, то в нем не должно быть Numpad.
Просто запуск .exe. (вешаю на крутилку джойстика влево/вправо) на прошлой версии так же работало:
это из конфига под мою приблуду (старая версия фубара - всё работало)
ActionOnKey=81307,6,D:\4Icar_13_6_2_MPS_UNI\4Hot_K eyboard\Numpad9.exe,r_ch+ JogD-L
ActionOnKey=81303,6,D:\4Icar_13_6_2_MPS_UNI\4Hot_K eyboard\Numpad0.exe,r_ch- JogD-R
на 14.1 так же, путь только другой.
P.S. словил пару раз такую вот ошибку сегодня в foobar
WSH Panel Mod (Album Art + Allmusic Review by marc2003): Ошибка выполнения Microsoft JScript:
'this.content.length' - есть null или не является объектом
File: D:\4Icar_14.1_MPS_UNI\foobar2000\wsh_marc2003\js\t ext.js
Line: 249, Col: 4
<source text only available at compile time>
seriousstas
08.11.2016, 19:10
shumaz
Покажи , что у тебя выдаст AutoIt
Все ок с этим.
Тут тебе придется самому подбирать задержки
попробуй поставить
Sleep 200 или больше Sleep 500 перед
ControlSend - экспериментируй , возможно скрипт не успевает перевести фокус на кнопки и висит в плейлисте
попробуй так - будет работать ? :
Sleep 200
ControlSend, MegaPanelSplitterWindowContainer1, ^!{Numpad9}, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Я могу вернуть в следующей версии сборки только {Numpad9} (без Ctr+Alt - это значки ^! для упрощенного ввода (http://www.script-coding.com/AutoHotkey/Send.html))
выложу на днях . В плейлисте поотключаю перехват хокеев. Там есть поиск артиста вводом с клавы - бесполезная вещь
shumaz
Все ок с этим.
Тут тебе придется самому подбирать задержки
попробуй поставить
Sleep 200 или больше Sleep 500 перед
ControlSend - экспериментируй , возможно скрипт не успевает перевести фокус на кнопки и висит в плейлисте
попробуй так - будет работать ? :
Sleep 200
ControlSend, MegaPanelSplitterWindowContainer1, ^!{Numpad9}, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Я могу вернуть в следующей версии сборки только {Numpad9} (без Ctr+Alt - это значки ^! для упрощенного ввода (http://www.script-coding.com/AutoHotkey/Send.html))
выложу на днях . В плейлисте поотключаю перехват хокеев. Там есть поиск артиста вводом с клавы - бесполезная вещь
я так понял полный будет такой:
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
Sleep 200
ControlSend, MegaPanelSplitterWindowContainer1, ^!{Numpad9}, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Sleep 200
ControlFocus, uie_jscript_panel_class1, foobar2000 ;
попробую....на компе работает.
seriousstas
08.11.2016, 19:54
Я тебе в личку кину сборку 14_2, где будет старый вариант (без Ctr+Alt ,скомпилируй и его) :
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
Sleep 100
ControlFocus, MegaPanelSplitterWindowContainer1, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Sleep 100
ControlFocus, uie_jscript_panel_class1, foobar2000 ;
Send {Numpad0}
либо :
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
Sleep 200
ControlSend, MegaPanelSplitterWindowContainer1, {Numpad9}, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Sleep 200
ControlFocus, uie_jscript_panel_class1, foobar2000 ;
Я тебе в личку кину сборку 14_2, где будет старый вариант (без Ctr+Alt скомпилируй и его)
ага, ок. спасибо! буду ждать
seriousstas
08.11.2016, 20:10
ага, ок. спасибо! буду ждать
проверяй (попробовал, работает и с Numpad, тоесть можно запускать другим хоткеем, например Numpad6 )
проверяй (попробовал, работает и с Numpad, тоесть можно запускать другим хоткеем, например Numpad6 )
ты пробовал переключать кнопками клавиатуры Numpad9/Numpad0 когда фокус в плейлисте (когда трэки листаешь к примеру)? у меня не пашет.
когда фокус на кнопках (кроме: прицела и кнопки смены Play режима) - работает.
но чет не так и в плейлисте (вверх/вниз не листаются с клавиатуры трэки)
это всё на компе проверяю. в машине раньше чем завтра не смогу (((
seriousstas
08.11.2016, 22:59
ты пробовал переключать кнопками клавиатуры Numpad9/Numpad0 когда фокус в плейлисте (когда трэки листаешь к примеру)? у меня не пашет.
Для этого и делаем скрипт. Так и должно быть .
но чет не так и в плейлисте (вверх/вниз не листаются с клавиатуры трэки)
Это не проблема - сейчас поотключал, что б ничего не мешало..
Для этого и делаем скрипт. Так и должно быть .
Это не проблема - сейчас поотключал, что б ничего не мешало..
понял! днём завтра отпишусь как поведёт себя в машине.
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
Sleep 200
ControlSend, MegaPanelSplitterWindowContainer1, {Numpad9}, ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
Sleep 200
ControlFocus, uie_jscript_panel_class1, foobar2000 ;
привет!
затестил в машине скрипт выше - работает! (с 14.2 соответственно)!
может даже стоит уменьшить sleep немного (при быстром переключении бывает проскакивает и не срабатывает)
так же заметил такой ньанс: Numpad9 переключает на панель библиотеки, а Numpad0 пропускает её (на 1 панель меньше листает по кругу).
P.S. ждём тогда финалочки 14.2?)))
Спасибо
seriousstas
10.11.2016, 05:01
sirota
Тут сложно "гадать" на расстоянии.
sirota
Тут сложно "гадать" на расстоянии.
Согласен....буду бабахать винду.
seriousstas
10.11.2016, 17:18
Согласен....буду бабахать винду.
У меня 4 разных ПК на WIN - на всех "бабахаю" раз в 2-3 года.
Есть пару правил - не ставить сборки (Икар пока то-же оригинал).
Не ставить антивирусных прог . Не ставить сырых и новых версий ОС..
Оптимизация(типа удаления лишних прог. Метро, очистка автозаргузки и служб , тд..) , если нужна - вручную ..
vasekbfg
10.11.2016, 22:59
Можно сделать такую подсветку , но сильно "дорого" не будет :) :
95wGQYQdg7U
Рамка фокуса гуд , а при одинарном клике на другой трек она останется на текущем? Можно отображать исполнителя тоже ? В толк не возьму зачем его прятать? Ведь плейлист имеет режим со спрятанной картинкой и именем исполнителя, и хрен поймешь тогда кто щас играет, особенно если это сборник. Ну и само собой , в исходном виде %Artist% - %Title% незачем центрировать. Теперь я догадываюсь для чего был изменен формат строки плейлиста на %Album artist% - %Title%, - для того чтобы в сборнике исполнитель выглядел одинаковым , очень спорная заморочка ИМХО. Еще надо цвета подобрать по-контрастней , белое на желтом фоне разглядывать непросто.
seriousstas
11.11.2016, 01:33
Рамка фокуса гуд
Ничего не делал с фокусом. Всё по дефолту..
Можно отображать исполнителя тоже ? В толк не возьму зачем его прятать?
Повторюсь , что-то менять по плейлисту нет в планах .. Если что не так с TF пробуй сам (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Refere nce),
либо используй другие версии этого плейлиста (оригинал, либо из других сборок).
Теперь я догадываюсь для чего был изменен формат строки плейлиста на %Album artist% - %Title%
Не понял ? Изменния в скрипте из-за сортировки . Сейчас сортирует папками (было по-тегам)
В 14.2 , артист так-же будет и в окне каверов . Убрал исполнителя из воспроизводимого трека тк часто слушаю классику, а там длинные названия..
Его можно увидеть здесь (http://pccar.ru/showpost.php?p=373524&postcount=2935) 4 пункта .
+ добавь теперь под кавером и забыл про бегущую строку - итого - 5 мест :)
Еще не забывай - я не автор плейлиста - а лишь сделал парочку правок..
а при одинарном клике на другой трек она останется на текущем?
Спрашивай об этом у автора :
http://br3tt.deviantart.com/art/JS-Smooth-Playlist-571375892
Там-же можно и качнуть оригинал .
Здравствуйте. Подскажите пожалуйста как сделать чтоб треки проигрывались по порядку после назначения трека, а то если выбрать отдельно трек, то он или играет всё время заново или не играет вообще, всё зависит что выбрать на кнопке рядом со стрелочками
seriousstas
12.11.2016, 00:08
Takser
По-порядку будет , если поставишь Default..
seriousstas
12.11.2016, 05:32
duzzy
Только сейчас руки дошли и как-то пост пропустил :
http://pccar.ru/showpost.php?p=373512&postcount=2931
Меньше-бы возился с подложкой и прокруткой (с переносом из 0.8) .
Ты там что-то еще поправлял ?
Выделение заработало (а Ты говорил "пошлет" :) ), заметил парочку раз, когда перехожу на панель
выделения висят , но не добавляется совсем (повторить не получилось..)
- Добавлено Node size(плюсов от этой настройки не заметил)
Иконки (дефолтного) дерева не меняются в размере, но есть (припрятанный symb_style 1) упрощенный стиль, а к нему я и применил зум ,неплохо получилось на мой взгляд :
wf4xUcOacnQ
Автор его использует для обхода ошибок.. странно.
seriousstas
Только сейчас руки дошли и как-то пост пропустил :
Ну так я модифицированную версию 1.2 выложил почти в тот же день когда автор оригинал выложил... ночью переделывал, днем доделал и выложил.
Ты там что-то еще поправлял ?
Да, настройки по дефлоту, схему проверки плейлиста, некоторые мелочи... ну естественно исправления по прошлым косякам.
Иконки (дефолтного) дерева не меняются в размере, но есть (припрятанный symb_style 1)
Пробовал этот вариант... очень контрастно... мне не очень подходит, сильно отвлекает внимание при поиске нужной папки... вариант с [+][-] проще и гладко смотрится.
Если тебе нравится ноды то гуд. Но я бы сделал их не прозрачными и менее яркими...
что то вроде этого...
http://jpegshare.net/thumbs/14/ff/14ff0d7924a6eaf62e5092096e383d2f.jpg (http://jpegshare.net/14/ff/14ff0d7924a6eaf62e5092096e383d2f.jpg.html)
(черновик без правок)
или так...
http://jpegshare.net/thumbs/d9/a7/d9a7c083df092dd99b1dbbbb951d74c7.jpg (http://jpegshare.net/d9/a7/d9a7c083df092dd99b1dbbbb951d74c7.jpg.html)
Это только мое личное мнение...
использует для обхода ошибок.. странно.
Отрисовка встроенных стилей винды не всегда проходит гладко, а иногда и вовсе жестко тупит... и как результат получаем падение скрипта.
Если замечал то авторы скриптов не так часто используют стили винды в скриптах, хоть и их использование может прилично упростить некоторые моменты по графике.
Бретт раньше частенько пользовал стили в скриптах потом отказался.
seriousstas
13.11.2016, 03:12
Ну так я модифицированную версию 1.2 выложил почти в тот же день когда автор оригинал выложил
Да - супер , промотрел...
Спасибо за подробный ответ!
С библиотекой поставил точку .. Кроме зума иконок ещё изменил выделение на
отпусканию ЛКМ , так как у Тебя в однотычковом варианте (что-б не авто-выделялось при прокрутке текста)..
seriousstas
Пожалуйста !
С библиотекой поставил точку ..
Я так же... там все работает как нужно ковырять смысла нет.
И спасибо Вилбу что убрал из скрипта библиотеки картиночную муть от скрипта биографии.
seriousstas
15.11.2016, 18:55
Обновил (http://pccar.ru/showpost.php?p=371437&postcount=2761) мод инет-картинок .
Последние изменения тут (http://foobar2000.ru/forum/viewtopic.php?p=62798#p62798)
.........
закралась ошибка , обновил повторно
Обновил (http://pccar.ru/showpost.php?p=371437&postcount=2761) мод инет-картинок .
Последние изменения тут (http://foobar2000.ru/forum/viewtopic.php?p=62798#p62798)
а в общем "Малевича" заменить на своё фото можно?)
и я так понял пока еще не финалочка 14.2
seriousstas
15.11.2016, 23:45
shumaz
Привет!
Это отдельный скрипт картинок - будет в 14.2
если нет каверов в папке - покажет no_cover :
x:\4Icar_14.2_MPS_UNI\foobar2000\themes\stub.png
Его меняй на что пожелаешь .
Сборку выложу сегодня(если успею)-завтра ..
shumaz
Привет!
Это отдельный скрипт картинок - будет в 14.2
если нет каверов в папке - покажет no_cover :
x:\4Icar_14.2_MPS_UNI\foobar2000\themes\stub.png
Его меняй на что пожелаешь .
Сборку выложу сегодня(если успею)-завтра ..
Спасибо, понял)
Ждём сборочки.:derisive:
seriousstas
24.11.2016, 06:39
Ждём сборочки
Скрипт "картинок" (http://foobar2000.ru/forum/viewtopic.php?p=62941#p62941) снова затормозил ..
На сегодня больше модернизировать нечего . Завтра оформлю сборку..
...
есть еще задачка .. :)
seriousstas
29.11.2016, 00:42
+++ОБНОВЛЕНИЕ ОТ 26.11.2016+++
4Icar_14.2_MPS_UN (https://yadi.sk/d/26I04T_Gw3ESJ)
Что нового в обновленной сборке:
• Фубар обновлен до v1.3.13 (установка сборки ТОЛЬКО "НАЧИСТО"!)
• Изменил логику переключения между панелями :
- теперь если покинуть панель слева и перейти в менеджер - возврат на ту-же панель .
• Исправил работу кнопки "прицел" - её повторные нажатия для переключения панелей .
• Полностью портабелен :
- обложки радиостанций теперь вместе с фубаром и нет привзки к диску , при этом их размер в разы менше ..
- полноценные названия логотипов (было - например 143010265.png..)
Создание своей обложки теперь намного проще - "инструкция" :
1. Сохранить из менеджера плейлист в удобное (ПКМ => Save) место в формате *.m3u .
2. Открыть блокнотом и добавить новую радиостанцию.
3. Запустить в Фубаре , в любом из 2-х скриптов ( картинок ) ,
выбрать Copy filename to clipboard (см. скрин) .
4.Добавить по пути 4Icar_14.2_MPS_UNI\foobar2000\Radio Logos\ свой логотип
и переназвать файл, например : Rock Radio.png
• Кнопка "CTRL" ,будет отключаться при выходе из панели на которой она активна (удаления или библиотеки)..
• Горячие клавиши :
- для вызова менеджера - Пробел.
- для смены экранов - вернул Nam0 и Nam9 . Изменены так-же и (файлы) скрипты переключения панелей (https://yadi.sk/d/dy_7eaAzwVeuw) .
• Изменения и исправления в таких скриптах :
- основной МПС (правки по смене панелей)
Скрипт библиотеки (обновлен до v.1.2, модифицирован)
- скрипт картинок "Album Art + Allmusic Review" от "marc2003" + аналоговые часы от kgena_ua
(теперь при отключении загрузок не будут создаваться папки и текстовые файлы , при этом (при нажатии ВЫКЛ) пака будет авто-очищаться!)
Плейлист.
- добавлена подсветка артиста раз в секунду
- изменения в заголовке в зависимости от типа трека .
Скрипты панелей слева .
От Maxim Terpilovsky's :
- добавлен пункт копирования названий Copy filename to clipboard
- добавлен артист в режиме "треки" .
От kgena_ua И-нет картинки и каверы:
- модифицирован для автопоиска картинок и языка текста при заданных настройках,
при смене артиста (переключения трека) - возврат настроек .
- покажет одну обложку , либо логотип радиостанции (no cover) . В новой версии есть описание альбомов, но в основном - известных исполнителей
- добавлен пункт копирования названий Copy filename to clipboard для удобного переименования лого радиостанций (см. скрин)
http://imgdepo.com/id/i9969082
seriousstas,
Вауу))) чет я пропустил)))
сходу вопрос:
Фубар обновлен до v1.3.13 (установка сборки ТОЛЬКО "НАЧИСТО"!)
надо удалить установленый фубар (у меня вроде установленый вместе с iCarDS висит) или что имеется ввиду?
seriousstas
29.11.2016, 06:25
seriousstas,
Вауу))) чет я пропустил)))
сходу вопрос:
надо удалить установленый фубар (у меня вроде установленый вместе с iCarDS висит) или что имеется ввиду?
Нельзя копировать поверх предидущих версий...
seriousstas
Стас привет!
тестанул сегодня. всё шустро пашет - заценил!!!
два момента заметил:
1) не работают кнопки клавиатуры (а в моём случае джойстика) вверх/вниз (up/down) в плейлисте. иными словами: не листаются трэки вверх/вниз. бывает оживает, но редко... не могу понять от чего зависит.
UP: после запуска foobar (если открывается плейлист) - не работают вверх/вниз. стоит перейти на библиотеку и обратно - оживает.
2) когда листаю панели при помощи Numpad0.exe/Numpad9.exe виснет панель "LIB BUTTON PANEL". скрины даю ниже....
http://i12.pixs.ru/thumbs/3/2/2/skrin2jpg_8754910_24280322.jpg (http://pixs.ru/showimage/skrin2jpg_8754910_24280322.jpg)
http://i12.pixs.ru/thumbs/3/2/9/skrin1png_9192855_24280329.jpg (http://pixs.ru/showimage/skrin1png_9192855_24280329.jpg)
seriousstas
04.12.2016, 01:48
Привет!
1. попробуй поставь Playback follows cursor в настройках Фубара .
2. посмотрю..
...........
Посмотрел, (проверь) ПКМ по нижним кнопкам и замени скрипт :
// ==PREPROCESSOR==
// @import "%fb2k_path%\themes\4Icar\Scripts\Flags.txt"
// @import "%fb2k_path%\themes\4Icar\Scripts\Helpers.txt"
// @feature "v1.4"
// @feature "watch-metadb"
// ==/PREPROCESSOR==
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 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;
}
//------------------> Draw Buttons
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);//1
};
}
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();
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 - y - bh-5, true);
if (panel == 16 ){
pss.GetPanel(2).Show(true); /*PANEL: [lib_buttons]*/
pss.GetPanel(2).Move(ww - bw, wh / 2-bh*2, ww, bh * 3, true);
}
pss.GetPanel(13).Show(true);
pss.GetPanel(13).Move(0, wh-bh-4, bw, bh+4,true);
pss.GetPanel(14).Show(true);
pss.GetPanel(14).Move(bw*4, wh-bh-3, ww-bw*8, bh-2,true);
};
//================================================== =====
// Keyboard Flags & Tools
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_NUMPAD0 = 0x60
var VK_NUMPAD3 = 0x63
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;
};
//================================================== ===== Variables
var autolibtopl = window.GetProperty("Auto Library to Playlist", false)
var WshShell = new ActiveXObject("WScript.Shell");
var fso = new ActiveXObject("Scripting.FileSystemObject")
var set_path = fb.ProfilePath + "\\settings\\";
var NOW_prop = 1600;
var TAB_prop = window.GetProperty("_TAB_Timer",10)* 1000;
var DEL_prop = window.GetProperty("_DEL_Timer",25)* 1000;
var VU_prop = window.GetProperty("_VU_Timer",5)* 1000;
var Milk_prop = window.GetProperty("_Milk_Timer",6)* 1000;
var swbt = window.GetProperty("swbt", 0);
var swvk = window.GetProperty("swvk", 0);
var Milk_Timer = false;
var DEL_Timer = false;
var TAB_Timer = false;
var VU_Timer = false;
var NOW_Timer = false;
var Milk_set_off = 0;
var Tab_set_off = 0;
var Del_set_off = 0;
var VU_set_off = 0;
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\\"; // path for remdir file
var set_path2_wsh_data = download_folder + "\\wsh_data\\"; // path for remdir file
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 q = window.GetProperty("swsq", 0), swsq;
swbt =3;
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 str = "";
var toolbar_timer = false;
var click_timer = false;
var btn_switch_timer = false;
//////////////////////////////////////////
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;
//================================================== ==== ANIM var
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 = 13;
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; //window.GetProperty("SYS.step_c", 8); //def 8
var step_n = anim_step; //window.GetProperty("SYS.step_n", 8); //def 8
//==============================
var toolbar_open = 0
var on_mouse = false;
//================================================== ===== recalc
function recalc_dimensions() {
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;
panel== 16 ? Lib_var= LIBRARY1_ICO : Lib_var = LIBRARY2_ICO ;
var ROT_var ;
if (panel== 5 ) {
ROT_var= rot1 ;
}
else if (panel== 9 ) {
ROT_var= rot2 ;
}
else if (panel== 15 ) {
ROT_var= rot3 ;
}
else if (panel== 8 ) {
ROT_var= rot1 ;
}
else {
ROT_var= rot3 ;
}
toolbar_open== 1 ? t_ico = TOOLBAR_ICO_OFF : t_ico = TOOLBAR_ICO;
$buttons = [
//prev 1
new Button(bx, by-1, B.width, B.height, ANIM_BUT, PREV_ICO, function() {
fb.Prev();
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww , bh);
}),
// play 2
new Button(bx * 2, by-1, B.width, B.height, ANIM_BUT, fb.IsPlaying ? (fb.IsPaused ? PLAY_ICO : PAUSE_ICO) : PLAY_ICO, function() {
fb.PlayOrPause();
}),
// next 3
new Button(bx * 3, by-1, B.width, B.height, ANIM_BUT, NEXT_ICO, function() {
fb.Next();
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww , bh);
}),
// Lib
new Button(ww - bx, by-1, B.width, B.height, ANIM_BUT, Lib_var, function() {
CollectGarbage();
panel = panel == 16 ? 11 : 16
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
if (panel == 16 ){
pss.GetPanel(2).Show(true); /*PANEL: [lib_buttons]*/
pss.GetPanel(2).Move(ww - bw, wh / 2-bh*2, ww, bh * 3, true);
}
SYS_check();
swbt = 2;
recalc_dimensions();
window.Repaint();
}),
//NOW PL
new Button(ww - bx * 3, by-1, B.width, B.height, ANIM_BUT, SHOWNPL_ICO, function() {
if (NOW_Timer) NOW_Timer.Dispose()
//
pss.GetPanel(0).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5 , true);
if (panel==5) {
if (!NOW_Timer) {
try {
WshShell.Run(".\\Emul\\" + "click.exe");
} catch(e) {}
} else if (NOW_Timer){
q++;
if (q > 2)
q = 0;
window.SetProperty("swsq", q);
DEF_check()
CollectGarbage();
// pss.GetPanel(0).Show(false)
//pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5 , true);
swbt = 3;
// pss.GetPanel(8).Show(false);
window.SetProperty("SYS.VU_buttons_status",false);
try {
WshShell.Run(".\\Emul\\" + "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
}
//SYS_check() ;
DEF_check()
pss.GetPanel(0).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(".\\Emul\\" + "click.exe");
} catch(e) {}
}
}
SYS_check()
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww , bh);
swbt = 3;
NOW_Timer = window.CreateTimerInterval(NOW_prop);
}),
//4panel
new Button(ww - bx * 2, by-1, B.width, B.height, ANIM_BUT, ROT_var, function() {
pss.GetPanel(0).Show(false);
pss.GetPanel(0).Move(bw*4, wh-bh*2-3, ww-bw*8, bh-2,true); /*PANEL: [volume]*/
swbt ++;
if (swbt > 3)
swbt=1
window.SetProperty("swbt", swbt)
CollectGarbage();
/*
if (swbt == 1) {
// pss.GetPanel(8).Show(false);
dsp_switch_check_timer = false;
window.SetProperty("SYS.VU_buttons_status",false);
panel = 5;
dir_move = panel > old_panel ? "right" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
}
*/
if (swbt == 1) {
window.SetProperty("SYS.VU_buttons_status",false);
panel = 9; /*PANEL: [alb_library]*/
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
SYS_check();
}
if (swbt == 2) {
window.SetProperty("SYS.VU_buttons_status",false);
panel = 15;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
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(15).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);
if (sw_vu = window.GetProperty("VU buttons auto hide") == true) {
VU_Timer = window.CreateTimerInterval(VU_prop);
}
}
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww , bh);
}),
//toolbar
new Button(ww - bx * 4, by-1, B.width, B.height, ANIM_BUT, t_ico, function() {
if (DEL_Timer) DEL_Timer.Dispose();
if (toolbar_timer) toolbar_timer.Dispose();
if (VU_Timer) VU_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){
if (toolbar_timer) toolbar_timer.Dispose();
pss.GetPanel(0).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh-5 , true)
}
if (toolbar_open == 1){
pss.GetPanel(c_panel).Show();
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5, true);
pss.GetPanel(0).Show(true)
pss.GetPanel(0).Move(bw*4, wh-bh*2-3, ww-bw*8, bh-2,true);
pss.GetPanel(1).Show(false)
pss.GetPanel(4).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh * 2-5, true)
toolbar_timer = window.CreateTimerInterval(toolbar_prop);
}
window.RepaintRect(0, wh - bh*2 - 4, ww , bh*2);
recalc_dimensions();
//DEF_check()
}),
//=============================================top left 4 buttons
// DEL butt
new Button(0, by - B.height-1, B.width, B.height, ANIM_BUT, DEL_ICO, function() {
if (DEL_Timer) DEL_Timer.Dispose();
if (toolbar_timer) toolbar_timer.Dispose();
if (VU_Timer) VU_Timer.Dispose();
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 = 0;
recalc_dimensions();
window.Repaint();
}),
//DSP set
new Button(bx, by - B.height-1, B.width, B.height, ANIM_BUT, DSP_S_ICO, function() {
try {
fb.RunMainMenuCommand("View/DSP/DSP #2 config");
} catch (e) {};
}),
//DSP
new Button(bx*2, by - B.height-1, B.width, B.height, ANIM_BUT, DSP_ICO, function() {
if (VU_Timer) VU_Timer.Dispose();
if (DEL_Timer) DEL_Timer.Dispose();
if (toolbar_timer) toolbar_timer.Dispose();
if (toolbar_timer) toolbar_timer.Dispose();
pss.GetPanel(0).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; //PANEL: [dsp_changer]
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
SYS_check()
swbt = 1;
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww , bh);
}),
// MILK
new Button(bx * 3, by - B.height-1, B.width, B.height, ANIM_BUT, MILK_ICO, function() {
pss.GetPanel(0).Show(false);
pss.GetPanel(c_panel).Show();
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh-5 , true)
if (DEL_Timer) DEL_Timer.Dispose();
if (toolbar_timer) toolbar_timer.Dispose();
toolbar_open = 0
panel = 12;
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(true);
pss.GetPanel(3).Move(0, wh - bh - 4, ww , bh, true);
}),
//================================================== = top right 4 buttons
new Button(ww - bx, by - B.height-1, B.width, B.height, ANIM_BUT, CLOSE_ICO, function() {
var set_path = fb.ProfilePath + "\\settings\\";
if(utils.ReadINI( set_path + 'settings.ini', 'clear_pic', 'clearpic')==1)
try {
{WshShell.Run(set_path_wsh_data + "RemoveDir.exe");}
} catch(e) {}
fb.RunMainMenuCommand("File/Exit");
}),
// Preferences
new Button(ww - bx * 2, by - B.height-1, B.width, B.height, ANIM_BUT, PREF_ICO, function() {
fb.ShowPreferences();
}),
// search
new Button(ww - bx * 3, by - B.height-1, 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(0).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5 , true);
swbt = 3
recalc_dimensions();
}),
// TAB
new Button(ww - bx * 4, by - B.height-1, 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(0).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);
}
// ================================================== // ON PAINT
function on_paint(gr) {
gr.FillSolidRect(0, 0, ww, wh, g_background_color); //bg
gr.FillGradRect(0, wh - bh - 5, ww, bh+5 , bottom_gradient_color_angle1, g_bottom_gradient_color, g_bottom_gradient_color2); // bottom grad
//=====================
for (var i = 0; i < 7; 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); // bottom grad
for (var i = 7; i < $buttons.length; i++) {
$buttons[i].draw(gr);
}
var dsp = utils.ReadINI(set_path + 'settings.ini', 'dsp', 'preset')
} else {};
}
// ================================================== //
function on_size() {
if (!window.Width || !window.Height) {
return;
}
ww = window.Width;
wh = window.Height;
toolbar_open = 0
default_layout();
recalc_dimensions();
bw = B.width;
bh = B.height;
bx = B.width;
by = wh - ANIM_BUT.height / 3 - 4;
if (panel !=5) {DEF_check();}
};
// ================================================== //
function on_mouse_move(x, y) {
buttons_on_mouse_move(x, y);
}
//==================================================// lbtn_down
function on_mouse_lbtn_down(x, y) {
buttons_on_mouse_lbtn_down(x, y);
};
// ================================================== // lbtn_up
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();
}
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);
};
};
//================================================== ==== ANIM
function move_panel() {
if (toolbar_open) {
};
else {};
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();
timer_anim = window.CreateTimerInterval(a_timer);
}
//================================================== =====/
function on_timer(id) {
//====================ANIM
if (timer_anim && id == timer_anim.ID) {
if (animation_status = window.GetProperty("SYS.Animation_status") == true) {
pss.GetPanel(0).Show(false)
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;
}
window.RepaintRect(0, y, ww, wh - y - bh - 5);
pss.GetPanel(c_panel).Move(c_x, y, ww, wh - y - bh - 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;
timer_anim.Dispose();
CollectGarbage();
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 - y - bh - 5 , true);
pss.GetPanel(n_panel).Move(0, y, ww, wh - y - bh - 5 , true);
pss.GetPanel(c_panel).Show(false);
c_panel = n_panel;
c_x = 0;
n_x = 0;
timer_anim.Dispose();
on_size();
CollectGarbage();
move = false;
window.SetProperty("SYS.panel", panel);
if (flag == true) {animation_status = true;
window.SetProperty("SYS.Animation_Status", animation_status)
flag = false}
}
}
}
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 - y - bh-5 , true)
window.RepaintRect(0, wh - bh*2 - 4, ww , bh*2);
recalc_dimensions();
//DEF_check();
}
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(".\\Emul\\" + "MilEs.exe");
} catch(e) {};
pss.GetPanel(3).Show(false);
milk_btn = false
//window.SetProperty("SYS.Toolbar_status",toolbar_open);
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh-5 , true)
swbt = 2
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();
DEL_btn = window.GetProperty("SYS.DEL_buttons_status")
//toolbar_open = window.GetProperty("SYS.Toolbar_status");
recalc_dimensions();
CollectGarbage();
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5 , true);
window.Repaint();
}
if (VU_Timer&&id==VU_Timer.ID){
VU_Timer.Dispose();
pss.GetPanel(6).Show(false);
pss.GetPanel(7).Show(false);
pss.GetPanel(0).Show(false)
window.SetProperty("SYS.VU_buttons_status", false);
VU_btn = window.GetProperty("SYS.VU_buttons_status")
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()
}
}
// ============= vu switch2 interval
if (utils.ReadINI( set_path + 'settings.ini', 'VU', 'VU_off')==2){
CollectGarbage();
vu_switch_check2()
}
// ============= lib
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(0).Show(false)
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5 , true);
if (animation_status) {
animation_status = false;
window.SetProperty("SYS.Animation_Status", animation_status);
flag = true
}
SYS_check() ;
DEF_check()
pss.GetPanel(0).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(".\\Emul\\" + "click.exe");
} catch(e) {}
}
SYS_check()
}
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww , bh);
swbt = 3;
}
// ============= vu switch2 interval
if (utils.ReadINI( set_path + 'settings.ini', 'milk', 'milk_off')==1){
milk_switch_check();
}
// ============= dsp switch interval
if (utils.ReadINI( set_path + 'settings.ini', 'dsp', 'dsp_off')==1){
dsp_switch_check();
}
// ============= del switch interval
if (utils.ReadINI( set_path + 'settings.ini', 'del', 'del_off')==1){
del_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) {};
};
}
// ================================================== // Double Click btn changer ;)
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);
_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) {};
//on_size();
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) {};
//on_size();
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) {};
//on_size();
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) {};
//on_size();
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) {};
//on_size();
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) {};
//on_size();
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) {};
//on_size();
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) {};
//on_size();
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) {};
//on_size();
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 20:
window.ShowProperties();
break;
case 30:
window.ShowConfigure();
break;
}
_menu.Dispose();
return true;
}
//================================================== == On key down
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(0).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")
}
// if (mask == KMask.ctrlalt) {
if(vkey==VK_NUMPAD9) {
SYS_check()
swvk++;
if (swvk> 5)
swvk=1
window.SetProperty("swvk", swvk);
if (swvk == 1) {
panel = 5; /*PANEL: [lib]*/
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; /*PANEL: [alb_library]*/
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt= 1
}
if (swvk == 3) {
panel = 15; /*PANEL: [ArtSplitter]*/
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 2
}
if (swvk == 4) {
pss.GetPanel(15).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 = 16
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
}
if (panel == 16 ){
pss.GetPanel(2).Show(true); /*PANEL: [lib_buttons]*/
pss.GetPanel(2).Move(ww - bw, wh / 2-bh*2, ww, bh * 3, true);
swbt = 2;
} else {pss.GetPanel(2).Show(false); /*PANEL: [lib_buttons]*/
}
window.SetProperty("swbt", swbt);
window.SetProperty("swvk", swvk);
recalc_dimensions();
window.RepaintRect(0, wh - bh - 4, ww , bh);
}
// ===========================================
// if (mask == KMask.ctrlalt) {
if(vkey== VK_NUMPAD0) {
SYS_check()
swvk --
if (swvk < 1)
swvk=5
window.SetProperty("swvk", swvk);
if (swvk == 1) {
panel = 5; /*PANEL: [lib]*/
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; /*PANEL: [alb_library]*/
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 1
}
if (swvk == 3) {
panel = 15;
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
swbt = 2
}
if (swvk == 4) {
pss.GetPanel(15).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 = 16
dir_move = panel > old_panel ? "left" : "right";
if (old_panel != panel) {
move_panel();
old_panel = panel
}
}
//on_size();
if (panel == 16 ){
pss.GetPanel(2).Show(true); /*PANEL: [lib_buttons]*/
pss.GetPanel(2).Move(ww - bw, wh / 2-bh*2, ww, bh * 3, true);
swbt = 2;
} else {pss.GetPanel(2).Show(false); /*PANEL: [lib_buttons]*/
}
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 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(0).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
//window.SetProperty("SYS.Toolbar_status", toolbar_open);
pss.GetPanel(c_panel).Move(0, y, ww, wh - y - bh - 5 , true);
utils.WriteINI( set_path + 'settings.ini', 'VU', 'VU_off',0)
};
function SYS_check(){
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', 16);
}
toolbar_open = 0
DEL_btn = false
lib_btn = false
if (DEL_Timer) DEL_Timer.Dispose();
if (toolbar_timer) toolbar_timer.Dispose();
if (VU_Timer) VU_Timer.Dispose();
pss.GetPanel(0).Show(false);
pss.GetPanel(1).Show(false);
if (panel != 16 ){
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", "wt");
}
if (q == 2) {window.NotifyOthers("SYS.Butt_state", "up");
};
}
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(".\\Emul\\" + "click.exe");
} catch(e) {}
}
recalc_dimensions()
window.RepaintRect(0, wh - bh - 4, ww , bh);
}
check_btns();
Привет!
1. попробуй поставь Playback follows cursor в настройках Фубара .
попробовал - не помогло :no2:
прицел жмёшь - оживает, еще раз - не работает и т.д.
2. посмотрю..
...........
Посмотрел, (проверь) ПКМ по нижним кнопкам и замени скрипт :
да, оно. сработало!
seriousstas
04.12.2016, 03:19
попробовал - не помогло :no2:
а если так (http://pccar.ru/showpost.php?p=376312&postcount=2992) (обновил код) :
а если так (http://pccar.ru/showpost.php?p=376312&postcount=2992) (обновил код) :
вот так стало:
после запуска - не работает, пока прицел не нажмёшь.
потом вроде пашет нормально.
seriousstas
04.12.2016, 04:16
Кнопки берут фокус автоматом при старте (не стало - а всегда было :) ).
Если оч нужно , добавь в конец скрипта :
try {
WshShell.Run(".\\Emul\\" + "click1.exe");
} catch(e) {}
и скомпилируй в AHK :
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
Sleep 2000
ControlFocus, uie_jscript_panel_class1, foobar2000 ;
Sleep 50
Send {Numpad7}
Закинь по пути :
4Icar_14.2_MPS_UNI\foobar2000\Emul\click1.exe
Кнопки берут фокус автоматом при старте (не стало - а всегда было :) ).
Если оч нужно , добавь в конец скрипта :
и скомпилируй в AHK :
Закинь по пути :
4Icar_14.2_MPS_UNI\foobar2000\Emul\click1.exe
завтра в машине тестану, но на PC проверил...
это же именно то, что я давно просил и ждал! ты ГЕНИЙ!:wink2:
Спасибо!
P.S. не совсем по теме: при запуске foobar реально реализовать плавное наростание громкости? в настройках => Output => Fanding есть только временные задержки (плавный переход) между трэками при паузе/переключению на следущий/предыдущий трэки.
P.S.S. в связи с особенностями подключения аудиопроцессора общая громкость всегда на 100%, а громкость меняю именно в foobar2000. часто случается конфуз: ехал один - слушал оч громко. парканул тачку и забыл уменьшить громкость...на след день уже садишься с пасажирами и тут БАММММмм на всю громкость )))... тоисть в идеале или запуск с заданой громкостью (40-60% к примеру!) либо плавное наростание.
seriousstas
04.12.2016, 21:10
И Тебе спасибо "на добром.." )
По звуку - не поленись - задай вопрос здесь :
http://foobar2000.ru/forum/viewforum.php?f=37
Тестанул в машине...
Всё работает как на PC, но до момента переключения на КЗХ и обратно. Снимается фокус видимо и надо либо прицел нажимать либо numpad0/numpad9 панель вперед-назад переключать, что бы листались трэки. Можно как то это отслеживать или click1 как то зациклить?
По звуку спасиб, напишу там.
seriousstas
05.12.2016, 00:36
Всё работает как на PC, но до момента переключения на КЗХ
Что за КЗХ (камера чтоль ?)такой ?
Странно , что теряется фокус - не должен . Скорей всего теряется полностью с Фубара ..
А если просто повесить на твое устройство (вместо команд хоткеев) отдельно скрипт вверх и отдельно вниз уже с фокусом на плейлисте ? :
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
ControlFocus, uie_jscript_panel_class1, foobar2000 ;
Sleep 50
Send {Up}
#NoTrayIcon
#SingleInstance force
SetTitleMatchMode, 2
ControlFocus, uie_jscript_panel_class1, foobar2000 ;
Sleep 50
Send {Down}
Тогда и всех манипуляций выше не нужно ..
Либо просто click.exe добавить, если возможно ..
Работает на vBulletin® версия 3.8.4. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot