Скорее всего есть ошибка при генерации плейлистов

Chaos

Member
Допустим есть две категории песен: А - 150 песен, выбираются случайным образом. Б - 11 песен, выбираются по порядку, с увеличением позиции на 1. Исполнителей в ней для удобства назовём 01, 02 и т.д. Для этой категории установлено правило неповторения исполнителя 55 минут.

Шаблон ротации состоит из 17 песен категории А и где-то в середине одна песня категории Б (итого плюс/минус час). Генерируем плейлист на сутки.

В плейлисте появляется песня из категории А исполнителя 02. И через 20 минут идёт очередь другой песни этого же исполнителя, но из категории Б. Учитывая правила неповторения, вместо исполнителя 02, вставляется исполнитель 03. При следующем проходе по ротации, генератор ставит пропущенный трек исполнителя 02. А вот при следующем проходе он снова ставит трек исполнителя 03, который был пару часов назад, вместо исполнителя 04, который по моей логике должен появиться.

Конечно, для категории Б можно задать ещё и правило неповторения трека. Но, на мой взгляд, так не должен работать генератор.

Версия 6.0.0.5.

Кстати, заметил, бывает так, что после того, как вставляется исполнитель 03, при следующем проходе по шаблону ротации снова выполняются условия неповторения исполнителя 02 в категории Б, вставляется исполнитель 04 и больше попыток вставить исполнителя 02 не происходит, пока не дойдёт до него очередь. Правильный ли я делаю вывод из этого, что генератор делает только одну попытку вернуться к исполнителю 02 при следующем проходе по этой категории и в случае неуспеха, забывает о нём?
 

djsoft

Administrator
Команда форума
Категории могут иметь собственные правила неповторения, но буфер неповторения треков общий, то есть если исполнитель "использован" какой-то другой категорией, он не будет браться в следующей категории.
 

Chaos

Member
Категории могут иметь собственные правила неповторения, но буфер неповторения треков общий, то есть если исполнитель "использован" какой-то другой категорией, он не будет браться в следующей категории.
Это я всё знаю. Только не понял, как это относится к выше описанной проблеме и последнему вопросу))

Мне непонятно, почему после того как проиграл исполнитель 03, а потом генератор вернулся к исключённому ранее из-за правил неповторения исполнителю 02 и поставил его, при следующем проходе по категории он снова ставит исполнителя 03, а не 04. Он же отыграл до этого. Получается, если в ротаторе категория Б будет проставлена три раза подряд, а не через час, как у меня, то трек исполнителя 03 сыграет 2 раза за 10 минут. Так же не должно быть.

Правильный ли я делаю вывод из этого, что генератор делает только одну попытку вернуться к исполнителю 02 при следующем проходе по этой категории и в случае неуспеха, забывает о нём?
Этот вопрос в силе. Если я непонятно написал, могу попробовать переформулировать.
 

djsoft

Administrator
Команда форума
при следующем проходе по категории он снова ставит исполнителя 03, а не 04. Он же отыграл до этого.
Если трек удовлетворяет условиям - то почему его нельзя ставить? Порядок исполнителей не учитывается, проверяются только установленные правила.

Этот вопрос в силе. Если я непонятно написал, могу попробовать переформулировать.
Не совсем понятно, о чем речь. Попыток делается более одной, например, если трек один раз не подошел, он временно получит более высокий приоритет на постановку в плейлист. В целом, генератор работает так, чтобы просто собрать плейлист, который удовлетворял бы заданным в пресете правилам.
 

Chaos

Member
Если трек удовлетворяет условиям - то почему его нельзя ставить?
Потому что для категории установлен выбор треков из папки по порядку с увеличением позиции при каждой генерации.

Соответственно, логично чтобы было так:

Исполнитель 01
Исполнитель 03 - т.к. 02 исключён из-за правил неповторения, генератор про него забывает и идёт дальше
Исполнитель 04
Исполнитель 05
и т.д. до 11, потом снова 01, 02, 03, если больше правила неповторения не встречаются.

На крайний случай так:

Исполнитель 01
Исполнитель 03 - т.к. 02 исключён из-за правил неповторения
Исполнитель 02 - т.к. получил более высокий приоритет в прошлый раз
Исполнитель 04
и т.д.

