JSplitter v1.0.4 [28.03.2018]

Список разделов Аудиоплеер foobar2000 Плагины

Описание: Все о плагинах, компонентах, расширениях

Сообщение #21 MC Web » 21.03.2018, 23:40

LUR, было бы замечательно, если будет еще и выбор: какую не менять (по W или H), а какую растягивать (по W или H).
MC Web
Мастер
Аватара
Репутация: 119
С нами: 4 года 7 месяцев

Сообщение #22 LUR » 21.03.2018, 23:43

MC Web, идея ясна. Пометил на будущее, может и реализую, но на данный момент не вижу надобности, да и времени нет.

Версия 1.0.3 [22.03.2018]
● Исправление ошибок функционала выравнивания панелей
LUR M
Автор темы, Модератор
Аватара
Возраст: 35
Откуда: Минск
Репутация: 204
С нами: 5 лет 4 месяца

Сообщение #23 kgena_ua » 22.03.2018, 11:56

LUR.
Панель (пока не пробовал) должна обладать большим потенциалом.
Тут реализовано то, что было в MPS, только доведено до ума и плюс новые возможности. Первое, что приходит на ум, это полная совместимость с VSH панелями с возможностью нормально (я так думаю) передавать данные из одной панели в другую, и прощай RefreshPSS() :smile:.
Вопрос такой, как JSplitter "работает" с "прозрачными" панелями, не появляются, например, артефакты при перемещении панели.
Еще вопрос.
- будет-ли предусмотрен пункт: "скрыть заголовок окна", "без рамки" - есть;
- "window.GetPanel(index) - получить объект для доступа к панели по индексу". Есть ли возможность (в будущем) указывать не только индекс панели, а наименование панели, например: window.GetPanel(Playlist switcher).
I.m.UR5EQF.
квартет на миллион долларов
kgena_ua M
Гуру
Аватара
Возраст: 54
Откуда: Украина, Днепр
Репутация: 388
С нами: 5 лет

Сообщение #24 Aliado_71 » 22.03.2018, 12:50

Удобная панель, довольно быстро можно собрать простенький конфиг. Большой минус это отсутствие масштабирования при разворачивании в полный экран.
Вложения
2018-03-22_114508.jpg
Aliado_71 M
Бывалый
Аватара
Возраст: 47
Откуда: Украина, Донецк
Репутация: 54
С нами: 3 года 1 месяц

Сообщение #25 kgena_ua » 22.03.2018, 12:59

Aliado_71 писал(а):отсутствие масштабирования при разворачивании в полный экран
А если привязать координаыт панелей к WW и WH:
Код: Выделить всё
void Move(x, y, width, height, repaintParent = false);
I.m.UR5EQF.
квартет на миллион долларов
kgena_ua M
Гуру
Аватара
Возраст: 54
Откуда: Украина, Днепр
Репутация: 388
С нами: 5 лет

Сообщение #26 seriousstas » 22.03.2018, 13:10

LUR
Вообще была мысль взять за основу JScript Panel (и я уже пробовал его в этом качестве, в последней версии, вроде все работает), но вижу много недовольных им. Может быть потом.
Да нет недовольных - есть те, кому сложно одну букву поменять или запятую убрать для совместимости со старыми скриптами ..
Все новые и современные скрипты на JScript Panel,
основна ценность этого сплиттера была-бы общение с другими скриптами через (размещая в главном окне кнопки для управления) :
/viewtopic.php?p=60106#p60106
Код: Выделить всё
JPanel window.NotifyOthers >> JPanel on_notify_data(name, data)
Если оставаться на 1.5.10 - то теряется весь смысл..
Новая JScript Panel на новом движке - за ним будущее (я тестировал на больших скриптах - он работает быстрее 100%) :
https://en.wikipedia.org/wiki/Chakra_(JScript_engine)
Последний раз редактировалось seriousstas 22.03.2018, 13:19, всего редактировалось 1 раз.
seriousstas
Мастер
Откуда: Украина , Ивано-Франковск
Репутация: 84
С нами: 3 года 2 месяца

Сообщение #27 kgena_ua » 22.03.2018, 13:19

seriousstas, а что разве нет:

JSplitter window.NotifyOthers >> WSH on_notify_data(name, data)
и
WSH window.NotifyOthers >> JSplitter on_notify_data(name, data)
I.m.UR5EQF.
квартет на миллион долларов
kgena_ua M
Гуру
Аватара
Возраст: 54
Откуда: Украина, Днепр
Репутация: 388
С нами: 5 лет

