Инструменты администратора — это скрытые функции обслуживания для ведения базы данных. Они не видны в главном меню, а вызываются через скрытое сочетание клавиш.

Открыть: Ctrl+Shift+Alt+A
Появляется контекстное меню с пятью пунктами: два для дополнения отсутствующих тегов и три для осиротевших записей библиотеки.

1. Дополнить теги (полностью пустые):
Дополняет отсутствующие теги только у треков, у которых ВСЕ пять полей (Название, Исполнитель, Альбом, Жанр, Год) пусты. Треки хотя бы с одним заполненным значением не затрагиваются.

2. Дополнить теги (гранулярно):
Дополняет только соответственно пустые поля по отдельности. Трек с имеющимся исполнителем, но отсутствующим полем альбома, получает только отсутствующий альбом. Имеющиеся значения всегда сохраняются.

Порядок действий:
После выбора одного из двух пунктов RemotePLE запрашивает локальный путь к файловой копии сервера (например, E:\). По этому пути находятся оригинальные аудиофайлы, из которых читаются теги.

RemotePLE затем просматривает базу данных и одновременно считывает теги файлов (Фаза 1). Затем объявляется количество записей для дополнения и запрашивается подтверждение. Только после согласия значения записываются в базу данных (Фаза 2).

Ход выполнения отображается индикатором выполнения и периодическим речевым выводом. Обработка идёт в фоне и не блокирует программу.

Прерывание: Escape прерывает обработку после текущей записи.

Примечание:
Инструменты администратора читают теги из пяти полей: Название, Исполнитель, Альбом, Жанр и Год. Все изменения фиксируются в файле журнала (RemotePLE.log), так что можно проследить, какие значения были установлены.

Осиротевшие записи библиотеки:

Осиротевшая запись — это трек, который числится в библиотеке RadioBOSS, но его файла больше нет на сервере. Три пункта меню ниже находят и убирают такие записи. Они работают только в базе данных и никогда не удаляют аудиофайл.

3. Найти и пометить осиротевшие записи:

Проверяет все действительные записи и делает недействительными те, чьи файлы отсутствуют. Этот шаг обратим, ничего не удаляется. RemotePLE запрашивает каждый каталог только один раз вместо запроса по каждому файлу, поэтому даже большие библиотеки проверяются за несколько минут.

Каждый запуск записывает отчёт в виде текстового файла в папку Backups рядом с программой. В нём перечислен каждый затронутый трек с путём и причиной, а в конце приведены итоговые числа. Прочтите его, прежде чем удалять на следующем шаге.

4. Проверить и удалить осиротевшие записи:

Заново проверяет все записи, помеченные как недействительные, и показывает результат в списке с флажками. Сначала отмечены записи, чьи файлы по-прежнему отсутствуют. Кнопка Удалить убирает из базы данных только их, кнопка Вернуть снова делает действительными найденные записи. Обе действуют только на отмеченные строки с подходящим состоянием и затем сообщают, сколько строк остались без изменений. Перед удалением появляются голосовое предупреждение и запрос подтверждения. Кнопка, для которой в списке нет подходящих строк, отключена и пропускается при переходе табулятором; поэтому объявление при открытии называет оба числа.

5. Вернуть записи одного каталога:

Запрашивает каталог на сервере и проверяет только недействительные записи в нём. Здесь отмечены снова найденные записи, то есть именно те, на которые действует кнопка Вернуть. Полезно, если вы снова положили файлы на сервер.

Защита от ложной тревоги:

Перед каждым запуском проверяются все корневые пути; если один из них недоступен, запуск вообще не начинается. Если связь прервётся в ходе работы, ничего не записывается. Если каталог не удаётся перечислить, RemotePLE сначала ищет его с другим регистром: база данных пришла с компьютера Windows, а сервер обычно различает прописные и строчные буквы. Только если и это не помогло, каталог считается удалённым и отдельно указывается в отчёте.

При удалении убираются все строки трека: привязки к библиотекам, строка тегов и сам трек. Аудиофайл никогда не затрагивается. Esc прерывает проверку, пока она идёт. Сама запись, то есть удаление и возврат, выполняется до конца; в это время кнопки и закрытие окна заблокированы.
