Прежде, чем перейти к рассмотрению изменений в новой версии фонотеки, предлагаю вспомнить: как это было, какой была фонотека в самом начале, как она развивалась, какие изменения претерпела.
День рождения
Первая версия фонотеки (аудиобиблиотеки в то время) появилась с выходом первой публичной бета-версии AIMP v2.0 — 08 августа 2007 года.
В то время все утилиты — аудиоконвертер, редактор тегов и звукозапись — шли в виде одного приложения, называемого «Утилиты». Фонотека стала одной из таких утилит:
Фонотека была создана как просмотрощик каталога локальных аудиофайлов, т.е. сама она проиграть файлы не могла — файлы отправлялись в плеер и проигрывались там. Такой подход используется до сих пор.
В первой версии не было никаких пользовательских настроек интерфейса — вы не могли ни задать свой шаблон группировки, ни спрятать ненужные колонки в таблицах — ничего, только просмотр добавленных в базу файлов. В качестве движка базы данных использовался движок собственной разработки.
Среди шаблонов группировки / выборки данных были доступны следующие:
- Группировка: Альбом
- Группировка: Исполнитель \ Альбом
- Группировка: Год \ Исполнитель \ Альбом
- Группировка: Жанр \ Исполнитель \ Альбом
- Группировка: Путь к файлу
- Отображение новых файлов (добавленные не ранее, чем неделю назад)
- Отображение ни разу непроигранных файлов
- Отображение лучших файлов (с оценкой от 3 звезд)
- Отображение 10 / 100 популярных файлов (по количеству проигрываний)
Отдельно хотелось бы остановиться на специальной панели, что отображается внизу от таблицы с треками. Здесь отображалось содержимое внутренних плейлистов (эти плейлисты были жестко закреплены за фонотекой и не отображались в плеере) и переносных устройств. По задумке эта панель должна была упростить составление плейлистов на основе локальных файлов, и облегчить перенос файлов с/на переносное устройство. Стоит отметить, что никакой синхронизации не было, все предлагалось делать вручную, а из переносных устройств поддерживались только USB-флешки.
AIMP v2.02 Beta (01.09.2007)
Буквально следующая публичная бета версия AIMP v2.0 привнесла серьезные изменения в фонотеку — фонотека была удалена из «утилит» и реализована как плагин к плееру, а из возможностей пользовательской настройки интерфейса появилась возможность скрывать ненужные столбцы.
AIMP v2.07 Beta (29.10.2007)
Эта бета добавила новый вид отображения данных в таблице — Card View:
Обратите внимание, что первый вариант этого режима отображения отличается от того, что мы можем видеть сейчас — каждый файл имеет свою карточку с обложкой альбома и информации о композиции.
AIMP v2.50 (10.10.2008)
Из-за многочисленных проблем с собственным движком БД — проблемы с фрагментацией при удалении данных, отсутствие кэширования, отсутствие защиты от повреждений и проверок на целостность — было решено избавиться от него и перейти на что-то более качественное и полнофункциональное. Выбор пал на SQLite3.
Помимо этого версия 2.5 привнесла весьма не мало больших и малых изменений в интерфейсе фонотеки:
- Дерево группировки обзавелось алфавитным указателем
- Добавлен поиск по дереву группировки и поиск-фильтрация в таблице с файлами
- Добавлена отдельная панель с информацией для выбранного в таблице файла, с возможностью быстрого переключения между группировками кликом по соответствующему полю
- В шапке окна появился бокс для управления воспроизведением, однако как и раньше проигрыванием контента занимался плеер
- Появились настройки учета количества прослушиваний
- Режим отображения Card View теперь предполагал группировку по альбому и показывал одну обложку на альбом. Собственно, этот режим отображения можно наблюдать и по сей день.
После выхода первого релиза AIMP с фонотекой стали появляться предложения об интеграции фонотеки и плеера, но с этим же просьбами стали появляться и обратные — народ (причем, в то время большая часть) был против интеграции. В итоге родился вот такой вот «кривой» вариант:
Главное окно могло вставляться в окно фонотеки, и появлялось поверх таблицы при нажатии на вертикальную кнопку с надписью «AIMP2». «Кривым» в данном решении было то, что главное и дочерние окна менялись местами в зависимости от настройки программы, что породило кучу глюков в программе и снизило ее стабильность. Надо отметить, что эта функция долго не прожила — в ближайшей версии она была убрана.
Оглядываясь назад, очень забавно наблюдать как изменилось отношения у пользователей по этому вопросу за прошедшие годы — последнее голосование показало, что сейчас против интеграции выступают лишь 6% проголосовавших.
AIMP v2.60 (09.04.2009)
Убрана функция интеграции плеера в фонотеку, поначалу многие возмущались… но стабильность программы важнее — если не получается сделать функцию 100% рабочей, лучше ее выкинуть, дабы она не портила все остальное.
В целом, новая версия была скорее заплаткой к предыдущей, нежели полноценным релизом. Что касается фонотеки, то v2.60 добавила функционал, которого так не хватало для более-менее полноценной работы:
- Одной из основных фич AIMP2 была поддержка CUE — плеер видел каждый трек сета как самостоятельный файл, но вот в фонотеки поддержки CUE не было до сих пор — до выхода v2.60.
- Второй востребованной функцией была сервисная функция «поиск перемещенных файлов». Я уверен вы ни раз сталкивались с ситуацией, когда после физического перемещения музыкального файла в другую папку, фонотеке теряет его. До выхода 2.60 решение было только одно: удалить файл из базы и добавить снова. Этого было бы более, чем достаточно, если бы не одно «НО» — при таком подходе теряется вся накопленная статистика по файлу. «Управление перемещенными файлами» позволяло в полуавтоматическом режиме подправить пути к перемещенным файлам в БД.
AIMP v3.0 (20.12.2010)
Фонотека вновь стала независимой от плеера — вновь стала «утилитой», но уже в виде отдельного приложения. К такому решению я пришел после многочисленных писем о том, что доступ к фонотеке неудобен, особенно когда нужно просто что-то найти, без запуска воспроизведения. Ведь действительно, в v2.60, чтобы добраться до фонотеки, нужно было запустить плеер, и из главного меню вызвать фонотеку.
Фонотека пошла дальше по пути развития как самостоятельного приложения:
- Обзавелась собственным модулем воспроизведения, который умел проигрывать треки из текущего представления в таблице в нормальном или случайном порядке.
- В качестве еще одного источника данных появился «каталог интернет радиостанций». Надо заметить, что этот плагин подключался как к фонотеке, так и к плееру, т.е. по сути функционал каталога радиостанций был продублирован и там, и там.
Расширились возможности пользовательской настройки и работе с данными:
- Быстрая фильтрация контента по значениям столбцов
- Возможность группировки по любым столбцам
- Возможность скрытия окна группировки
- Добавлена поддержка пользовательских меток
- Сортировка по нескольким столбцам сразу
- Фильтр файлов по размеру и/или длительности при добавлении в базу данных
- Поддержка множественных значений для ключевых полей
- Генерация отчета — общее время прослушиваний, любимый исполнитель / альбом / жанр
На грани
После релиза v3.00 стало приходить много отзывов и предложений по дальнейшему развитию фонотеки как самостоятельного приложения, и даже как самостоятельного продукта. Развивать и поддерживать два плеера с одинаковым функционалом, но разным подходом к работе с данными и их отображению (классика и модерн) я не хотел. Возник вопрос, что делать?
Скажу честно, фонотека для меня всегда являлась слабым звеном, которой я сам пользовался крайне редко и на которую вечно не хватало сил, чтобы довести ее до ума и сделать более-менее серьезным продуктом, а не довеском к плееру чисто «для галочки».
На форуме был создан опрос, звучал он так «какими из функций вы пользуетесь в фонотеке, пользуетесь ли ей вообще?». В зависимости от результатов я планировал принять решения. Голосование показало: лишь 33% не пользуются фонотекой вообще, таким образом о ликвидации не может идти и речи. Среди самых непопулярных возможностей оказались: менеджер плейлистов (который, напомню, был независимым от плеера) и работа с флеш-носителями.
Было принято решение выкинуть непопулярные функции, уменьшив дублирование функционала к минимуму, и оставить фонотеку чисто как каталогизатор локальных файлов.
AIMP v3.10 Beta 1 (16.04.2012) — перерождение
В таком виде, за исключением мелких косметических изменений, фонотека остается и по сей день.
А можно ли как-нибудь сделать так что бы трек не терял рейтинг после перемещения?
Пожалуй, самый надежный вариант — хранить всю статистику в самом файле. Однако этот способ ужасно медленно работает.
А если к примеру хранить статистику относительно тегов трека. С фонотекой все равно предпочтительней работать с порядком в тегах.
Мы много разных идей обсуждали на форуме, и эту в том числе. Теги могут помочь только в том случае, если они все (все основные — 6-7 штук) заполнены, и заполнены правильно
А что будет с фонотекой дальше?
В будущих статьях расскажу 😉