AIMP Forum

AIMP for Windows => Плагины / Plugins => Дополнения / Addons => Плагины-дополнения / Addons => Тема начата: ildvild от Февраля 07, 2013, 19:40:44

Название: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: ildvild от Февраля 07, 2013, 19:40:44
[catalog_card=389]
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: Soolo от Февраля 07, 2013, 21:16:08
ух ты! оперативно +
за исходник отдельное спасибо
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: Zero от Февраля 07, 2013, 21:50:26
Можно так же добавить и обратный ход. То есть предыдущий трек - предыдущая визуализация, а то при возврате трека визуализация все равно идет в перед.
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: FreeMan700 от Февраля 07, 2013, 22:00:52
Мне понравился плагин. +1. Есть пожелание - сделать переключение визуалок и в рандомном порядке.
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: Zero от Февраля 07, 2013, 22:36:54
Мне понравился плагин. +1. Есть пожелание - сделать переключение визуалок и в рандомном порядке.
Как сказал автор: "Переключается визуалка только на следующую(рандом апи не поддерживает)".
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: Алексей Долматов от Февраля 07, 2013, 22:44:32
рандом апи не поддерживает
Теоретически, можно встроить генератор чисел в код и делать переход на данное число.
Но на сколько это стабильно и адекватно будет работать, в том числе по производительности, судить не берусь.
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: ildvild от Февраля 07, 2013, 22:49:23
Random можно сделать только так: Предыдущая либо Следующая визуализация, но так велика вероятность повторов. Переход по номеру визуализации api не поддерживает(либо я плохо смотрел).

Можно так же добавить и обратный ход. То есть предыдущий трек - предыдущая визуализация, а то при возврате трека визуализация все равно идет в перед.

Это возможно, но стоит ли? Переключение визуал-ий все равно идет по кругу, а так будут повторы- если вперед/назад переключать.
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: Алексей Долматов от Февраля 07, 2013, 22:56:26
А может просто тогда попробовать, хотя-бы тестово на вашем ПК такой вариант:
В настройках задаётся максимальное рандомное число, а затем выполняется переход на это количество, меньше заданного у рандома.
т.е. в данном случае пользователь может выставить число менее кол-ва визуалок и получать без повторные переходы.
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: ildvild от Февраля 07, 2013, 23:02:06
А может просто тогда попробовать, хотя-бы тестово на вашем ПК такой вариант:
В настройках задаётся максимальное рандомное число, а затем выполняется переход на это количество, меньше заданного у рандома.
т.е. в данном случае пользователь может выставить число менее кол-ва визуалок и получать без повторные переходы.

Интересный вариант, попробую.
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: Soolo от Февраля 07, 2013, 23:10:22
А может просто тогда попробовать, хотя-бы тестово на вашем ПК такой вариант:
В настройках задаётся максимальное рандомное число, а затем выполняется переход на это количество, меньше заданного у рандома.
т.е. в данном случае пользователь может выставить число менее кол-ва визуалок и получать без повторные переходы.
С сдк не сильно знаком, но если точного перехода на конкретный номер там нет, то простая математика говорит, что повторы при таком алгоритме будут
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: Алексей Долматов от Февраля 07, 2013, 23:31:18
С сдк не сильно знаком, но если точного перехода на конкретный номер там нет, то простая математика говорит, что повторы при таком алгоритме будут
Описываю логику:
Допустим 50 визуалок, максимальный шаг 15, тогда получаем примерно так:
1+(n<15), т.е. максимум 15-й номер. Затем ещё шаг, т.е. 29 номер - повтора нет. Логично, что меньший так так-же не вызовет повтора.

Основные проблемы в данном способе:
1. т.к. переход идёт через смену визуалок, то смена нескольких подряд может вызвать проблем следующего характера
Показ на незначительное время визуалки, высокая нагрузка на ПК при переходе и в следствии его увеличение, неадекватная работа плеера, наличие сбойных визуалок как и последовательном переходе выявится при работе плагина.
2. Часть визуализаций будет вызываться чаще других - но т.к. рандом может быть и иначе
3. Чем ближе шаг к максимальному числу, тем больше вероятности повтора. Чем ближе к единице, тем больше вероятности последовательной смены.
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: Soolo от Февраля 07, 2013, 23:37:34
Описываю логику:
Допустим 50 визуалок, максимальный шаг 15, тогда получаем примерно так:
1+(n<15), т.е. максимум 15-й номер. Затем ещё шаг, т.е. 29 номер - повтора нет. Логично, что меньший так так-же не вызовет повтора.
Я понимаю логику, но уже через 4-5-6 переключений можем увидеть первую визуалку, и это при том, что их 50.
Собственно, ты всё это и описал в пунктах.
Я думаю, плагин дополнять практически нечем
Можно настройку сделать через какое количество треков будет переключаться визуалка. Можно по таймеру сделать (уже реализовано), на этом вроде и всё.
Хотя нет, есть варианты извращенные: "переключать при смене исполнителя" "при смене жанра" и т.п. Но это, повторюсь, уже будет изврат
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: Алексей Долматов от Февраля 08, 2013, 00:01:19
уже через 4-5-6 переключений можем увидеть первую визуалку, и это при том, что их 50.
А вот это не факт, т.к. радном даёт ведь любое число, том случае от 1 до 14.
Порядок может быть и таким: 1 > 1+5=6 > 6+2=8 > 8+1=9 > 9+15= 24 > 24+10=34 и т.д.

