Каталогизатор музыки. Каталогизатор музыки А что дальше

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

Основным источником книг для меня стал rutracker.org (тогда еще torrents.ru).
Там достаточно строгая модерация, стандартизированное оформление, большое количество отзывов под каждой книгой. Но однажды я заметил что поиск интересных книг начинает отнимать всё больше и больше времени - раздачи сортируются не в порядке добавления, а в порядке обновления, из-за чего всё постоянно перемешивается и нужно пролистывать много страниц в поисках непрочитанных книг.

Отделять прочитанное от непрочитанного первое время позволял браузер (менял цвет ссылок, по которым я уже переходил), но после смены домена на rutracker цветовая дифференциация штанов раздач слетела, что точно не упростило процесс поиска.
Разделение книг по форумам тоже довольно неудобно - фантастику, например, разделили на русскую и зарубежную, но не по жанрам. В результате приходится на глаз выискивать любимую НФ среди фентези, S.T.A.L.K.E.Rа и др.

Знакомая проблема?

Лирическое отступление

Однажды я подумал, что написание утилиты для каталогизации аудиокниг займёт меньше времени, чем его теряется при постоянном поиске вручную. Приложение было написано и я пользовался им последние 4 года, понемногу дорабатывая.
После довольно неожиданной поддержки моего комментария к статье Спасем крупнейшую медиатеку в рунете. Вся база rutracker у Вас на компьютере стало понятно, что любителей аудиокниг не так уж и мало. Я решил привести в какое-то подобие порядка бессистемно писанный код, продумать архитектуру и расширяемость, выбросить всю проприетарщину, после чего выложить релиз с исходниками.

Эту яхту я решил назвать ABCat. Тут и AudioBooks Catalog, и ABC простота, и, конечно же, всеми любимые котики.
По совету Nashev статья не столько о разработке, сколько обзор функционала.

Приложение написано на.Net Framework, C#. Изначально интерфейс был построен на триальной версии DevExpress. Кушать она просила, но не очень настойчиво - за триальный месяц я успел устаканить GUI, а большего и не требовалось. DevExpress подкупал мощнейшей системой фильтрации списка, что очень сильно упрощало поиск.
Понятно, что для вывода в опенсорсный свет весь GUI пришлось полностью выбросить и написать новый, с WPF и MVVM, заодно поближе познакомиться и с тем, и с другим.
Что можно сказать о том, что получилось? Ну разве что «Графический интерфейс пользователя, 1 шт.». Штука эта сугубо утилитарная, написана с использованием открытых бесплатных компонентов, но свои задачи выполняет.
На момент снятия скриншотов не заметил, что забыл подписать Title у окна. На скринах его нет, в релизе есть.


Если очень кратко - парсер забирает с сайта страницы с информацией о книгах. Из содержимого страниц вычисляются имя автора, жанр, длительность, чтец, описание, издатель, битрейт. Всё это добро складывается в локальную базу данных. При помощи группировок, фильтрации и сортировок пользователь находит нужную книгу и скачивает.

Больше подробностей о работе с программой

Доступные инструменты
Список книг

Обычный грид, с колонками атрибутов.

Группировка

Сейчас доступны 3 логики группировки:

  • По автору (авторы сгруппированы по первой букве полного имени)
  • Форум Автор
  • Форум Жанр

После выбора группы список автоматически фильтруется по её содержимому.

Фильтр

В фильтре можно задать необходимые параметры поиска. Некоторые поля имеют вид выпадающего списка - там уже содержатся все возможные значения и это комбобокс с быстрым поиском. Все поля фильтра объединяются по «И», т.е. в список после фильтрации попадает только то, что соответствует сразу всем полям поиска. Ищется любое вхождение строки.
Поле «Длительность» довольно хитрое. Если ввести туда "> 10 часов", то в список попадут только те книги, в которых автор раздачи указал длительность воспроизведения более 10 часов.
Есть некоторые оговорки. Во-первых длительность задана не для всех раздач, во-вторых указывается она в совершенно свободной форме (например «11 часов 5 минут» или «11:05:00» или как-то еще), поэтому есть логика парсинга времени, понимающая большинство (около 99%) вариантов написания, принятых на сайте. Возможно не всё понимает правильно (пока не нашел такого), но в целом получается очень удобный инструмент.
И как раз благодаря этому парсеру в фильтр можно забивать время в любом удобном виде.

