VPS設定:Subsonic - ディレクトリ構成の罠 - その2 [iPhone]
せっかくのSubsonicを音楽だけではもったいないと思い、動画も見られるように
設定>一般>音楽フォルダ にWevDAVで動画を入れているディレクトリを指定したみた。
だがしかし、androidのSubsonicではフォルダー内容が空。
これはどういうことなんだろう。。。。と検索してみると、Subsonicの考え方はこの「音楽フォルダー」
で指定した中にフォルダー単位でメディアファイルが収録されているという発想らしい。
現状は指定したフォルダー直下にファイルがあるので、それらは見えない。
(検索では出てくるらしい)
解決策はこれまた、こつこつと手作業でフォルダー作りとなる。
指定したフォルダー以下に、「Movie」とか「PV」とか「Other」とか。。。。
AirVideoでも使っている場所なので、途中でやめた。AirVideoの方が使いやすいし、Androidで
動画を見るにはブラウザー経由かWebDAV直接にしよう。
VPS設定:Subsonic - Download機能の罠 [iPhone]
Subsonicには曲やアルバム、プレイリスト内の曲をZIPにまとめてDownloadする機能がある。
ユーザー毎に利用可否を設定できるけど基本NGにしていたのでなかなか気がつかなかったことがある。
このZIPファイル、ファイル名自体も中のディレクトリ名、ファイル名も日本語は盛大に文字化けします。
確かに何に使うのか分からない機能だし、使えるユーザーもadmin以外は設定していないからどうでも
良いことなのかもしれないけど気になる。
ということで色々と検索してみると、 プログラム修正が必要らしい。
で、早速修正開始。
1.ソースの取得&修正
やっぱりsvn使った方が楽そうなので、最新の安定版4.6を取得。ちなみにsvnは元からインストール済み。
subsonicディレクトリを作って、その中からsvnを利用。
svn co -r2585 https://subsonic.svn.sourceforge.net/svnroot/subsonic/trunk release-4.6
リビジョンは2585がversion 4.6
修正対象はDownloadController.javaなので、それを探して修正。
ちなみに場所はsubsonic-main/src/main/java/net/sourceforge/subsonic/controller/DownloadController.java
修正内容は文字コードをファイル名もZIP内もMS S-JISにしてしまうので、プラットフォームによっては問題かも。
>>>>
199行 out.setEncoding("MS932"); // Set Encode MS S-JIS 追加
232行 out.setEncoding("MS932"); // Set Encode MS S-JIS 追加
262行 out.setEncoding("MS932"); // Set Encode MS S-JIS 追加
171行 file.getName()を「new String(file.getName().getBytes("MS932"), "ISO-8859-1")に変更
190行 dir.getName()をnew String(dir.getName().getBytes("MS932"),"ISO-8859-1")
225行 file.getName()を「new String(file.getName().getBytes("MS932"), "ISO-8859-1")に変更
<<<<
2.javaのコンパイル
JDKじゃなくても大丈夫。とりあえず。但し、mavenはインストールされていないので、そこから開始。
まずは最新のmavenを入手。
wget http://www.apache.org/dyn/closer.cgi/maven/source/apache-maven-3.0.4-src.tar.gz
適当な場所に展開。めったに使いそうもないので、Pathを通すこともなく、無難に/usr/local/mavenに展開してみた。
更に、ソースのルートにあるpom.xmlのBuildnumber展開がどうしてもうまくいかなかったので、直接修正してみた。
build_number.txt設定部分の{$BuildNumber}を今回は2585に直接修正。
やっとここでコンパイル。
/usr/local/maven/bin/mvn install
targetディレクトリ内にsubsonic.warが作成される。
booterも作り直した方がいいかもしれないということなので、subsonic-booterディレクトリに移動して
/usr/local/maven/bin/mvn install
targetディレクトリ内にsubsonic-booter-jar-with-dependencies.jarが作成される。
3.インストール
念のためのバックアップ
/usr/share/subsonicへ移動
cp subsonic.war subsonic.war.org
cp ubsonic-booter-jar-with-dependencies.jar ubsonic-booter-jar-with-dependencies.jar.org
作成した2ファイルをコピー
service subsonic restart
これでDownload機能も文字化けなく使えるようになった。
しかし、WebDAVが使えているというのに、この行為に果たして意味があるのか。。。。
分からない。。。。。。。。
VPS設定:Subsonic - ディレクトリ構成の罠 [iPhone]
自宅PCでは音楽を Artist名 - Album名 のフォルダー名で管理している。
iTunesでもAudiogalaxyでもフォルダー構成とは別にTagから情報管理しているので、この構成の
方が「CDを並べている」感じがして良かった。
ところが、Subsonicではフォルダー名(ディレクトリ名)をアルバム名と認識するようで、推奨される構成は
Artist名のフォルダー\Album名のフォルダーということらしい。
現状の構成だと、SubsonicのWebでは左の一覧にフォルダー名「Artist名 - Album名」と出てしまい
少し鬱陶しい。
ここはArtist名として目次的に使いたいので、ここは一工夫。。。。できる訳もなく、素直にディレクトリ構成
を変えましたとさ。手作業で。。。
更に残念なことに、Cover ArtはAlbum単位というかディレクトリ単位になるので、ディレクトリ内に複数の
Cover Artがあると、最初のものもしくはjpegファイル等になってしまう。
Single集めてUK Top 40とか作っているとちょっと空しい。
これだけだと悔しいので、少しは良いことはないかと考えてみる。
Subsonicでは索引(左側のABC...部分)を自由に設定できる。
設定>一般>索引の頭文字 がその部分。
ここに「あいうえお...」としても漢字を認識してくれるわけではないが、2バイト文字のArtistが少ないならば
一工夫できる。
例えば、
A B C ...というところを
A(A相安新) B C...とすると、相川さんとか、安室さんとか、新垣さんとかが「A」の索引に入る。
読みが違ってもまとめられてしまうので、日本人のコレクション主体だとちょっと問題ありかも知れないけど、
自分のコレクションでは重複はなかったから大丈夫。
問題は、追加がある度に設定を変える必要があること。
まぁ増えないということで大丈夫。
これで快適に。。。。と思ったらまだまだ罠は続いていた。。。。