AIMP4: Фонотека

Страшно подумать, что с последнего более-менее серьезного обновления фонотеки прошло уже целых 3 года! Итак, хочу вам представить второе перерождение фонотеки — v4.0.

Шаг в будущее

Пожалуй этот релиз — самый важный шаг за последнее время — объединение фонотеки с плеером. AIMP встаёт на путь модерн-плееров, фонотека отныне станет неотъемлемой, полноценной функциональной частью нашего продукта.

«Под капотом»

Фонотека по-прежнему  базируется на движке SQLite, однако все, что было построено вокруг этого движка, переписано с нуля. Основными целями этой затеи были: заточить окружение на максимальную производительность; избавиться от архитектурных ошибок, что были выявлены в процессе использования прошлых версий (проблемы при работе с флеш-носителями, сетевыми дисками, отсутствие системы уведомлений об изменениях в БД и др.).

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

Элементы отображения данных и ядро фонотеки были спроектированы таким образом, чтобы в будущем иметь возможность работы с несколькими источниками данных. Например, показывать содержимое облачной папки или вашей музыкальной коллекции в социальной сети. Это задел на будущее, в версии 4.0 будет представлен только один источник данных — локальная база файлов.

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

Новые возможности

Поддержка скинов

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

Skinned Music Library window

Стоит отметить, что старые скины по-прежнему будут поддерживаться программой — в них фонотека будет представлена в виде отдельного окна со скином по умолчанию.

Дерево группировки

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

Режим «без группировки» — фактически группировка по пути к файлу — обзавелся возможностью отображать только те файлы, что лежат в выбранной папке, без учета содержимого подпапок:

new no-grouping mode

Для того, чтобы просмотреть содержимое папки и ее подпапок, достаточно кликнуть по пункту «(показать все)», что располагается внутри каждой папки.

Рейтинг

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

Рейтинг обновляется при каждом зачете прослушивания — движок находит в базе трек, с максимальным количеством прослушиваний за последние 30 дней, назначает ему рейтинг = 5, рейтинг остальных треков вычисляется с помощью простой пропорции:

рейтинг_трека = 5 * прослушиваний_за_месяц / макс_прослушиваний_за_месяц_в_БД.

Таким образом, если трек за месяц ни разу не будет проигран — его рейтинг упадет до нуля. Возраст базы и количество прослушиваний за все время существования трека в базе больше не влияет на рейтинг.

Пользовательские оценки

Говоря о рейтинге, нельзя не упомянуть об изменениях, связанных с пользовательским рейтингом. По многочисленным просьбам пользователей я сделал возможность сохранения пользовательской оценки в теги аудиофайла. Стоит сразу отметить, что в теги записывается только пользовательская оценка — никакая другая статистика туда не попадает. По умолчанию опция выключена.

Как работает новая функция? Теперь, когда вы выставляете оценку треку в AIMP, плеер пытается записать ее в теги файла. Если файл занят каким-либо приложением (в том числе, и самим плеером) — воспроизведение не прерывается, как при сохранении изменений в редакторе тегов, а ставится в специальную очередь. Через 10 минут плеер повторно пытается записать оценку в файл, и так до тех пор, пока операция не завершится успешно.

Прочее

Помимо выше перечисленных нововведений, я реализовал небольшие фичи, повышающие удобство использования программы:

Вместо заключения

Для тех, кто не желает пользоваться фонотекой ни в каком виде: несмотря на то, что теперь нельзя вырезать код фонотеки из плеера путем удаления пары бинарных файлов, по-прежнему остается возможность подавить ее работу.  Для этого достаточно зайти в настройки программы и снять все галочки из раздела «фонотека».