Сообщение #28 LUR » 22.03.2018, 13:20

kgena_ua писал(а):Еще вопрос.
- будет-ли предусмотрен пункт: "скрыть заголовок окна", "без рамки" - есть;
- "window.GetPanel(index) - получить объект для доступа к панели по индексу". Есть ли возможность (в будущем) указывать не только индекс панели, а наименование панели, например: window.GetPanel(Playlist switcher).
Все это уже есть.

Aliado_71 писал(а):Большой минус это отсутствие масштабирования при разворачивании в полный экран
kgena_ua писал(а):А если привязать координаыт панелей к WW и WH:
Именно так это и работает на данный момент

seriousstas писал(а):Если оставаться на 1.5.10 - то теряется весь смысл..
Как бы я не собираюсь прямо вот оставаться на 1.5.10. Панель выбрана просто как устоявшийся стандарт, никто не мешает впоследствии перенести проект на JPanel.

seriousstas писал(а):JPanel window.NotifyOthers >> JPanel on_notify_data(name, data)
Тоже интересовал данный вопрос, пока не смотрел.
LUR M
Автор темы, Модератор
Аватара
Возраст: 35
Откуда: Минск
Репутация: 204
С нами: 5 лет 4 месяца

Сообщение #29 seriousstas » 22.03.2018, 13:24

kgena_ua
А это зачем ?
Нужно ведь :
JSplitter window.NotifyOthers >> JPanel on_notify_data(name, data)
и
JPanel window.NotifyOthers >> JSplitter on_notify_data(name, data)

WSH скрипты переделать под JPanel - дело пары минут, а вот наоборот не получится ..

никто не мешает впоследствии перенести проект на JPanel.
Хорошая инфо :hi:
seriousstas
Мастер
Откуда: Украина , Ивано-Франковск
Репутация: 84
С нами: 3 года 2 месяца

Сообщение #30 MC Web » 22.03.2018, 14:19

seriousstas писал(а):Да нет недовольных
Да есть.
seriousstas писал(а):есть те, кому сложно одну букву поменять или запятую убрать для совместимости со старыми скриптами
Ответь тогда, для чего делаются такого рода изменения? Часть вырезается, часть переименовывается - непонятно.
Хочешь улучшить - добавь свои новые, зачем старые трогать?
Совместимость - только foobar2000 v1.4 + и ОС уже не знаю какая нужна. Короче последние версии foo_jscript_panel
- это на любителя и энтузиаста, гоняющегося за "новинками".
MC Web
Мастер
Аватара
Репутация: 119
С нами: 4 года 7 месяцев

Сообщение #31 LUR » 22.03.2018, 16:41

Короче глянул, не получится реализовать общение между разными панелями. Единственная и фатальная беда в том, что выделенная память из одной dll не может быть освобождена в другой, а это основной механизм общения, и если что-либо пытаться изменить, то менять надо в исходниках ВСЕХ панелей, что конечно не вариант в принципе. Отсутствие общения JSplitter с WSH Panel Mod не вижу проблемой, т.к. последнюю можно легко заменить на JSplitter, ибо совместимость по скриптам полная.

MC Web писал(а):Часть вырезается, часть переименовывается - непонятно
Вот тоже заметил, что есть такой тип программистов, которым срать на совместимость, прогибайтесь под меня. Например, Apple чем-то похожи по своим действиям в отношении к разработчикам ПО под их ось. Но если хотя бы там можно понять порой, то в случае марка обычная влюбленность в вылизанный, вычищенный код.

Добавлено спустя 7 минут 46 секунд:
Вообще можно сделать ветку проекта типа JSplitter 2.х.х с основой JScript Panel. Типо для страждущих по новинкам. Просто на данный момент JSplitter способен работать даже под XP, хотя конечно я слабо понимаю необходимость в использовании этой оси на данный момент, учитывая, что в следующем году семерке стукнет 10 лет, Карл!
LUR M
Автор темы, Модератор
Аватара
Возраст: 35
Откуда: Минск
Репутация: 204
С нами: 5 лет 4 месяца

Сообщение #32 MC Web » 22.03.2018, 18:02