Чекбоксы:

  • Загружено. Если он не отмечен, то в список не попадают уже загруженные книги.
  • Скрыто. Фильтрует записи по признаку «скрытая» (сам признак задается в списке через контекстное меню).
  • Применить. Можно включать/отключать фильтрацию записей без потери содержимого фильтра.
Редактор автозамены

18 сравнительно правильных способов указать, что книгу написали братья Стругацкие


При импорте данные проходят нормализацию. Для этого значения полей сверяются со списками автозамены и заменяются на правильный вариант.


Для пополнения списка автозамены нужно выделить те записи, которые содержат различные варианты написания одного и того же параметра. Затем, через контекстное меню списка, отправляем записи в редактор автозамены.


Выбираем нужный атрибут (в данном случае «Автор»), делаем двойной щелчок на том варианте, который нравится больше всего (если такого нет - просто вводим вручную), и нажимаем «Сохранить изменения».


Дерево автозамены.

Сами списки хранятся в отдельном файле БД и можно взять уже чей-то готовый вариант или настроить свой. Имеется пока еще не реализованная идея импорта списка с объединением, а не заменой всех списков целиком.

Обновление базы происходит в два этапа:

  • Загрузка списка записей. Для этого скачиваются все страницы со списками раздач, из них вытаскивается базовая информация о книге - ссылка на полную страницу раздачи и название. Для форумов rutracker первая операция занимает около 20 минут - необходимо скачать и обработать около 400 страниц.
  • Загрузка полной информации о записях. По ссылкам, полученным на первом этапе, скачиваются страницы с полной информацией. Их гораздо больше - около 18 тысяч.

Процесс обновления запускают два пункта в главном меню приложения (под пунктом «Каталог»).
Крайне рекомендуется скачать уже наполненную актуальную версию каталога (по ссылкам внизу), а после периодически запускать обновление.
Скорость скачивания полных страниц специально ограничена (не более 20 страниц в минуту). Просто для того, чтобы ребята с рутрекера не сильно обижались. Защита очень проста и при наличии исходников легко снимается, но тому, кто сможет её найти и отключить, для DDoS рутрекера и не нужен такой извращённый способ - достаточно пяти строк кода.

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


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

Скачивание

Закачка выбранной книги запускается из контекстного меню списка.

Для скачивания потребуется логин и пароль пользователя рутрекера. Логины и пароли нигде не хранятся и никуда не отправляются (кроме, понятное дело, самого рутрекера). ABCat запускает uTorrent с параметрами командной строки и закачка начинается автоматически. Скачанная раздача попадает в папку библиотеки, путь к библиотеке задается при первом запуске программы. В библиотеке книги раскладываются по папкам в соответствии с автором.

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

Начало работы:
  1. Скачать релиз и базу данных каталога.
  2. Распаковать релиз в любую папку на диске.
  3. Скачать и распаковать базы данных каталога и кеша страниц туда, где будет удобно хранить 250+ мегабайт баз данных. У пользователя должны быть права на запись по этому пути.
  4. Запустить ABCat.exe. При первом запуске программа предложит задать основные настройки. Обязательно нужно указать пути к файлам базы данных, каталогу и uTorrent.exe.
  5. Начать пользоваться.

Внимание! ABCat написан на.Net Framework 4.5, который не поддерживается операционными системами ниже Windows Vista (т.е. на XP запустить не получится). В гугле попадаются ссылки на загадочные репаки.Net Framework 4.5 под XP, но не пробовал - не знаю.
Кроме того следует понимать, что программа написана только что, в свободное время, и никто кроме меня им не пользовался. Проект не является коммерческим. Спутников Mail.ru, тулбаров Yandex установить не предлагает, рекламу не показывает, донейтов не просит. Поэтому просьба отнестись с пониманием к возможным (и, нужно сказать, весьма вероятным) ошибкам в её работе. Обо всех ошибках просьба сообщать любым удобным способом (лучше всего вот сюда).

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

Программы, что способны систематизировать, сортировать гиперссылки и отображать их в виде баз данных.

Новое в категории "Каталогизаторы":

Бесплатная
Personal Video Database 0.9.9.21 представляет собой приложение, создающее автоматически каталоги из имеющихся у вас фильмов. Приложение Personal Video Database оснащено продуманным пользовательским интерфейсом и разнообразными функциями для администрации базы данных, которые позволяют создавать, а также поддерживать стабильную работу больших каталогов фильмов.

