buniak_a_h wrote: ↑Mon 14 Mar, 2022 17:45
Сразу вопрос: имеется в виду плагин AudioPlayer ?
Да.
buniak_a_h wrote: ↑Mon 14 Mar, 2022 17:45
Ниже я про плагин AudioPlayer.
Много раз запускал, переводил плейер в фон (вручную) и снова вытаскивал - не виснет, гад! Но всё же нашёл неприятности.
Я повторюсь на всякий случай: плагин аудиоплеер у меня получалось запускать только так же, как я его запускаю на обычных панелях по F3 ассоциацией вида:
lua: Keys("F11"); Menu.Select("Audio player", 3); Keys("Enter");
(кривовато, но у меня многие ассоциации подобным образом настроены. Там кое-какие несущественные подробности опущены).
buniak_a_h wrote: ↑Mon 14 Mar, 2022 17:45
неправильный порядок действий. Имелось в виду, что сначала нужно экспортировать отмеченные/все файлы в файл (F6), а затем проиграть его по F7.
…
И, кстати, спасибо за AIMP - не знал, что он тоже запускается с параметрами командной строки. И! У меня - проигрывает…
Ага. Пользуюсь аимпом, когда не фаром с плагином плеера. Так что появлению этого скрипта обрадовался и буду пользоваться. Спасибо!
buniak_a_h wrote: ↑Mon 14 Mar, 2022 17:45
Настройки хранятся в базе плагина LuaFAR. Туда из пишет функция mf.msave. Ну, мне так казалось проще и с точки зрения ресурсов эффективнее. Прочитать и посмотреть их можно командой lua:require"le"(mf.mload('BAX','Playlist'))
Я смутно подозреваю, что многие плагины-скрипты делают так же, а не хранят данные в PluginsData, но о подробностях и средствах работы представления не имею. Например, не знаю, в каком формате возвращает данные этот mload и что с ними делать. Базы в PluginsData можно хотя бы в виде файлов туда-сюда бэкапить\удалять\etc и любыми утилитами для sqlite потрошить. Разберусь как-нибудь на досуге, но попозже, в другой раз.
Проблему непоявления модуля в меню понял. Тут я сам дурак. У меня плагин MediaInfo грузится не при старте ФАРа, а макросом по запросу. А модуль не находит плагина и — всё.
buniak_a_h wrote: ↑Mon 14 Mar, 2022 17:58
P/S. И, кстати, в окне настроек есть кнопка "Сбросить"
Ну так по вышеозначенной причине и окна настроек не было.
Панельный модуль для обслуживания плейлистов
Posted: Tue 15 Mar, 2022 14:54
by buniak_a_h
Wave wrote: ↑Tue 15 Mar, 2022 13:26
плагин аудиоплеер у меня получалось запускать только так же
У меня запускается так (в командной строке 3 команды):
chcp 65001
dir /b *.mp3 >qwe.m3u8
lua:Plugin.Command('9C3A61FC-F349-48E8-9B78-DAEBD821694B', '/h /p2 "qwe.m3u8"')
Проверьте, пож. . Возможно, надо обновить AudioPlayer
Wave wrote: ↑Tue 15 Mar, 2022 13:26
Я смутно подозреваю, что многие плагины-скрипты делают так же
На самом деле я думаю, что все плагины делают так. Скрипт исполняется плагином LuaFAR, который всё, что должно сохраняться по mf.msave, пишет в свою базу. Так что тут не исключение. Я так думаю…
Wave wrote: ↑Tue 15 Mar, 2022 13:26
в каком формате возвращает данные этот mload
mf.mload возвращает буквально то, что туда поместила mf.msave (ну, кроме функций и хендлеров, я думаю). Т.е. если сохранялась таблица, то и прочитается таблица. Внутренняя кухня для пользования не нужна, но я поясню. Есть функция mf.serialize, переводящая таблицу в текстовый вид (в текст функции, на выходе возвращающая точно такую же таблицу, что была на входе). Вот эта строка (а она может быть очень длинная!) и пишется в базу.
Панельный модуль для обслуживания плейлистов
Posted: Tue 15 Mar, 2022 20:01
by Wave
buniak_a_h wrote: ↑Tue 15 Mar, 2022 14:54
Т.е. если сохранялась таблица, то и прочитается таблица.
Я до сих пор не имею понятия, что есть таблица в контексте луа. Массив? Собсно, это всё, что нужно знать о моих познаниях в луа и луафар.
buniak_a_h wrote: ↑Tue 15 Mar, 2022 14:54
У меня запускается так (в командной строке 3 команды):
chcp 65001
dir /b *.mp3 >qwe.m3u8
lua:Plugin.Command('9C3A61FC-F349-48E8-9B78-DAEBD821694B', '/h /p2 "qwe.m3u8"')
Проверьте, пож.
Ага, работает. Ну, посмотрю, буду ли где-то это использовать или всё останется как есть, примотанное синей изолентой.
Обновил модуль. Проверил F6 - F7 и просто F7 — запускается AIMP, всё отлично.
Удаление файлов по одному немного непривычно, но я пока не сильно уверен, так ли уж мне нужно массовое удаление.
Таааак… Что-то не получается копировать с мультимедиа-панели куда-нибудь.
File: C:\Users\Wave\AppData\Local\Temp\japan.mp3
Code: -1 (FFFFFFFF)
Message: File was not found.
Неудивительно, сам файл лежит на D: в папке MP3.
Панельный модуль для обслуживания плейлистов
Posted: Wed 16 Mar, 2022 13:50
by buniak_a_h
Версия 1.1.4
Реализована возможность первоначальной загрузки треков из вложенных папок. При этом ни текущий фильтр, ни настройка Panel.ShowHidden не учитываются. Анализ подпапок производится в зависимости от настройки. Изначально значение настройки
[?] При загрузке в панель просматривать подкаталоги
(при загрузке будет задан вопрос).
Предусмотрена более "интеллектуальная" процедура выгрузки файла с треком в папку. Если в папке назначения файл существует, то теперь будет запрошено подтверждение на перезапись.
При выгрузке группы отмеченных треков отметка снимается.
Реализована возможность вычёркивания помеченных треков.
Исправлена ошибка, из-за которой при загрузке треков с пассивной панели в плейлист терялся путь к файлу. В результате с таким файлом в дальнейшем сделать ничего было нельзя (ни проиграть, ни выгрузить).
spacedrone808 wrote: ↑Tue 15 Mar, 2022 10:38
если что, могу что-то типа хелпа сделать и как пользоваться
Если сможете - буду рад. Ну, точнее, будут, наверно, рады те, кто потом будет модулем пользоваться. А то я полдня потратил на рисование настроечной картинки в hlf-файле
Wave wrote: ↑Tue 15 Mar, 2022 20:01что есть таблица в контексте луа. Массив?
Помесь массива с "гибкой структурой" (в некоторых языках такие "структуры" называются хэш-массивами. В данном случае - массив, у которого индекс может быть любого (любого!!! Хоть функция") типа. Если индексы числовые, то определены понятия "предыдущий", "следующий". Причём никто не требует, чтоб они шли подряд. Просто если есть пропуск, то перебор останавливается. Решение красивое, я его реализовал в своём проекте в 1999 году (переделал слегка язык Clipper).
Тогда должно работать и проигрывание плагином из скрипта
Wave wrote: ↑Tue 15 Mar, 2022 20:01
Удаление файлов по одному немного непривычно
Это ошибка была. Исправлена.
Wave wrote: ↑Tue 15 Mar, 2022 20:01Ага, вот, нашёл. …
Да, при загрузке я "терял" исходный путь. Исправлено. Возможно, предыдущее замечание
Wave wrote: ↑Tue 15 Mar, 2022 20:01
Неудача копирования файла
… … … …
Не удается найти указанный файл.
тоже исправится.
Панельный модуль для обслуживания плейлистов
Posted: Wed 16 Mar, 2022 13:52
by buniak_a_h
P/S. Импорт папки (F5 на пассивной панели) будет реализовано позже.
Панельный модуль для обслуживания плейлистов
Posted: Wed 16 Mar, 2022 15:26
by buniak_a_h
Версия 1.1.5
Теперь по Enter-у указанным в настройке проигрывателем проигрывается текущий трек.
При импорте папки с другой панели импортируются файлы этой папки и её подпапок.
Панельный модуль для обслуживания плейлистов
Posted: Thu 17 Mar, 2022 12:30
by spacedrone808
Офигенно. Буду тестировать.
Панельный модуль для обслуживания плейлистов
Posted: Thu 17 Mar, 2022 14:04
by spacedrone808
Куда лучше скинуть хелп в формате фара?
Панельный модуль для обслуживания плейлистов
Posted: Thu 17 Mar, 2022 15:55
by buniak_a_h
spacedrone808 wrote: ↑Thu 17 Mar, 2022 14:04
Куда лучше скинуть хелп в формате фара?
Сюда. Я его потом в поставку включу. Я там несколько орфографических ошибок исправлял…
Панельный модуль для обслуживания плейлистов
Posted: Thu 17 Mar, 2022 16:14
by spacedrone808
Ну забил что понял и знал, скорее всего что-то пропустил.
Вот собственно файл.
Панельный модуль для обслуживания плейлистов
Posted: Thu 17 Mar, 2022 16:24
by buniak_a_h
spacedrone808, спасибо. Хотя список хоткеев не полный (ShiftF7, Enter) Ну и надо бы (я сам сделаю) добавить ссылку на эту тему форума. Это - экспресс-анализ.
Панельный модуль для обслуживания плейлистов
Posted: Fri 18 Mar, 2022 11:34
by spacedrone808
А что shiftF7 делает?
Панельный модуль для обслуживания плейлистов
Posted: Fri 18 Mar, 2022 13:09
by buniak_a_h
spacedrone808 wrote: ↑Fri 18 Mar, 2022 11:34
А что shiftF7 делает?
Тоже проигрывает, но спрашивает, каким - внутренним (плагином AudioPlayer-ом) или внешним проиграть. Просто иногда для скорости можно плагином проиграть, а потом сформировать окончательный плейлист и запустить "хорошим" проигрывателем (у меня AIMP даёт лучший звук, т.к. эквалайзер подстраивает)