miniDLNA改:Artistの取り扱い
# 2020/05/25
この記事で用いたminidlna-1.1.5は安定度に問題があり、実運用には至りませんでした。
その後、miniDLNA1.2.1を用い、
・◇RaspiにminiDLNAをソースから入れる
・◇miniDLNAでジャンルにalbum層追加
の手続きにより運用可能となりました。
備忘録
RaspberryPi3に導入したminiDLNAですが、Artistタグが無視され AlbumArtistが採用される仕様は非常に困るので、修正しました。
◆RasPiでDLNAサーバー(iTunesから移行)の続きです。
ソース修正
本来はフォルダ出力の部分で選択するべきですが、今回はソース修正の 手始めとして、最も簡単そうなタグ情報取り込み部で、ALBUM ARTIST の代わりにARTISTを採用するという強引な手法を取りました。
変更したソースは
*minidlna/tagutils/tagutil-aac.c
のみです。
次の修正を行いました。
== スイッチ用マクロ追加 == line 1: #define HI == 置き換え処理追加 == 112-134:あたり if(!memcmp(current_atom, "\xA9" "nam", 4)) psong->title = strdup((char*)¤t_data[16]); else if(!memcmp(current_atom, "\xA9" "ART", 4) || !memcmp(current_atom, "\xA9" "art", 4)) psong->contributor[ROLE_ARTIST] = strdup((char*)¤t_data[16]); psong->title = strdup((char*)¤t_data[16]); else if(!memcmp(current_atom, "\xA9" "ART", 4) || !memcmp(current_atom, "\xA9" "art", 4)) #ifndef HI psong->contributor[ROLE_ARTIST] = strdup((char*)¤t_data[16]); #else { psong->contributor[ROLE_ARTIST] = strdup((char*)¤t_data[16]); psong->contributor[ROLE_ALBUMARTIST] = strdup((char*)¤t_data[16]); } #endif else if(!memcmp(current_atom, "\xA9" "alb", 4)) psong->album = strdup((char*)¤t_data[16]); else if(!memcmp(current_atom, "\xA9" "cmt", 4)) psong->comment = strdup((char*)¤t_data[16]); else if(!memcmp(current_atom, "aART", 4) || !memcmp(current_atom, "aart", 4)) #ifndef HI psong->contributor[ROLE_ALBUMARTIST] = strdup((char*)¤t_data[16]); #else ; #endif else if(!memcmp(current_atom, "\xA9" "dir", 4)) psong->contributor[ROLE_CONDUCTOR] = strdup((char*)¤t_data[16]);#define HIをコメントアウトすると元のコードが動きます。
HIが#defineされていると、
・ ARTISTタグの内容をALBUM_ARTIST情報として採用し、
・ ALBUM_ATRISTタグは無視します。
ビルド、インストール
当初のmake/make installと異なる点はありません。
make sudo make install設定ファイルなどはそのままです。
再起動
曲構成DBを再構成させる必要があります。
幾つか試したのですが、どれも動かず、最終手段としてDBファイルの消去を行いました。
次の手順を踏みました。
sudo service minidlna stop sudo rm -r /var/cache/minidlna sudo rm /var/log/minidlna.log sudo service minidlna start/var/cache/minidlnaはデフォルトのDBフォルダです。
設定で別の所に置いてあるならそのフォルダを消去します。
/var/log/minidlna.logはデフォルトのlogファイルです。特に消す必要はありません。
DNLAクライアント(YAMAHA-579)からアクセスしてみると無事アーティスト(アルバムアーティストでなく)が出てきました。
本当は
◆RasPiでDLNAサーバー(iTunesから移行)で述べた ジャンルのフォルダ構造の問題などを考えると、フォルダ表示部か DB作成部の修正が必要です。
とはいえ、。。。今後のココロだ~!
「何とか改」雑談
「何とか改」で有名なものと言えば、「紫電改」でしょう。 何といっても名作「紫電改のタカ」がありますしね。
とはいえ「ゼロ戦」とは格が違いますね。
隔週刊で第二次大戦の飛行機を出しているシリーズがあるのですが
初刊の紫電改はなかなか本屋から消えないのに「ゼロ戦」は
直ぐに売れていました。
そうだよなあ。。
ところで「紫電改」は有名だけど「紫電」はどんなんだったんだろう?
ゼロ戦なら22型,32型,飛んで52型となるんだけど「紫電」なぜ「紫電改」に
なったのでしょうね。もはや「紫電」とは呼べない。だけど別名にするほどでもないという改修が入ったんですかね。
「紫電改」って妙にズングリムックリしていて大きい気がしていたのですが、同スケールでゼロ戦と並べるとやっぱり大きいですね。
| 固定リンク

