Project

General

Profile

Feature #1609

Улучшение интеграции LMP с AN (индикация)

Added by Mellon over 7 years ago. Updated about 7 years ago.

Status:
Closed
Priority:
Low
Assignee:
Category:
Plugins: LMP
Target version:
Start date:
04/29/2014
Due date:
% Done:

100%

Estimated time:
10.00 h

Description

Возможно будет целесообразно показывать в плейлисте треки имеющие связанные с ними действия.
Было бы неплохо, если бы при загрузке плейлиста отмечались треки имеющие соответствия правилам AN.
В качестве индикатора по умолчанию можно брать что-то типа https://commons.wikimedia.org/wiki/File:Flag-red.svg
Треки с неактивными правилами AN можно, например, помечать задизейбленным индикатором.
И, соответственно, было бы удобно управлять активностью уже существующих правил непосредственно из плейлиста, щёлкая по флажкам у соответствующих треков.
Кроме того, предлагаю менять цвет флажка/оверлея в соответствии с Associated Color правила AN.


Related issues

Blocked by Feature #1608: Улучшение интеграции LMP с AN (основа)Closed04/29/20140xd34df00d

Actions
Blocked by Feature #1624: Отсутствует индикация неактивных правил ANClosed05/12/20140xd34df00d

Actions
Blocked by Feature #1625: Отсутствует индикация изменения состояния правил в текущем плейлисте.Closed05/12/20140xd34df00d

Actions
Blocked by Feature #1626: Смена состояния (активности) правила AN по клику на индикаторе в плейлистеRejected05/12/20140xd34df00d

Actions
#1

Updated by Mellon over 7 years ago

  • Related to Feature #1608: Улучшение интеграции LMP с AN (основа) added
#2

Updated by 0xd34df00d about 7 years ago

  • Related to deleted (Feature #1608: Улучшение интеграции LMP с AN (основа))
#3

Updated by 0xd34df00d about 7 years ago

  • Blocked by Feature #1608: Улучшение интеграции LMP с AN (основа) added
#4

Updated by 0xd34df00d about 7 years ago

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

Олсо, изменил тип зависимости.

#5

Updated by Mellon about 7 years ago

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

Просто, имхо, это было бы удобно. Иначе, это было бы примерно как если бы в календаре дни с задачами никак не выделялись, а сами задачи были доступны только в отдельном окне.

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

А на счет непортабельности, немного не понимаю, как межмодульное взаимодействие может помешать кросспроцессности. Грубо говоря, представлял это как некое взаимодействие, при котором LMP после загрузки плейлиста запрашивает AN правила касательно себя и после их получения сканирует базу на соответствия, которые и отображает в виде меток в плейлисте.

Если всё это бред, то ок, пойму.

#6

Updated by 0xd34df00d about 7 years ago

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

Для треков из плейлиста эти метаданные вообще уже все в ОЗУ есть (как, впрочем, и для коллекции, просто чуть глубже), это не проблема. Проблема — общение с AN на тему доступных правил.

Грубо говоря, представлял это как некое взаимодействие, при котором LMP после загрузки плейлиста запрашивает AN правила касательно себя и после их получения сканирует базу на соответствия, которые и отображает в виде меток в плейлисте.
касательно себя

This, правила сходу так не содержат информацию о том, каких плагинов они касаются. Если ты создал правило, матчащее Title, URL и длину, то оно подойдёт для любого плеера, поддерживающего AN, не только для LMP (хоть LMP и пока единственный плеер).

Поэтому остаётся два варианта: либо запрашивать у AN вообще все правила (что криво), либо передавать в AN функциональный объект, который будет их просеивать (что непортабельно).

Кроме того, предлагаю менять цвет флажка/оверлея в соответствии с Associated Color правила AN.

А если соответствующих правил больше одного?

#7

Updated by 0xd34df00d about 7 years ago

  • Target version set to 0.6.70
  • Status changed from New to Assigned

А ваще таск по-приятному геморный, не всякое UI-унылие. Норм, принято.

#8

Updated by Mellon about 7 years ago

0xd34df00d wrote:

А если соответствующих правил больше одного?

А это просто. при этом отображаем у трека столько меток, сколько правил.
В итоге, при включении всех опций трек может выглядеть так:

①◾⚐⚐⚐ 8 — Replicants (Unknown Animal Remix)

Где ① — метка моментальной очереди, ◾ — метка остановки после трека, ⚐ — метка действия.
И, например, при наведении на флажок можно выдавать хинт с именем соответствующего ему правила.

Кстати, у нас есть нормальные юникодные символы флажков (⚐ и ⚑) и не только, которые можно спокойно красить и тп как обычный текст.

#9

Updated by 0xd34df00d about 7 years ago

О, про символы флажков я и не подумал. Круто, спасибо.

// теперь личкрафты будут зависеть от того, чо какие шрифты

#10

Updated by Mellon about 7 years ago

ну можно растеризовать и покрасить, или наоборот.

#11

Updated by 0xd34df00d about 7 years ago

  • % Done changed from 0 to 100
  • Status changed from Assigned to Resolved
#12

Updated by 0xd34df00d about 7 years ago

  • Estimated time set to 10.00 h
#13

Updated by Mellon about 7 years ago

  • Blocked by Feature #1624: Отсутствует индикация неактивных правил AN added
#14

Updated by Mellon about 7 years ago

  • Blocked by Feature #1625: Отсутствует индикация изменения состояния правил в текущем плейлисте. added
#15

Updated by Mellon about 7 years ago

Норм. Но не доделано.Раз такой торопыжка, будем делить и блочить :P

#16

Updated by Mellon about 7 years ago

  • Blocked by Feature #1626: Смена состояния (активности) правила AN по клику на индикаторе в плейлисте added
#17

Updated by Mellon about 7 years ago

  • Status changed from Resolved to Closed

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

Also available in: Atom PDF