Прежде, чем перейти к рассмотрению изменений в новой версии фонотеки, предлагаю вспомнить: как это было, какой была фонотека в самом начале, как она развивалась, какие изменения претерпела.
День рождения
Первая версия фонотеки (аудиобиблиотеки в то время) появилась с выходом первой публичной бета-версии 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 штук) заполнены, и заполнены правильно
А что будет с фонотекой дальше?
В будущих статьях расскажу 😉