AIMP4: Фонотека: 64 комментария

  1. Kaxalpe

    Ну вот, наконец-то! Я этого долго ждал.

    Порадовал алгоритм расчета рейтинга. При таком подходе учитывается тот факт, что песни со временем надоедают. Но, кажется, что 30 дней недостаточно.

    Было бы отлично реализовать возможность просмотра фонотеки не через колонки (заголовок, исполнитель и т.д.), а карточками — поальбомно. Уж очень люблю смотреть на обложки.
    Колонки не люблю, потому что информация зачастую недоотображается, срезаются длинные названия, а короткие названия образуют много незанятого пространства. В колонках с альбомом, годом и жанром повторяется информация от трека к треку. Другими словами — мало эргономичности или вместительности.

    Будут ли реализованы плейлисты и как? Если правильно понимаю, будут в той же строчке, где «Локальные файлы».

    Всё! Супер! С нетерпением ждем релиза.

  2. Куля

    Очень(!) радует возможность сохранения пользовательской оценки в тег. Прекрасная идея с рейтингом на 30 дней. Хорошо бы сделать число 30 опциональным. Насчет алгоритма записи оценки в файл: Если проставить оценку и сразу выключить плеер — очередь запустится?
    Отличная идея с ускоренной прокруткой (я бы даже сказал блестящая).
    Будет ли возможность получить функционал «Табличного плейлиста»(с обложками), или от этой идеи по каким-то причинам отошли?

    1. Artem Автор записи

      Прекрасная идея с рейтингом на 30 дней. Хорошо бы сделать число 30 опциональным.

      Да, будет опциональным.

      Насчет алгоритма записи оценки в файл: Если проставить оценку и сразу выключить плеер — очередь запустится?

      Очередь запустится при следующем запуске плеера.

      Будет ли возможность получить функционал «Табличного плейлиста»(с обложками), или от этой идеи по каким-то причинам отошли?

      Нет, от идеи этой я отошел. Плейлист останется в классическом исполнении.

      1. Куля

        Нет, от идеи этой я отошел. Плейлист останется в классическом исполнении.

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

        1. Artem Автор записи

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

  3. pps_P

    Очень положительные эмоции от нововведений.

    Вопросы-предложения:
    1. Сортировка фонотеки. Отдельный шаблон для сортировки самой фонотеки, в частности очень интересует (я бы даже сказал критично важно) сортировка по расположению файлов.
    2. Возможность отключения в графе «продолжительность» значений часов если значение таковых рано нулю например вместо 00:05:16 отображать 05:16
    3. В шапке оболочки ну очень уж много свободного места — можно как-то сгруппировать для увеличения, за счет пустых пространств, строк фонотеки и плейлиста.
    4. Увеличить размер иконки альбома проигрываемой песни (левый верхний угол). В частности для себя на моем дисплее в 17,3″ 1920*1080 увеличение три раза было бы минимальным… ну это уже наверное ждать скинов.
    5. Ну и наконец надеюсь ну ускорение подгрузки обложек из файлов в фонотеку.

    p.s. сейчас для фонотеки использую MediaMonkey(надеюсь что переплюнете его, и я наконец смогу от него отказаться), а для всего остального — Aimp3.
    p.p.s. спасибо за ваши труды.

    1. Artem Автор записи

      1. Поясните
      2. В ближайшем будущем не планирую
      3. Скин по умолчанию спроектирован так, чтобы он мог работать и на маленьких экранах, и на больших
      4. Если увеличить обложку альбома в три раза, то в три раза увеличится и размер заголовка, что просто неприемлемо. Для обложки альбома у скина по умолчанию есть отдельное окно.
      5. Именно обложек? А что с ним не так? Если не отключать кэш — обложки отображаются мгновенно.

      1. pps_P

        1. У плейлиста есть сортировка: по папкам, заголовку, длительности, исполнителю и по шаблону.
        В фонотеке доступна сортировка только по столбцам и по шаблонам, но ни в столбцах ни в шаблоне нет сортировки по папкам.
        В идеале хотелось бы увидеть кнопку для фонотеки сортировку как у плейлистов. или добавить хотя бы сортировку по папкам в виде столбца или пункта в шаблонах.
        5. Картинки обложек подгружаются с запозданием, иногда переподгружаются. В качестве примера: загрузка 7000 песен с обложками в mediamonkey и в Aimp 4 субъективная разница в минуту(~4мин против ~ 5мин в пользу Обезьяны). далее промотка скролом вниз фонотеки: обезьяна тратит на подгрузку картинок не более 2-3 секунд, Аимп — 5-6, а иногда и до ~20с.(все это очень примерно, и смотрится как двух кратное отставание Аимп )

        Теперь что заметил новое. продолжим по порядку)
        6. В фонотеке выделена одна позиция(трек), скролом прокручиваю пока она не пропадет из отображения, нажимаю выставление оценки треку и экран фонотеки центруется на выделенном треке(оценка выставилась нормально).
        Другой вариант: выделен трек, ставлю ему же оценку, оценка ставится, экран центруется на треке(что ясное вызывает дискомфорт).

        p.s. сегодня позже еще покопаюсь, переустановлю, может что-то улучшится

        1. Artem Автор записи

          1. Для таких целей есть группировка по имени к файлу.
          5. Это зависит от того, есть ли обложки в кэше или нет. Да и к тому же плеер грузит обложки только тогда, когда они требуются. Так же стоит учитывать, что сейчас версия — отладочная, она работает сама по себе медленнее.
          6. Поправлю

          1. pps_P

            1. наверное придется мне дураку создавать тему на форуме… не могу объяснить или не могу найти (а если не могу найти или сходу разобраться скорее всего не интуитивно сделано).
            делим интерфейс на три зоны:
            А-дерево группировки слева (путь E:\MUSIC\подпапки по жанрам\по группам\альбомам если есть\файлы типа «исполнитель — название трека»)
            Б-по центру, фонотека или база данных (кто как обзывает)
            В-справа, плейлисты

            добавляю, а затем выбираю в А общую директорию E:\MUSIC
            в Б отображается все содержимое этой директории включая подпапки
            выбираю любой трек — все содержимое Б добавляется в В
            в В выбираю сортировку «по папкам»
            в итоге: В — все как надо, в Б хаотично разбросанные исполнители, альбомы и тд

            функция которую я ищу находится в В — это «Сортировка по папкам», она работает, все с ней хорошо. но в Б, я такого, подобного или альтернативного функционала не могу найти.

            в Аимп3, в фонотеке, столбце «Имя файла» отображается путь к файлу и его название
            в Аимп4 — в столбце «Имя файла» отображается только имя файла — сортровка по этому параметру приводит к каше

  4. Master.OK

    Плин,я не понимаю,честное слово,ну зачем Вам всем фонотека!!Неужели поиска не хватает по плейлистам?Неужели ТОталКомандера не хватает искать везде?Зачем мучить автора таким бредом,лучше дайте ему больше времени заниматься улучшением самого плеера — это самое основное и главное+ улучшение его звучания!!!Кто Вас научил пользоваться фонотекой?Майкрософт?НЕужели есть Вам какое-то удобство в ней???МАйкрософт делает все для тупых амеров и еще большего их отупения,не уподобляйтесь же им!!!

      1. PlasticKitten

        «банальный» тотал коммандер может запросто искать в том числе и по тегам, если плагин ему поставить соответствующий для поиска. плюс по куче других параметров.
        например, можно найти все песни, у которых в теге комментария содержится скажем «прослушать при случае», в стиле регги, изменённых в последние 85 дней, размером не больше 20.5 мегов. И потом закинуть их aimp-у в плейлист.

        Я тоже отношусь к тем, кто не пользуется фонотекой. Для меня тут другой вопрос более важен — как её теперь выкорчевать оттуда, чтобы не запускалась каждый раз и не пыталась ничего делать в фоне?

        1. Artem Автор записи

          Я тоже отношусь к тем, кто не пользуется фонотекой. Для меня тут другой вопрос более важен — как её теперь выкорчевать оттуда, чтобы не запускалась каждый раз и не пыталась ничего делать в фоне?

          Выкорчевать — никак. А фоновые задачи все настраиваются в настройках.

    1. Soolo

      Звучание АИМПа, как и других плееров, на максимуме. Улучшать там нечего. Кроме того, есть немало аудиофильских плееров, где в режиме плацебо можно получить супер-мега-звучание, но пользоваться такими плеерами невозможно, т.к. удобство их на нуле.
      Итого 2 пути: копаться в звуковом движке, смазывая код соплями девственниц, и приглашая аудиофилов для оценки звучания, либо заняться реально полезными вещами для обычных людей?

  5. ORK123

    Вернулся на любимый плейер! В связи с некоторыми изменениями в фонотеке и появившимся неудобством использования забил на плейер пару лет назад и стал пользоватся по сути он-лайн сервисами
    Сейчас скачал 4-ку. Слушаю пару часов безостановочно, копаюсь в своей подзабытой фонотеке.
    Просто космос!
    Спасибо!

    1. ORK123

      единственное, чего-то не подтянулась моя база со старыми оценками…в справке ответа не нашёл, бэкап подтягивал…если нельзя подтянуть, то и фиг бы с ней, но если можно то хотелось бы

        1. ORK123

          база наверняка старее 3.60.
          Но я поставил поверх снова 3.60, из бэкапа вернул файлы…старые оценочки увидел в библиотеке,
          накатил поверх 4-ку…опять старых нет

  6. Сергей

    Никогда не пользовался фототекой, всегда удобно было зайти в папку с музыкой где отсортированы все треки по исполнителям и по жанрам. В АИМП4 сделан симпатично но как то не удобно из за чего даже начал юзать фонотеку уже.
    с отключением фонотеки плеер мне нравился что был узким как в аимп3, а в 4м даже без фонотеки он какой то толстый и сузить больше не получается. так же не хватает кнопочку (стрелочка вверх) при нажатии на которую открывался проводник и предлагал выбрать трек или папку для воспроизведения.

  7. Владимир

    Всем «противникам» фонотеки могу одно сказать — вы просто не готовы принять новую идеологию. Попробуйте оценить плюсы, тогда и претензий поубавится, и пользоваться гигабайтами музыкальной коллекции будет проще. Никто не против порядка на диске, одно другому не мешает, а скорее, дополняет.

    1. vladimir76

      Причём здесь готовности или неготовность, если функционал фонотеки мне попросту не нужен…
      Мне нужно просто открыть папку с музыкой, не выходя из плеера, и открыть нужный файл…

  8. RCyber

    фонотека имеет место быть и от нее к сожалению не денешься, но вот один очень неприятный баг — если в песне нет тегов (исполнителя например), то она не отображается в фонотеке (даже если ты нашел и нажал на папку где она расположена, все равно отображаются только песни с тегами), тогда смысла от нее я не вижу, т.к. всё равно приходится открывать коммандер/проводник и перетаскивать вручную

  9. gromilo29

    Здраствуйте! Я пользуюсь портативной версией AIMP3. Хотел перейти на портативную AIMP4, но есть одно но. У меня на каждой песне стоит пользовательская оценка.
    В порт. AIMP3 оценки хранятся в Profile\AudioLibrary\AIMP3.db
    В порт. AIMP4 оценки, как я понимаю, хранятся в Profile\AudioLibrary\Local.db
    Пробовал скопировать файл AIMP3.db в папку Profile\AudioLibrary\ (AIMP4) и переименовать в Local.db, но оценки не подхватывает.
    Интересует вопрос, возможно ли перекинуть эти оценки в AIMP4 и если да, то как?

      1. gromilo29

        Спасибо за ответ, но я о портативной версии. Не получается так. Я указиваю папку где установлена третья версия Y:\Soft\AIMP3, и четвертая устанавливается в Y:\Soft\AIMP3\AIMP

  10. Kaxalpe

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

    Добавляю альбом в плейлист (из фонотеки) — Переименовываю папку, в которой находится альбом —> В плейлисте альбом недоступен.
    В фонотеке выбираю «Перемещенные файлы» — Нахожу их и заменяю —> В плейлисте по прежнему альбом недоступен.

    Возможен ли вариант, в котором в плейлисте обновляются ссылки на файлы?
    Плейлист .aimppl4

    Было бы очень удобно, если бы плейлист умел обновлять ссылки на файлы из БД фонотеки.

    1. Artem Автор записи

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

      1. Kaxalpe

        Кажется я понял, как можно. Если проставить метки на треки в фонотеке с именем «плейлиста» (условного плейлиста, а так я метками не пользуюсь), то можно с помощью смарт-плейлиста сделать.

    2. Leshiy

      Привет,я проблему решил так «потеряшками», у меня изменилось только расположение папки музыкальной файлопомойки с диска G на диск H, а структура папок осталась таже…поэтому я сохранил плейлист на рабочий стол и открыл его текстовым редактором. Там уже редактировал его с помощью «поиска и автозамены» G:\ на H:\. пока выкрутился так, но это до первой чистки помойки и сортировки по папкам. Хоть убей не понял как вообще смарт-плейлист может найти потеряшки. Былоб круто конечно, если бы плейлист сам мог обращаться за поиском потеряшек к базе данных — ведь хеш сумма файла всегда таже ,а иногда даже имя не меняются. ЕЕ можно каждый раз создать без особых усилий. У меня версия 4.7, изза красивого скина который не поддерживается в 5 версии. Дайте знать ,если это исправлено в новых версиях и поиск потеряшек работает как надо.

  11. Денис

    Добрый день.
    1. Каким образом можно добавить файлы (или папки) напрямую в фонотеку?
    2. Имеется ли возможность автоматической синхронизации фонотеки с папкой на диске?
    3. Можно пользоваться фонотекой без плейлистов? Сейчас при включении песни из фонотеки, создается плейлист, в который попадает весь альбом, что, по сути, дублирует фонотеку.

  12. Universal

    Артем здравствуйте. Что случилось с фонотекой? Она стала ужасной! Почему теперь в главном окне показывается не просто список файлов, но еще и с «аватарками», плюс все это делится на сворачивающиеся окна? Это дико неудобно. Было удобнее, когда можно было выбрать Раздел «All» и перед тобой открывается весь список файлов (именно строчками!), по которому было удобно пользоваться.

  13. Денис

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

    Есть предложение сделать «умную» сортировку по умолчанию. Например, сортировка по умолчанию выполняется по параметрам с очередностью: исполнитель, год, название альбома, номер диска, номер трека. Такая сортировка должна дать наиболее ожидаемый результат отображения треков в фонотеке.

    Может быть Вы сможете предложить более правильную умную сортировку.

    1. Artem Автор записи

      1. По умолчанию используется сортировка «как в источнике», в случае локальных файлов — это положение файлов на жестком диске.
      2. Почему же только одной колонки? Кликайте по ним с зажатым Ctrl — будет сортировка по нескольким колонкам.
      3. Умная сортировка не сможет быть умной: разные источники — разные колонки, разные данные, разные сортировки по умолчанию.

  14. randm

    В последней версии в фонотеке в режиме без группировки не отображаются образы FLAC+CUE. Даже через поиск внизу не ищется, но если переключить в альбом или исполнитель — альбом, то отображается и через поиск находится.

        1. randm

          В режиме «Без группировки», когда просто дерево папок — не видно. Переключаешь в вид «Исполнитель — Альбом» — начинает отображаться и через поиск находится.

  15. Silver

    А при воспроизведении музыки на плеере, можно установить живой эквалайзер? Чтоб когда играла музыка экран телефона был живым , в ритм с музыкой. Вот такой вопрос, можно на Андроиде такое сделать на этом чётком плеере?

    1. Artem Автор записи

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

Добавить комментарий