LUR писал(а):Короче глянул, не получится реализовать общение между разными панелями. Единственная и фатальная беда в том, что выделенная память из одной dll не может быть освобождена в другой, а это основной механизм общения, и если что-либо пытаться изменить, то менять надо в исходниках ВСЕХ панелей,
Спорить не буду - не программист. Но интересует такой вопрос, с помощью скриптов то меняются размеры. Тогда напрашивается следующее, а с помощью скрипта, который будет входить в состав компонента, это действие можно произвести. Т.е. автоматизировать этот процесс, а не писать самостоятельный скрипт.
MC Web
Мастер
Аватара
Репутация: 119
С нами: 4 года 7 месяцев

Сообщение #33 LUR » 22.03.2018, 18:07

MC Web писал(а):Т.е. автоматизировать этот процесс, а не писать самостоятельный скрипт.
А вы не подумали, что вариантов размещения и автоматического изменения размеров панелей бесконечное множество? Вы хотите, чтобы я генерировал скрипт для этого всего дела? Даже если я приду к универсальному решению, тогда уже естественно лучше запрограммировать это внутри компонента, зачем скрипт то городить?
LUR M
Автор темы, Модератор
Аватара
Возраст: 35
Откуда: Минск
Репутация: 204
С нами: 5 лет 4 месяца

Сообщение #34 MC Web » 22.03.2018, 18:16

LUR, сейчас попробую обрисовать, как я это представляю...

Добавлено спустя 15 минут 49 секунд:
Имеем в заголовке координаты, например:
первая панель X=0 Y=0 W=500 H=500
вторая панель X=500 Y=0 W=500 H=500

Если будет возможность пользователю самому решать, какую панель менять в размерах и координатах, а какую нет с помощью переключателей рядом с данными координатами (покажу в виде значка ●):
первая панель: X=0 ● Авто | Y=0 ● Авто | W=500 ● Авто | H=500 ● Авто
вторая панель: X=500 ● Авто | Y=0 ● Авто | W=500 ● Авто | H=500 ● Авто

Думаю смысл понятен...
MC Web
Мастер
Аватара
Репутация: 119
С нами: 4 года 7 месяцев

Сообщение #35 LUR » 22.03.2018, 18:36

MC Web писал(а):Думаю смысл понятен...
Так вы же ничего нового не сказали. Вы хотите автоматики, хотя плагин написан больше для программирования или использования в качестве менеджера окон. Еще раз повторю, я подумаю насчет автоматики как отдельной опции.
LUR M
Автор темы, Модератор
Аватара
Возраст: 35
Откуда: Минск
Репутация: 204
С нами: 5 лет 4 месяца

Сообщение #36 MC Web » 22.03.2018, 18:44

LUR, в данном случае было бы не совсем программирование, т.е. можно обойтись без написания скриптов для панелей при создании своей темы. С данной задачей справился бы даже новичок.
MC Web
Мастер
Аватара
Репутация: 119
С нами: 4 года 7 месяцев

Сообщение #37 mgz » 23.03.2018, 02:01

LUR писал(а):Короче глянул, не получится реализовать общение между разными панелями.
Внешний кэш ?

Мимокрокодил...
RME HDSP 9632 > DynAudio BM5A II / Audio-Technica ATH-AD900
Nexus 5 > Avantree Clipper > Sennheiser IE 4
mgz M
Гуру
Аватара
Возраст: 38
Откуда: Украина, Киев
Репутация: 72
С нами: 11 лет 11 месяцев

Сообщение #38 LUR » 23.03.2018, 02:02

mgz писал(а):Внешний кэш ?
Чо?)
LUR M
Автор темы, Модератор
Аватара
Возраст: 35
Откуда: Минск
Репутация: 204
С нами: 5 лет 4 месяца

Сообщение #39 mgz » 23.03.2018, 02:05

LUR, общение:
1й пишет - 2-й читает

Пишите в кэш... читайте кэш.
RME HDSP 9632 > DynAudio BM5A II / Audio-Technica ATH-AD900
Nexus 5 > Avantree Clipper > Sennheiser IE 4
mgz M
Гуру
Аватара
Возраст: 38
Откуда: Украина, Киев
Репутация: 72
С нами: 11 лет 11 месяцев

Сообщение #40 LUR » 23.03.2018, 02:07

mgz писал(а):Пишите в кэш... читайте кэш.
Я понял. Как заставим читать "кэш" панели WSH Panel Mod и JScript Panel ? :wink:
LUR M
Автор темы, Модератор
Аватара
Возраст: 35
Откуда: Минск
Репутация: 204
С нами: 5 лет 4 месяца

Пред.След.

Вернуться в Плагины