А сейчас получается так:

Исполнитель 01
Исполнитель 03 - т.к. 02 исключён из-за правил неповторения
Исполнитель 02 - т.к. получил более высокий приоритет
Исполнитель 03 - снова. почему?
Исполнитель 04
и т.д.
 

djsoft

Administrator
Команда форума
Если посмотреть в целом, то ни один из ваших вариантов, ни то, как сейчас работает - не будет в прямом смысле "по порядку". Если используются правила неповторения, то треки могут пропускаться и порядок уже нарушен. Выбор по порядку используется для лекций и подобных материалов - где, собственно, важен порядок. Поэтому единственно правильное решение здесь - отключить правила неповторения.
 

Chaos

Member
Если посмотреть в целом, то ни один из ваших вариантов, ни то, как сейчас работает - не будет в прямом смысле "по порядку". Если используются правила неповторения, то треки могут пропускаться и порядок уже нарушен.
Согласен. Поэтому ищу возможные способы решения задачи.
Выбор по порядку используется для лекций и подобных материалов - где, собственно, важен порядок.
Выбор по порядку также используется для песен горячей ротации, которые тоже должны идти в строгом порядке.
Поэтому единственно правильное решение здесь - отключить правила неповторения.
Тогда мы возвращаемся к проблеме, которая дана в условии:
В плейлисте появляется песня из категории А исполнителя 02. И через 20 минут идёт очередь другой песни этого же исполнителя, но из категории Б.
И я так понимаю, избавиться от этого средствами Радиобосса никак нельзя?

Ну разве что не включать в категорию А песни исполнителя 02, пока он есть в категории Б и наоборот. Но это не средствами Радиобосса, и этот вариант, к сожалению, мне не подходит.
 

djsoft

Administrator
Команда форума
Выбор по порядку также используется для песен горячей ротации, которые тоже должны идти в строгом порядке.
Тогда в любом случае при использовании правил неповторения, порядок будет так или иначе нарушен - даже в представленных вами вариантах выбора треков.

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

Chaos

Member
Тогда в любом случае при использовании правил неповторения, порядок будет так или иначе нарушен - даже в представленных вами вариантах выбора треков.
Да, это я понимаю. Просто ищу уже хоть какие-то варианты реализации схемы с минимальными потерями.
Тут только значительная переделка алгоритма создания плейлиста поможет: сначала выбирать трек из "приоритетной" категории, затем выбать трек из предыдущей категории
Всё верно, именно так устроено у монстров вроде GSelector от RCS Sound Software и т.п.
я не думаю, что что-то такое будет в ближайшем будущем.
Понял. Благодарю за уделённое время.

Дмитрий, можно тогда иметь наглость попросить вас рассмотреть возможность добавления доп.надстройки в функцию поиска по плейлисту. Сейчас при вводе в строку поиска имени исполнителя можно перемещаться стрелочками по найденным экземплярам. Вот если бы рядом появилась галочка с функцией "подсветить в плейлисте все найденные результаты", то при скролле можно было бы визуально оценить наличие вот таких ошибок:
В плейлисте появляется песня из категории А исполнителя 02. И через 20 минут идёт очередь другой песни этого же исполнителя, но из категории Б.
и исправить их вручную. На мой взгляд добавить это очень просто, а пользу принесёт колоссальную, по крайней мере музыкальным редакторам.
 

djsoft

Administrator
Команда форума
Просто ищу уже хоть какие-то варианты реализации схемы с минимальными потерями.
Похоже, что средствами RadioBOSS такую схему не реализовать.

Дмитрий, можно тогда иметь наглость попросить вас рассмотреть возможность добавления доп.надстройки в функцию поиска по плейлисту. Сейчас при вводе в строку поиска имени исполнителя можно перемещаться стрелочками по найденным экземплярам. Вот если бы рядом появилась галочка с функцией "подсветить в плейлисте все найденные результаты"
Можно всегда подсвечиваь все найденные результаты, примерно как это сделано в браузерах при поиске по странице - будет учтено на будущие версии.
 
Верх