Бесплатная
Organizer Mp3 4.51 представляет собой приложение, систематизирующее и превращающее в профессиональные ваши личные коллекции MP3. Приложение Organizer Mp3 содержит в одном пакете конструктор коллекций и проигрыватель коллекций.

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

Бесплатная
WhereIsIt? 2012 (build 104) является действительно универсальным и наиболее качественным каталогизатором. Приложение WhereIsIt служит для работы и создания каталогов для большого количества медиа-файлов, а также CD-дисков (данные или музыка), DVD дисков или сетевых дисков.

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

Бесплатная
SoftBase 2.2.3 поможет пользователям с большой базой софта, который они постоянно обновляют, ведь довольно тяжело запомнить возможности каждой программы и её основное назначение, если она, к тому же, обновилась. Приложение SoftBase является большим комплексом, который поможет вам каталогизировать софт.

Бесплатная
MyLib - каталогизатор дисков 0.93 является удобным каталогизатором для дисков. Приложение MyLib обладает возможностями по поиску в каталоге, добавлению комментариев к сохранённым файлам, экспорту данных в html, а также учетом должников дисков. Кроме того, приложение поддерживает возможность осуществлять поиск в базе данных приложения по тегам mp3.

Бесплатная
eXtreme Movie Manager 7.2.2.0 является очень удобным и качественным приложением по ведению домашней фильмотеки. Приложение eXtreme Movie Manager предусматривает для каждого из фильмов больше 70 полей описания, которые разделены на подгруппы.

Бесплатная
Datalog 5.1. beta build 1001 является удобным и простым каталогизатором музыкальных и видеофайлов, расположенных на различных носителях (ресурсах в локальной сети или жестких дисках). Приложение Datalog поможет отобразить как единую структуру набор ресурсов с быстрым доступом, наличием поиска по ресурсу, показом добавленных файлов и созданием отчёта о содержимом, а также удобным и быстрым поиском дубликатов.

Бесплатная
data@cd 2.2 build 91 является приложением по хранению и обработке данных из каталогов по Аудио, DVD и компьютерным дискам. Приложение data@cd хранит всю информацию в базе данных, с возможностью её модифицировать (удалять, добавлять и изменять), а также проводить поиск по заданным критериям.

Бесплатная
Auto TGP Explorer 3.14a является бесплатным приложением по удобному просмотру галерей фотографий с сайтов эротического содержания. Приложение Auto TGP Explorer проводит анализ содержимого указанного сайта и отсортировывает ссылки на галереи его фотографий.

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

Бесплатная
Учет компьютеров 2.58 – это приложение по учёту компьютеров, телефонов, оргтехники и других объектов для организаций. Приложение «Учет компьютеров» поможет закрепить все объекты учета за сотрудниками и отсортировать их на отделы или филиалы. Приложение также имеет возможность отмечать производимые ремонты, замену расходных материалов или частей, а также профилактические работы и установленное программное обеспечение. Кроме имеющихся в приложении таблиц есть возможность создавать собственные, полностью готовые к использованию таблицы.

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

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

Кроме того, в плеерах для аудиокниг есть особые режимы перемотки, которые помогают с лёгкостью контролировать звуковой поток и не терять нить повествования.

Эти и многие другие возможности вы найдёте в следующих программах.

1. Smart Audiobook Player

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

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

Smart Audiobook Player позволяет менять скорость воспроизведения. В приложении есть усилитель громкости для слишком тихих записей и эквалайзер.

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

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

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

2. Listen Audiobook Player

Проигрыватель, который можно рассматривать как альтернативу Smart Audiobook Player. Синхронизация закладок и позиций между устройствами, эквалайзер, усилитель громкости, таймер сна и настройки автоматических действий - всё это тоже присутствует в Listen Audiobook Player.

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

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

Listen Audiobook Player не имеет бесплатной тестовой версии. Но разработчик обещает возврат денег каждому недовольному пользователю в течение семи дней с момента покупки.

3. Material Audiobook Player

Если вы не нуждаетесь в большом количестве настроек и функций, взгляните на Material Audiobook Player. Эта программа предложит вам только самые необходимые возможности в простом и стильном интерфейсе. Среди них - закладки, виджет для управления плеером, выбор скорости воспроизведения, перемотка по фрагментам и таймер сна.

Но в Material Audiobook Player нет встроенного эквалайзера, усилителя громкости и других полезных функций. Приложение также не поддерживает синхронизацию данных между устройствами.

Зато этот плеер полностью бесплатный и при этом не показывает .