Feature #1609
closedУлучшение интеграции LMP с AN (индикация)
100%
Description
Возможно будет целесообразно показывать в плейлисте треки имеющие связанные с ними действия.
Было бы неплохо, если бы при загрузке плейлиста отмечались треки имеющие соответствия правилам AN.
В качестве индикатора по умолчанию можно брать что-то типа https://commons.wikimedia.org/wiki/File:Flag-red.svg
Треки с неактивными правилами AN можно, например, помечать задизейбленным индикатором.
И, соответственно, было бы удобно управлять активностью уже существующих правил непосредственно из плейлиста, щёлкая по флажкам у соответствующих треков.
Кроме того, предлагаю менять цвет флажка/оверлея в соответствии с Associated Color правила AN.
Updated by Mellon over 10 years ago
- Related to Feature #1608: Улучшение интеграции LMP с AN (основа) added
Updated by 0xd34df00d over 10 years ago
- Related to deleted (Feature #1608: Улучшение интеграции LMP с AN (основа))
Updated by 0xd34df00d over 10 years ago
- Blocked by Feature #1608: Улучшение интеграции LMP с AN (основа) added
Updated by 0xd34df00d over 10 years ago
Насколько это вообще нужно? Просто единственный адекватный способ либо будет очень тормозить для больших плейлистов, либо будет непортабельным на кросспроцессность, о которой я уже задумываюсь много.
Олсо, изменил тип зависимости.
Updated by Mellon over 10 years ago
Ну... Трудно сказать, насколько это нужно. По факту, это всего лишь представление и примерно никак не влияет на основную часть.
Просто, имхо, это было бы удобно. Иначе, это было бы примерно как если бы в календаре дни с задачами никак не выделялись, а сами задачи были доступны только в отдельном окне.
А теперь, на счет тормозить. Насколько я понял, метаданные треков плейлиста ты уже кешируешь в базу так, что не думаю, что асинхронный поиск соответствий по этой базе после загрузки плейлиста, так уж и будет тормозить интерфейс.
А на счет непортабельности, немного не понимаю, как межмодульное взаимодействие может помешать кросспроцессности. Грубо говоря, представлял это как некое взаимодействие, при котором LMP после загрузки плейлиста запрашивает AN правила касательно себя и после их получения сканирует базу на соответствия, которые и отображает в виде меток в плейлисте.
Если всё это бред, то ок, пойму.
Updated by 0xd34df00d over 10 years ago
А теперь, на счет тормозить. Насколько я понял, метаданные треков плейлиста ты уже кешируешь в базу так, что не думаю, что асинхронный поиск соответствий по этой базе после загрузки плейлиста, так уж и будет тормозить интерфейс.
Для треков из плейлиста эти метаданные вообще уже все в ОЗУ есть (как, впрочем, и для коллекции, просто чуть глубже), это не проблема. Проблема — общение с AN на тему доступных правил.
Грубо говоря, представлял это как некое взаимодействие, при котором LMP после загрузки плейлиста запрашивает AN правила касательно себя и после их получения сканирует базу на соответствия, которые и отображает в виде меток в плейлисте.
касательно себя
This, правила сходу так не содержат информацию о том, каких плагинов они касаются. Если ты создал правило, матчащее Title, URL и длину, то оно подойдёт для любого плеера, поддерживающего AN, не только для LMP (хоть LMP и пока единственный плеер).
Поэтому остаётся два варианта: либо запрашивать у AN вообще все правила (что криво), либо передавать в AN функциональный объект, который будет их просеивать (что непортабельно).
Кроме того, предлагаю менять цвет флажка/оверлея в соответствии с Associated Color правила AN.
А если соответствующих правил больше одного?
Updated by 0xd34df00d over 10 years ago
- Status changed from New to Assigned
- Target version set to 0.6.70
А ваще таск по-приятному геморный, не всякое UI-унылие. Норм, принято.
Updated by Mellon over 10 years ago
0xd34df00d wrote:
А если соответствующих правил больше одного?
А это просто. при этом отображаем у трека столько меток, сколько правил.
В итоге, при включении всех опций трек может выглядеть так:
①◾⚐⚐⚐ 8 — Replicants (Unknown Animal Remix)
Где ① — метка моментальной очереди, ◾ — метка остановки после трека, ⚐ — метка действия.
И, например, при наведении на флажок можно выдавать хинт с именем соответствующего ему правила.
Кстати, у нас есть нормальные юникодные символы флажков (⚐ и ⚑) и не только, которые можно спокойно красить и тп как обычный текст.
Updated by 0xd34df00d over 10 years ago
О, про символы флажков я и не подумал. Круто, спасибо.
// теперь личкрафты будут зависеть от того, чо какие шрифты
Updated by Mellon over 10 years ago
ну можно растеризовать и покрасить, или наоборот.
Updated by 0xd34df00d over 10 years ago
- Status changed from Assigned to Resolved
- % Done changed from 0 to 100
Applied in changeset main|ab3bce1d8e2231414bcb4f8533c957da39bb0f48.
Updated by Mellon over 10 years ago
- Blocked by Feature #1624: Отсутствует индикация неактивных правил AN added
Updated by Mellon over 10 years ago
- Blocked by Feature #1625: Отсутствует индикация изменения состояния правил в текущем плейлисте. added
Updated by Mellon over 10 years ago
Норм. Но не доделано.Раз такой торопыжка, будем делить и блочить :P
Updated by Mellon over 10 years ago
- Blocked by Feature #1626: Смена состояния (активности) правила AN по клику на индикаторе в плейлисте added
Updated by Mellon over 10 years ago
- Status changed from Resolved to Closed
Отличная работа. Вот под этим и понимаю интегрированность пользовательского интерфейса модульного приложения, когда декларированные разработчиком межмодульные взаимодействия становятся доступными и очевидными простому пользователю. Благодарю.