Traktor と iTunes のプレイリストを共有するウェブアプリ (Traxlist) 作った

http://traxlist.polamjag.info/ です。Twitter でログインするとアップロードボタンが現れます。アップロードしたやつはこういう感じになります: soundfloor. 2014 のやつ by polamjag - Traxlist // Share playlist with listeners

なぜこういうのを作ったかというと、ひとつは最近 Rails でメタいアプリケーションを作っているのですがそもそも Rails あんま触ったこと無いのにメタいことをするのは難しいと感じたこと、ふたつめの理由は単純にこういうのが欲しかったとかそういうアレです。

DJ 行為をしたあとにそのプレイリスト (セットリスト) を Twitter とかにアップロードする DJ は多くいますが、だいたいがプレイリスト表示画面のスクリーンショットとかを放流するという形でなされるので、検索をするのに毎度文字列を各々がうちこむ必要があります。あと、DJ のプレイリスト一覧とかを作るのが容易ではありません。また、これは DJ 側の都合ですが、曲をプレイリストの表示画面内でスクロールしないと表示できないくらい使った場合に、複数の画像をアップロードするのが面倒です *1

というわけで、Traktor の nml ファイルと、iTunes の (Unicode) txt をアップロードするだけでいい感じに表示するやつを作りました。これのために Traktor の nml プレイリスト (中身は xml) をパースする gem を作りました。

GitHub のレポジトリ にすべてを置いてあり、また本番環境 *2 にもコレをそのままデプロイしてます。一応習作であり、Rails のなんたるかを学ぶためということにしてあるので、Turbolinks とか Asset Pipeline とかはそのまま有効にしてあります。Heroku の前段には CloudFlare を置いてあります。

なぜ Serato には対応していないのかというと、Serato には公式でそういうサービスが存在するからです。あと、Serato を持っていないので、プレイリストファイルを解析しようがなかったというのもあります。プレイリストファイルをいくつか貰えたら対応するかもしれません。Twitter (@polamjag) とかで適当に投げてもらえるとありがたいです。

*1:Twitter複数画像のアップロードに対応しましたがまあ、、

*2:Heroku + Mongolab の無料プランです