Т.е. рандом обнуляется при смене, а если усложнить алгоритм, то можно и сделать проверку на отличие нового числа от рандома или выполнять другие математические функциии (что излишне для такой простой функции)
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: Zero от Февраля 08, 2013, 00:11:32
Не забывайте и про отключенное состояние визуализации. Рано или поздно вместо визуализации станет статичная картинка. Нужно либо как то обходить это, либо соответствующе создавать скин.
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: Алексей Долматов от Февраля 08, 2013, 00:25:56
Это не мысли к размышлению, к плагину уже почти не имеют отношения

1. Задаётся число элементов (у нас визуалок - Nv)
2. Создаётся строчный массив от 1 до указанного числа (т.е. строка из цифр в условных ячейках)
3. Рандом генерируется от 3-х до Nv
4. Из массива берётся число из этапа три и анулирует ячейку
5. Если взятое число 0, то переход на этап 3. Иначе переход на указанное число и запись числа Nk (количество выполненых переходов)
6. При достижении Nk равное Nv происходит заполнение массива повторно, с повтором цикла обработки массива

P.S. Теоретически так-же можно вычислить положение "без визуализации", если изначально эту позицию или первую визуальзацию.
в массиве добавляется ячейка с пустым кадром

Мне известно позволяет ли SDK определить активность визуализации, но если позволяет, то можно при выключенном состоянии функцию автоперехода сделать при наличии его
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: ildvild от Февраля 08, 2013, 11:57:58
Итак переключение на рандомное число визуалок происходит без видимых задержек. Число установленных визуализаций, как и "позицию" отключенной визуализации определить нельзя.

В связи с этим 3 вопроса:
1) Нужно ли сделать настройку для задания рандома(но мне не особо хочется усложнять плагин настройками) либо сделать по умолчанию рандом из 5 например?
2) Нужна ли настройка для задания количества прослушенных треков, после которого будет переход на другую визуализацию?
3) Нужен ли переход на предыдущую визуалку?(хотя при рандоме это наверно не нужно)

Либо оставить все как есть?

Во вложении визуалка с рандомом из 5
 
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: Soolo от Февраля 08, 2013, 12:15:52
Во вложении визуалка с рандомом из 5
о чем я и говорил: повторы есть (чаще, чем им положено быть =)
о чем ещё говорили: время от времени визуалка просто закрывается (прчем у меня так совпало, что при количестве 12 визуалок, выключенное состояние повторилось 3 раза за примерно 10-15 переключений)

В связи с этим 3 вопроса:
1) Нужно ли сделать настройку для задания рандома(но мне не особо хочется усложнять плагин настройками) либо сделать по умолчанию рандом из 5 например?
2) Нужна ли настройка для задания количества прослушенных треков, после которого будет переход на другую визуализацию?
3) Нужен ли переход на предыдущую визуалку?(хотя при рандоме это наверно не нужно)

Либо оставить все как есть?
по-моему, лучше оставить как есть (без рандома)
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: Алексей Долматов от Февраля 08, 2013, 20:52:30
по-моему, лучше оставить как есть (без рандома)
Согласен, слишком уж его при текущем API сложно правильно реализовать
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: FreeMan700 от Февраля 08, 2013, 21:34:07
по-моему, лучше оставить как есть (без рандома)

Согласен, слишком уж его при текущем API сложно правильно реализовать

(http://kolobok.us/smiles/standart/yes3.gif) (http://kolobok.us/smiles/standart/yes3.gif) (http://kolobok.us/smiles/standart/yes3.gif)
Название: Re: Next visualization v1.0 [AIMP3] (Переключение визуализации при смене трека)
Отправлено: wearethegreatest от Ноября 29, 2015, 11:43:04
Народ, а нельзя ли сделать рандом, вычисляя количество пролистываемых визуалок на основе длительности текущего трека, размера, первых\последних байтов файла или другой какой-нить инфы, привязанной к текущему треку?

Или же сделать вычисление на основе текущего системного времени суток, точнее секундной стрелки? Это даже круче.