Project

General

Profile

Ротация элементов

При выборе вспомогательных элементов происходит их ротация - элементы категории перебираются по кругу.

Порядок программирования

Для обеспечения ротации - равномерного перебора элементов по кругу, необходимо для каждого элемента категории хранить дополнительную информацию - порядок программирования (ПП).
ПП имеет смысл только в отношении к конкретному расписанию. Т.о.: в расписании S элементы категории А имеют порядок программирования…
Порядок программирования представляет собой число. При выборе очередного элемента из категории выбирается элемент с наименьшим ПП, после чего его ПП становится больше всех остальных элементов. Фактически, становится равным максимуму из ПП всех эл-тов категории + 1.
Само численное значение ПП смысла не имеет, имеет смысл только соотношение порядков элементов одной категории в одном расписании.
Если отсортировать содержимое категории по нарастанию ПП, то на верхушке будет элемент, который должен использоваться следующим, а в низу окажется использованный предыдущий раз.
При отображении пользователю используется не само значение, а порядковый номер элемента при сортировке категории по нарастанию порядка программирования.

Использование в Digispot

Ротацию, основанную на ПП в Digispot используют следующие системы ротации:

  • Простой ротатор
  • МАГ2
  • Сервис подмены элементов расписания

Внимание!
В Digispot 2 не существует возможности ротации одной категории одновременно в нескольких расписаниях, одна категория должна ротироваться только для единственного расписания.
Возможна независимая ротация одного и того же элемента МБД в нескольких категориях за счет использования множественной принадлежности одного элемента к нескольким категориям.

Пакеты

Для более детальной настройки ротации группа фонограмм в категории может объединятся в специальную группу, пакет фонограмм, которая ротируется так единое целое. Это более сложная форма ротации, ее использует только МАГ2.

Структура данных

В МБД есть таблица ph_to_attrvals, связывающая элемент с категорией. Порядок программирования хранится в поле sch_order.
Это поле может быть равно NULL, это означает, что данный элемент еще ни разу не был использован в данной категории, он будет использован первым.
Среди таких элементов сортировка выполняется по порядку их внесения в категорию.

Add picture from clipboard (Maximum size: 742 MB)