Когда-то он был просто экспериментом. Проверкой знаний и умений. Но ему придется измениться. И стать ИЗБРАННЫМ. Coming this fall.
Шучу.
Вторая версия плеера внезапно вышла. В августе 2011 я понял, что при текущей, откровенно хреновой, архитектуре плеера, его расширяемость становится очень сложной, а исправление багов довольно неблагодарным и длительным занятием. Ну еще бы, кто заинтересовался и хоть одним глазком посмотрел на код, должен был навсегда разочароваться во мне и напустить на меня порчу с раком яичек. Я понимал это, но долгое время просто поялся взять, выкинуть всё и написать плеер заново. Но решился только в августе. По выходным, по пол дюжины сотен строк за вечер - в таком неспешном темпе я пытался придумать что-то более-менее нормальное и расширяемое. Я хотел код, которым я мог бы гордиться. Не идеальный, естественно, в погоде за перфекционизмом программисты никогда не доводят свои проекты до конца, а именно хороший. Который даже будучи никому не нужным через год все равно останется в памяти, как тот же thedevel.ru. В общем так и родился плеер под версией 2.0. Почему я пропустил версию 1.0 и с версии 0.6 прыгнул сразу на 2.0 я уже объяснял - не знаю :3 Рабочее название было именно 2.0, поддомен, на котором он все это время жил, назывался тоже player2 (сейчас, естественно, закрыт). Как-то так прижилось, что все знали его как Плеер 2, скорее всего чтобы избежать путаницы, я оставил это название.
Что же нового в player.vas3k.ru 2.0 и что дало мне переписывание с нуля:
1) Новая архитектура, позволяющая расширять плеер до любых пределов. Доказательством тому могут являться "топы радио", которые были прикручены за вечер. Кто-то просил "сделай импорт своей медиатеки"? Теперь это просто.
2) Кеширование. С одной стороны - это плохо, с другой хорошо. Например плейлисты теперь не загружаются с сервера каждый раз при открытии.
3) Драг-н-дроп и отмена сортировки листов. Чтобы избавиться от лишних кнопочек справа было решено сделать перетаскивание треков для добавление их в плейлисты и любимые. Однако по техническим причинам перетаскивание множества выделенных треков я не осилил (aka. долбоеб), для множественного добавления треков в листы оставлен прежний функционал с выделением и кнопкой [+]. От сортировки листов было решено отказаться опять же по техническим причинам - я никак не мог побороть асинхронную модель JavaScript и иногда сортировка треков приводила к плачевным результатам (например пользовател мог запустить новый трек в тот момент, когда отсортированный список еще сохранялся. В общем можно назвать, что я тоже не осилил (aka. долбоеб), но пока мне так нравится больше.
4) Новый интерфейс. Ну все заметили эти милые серенькие пижженые иконки. Так как дизайнеры боятся меня как огня, пришлось выкручиваться самому. Может быть когда-то мне не придется тырить иконки. Ну а так же исправлены баги в верстке, новый FAQ и форма регистрации-логина.
5) Топы радиостанций. Реализованы как альбомы. То есть треки постепенно догружаются в список.
6) Тексты композиций. Давно просили, да?
Ну а теперь мелочи:
- Кнопка "Только по исполнителю" заменена на "Точно по исполнителю". Думаю, понятно почему.
- Кнопка "Затвитить трек". Я не понимаю какой смысл в ней, но пользователи очень просили и, что странно, некоторые даже пользуются.
- Кнопка "повтор" теперь едина для всех. Больше нет "повторять этот трек" в каждой строчке.
- Некоторые функции, связанные с last.fm, теперь работают минуя сервер. Например, альбомы. Они не напрягали, но так хоть как быстрее.
- У нас теперь есть твиттер: @player_vas3k_ru, о багах и фичереквестах можно сообщать и туда тоже.
- Разделы в сайдбаре теперь можно скрывать. Разделы "Рекомендации" и "Топы радио" скрыты по-умолчанию, чтобы не засорять.
- Счетчики в сайдбаре теперь должны правильно обновляться. Однако, происходит это не всегда. Причины уточняются.
Хотя нет, объясни мне такую штуку. Почему Pylons?
upd: придумал как сделать красиво, все быстро починилось. Ctrl+R.
<div id="ajaxContentFrame">
<h1>Привет</h1>
<p>Замутим оргию?</p>
</div>
</div>
<pre>
А то это чудо белое внизу висит около кнопки выхода.