『QNAP上でまともに使えるiTunesサーバを構築する。』のクチコミ掲示板

TS-431P 製品画像
最安価格(税込):

¥30,200

(前週比:±0 ) 価格推移グラフ

クレカ支払い
最安価格(税込):

お届け先の選択

送料込みの価格を表示します

お届け先地域

価格帯:¥30,200¥54,909 (22店舗) メーカー希望小売価格:¥―

店頭参考価格帯:¥― (全国8店舗)最寄りのショップ一覧

ネットで買うなら!クレジットカード比較
この製品をキープ

ご利用の前にお読みください

  • TS-431Pの価格比較
  • TS-431Pの店頭購入
  • TS-431Pのスペック・仕様
  • TS-431Pのレビュー
  • TS-431Pのクチコミ
  • TS-431Pの画像・動画
  • TS-431Pのピックアップリスト
  • TS-431Pのオークション

TS-431PQNAP

最安価格(税込):¥30,200 (前週比:±0 ) 発売日:2016年12月 9日

  • TS-431Pの価格比較
  • TS-431Pの店頭購入
  • TS-431Pのスペック・仕様
  • TS-431Pのレビュー
  • TS-431Pのクチコミ
  • TS-431Pの画像・動画
  • TS-431Pのピックアップリスト
  • TS-431Pのオークション

『QNAP上でまともに使えるiTunesサーバを構築する。』 のクチコミ掲示板

RSS


「TS-431P」のクチコミ掲示板に
TS-431Pを新規書き込みTS-431Pをヘルプ付 新規書き込み



ナイスクチコミ56

返信200

お気に入りに追加

標準

NAS(ネットワークHDD) > QNAP > TS-431P

スレ主 tanettyさん
クチコミ投稿数:5116件

再生するiPadのRemoteでQNAPのforked-daapdに接続し、AirPlayスピーカーで再生。

製品紹介・使用例
iPadのRemoteでQNAPのforked-daapdに接続し、AirPlayスピーカーで再生。

iPadのRemoteからforked-daapd内の楽曲を覗いているところ。

QNAP上でまともに使えるiTunesサーバを構築する方法を調査・検討するスレッドです。



<背景>

QNAPにはiTunesサーバが標準で準備されています。(以下、「標準品」と呼ぶ)。
標準品は、次の致命的欠陥があるため、残念ながら、まともに使える代物ではありません。

(a) Remoteアプリ(後述)で再生できない。
(b) アルバムアートワークを、まったく表示できない。
(c) アーティストの並び順として、ふりがなを見てくれない。

(b), (c)についてQNAP社に問合したところ、QNAP社は当初「不具合(bug)」と認めたものの、後日「設計どおり動いている(working as designed」と前言を翻しました。「仕様です(キリッ)」っていう、よくあるアレです。QNAP社に頼っても、解決の見込みはない。そう判断しました。

そこで、たく0220さんに教えを乞い、「forked-daapd」なるプログラムを入れてみたところ、(a)(b)は完全に解決しました。
(たく0220さんには、どれだけ感謝しても足りません。ありがとうございました)。

<forked-daapdの実装方法>
http://bbs.kakaku.com/bbs/K0000925629/SortID=22261119/#22412882

現時点(上記リンク先の実装)でもすでに素晴らしい完成度です。ヨユーで実用に耐えます。...というか、NAS内音源を再生する方法のなかで、すでに現状、最高峰の解答である、と私は感じています。操作が「速い」「簡単」「わかりやすい」からです。

すでに最高峰なんですが、ここまできたら、(c)も解決したくなるのが人情(?)ってもんで。実際、「あれ、あのアーティストの曲を再生したいんだけど、どこにあるんだろ...」って、なっちゃうこともあるので。



<本スレッドの趣旨>

forked-daapdにおける(c)の解決を目指します。



<Remoteについて>

Remoteは、iOS機(iPad/iPhone/iPod touch)で動くアプリです。
・「標準品」では、Remoteが使えません。
・「forked-daapd」では、Remoteが使えます。

Remoteを使うことで、次のことが可能になります。
・iOS機(iPad/iPhone/iPod touch)をリモコンとして使い、QNAP内楽曲をAirPlayスピーカーで楽曲再生。

Remoteには、次の大きな長所があります。

・MacやWindows上のiTunesを起動することなく、QNAP内の音源を再生できる。

・QNAPからAirPlayスピーカーに、直接音を飛ばせる。
 - iOS機は、forked-daapdから見て、単なるリモコンに過ぎない。
 - 音声データは、iOS機を経由せず、QNAPからスピーカーに直接飛ぶ。(iOS機のバッテリーを気にしなくてよい)。
 - たとえばiPadで再生指示をしたあと、iPhoneでひきつづき、指示を出し直せる。(都度、状態をforked-daapdから引っ張ってくる仕組みため)。

・楽曲選択が、DLNAなどに比べ、きわめて高速におこなえる。
 - Remoteアプリ内に楽曲データベースをキャッシュしているっぽい。
 - DLNAクライアント各アプリには、このキャッシュ機能がない(経験上、そうだと思っています)。



<備考:forked-daapd実装の難度について>

私は、forked-daapdの仕組みについて説明できるほどの知識・スキルを、持ち合わせておりません。逆にいえば、そういうレベルの人間でも、実装までこぎつけることができた、ということです。ハサミがなぜ切れるかの原理がわからないひとでも、使い方さえ教えていただければ、ハサミを使えるようになるのと似たようなものかと。

ご興味のある方は、上記リンク先をご参照のうえ、ぜひがんばってトライなさってみてくださいな。

なお、実装方法・使用方法については、後日、別スレッドにまとめる予定です。
(その前にまずは上記(c)の解決をしてから...と考えております)。

書込番号:22412981

ナイスクチコミ!2


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/23 18:07(9ヶ月以上前)

>tanettyさん

前スレからですが、もうこちらの方が良いかと思いますので。

>私のWindows機はゲキ重なので
そうでしたね ^^;
別の方法ですがSSHからsqlite3コマンドを使用してcsvにエクスポートする事も出来ます。
これだとMacだけでも可能かと思います。

sqlite3コマンドがQTS上では使えないので
dockerコンテナ内のbashシェルを起動してコンテナ内でsqlite3コマンドを実行します。

「daapd-taku0220-3」は現在起動しているコンテナ名
docker exec -it daapd-taku0220-3 /bin/bash

抜ける時は「exit」コマンドで元のシェルに戻ります。
exit

下記コマンドで「songs3.db」の場所確認。
ls -al /config/dbase_and_logs

下記コマンドで「dbase_and_logs」フォルダに「files.csv」をエクスポートします。
sqlite3 -header -csv /config/dbase_and_logs/songs3.db "select * from files;" \
> /config/dbase_and_logs/files.csv

「exit」でシェルから抜けます。

MacではSMB(samba)経由で「files.csv」が見れると思います。

書込番号:22414201

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/24 00:59(9ヶ月以上前)

画像@ ALACの場合

画像A AACの場合

画像B MP3の場合 (正常)

画像C MP3の場合 (異常含む)

>たく0220さん

>別の方法ですがSSHからsqlite3コマンドを使用してcsvにエクスポートする事も出来ます。

ありがとうございます。Mac上だけの操作で、無事にエクスポートできました。

しかし、Numbersの使い方がいまひとつよくわからず、解析にあたって、どーーーーーしてもAccess使いたくなって、結局、Windowsを起動するハメになりましけど(笑)。

Accessで解析した結果、いくつか <わかったことが> ありますので、<わかっていないこと>と合わせて、結果を報告いたします。


<わかったこと>

楽曲ファイル単位で見たとき

・ALACとAACは、全滅。つまり、iTunes上で設定した「アーティスト(読み)」を、daapd上のDBに「artist_sort」として保持しない。

・MP3は、OK/NGの両ケースがある。


<わかっていないこと (要・精密検査)>

・楽曲ファイル単位で見たとき、MP3におけるOK/NGの分水嶺は何か?

・アーティスト単位で見たとき、OK/NGの分水嶺は?
 - 当該アーティストが、MP3とそれ以外のアーティストを持つ場合は?


<添付画像の説明> - Accessのクエリデザインと実行結果

画像@:ALACの場合
ALACに絞ったうえで
[artist_sort] が [artist] と異なる楽曲
を抜き出して集計してみたところ

Theを抜いたもの
数字を5桁にしたもの
の2種類のみが出てきて、他はなかった。

つまり、ふりがなを[artist_sort]にセットしてくれた楽曲は、ゼロ。

画像A:AACの場合
AACに絞ったうえで
[artist_sort] が [artist] と異なる楽曲
を抜き出して集計してみたところ

Theを抜いたもの
数字を5桁にしたもの
の2種類みが出てきて、他はなかった。

つまり、ふりがなを[artist_sort]にセットしてくれた楽曲は、ゼロ。


画像B:MP3の場合 (正常)
MP3に絞ったうえで
[artist_sort] が [artist] と異なる楽曲
を抜き出して集計してみたところ

ふりがながふられたもの
Theを抜いたもの
数字を5桁にしたもの
の3種類が出てきた。

つまり、ふりがなを[artist_sort]にセットしてくれた楽曲は、たしかに存在する。

画像C:MP3の場合 (異常含む)
MP3に絞ったうえで
[artist_sort] が [artist] と「同じ」楽曲
を抜き出して集計してみたところ

[artist_sort]にふりがながふられてないもの、けっこう多し。
という楽曲でも、[album_artist_sort]にはふられているものもある。で、

書込番号:22415227

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/24 01:15(9ヶ月以上前)

>たく0220さん

ふりがなについて、楽曲単位で現状をまとめると、次のとおりです。
・AAC/ALACは全滅
・MP3でのみ成功例がある。

forked-daapd.conf内にてフォーマットに関係しそうな部分を、現状どう記述しているかというと、こう(↓)です。

no_decode = { "mp3", "m4a", "aac", "mp4a", "mp4v", "mpeg", "alac", "flac", "mpc", "ogg", "wma", "wmal", "wmav", "aif", "wav" }
force_decode = { "format", "format" }

ただ、これ(↑)はあくまで、音声データをQNAPからAirPlayスピーカーに送るときの話(WAVに変換するか否か)でしょうから、関係ないとは思う(※)のですが、いちおう報告です。

※ Remoteで楽曲一覧を見るときは、音声データ送信「前」であり、DB内を見てるだけのハズだから。

書込番号:22415245

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/24 22:16(9ヶ月以上前)

解決策ならぬ回避策に過ぎませんが。

「そのアーティストについて、最初にフォルダに置く楽曲は、MP3にする」

こうすることで、Remote上でも、ちゃんとふりがなを見て、アーティストを並べてくれることがわかりました。



まずは以下に、daapの挙動の話から。
非常に細かくて恐縮ですが、「えっ? マジでそんな挙動なの?」って感じの話になります。



いくつかの実験から判明した、daapdの挙動は、<ケースA><ケースB>のとおりでした。

<ケースA> そのアーティストからみて、最初にフォルダに置いたのが、 [MP3] だった場合
@ 最初に置いた [MP3] がもつ ふりがな情報を、ちゃんとデータベースに登録してくれます(OK)。
A @以降に [AAC] や [ALAC] をフォルダに置いても、ふりがな情報をデータベースに登録してくれません(NG)。
B @以降に [MP3] を置くと、ちゃんとデータベースに登録してくれます(OK)。
C Remote上では、ちゃんとふりがなを見て、並べ替えをしてくれます(OK)。
 →おそらくは、@で登録された ふりがなを、Remoteは見ていると思われる。

<ケースB> そのアーティストからみて、最初にフォルダに置いたのが、 [AAC] または [ALAC] だった場合
@ 最初に置いた [AAC] または [ALAC] がもつ ふりがな情報を、データベースに登録してくれません(NG)。
A @以降に [MP3] をフォルダに置いても、ふりがな情報をデータベースに登録してくれません(NG)。
B @以降に [AAC]または [ALAC] をフォルダに置いても、ふりがな情報をデータベースに登録してくれません(NG)。
C Remote上では、実質的にふりがな情報を見ずに、並べ替えをしちゃうとになります(NG)。

上述の「データベースに登録」とは、次のことを意味します。
・人間が楽曲ファイルを対象フォルダに置いた際に
・daapd が、データベースファイル「songs3.db」内のテーブル「files」に、レコードを追加すること。

例として、次の楽曲ファイルを、フォルダに置いたとしましょう。
・[アーティスト名] = 足立佳奈
・[アーティスト名(読み)] = あだちかな
・[アルバムアーティスト名] = 足立佳奈
・[アルバムアーティスト名(読み)] = あだちかな

<ケースA>@Bでは、次のとおりテーブル「files」にレコード追加されます(OK)。
・[artist] = 足立佳奈
・[artist_sortアーティスト名(読み)] = あだちかな
・[アルバムアーティスト名] = 足立佳奈
・[アルバムアーティスト名(読み)] = あだちかな

<ケースA>A、<ケースB>@ABでは、次のとおりテーブル「files」にレコード追加されてしまいます(NG)。
・[artist] = 足立佳奈
・[artist_sortアーティスト名(読み)] = 足立佳奈
・[アルバムアーティスト名] = 足立佳奈
・[アルバムアーティスト名(読み)] = 足立佳奈

テーブル「files」には、主キーとおぼわしきフィールド「id」があります。
レコードが追加されるたび、1, 2, 3, 4…と自動採番していくようです。

Remoteがそのアーティストのふりがなを見るさい、おそらくは、
・そのアーティストでレコードを絞ったあと、
・idのもっとも若いレコードにある ふりがな情報を
見ているもの推測されます。

これをSQLっぽくいうと、
・まずは、[album_artist] が空白でなければその値で、空白なら [artist]の値で、whereしてSELECTし、
・次にが、idのもっとも若いレコードを抜き出し
・最後にが、[album_artist_sort] が空白でなければその値で、空白なら[artist_sort]の値を
アーティスト並び替えの材料としている…だろう、ということです。

上記推測は、100点じゃないかもしれませんが、9割がた当たってるのではないか、と考えております。
というのは、数々の実験では、基本的には仮説どおり動いたからです。
ただ、稀に仮説と違う挙動をすることもあり、もう少し細かい場合分けがあるのかもしれません。
たとえば、<ケースA>@において、次のように登録されるケースです。
・[artist] = 足立佳奈
・[artist_sortアーティスト名(読み)] = 足立佳奈
・[アルバムアーティスト名] = 足立佳奈
・[アルバムアーティスト名(読み)] = あだちかな



次のレスでは、理由(daapdやRemoteの挙動)はともあれ、

「実運用上どうしたら、並び替えがうまくいくのか」

に焦点を当てて、掘り下げていこうと思います。

書込番号:22417147

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/24 22:38(9ヶ月以上前)

すみません。挙動の説明、テーブル[files]のフィールド名に誤記がありましたので、次のとおり訂正いたします。


―(以下の内容で差し替え)―

いくつかの実験から判明した、daapdの挙動は、<ケースA><ケースB>のとおりでした。

<ケースA> そのアーティストからみて、最初にフォルダに置いたのが、 [MP3] だった場合
@ 最初に置いた [MP3] がもつ ふりがな情報を、ちゃんとデータベースに登録してくれます(OK)。
A @以降に [AAC] や [ALAC] をフォルダに置いても、ふりがな情報をデータベースに登録してくれません(NG)。
B @以降に [MP3] を置くと、ちゃんとデータベースに登録してくれます(OK)。
C Remote上では、ちゃんとふりがなを見て、並べ替えをしてくれます(OK)。
 →おそらくは、@で登録された ふりがなを、Remoteは見ていると思われる。

<ケースB> そのアーティストからみて、最初にフォルダに置いたのが、 [AAC] または [ALAC] だった場合
@ 最初に置いた [AAC] または [ALAC] がもつ ふりがな情報を、データベースに登録してくれません(NG)。
A @以降に [MP3] をフォルダに置いても、ふりがな情報をデータベースに登録してくれません(NG)。
B @以降に [AAC]または [ALAC] をフォルダに置いても、ふりがな情報をデータベースに登録してくれません(NG)。
C Remote上では、実質的にふりがな情報を見ずに、並べ替えをしちゃうとになります(NG)。

上述の「データベースに登録」とは、次のことを意味します。
・人間が楽曲ファイルを対象フォルダに置いた際に
・daapd が、データベースファイル [songs3.db] 内のテーブル [files] に、レコードを追加すること。

例として、次の楽曲ファイルを、フォルダに置いたとしましょう。
・[アーティスト名] = 足立佳奈
・[アーティスト名(読み)] = あだちかな
・[アルバムアーティスト名] = 足立佳奈
・[アルバムアーティスト名(読み)] = あだちかな

<ケースA>@Bでは、次のとおりテーブル「files」にレコード追加されます(OK)。
・[artist] = 足立佳奈
・[artist_sort] = あだちかな
・[album_artist] = 足立佳奈
・[album_artist_sort] = あだちかな

<ケースA>A、<ケースB>@ABでは、次のとおりテーブル「files」にレコード追加されてしまいます(NG)。
・[artist] = 足立佳奈
・[artist_sort] = 足立佳奈
・[album_artist] = 足立佳奈
・[album_artist_sort] = 足立佳奈

テーブル [files] には、主キーとおぼわしきフィールド [id] があります。
レコードが追加されるたび、1, 2, 3, 4…と自動採番していくようです。

Remoteがそのアーティストのふりがなを見るさい、おそらくは、
・そのアーティストでレコードを絞ったあと、
・[id] のもっとも若いレコードにある ふりがな情報を
見ているもの推測されます。

これをSQLっぽくいうと、
・まずは、[album_artist] が空白でなければその値で、空白なら [artist]の値で、whereしてSELECTし、
・次に、その中から[id] の値がもっとも若いレコードを抜き出し
・最後に、[album_artist_sort] が空白でなければその値で、空白なら[artist_sort]の値を
アーティスト並び替えの材料としている…だろう、ということです。

上記推測は、100点じゃないかもしれませんが、9割がた当たってるのではないか、と考えております。
というのは、数々の実験では、基本的には仮説どおり動いたからです。
ただ、稀に仮説と違う挙動をすることもあり、もう少し細かい場合分けがあるのかもしれません。

たとえば、<ケースA>@において、次のように登録されるケースです。
・[artist] = 足立佳奈
・[artist_sort] = 足立佳奈
・[album_artist] = 足立佳奈
・[album_artist_sort] = あだちかな

―(以上の内容で差し替え)―

書込番号:22417204

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/24 22:44(9ヶ月以上前)

補足です。

>ただ、稀に仮説と違う挙動をすることもあり、

ここ(↑)でいう「稀に仮説と違う挙動をする」例として、他には、次(↓)のものがあります。

<ケースB>Aでも、稀にちゃんとデータベースに登録できることもあるようです。次(↓)のいずれかのように。

・[artist] = 足立佳奈
・[artist_sort] = あだちかな
・[album_artist] = 足立佳奈
・[album_artist_sort] = あだちかな

・[artist] = 足立佳奈
・[artist_sort] = 足立佳奈
・[album_artist] = 足立佳奈
・[album_artist_sort] = あだちかな

しかし、こういう(↑)レコードが仮に存在したとしてもRemoteは、そのレコードを見ず、<ケースB>@にて最初に登録した、idのもっとも若い下記(↓)レコードを見てしまってる……っぽいです。

・[artist] = 足立佳奈
・[artist_sort] = 足立佳奈
・[album_artist] = 足立佳奈
・[album_artist_sort] = 足立佳奈

書込番号:22417219

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/25 10:30(9ヶ月以上前)

>tanettyさん

おはようございます。
ちょっと風邪ぽっく、本日は仕事お休みです(TT)

>上記推測は、100点じゃないかもしれませんが、9割がた当たってるのではないか、と考えております。
なんというか、よくそこに気が付きましたね ^^
AACとALACのタグがどうなってるかに注力してたので、その点は気にしてなかったです。

>しかし、こういう(↑)レコードが仮に存在したとしてもRemoteは、そのレコードを見ず、<ケースB>@にて最初に登録した、idのもっとも若い下記(↓)レコードを見てしまってる……っぽいです。

「songs3.db」内には「groups」というテーブルがあり、
type,name,persistentid というフィールドがあります。
[type]
1 : アルバム
2 : アーティスト

[persistentid]
type=1 : 「files」テーブルの「songalbumid」=「persistentid」を代表idとする。
type=2 : 「files」テーブルの「songartistid」=「persistentid」を代表idとする。

となっていて、tanettyさんが実験から得た推測どおりと思われます。

さてAACとALACのタグですが
https://github.com/ejurgensen/forked-daapd/blob/master/src/library/filescanner_ffmpeg.c#L535
ここら辺りをながめてみたのですが(見なくていいです、あくまでも参考です。)

daapdがffmpeg経由で情報を読み取っているので
iTunesでAACとALACに変換して、ffmpegでどう読込まれるか確認しようとしたところで力尽きました ^^;

↓の様にすれば、ある程度何か判るかと思います。
以前と同じようにdockerコンテナ内のbashシェルを起動してコンテナ内で
docker exec -it daapd-taku0220-3 /bin/bash

ffmpegで確認
ffmpeg -hide_banner -i /music/Test_1/test_1_1.mp3

root@NAS231P01:/$ ffmpeg -hide_banner -i /music/Test_1/test_1_1.mp3
Input #0, mp3, from '/music/Test_1/test_1_1.mp3':
Metadata:
title : 1
artist : 1
album : 1
album_artist : 1
track : 1/10
disc : 1/1
encoder : Lavf57.71.100
Duration: 00:00:10.00, start: 0.011995, bitrate: 346 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 320 kb/s
Metadata:
encoder : Lavf
Stream #0:1: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 449x450 [SAR 96:96 DAR 449:450], 90k

tbr, 90k tbn, 90k tbc
Metadata:
comment : Cover (front)
At least one output file must be specified

と曲のファイルをインプットに指定すればタグの情報がみる事ができるので
問題点の切り分けの一助になります。

書込番号:22418034

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/25 22:10(9ヶ月以上前)

>たく0220さん

いつもお世話になっております。

お風邪を召してらっしゃるとのこと。どうかご自愛くださいますよう。m(_ _)m

さて、貴重なアドバイス、ありがとうございました。

さっそく、ALAC、AAC、MP3それぞれについて1曲ずつ抽出し、
ffdmpegでどう見えているか実行してみました。

結果、ffdmpegからは、どれもフリガナを見てくれていました。

実験に使った楽曲ファイルに相当する、テーブル[files]内における行の、[album_artist_sort], [artist_sort]を見ると、
・AAC, ALACは、「西野カナ」と、漢字のまま (NG)
・MP3は、「のぎざか46」と、ちゃんとひらがなになってる。(OK)

つまり、AAC, ALACにおいては、
 ・ffdmpegではちゃんとフリガナが見えている(OK)のに
 ・DB内にフリガナを登録してくれない(NG)
ということみたいです。


<ALACの場合>

root@QNAP1:/music/西野カナ/Love Place$ ffmpeg -hide_banner -i '02 私たち.m4a'
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x742902b0] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '02 私たち.m4a':
Metadata:
major_brand : M4A
minor_version : 0
compatible_brands: M4A mp42isom
creation_time : 2012-10-01T17:35:05.000000Z
title : 私たち
artist : 西野カナ
album : Love Place
genre : 邦楽
track : 2/15
disc : 1/1
       (中略)
sort_artist : にしのかな
lyrics : キラキラ光る思い出たち
: 涙の日もあったよね
       (中略)
: どこにいても you are the one
album_artist : 西野カナ
sort_album_artist: にしのかな
Duration: 00:05:47.72, start: 0.000000, bitrate: 1031 kb/s
Stream #0:0(und): Audio: alac (alac / 0x63616C61), 44100 Hz, stereo, s16p, 1029 kb/s (default)
       (後略)

<AACの場合>

root@QNAP1:/music/西野カナ/Love Collection 〜pink〜$ ffmpeg -hide_banner -i '15 Alright.m4a'
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7422d2b0] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '15 Alright.m4a':
Metadata:
major_brand : M4A
minor_version : 0
compatible_brands: M4A mp42isom
creation_time : 2013-09-02T20:27:45.000000Z
track : 15/15
compilation : 0
album : Love Collection 〜pink〜
artist : 西野カナ
    (中略)
title : Alright
    (中略)
sort_artist : にしのかな
lyrics : Everything's gonna be alright
: It's OK It's alright It's OK
    (中略)
: It's OK It's alright It's OK
: Oh Oh Oh Oh…
album_artist : 西野カナ
sort_album_artist: にしのかな
Duration: 00:05:02.05, start: 0.047889, bitrate: 288 kb/s
Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 284 kb/s (default)
    (後略)


<MP3の場合>

root@QNAP1:/music/乃木坂46/ガールズルール - Single$ ffmpeg -hide_banner -i '4-03 人間という楽器.mp3'
Input #0, mp3, from '4-03 人間という楽器.mp3':
Metadata:
title : 人間という楽器
artist : 乃木坂46
composer : 鐘撞行孝
track : 3/6
album_artist : 乃木坂46
title-sort : にんげんというがっき
artist-sort : のぎざか46
TSO2 : のぎざか46
disc : 4/4
album : ガールズルール - Single
genre : 邦楽
album-sort : ガールズルール - Single
lyrics-eng : Oh〜 Oh〜 Oh〜
       (中略)
: 心は通じるんだ
: ラブ&ピース
date : 2013
Duration: 00:05:06.70, start: 0.000000, bitrate: 284 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 277 kb/s
Stream #0:1: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 600x595 [SAR 1:1 DAR 120:119], 90k tbr, 90k tbn, 90k tbc
Metadata:
comment : Cover (front)

書込番号:22419520

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/25 22:43(9ヶ月以上前)

トリガー一覧

>たく0220さん

いつもお世話になっております。

>「songs3.db」内には「groups」というテーブルがあり、
>type,name,persistentid というフィールドがあります。
>[type]
>1 : アルバム
>2 : アーティスト

>[persistentid]
>type=1 : 「files」テーブルの「songalbumid」=「persistentid」を代表idとする。
>type=2 : 「files」テーブルの「songartistid」=「persistentid」を代表idとする。

おっしゃる内容のトリガーが設定されていることを、先日教えていただいたツール「PupSQLite」にて確認しました。
(添付画像)。

これは、なんというか……トンデモ仕様ですね…。




以下、単なる感想ですが。

昨日、データベースの中身をひととおり、確認しました。
そのときは、この[groups]の意味がわからなかったので、こう(↓)考えてました。

「楽曲を管理するテーブルは、[files]ひとつだけかー。
 横に超長くって、まっっっっったく正規化してないって、どんな設計だよ!!
 [楽曲], [アーティスト], [アルバム]とかでテーブルを分けて、ちゃんと正規化しようよぉ。

 でも、楽曲ファイルに格納されてるタグ情報をひっぱって入れるわけだし、
 ファイル形式(AAC, MP3, AAC)やタグのバージョンによっては、
 タグ情報の書式、はたまた項目名やら、もっと言えば、項目の有無すら違うわけだし。
 
 項目に設定する値も、ユーザが自由記入できるし、
 販売しているファイルも、メーカーによって入れ方が違うだろうし。
 
 となると、そもそもデータが正規化できるかどうか、怪しい。
 元データがテキトーなんで、整合性確保は無理っぽいから、
 楽曲を1テーブルで管理するのは、仕方ないのかな…」

で、[groups]の意味を教えていただき、感じたのは、次↓のことです。

「ん? もしかして、正規化? やるじゃん。
 ・・・・・・・・・・・・・
 いやいやいやいやいや。違うわー。
 filesがあくまで正本で、それをもとに、検索とか表示とかを早くするための、
 groupsは、あくまで抄本かー。
 しかも、2つのフィールド([songalbumid], [songartistid])を
 1つの外部キーとして[persistentid]にもたせちゃうとか、意味わかんない。
 で、どっちのフィールドを参照してるかを判別するための区分コード[type]までつけて
 縦に長くしてる。
 これって、変態的設計では????
 せめて、アルバムに相当するテーブルと、アーティストに相当するテーブルの、
 2つに分けようよー」

よくわからないんですけど、これってApple(Remote/iTunes/AirPlay)のインタフェースに合わせた仕様なんですよね?
とすると、変態なのはAppleなのかしら???

書込番号:22419595

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/25 23:18(9ヶ月以上前)

>たく0220さん

データベースの構造に、あろうことか、ケチをつけてしまったわけですが。
よくよく考えてみると、イチャモン・ナンクセ・イイガカリのたぐいのような気がしてきました。
こういう↓設計思想なのかな、と思いました。とすると、いちおう合点がいきます。

ファイルからデータを引っ張る仕組み

データの入力時・更新時、整合性をチェックしようがない。

ファイルそのものを1テーブルとして持たせよう(files)。

ユーザから見て処理が遅くならないよう、目次もテーブルとして持たせよう(groups)。
(ファイルのテーブルから、適宜、自動作成しておく)。


ただ、目次として
 ・アルバムに相当する行
 ・アーティストに相当する行
が同じテーブル(groups)に入っているのだけは、どーーーーしてもナットクいきませぬ(笑)。

書込番号:22419676

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/26 00:08(9ヶ月以上前)

>たく0220さん

すみません。ご教示いただけないでしょうか。

>[persistentid]
>type=1 : 「files」テーブルの「songalbumid」=「persistentid」を代表idとする。
>type=2 : 「files」テーブルの「songartistid」=「persistentid」を代表idとする。

この「代表」とは、(a)(b)どちらの意味でお使いになってますしょうか。

(a)「songalbumid」と「songartistid」の、どちらか一方を代表として選ぶよ...という意味。

(b) filesテーブル内で
・同じアーティストの楽曲群から、代表楽曲を選ぶ
・同じアルバムの楽曲群から、代表楽曲を選ぶ
という意味

※ (b)について。
files内を確認すると
・同じアーティストであれば、同じ「songartistid」を持つ
・同じアルバムであれば、同じ「「songalbumid」を持つ
ようです。

というわけで、(b)ではなく(a)の意味でおっしゃっているかとは思うのですが、念のため確認いたしたく候。

書込番号:22419773

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/26 00:36(9ヶ月以上前)

>tanettyさん

>[楽曲], [アーティスト], [アルバム]とかでテーブルを分けて、ちゃんと正規化しようよぉ。

そう言いたくなるのは、判る気がしますが…

>こういう↓設計思想なのかな、と思いました。とすると、いちおう合点がいきます。

大体そんな感じですね。
外側から見たら判らないかもしれませんが、ソースコードを一通り見れば
なんとなく、あぁ…となるかもしれませんが、私も見きれないですので説明は出来ないですね…


>さっそく、ALAC、AAC、MP3それぞれについて1曲ずつ抽出し、
>ffdmpegでどう見えているか実行してみました。

確認ありがとうございます。
「sort_artist」と「artist-sort」の違いか…
解決する方向性は見えたけど…悩むな。。。
少し時間かかりそうですが、色々確認してみます。

書込番号:22419797

ナイスクチコミ!1


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/26 01:05(9ヶ月以上前)

>tanettyさん

>この「代表」とは、(a)(b)どちらの意味でお使いになってますしょうか。

すみません、熱でボーとしながらだったので ^^
うまく表現出来てなかったですね。

例えば「artist : 西野カナ」とffmpegが返したのが初回の場合
artistが「西野カナ」のグループのIDを新規に採番して「groups」テーブルの「persistentid」と「files」テーブルの「songartistid」にsetします。
他の曲で同じく「artist : 西野カナ」となった場合、「files」テーブルの「songartistid」に異なるIDをsetしない様に
「groups」テーブルを参照して、同じIDを「files」テーブルの「songartistid」にsetする
という感じです。

(ごめんなさい、まだ頭回ってない ^^;)

書込番号:22419829

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/26 01:22(9ヶ月以上前)

たく0220さん

>外側から見たら判らないかもしれませんが、ソースコードを一通り見れば
>なんとなく、あぁ…となるかもしれませんが、

なるほど、そういうものですか…。

>「sort_artist」と「artist-sort」の違いか…

そう! そうなんですぉ。
私も、項目名の違いに注目しました。
やっぱり、それのせいなんですかねぇ。

あと、MP3の結果をみると、「TSO2 : のぎざか46」とあるのですが、
TSO2ってのが、アルバムアーティストの ふりがな なのでしょうか。

>解決する方向性は見えたけど…悩むな。。。
>少し時間かかりそうですが、色々確認してみます。

ありがとうございます!

>例えば「artist : 西野カナ」とffmpegが返したのが初回の場合

ああああああああああああ。よーーーーくわかりました。

groupsをマスタとしておく。
楽曲が追加されてfilesに追加しようとするとき、
・マスタにあれば、[songartistid]なり[songalbumid]を新規発番しない。
・マスタになければ、[songartistid]なり[songalbumid]を新規発番する。
ということですね。

ぶ・らじゃー です!!!!

書込番号:22419841

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/26 01:46(9ヶ月以上前)

>tanettyさん

>やっぱり、それのせいなんですかねぇ。

おそらく。
ffmpegの挙動が変わってしまったのか、forked-daapdの作者が気が付いていないかもしれません。


>TSO2ってのが、アルバムアーティストの ふりがな なのでしょうか。

そうです。
下記の「MPEG Audio Layer-3 フォーマット (.mp3) 相対表」が判りやすいかと思います。
https://ja.wikipedia.org/wiki/Mp3tag#cite_ref-smpb_14-1


>ああああああああああああ。よーーーーくわかりました。

今、語彙力低下中で的確な言葉が出てこないのですよ…
すみません、うまく捉えてくれて助かります。

書込番号:22419865

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/26 01:51(9ヶ月以上前)

>たく0220さん

>mpegの挙動が変わってしまったのか、forked-daapdの作者が気が付いていないかもしれません。

そうなのかもしれませんね...。

>下記の「MPEG Audio Layer-3 フォーマット (.mp3) 相対表」が判りやすいかと思います。
https://ja.wikipedia.org/wiki/Mp3tag#cite_ref-smpb_14-1

きゃー。こんなのがあったんだー。
てか、名前がめっちゃわかりにくいですね。
アーティストがTPE1とか、知らないと絶対に推測不可能なんですが(笑)。

>今、語彙力低下中で的確な言葉が出てこないのですよ…

何をおっしゃいますやら。めっちゃわかりやすく書いてくださって、感謝しております。m(_ _)m

すみません、うまく捉えてくれて助かります。

書込番号:22419867

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/26 01:55(9ヶ月以上前)

修正前と修正中の比較。まだ途中なので、修正「中」という言い方をしてます。

アーティストをひとりひとりチェックして、Remoteから見たアーティストの並び順を、少しずつ正しくしています。

手順は、次のとおり。

そのアーティストについて
@ MP3以外の楽曲ファイルを、バックアップとった後、対象フォルダから削除。
A 1〜2分後、Remoteから確認し、そのアーティストが正しい並びに入ったことを確認。
B @でバックアップとった楽曲ファイルを、対象フォルダに戻す。
C 1〜2分後、Remoteから確認し、Bで戻した楽曲群が存在することを確認。

そのアーティストについて、MP3が存在せず、AACやALACのみ存在する場合は、どうするかというと。
上記@〜Cの前に、次の作業をおこないます。
・MP3を、対象フォルダに追加。
  - 1ファイルでよい
  - 既存のAACやALACから変換でもよい。

チマチマした作業ですが、なんか楽しいデス。
こういう、インフラをコツコツを整える作業が、どうやら好きみたいで(笑)。
だって、ちょっとずつでも、確実に改善してくのが、ハッキリとわかるから。

書込番号:22419868

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/26 05:58(9ヶ月以上前)

>たく0220さん

>アーティストをひとりひとりチェックして、Remoteから見たアーティストの並び順を、少しずつ正しくしています。

ダメでした...。
面倒でも、たった一度きりの作業。
前述の手順で少しずつデータを整えていけば、あとは楽しい、夢の運用が待っているだけ。
そんな期待に胸を膨らませていたのですが、大きな落とし穴が。

コンテナを再起動すると、まーた順番がおかしくなっちゃいます。

たぶんですけど、こういう↓ことかと。

コンテナ再起動

データベース(filesテーブルやgroupsテーブル)をイチから再作成

そのアーティストの、どの楽曲ファイル情報からテーブルに追加していくかは、運まかせ(?)。

そのアーティストから見て、AACやALACの情報が最初にテーブル追加されちゃうと、並びがダメに戻ってしまう。

これだと、ちょっと厳しいですね。泣けてきます...。
現状だと、daapdのライブラリをすべてMP3にしておく、という回避策が考えられますが、それはやりたくないなぁ...。

というのも、その楽曲からみて、原本(ALACなどもっとも高音質のファイル)を同一フォルダに置き
 ・daapdのライブラリ
 ・PLEX Media Serverのライブラリ
 ・MacのiTunesのライブラリ
にしているからです。さらにいえば、このフォルダを自動バックアップの対象にしています。

daapdライブラリだけ別管理ってのは、ちょっとヤだなぁ...。
それをするぐらいなら、並び順がおかしいのを甘受したほうが、まだいいかも。
うーん。困りました。

書込番号:22419967

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/26 08:56(9ヶ月以上前)

>tanettyさん

おはようございます。

>ダメでした...。
残念… (T T)

>それはやりたくないなぁ...。

そうですね。ユーザーがずっと気を配っていないといけない、フォーマットを変更しないといけないような回避策は理想的ではないですね。
AACやALACの情報をdaapdのDBに正しく登録できるように暫定的にでも処置を施す必要があります。

おそらくの原因は予想通りだったので、修正用のパッチファイルと
Dockerfileに処理を少し追加する程度で済むように出来ないかと考えています。

ただ先に色々と確認しないといけない所が多いので、ちょっと待っててください。

書込番号:22420226

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/26 09:20(9ヶ月以上前)

>たく0220さん

おはようございます。

>おそらくの原因は予想通りだったので、修正用のパッチファイルと
>Dockerfileに処理を少し追加する程度で済むように出来ないかと考えています。

スゴイですね。そんな難しいことが、できてしまうんですか。
というか、どんだけ難しいのかすら、私にはわかりませぬ。
それぐらい、私から見ると、スゴイことなんですが。

>ただ先に色々と確認しないといけない所が多いので、ちょっと待っててください。

本当にありがとうございます。m(_ _)m
ひたすら感謝・感謝・感謝・感謝・感謝です。

ただでさえ、たく0220さんには何ら義務はないわけで。
しかも、お風邪を召してらっしゃるなか、逆にそのようなお気遣いのおことばまでいただき、恐縮のかぎりでございます。

私が申し上げるのも誠に差し出がましきことながら、
まずはお体のご回復を優先なさってくださいますよう。
(インフルエンザも流行しているようですし...)

ちなみに私はというと、並び順を直す作業がなんだか楽しくなってきちゃって、気づいたら空が明るくなってました。
にもかかわらず、再起動すると元に戻っちゃう(ものもある)ことが、数時間の作業ののち判明し、
「もっと早く再起動の実験しとくべきだったぁああああああ!」と、大ショックでしたけど(号泣)。

というわけで、これよりしばらく寝マッスル。おやすみなさい...。

書込番号:22420279

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/26 21:12(9ヶ月以上前)

>tanettyさん

まだ数曲+DB上でしか確認してない段階ですが
うまく修正出来てるみたいですので、テストお願いします。

・パッチファイル(forked-daapd-26.4_sort.patch)

以下の内容で適当なテキストエディタで新規に作成してください
ファイル名:forked-daapd-26.4_sort.patch

↓ここから↓
--- forked-daapd_orig/src/library/filescanner_ffmpeg.c
+++ forked-daapd/src/library/filescanner_ffmpeg.c
@@ -151,6 +151,11 @@
{ "artist-sort", 0, mfi_offsetof(artist_sort), NULL },
{ "album-sort", 0, mfi_offsetof(album_sort), NULL },
{ "compilation", 1, mfi_offsetof(compilation), NULL },
+ { "sort_name", 0, mfi_offsetof(title_sort), NULL },
+ { "sort_artist", 0, mfi_offsetof(artist_sort), NULL },
+ { "sort_album", 0, mfi_offsetof(album_sort), NULL },
+ { "sort_album_artist", 0, mfi_offsetof(album_artist_sort), NULL },
+ { "sort_composer", 0, mfi_offsetof(composer_sort), NULL },

{ NULL, 0, 0, NULL }
};
↑ここまで↑


ここに投稿時にスペースとか消されるかもしれませんのでpastebinにも上記内容を貼っときます。
暫くすると消えるので早めに確認とバックアップしておいてください。
https://pastebin.com/QKn4ucPR

作成後、「Dockerfile」があるフォルダへ移動もしくはコピーしてください。


・以前のビルド手順からの変更点

5.Dockerfileの変更
変更箇所の追加

4行目に追加
COPY forked-daapd-26.4_sort.patch /tmp/source/

66行目(元65行目)に2行追加
(「 cd /tmp/source/forked-daapd && \」の下に追加する形で)

mv /tmp/source/forked-daapd-26.4_sort.patch /tmp/source/forked-daapd/forked-daapd-26.4_sort.patch && \
patch -p1 < forked-daapd-26.4_sort.patch && \


後は以前の手順どおりにビルド後、コンテナを作成してください。

書込番号:22421677

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/26 21:43(9ヶ月以上前)

>たく0220さん

ありがとうございます!!!!!!!

...てか、もうできちゃったんですか。天才的としか。スゴすぎる...。

実はいま、別の回避策について、実現可能性を検討していたところでした。
アーティスト名・アルバムアーティスト名の頭にひらがなをつける。
「あ安室奈美恵」といったように、です。
これなら、音質劣化ナシ、作業負荷もほどほど、再起動後も安心。
と、まあ、妥協できる範囲なのではないか、と。

なーーんて、頭を悩ませていたオリもオリ、たく0220さんからご連絡が。
頭ひらがな案は、やらないでよさげってことですよね。
超超超超うれしいです!!!!!

とりいそぎ、リンク先の「Raw Paste Data」に貼り付けらたプログラム(?)を、Macにコピーいたしました。

ご教示いただいた手順に従い、すすめさせいただく所存でございます。
結果がわかり次第、報告いたします。
実際に作業をおこなうなかで、わからない点がもしあるようでしたら、
質問させていただくやもしれませんが、よろしくお願い申し上げます。m(_ _)m

書込番号:22421753

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/27 00:14(9ヶ月以上前)

>たく0220さん

作業完了しました。
現在、daapdが立ち上がろうとがんばっているところで、ファイルをスキャンしている最中です。
ドキドキ。楽しみです。

書込番号:22422084

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/27 01:01(9ヶ月以上前)

90%が正常に並びました!!!

一部だけ、並び順がおかしなものも。

>たく0220さん

すすすすす・すばらしいぃいいいいいいい!!!!!

90%は、うまいこと並べてくれてます。
残り10%は、どういうケースなのか、調査中です。
元データにふりがながふられていなかった、つまり私のせいだったものもあります。

いっぽうで、そうでなさそうなものもあります。
たとえば、次のアーティストは、アルバムアーティスト名、アーティスト名ともに、ひらがなで読みをふってますが、ちゃんと並べてくれてないです。
・高橋優(ALAC)
・スネオヘアー(MP3)

書込番号:22422163

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/27 01:11(9ヶ月以上前)

>たく0220さん

ああああああああ。すみません。イケそうです。

>・高橋優(ALAC)
私の勘違いで、ふりがながちゃんとふられていないだけでした。失礼しました。

>・スネオヘアー(MP3)
これについては、ふりがなを変えて、戻したら、ちゃんと並び替えてくれました。
元「すねおへあー」 → 一時的に「すねおへあ」に → 「すねおへあー」に戻す

というわけで、バッチリのような気がします!

書込番号:22422181

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/27 02:08(9ヶ月以上前)

再生するバッチリ並んでます!

製品紹介・使用例
バッチリ並んでます!

>たく0220さん

ぬぉおおおおおおおお!!!!!!!

daapd再起動しても、アーティストの並びが正常であることを確認しました。
すばらしすぎ!!

結局、並びがおかしかったのは、スネオヘアーを除き、ファイル側の問題でした。
スネオヘアーも、今はちゃんと並んでくれてます。

NAS内音源を再生する仕組みとして、世界中の誰よりも使いやすい環境を手に入れたんじゃないか。
というか、そう確信しています。

感動してます。
この仕組みにも、ですが、たく0220さんのなさったことに、です。
こんな難しいことをいとも簡単に成し遂げ、惜しげもなく公開してくださるばかりか、方法を懇切丁寧にご説明くださるだなんて。
もはや神のなせるワザとしか。

ありがたや、ありがたや。
たく0220さんのご自宅に、足を向けて眠ることは、けっしてできません。

本当にありがとうございました。m(_ _)m

書込番号:22422242

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/27 12:27(9ヶ月以上前)

>tanettyさん

昨日は気が付いたら寝落ちしてました…
起きたら、あれ?もうお昼だ ^^;

とりあえず、無事に動作してる様で良かったです ^^
本当は別OSとかの環境ではどうか?とか、ソースコードももう少し深く確認した方が良かったのですが
体調悪かったので、面倒になり半ばやっつけ作業になってしまいましたね。
あ、体調は大分よくなりましたよ。

あと、前スレで投稿が消えちゃった件ですが
3回目の時、運営さんからメール頂いてました。
「ファイルを直接ダウンロードさせるようなURL」が投稿内にあったよという事でした。

「2.build用のデータDL」のコマンドの一部が問題だったようで、見落としてました。

運営さんには、お手数、ご迷惑おかけして申し訳ございませんでした。
ご連絡もありがとうございました。


これで、一段落して落ち着けるかな〜?
他に問題点無いか、しばらく使って様子見てください。
ご苦労様でした ^^

書込番号:22423163

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/28 00:39(9ヶ月以上前)

画像@ daapdをRemoteで。

画像A iTunesをRemoteで。

>たく0220さん

いつもお世話になっております。
おからだの具合が回復しつつあるとのことで、よかったです! 安心しましたよぉ。

>面倒になり半ばやっつけ作業になってしまいましたね。

「やっつけ作業」であれだけ難しいことがことができちゃうだなんて、スゴすぎですよ!!!

>「2.build用のデータDL」のコマンドの一部が問題だったようで、見落としてました。

なるほど、そういうことでしたか。なかなか厳しいですね。

さて。daapdですが、ほんっとにすばらしい仕組みです。
毎日、めっっちゃ使いまくってます。
本当にありがとうございます。

ただ、ちょっと困ったことが…。

Remoteにて、ジャンル「クラシック」を選ぶことができないんです。
右下の[その他] - [ジャンル]を選ぶと、「クラシック」はなく、「Classical」はあります。
「Classical」を選んでも1曲しか出てきません。

なお、「ジャズ」も表示が「Jazz」になりますが、これを選べば一覧が正常表示されるので、とくに問題ありません。

症状の詳細は、以下のとおりです。

<症状>

(a) daapdに接続したRemoteでは
・ジャンル「クラシック」自体がない。
・ジャンル「ジャズ」自体がない。
・ジャンル「Classical」があり、1枚のアルバム、1曲。(画像@)
・ジャンル「Jazz」があり、6枚のアルバム、82曲。

(b) MacのiTunes (iTunes MediaフォルダをQNAPに設定している) 上では
・ジャンル「クラシック」は、75枚のアルバム、1,263曲。
・ジャンル「ジャズ」は、6枚のアルバム、82曲。

(c) MacのiTunesをiTunesサーバとして、iPadのRemoteで覗くと
・ジャンル「クラシック」は、75枚のアルバム、1,263曲。(画像A)
・ジャンル「ジャズ」は、6枚のアルバム、82曲。

(d) PupSQLiteで「songs3.db」の「files」テーブルを覗くと
・genre「Classical」のレコードは、1,263行
・genre「Jazz」のレコードは、82行

(e) MP3tagにて、「クラシック」「ジャズ」であるハズの楽曲をサンプル調査すると
・ジャンルは、それぞれ「Classical」「Jazz」


(a), (b), (c), (d), (e)の順で調べていったわけですが、こんな感じで感想が変わっていきました。
(a) を見て、「ん?」
(b) を見て、「んー」
(c) を見て、「あー、やっぱdaapdのせいかー」
(d)を見て、「ファイルから読みとってDBに入れるとき、勝手に書き換えてる? ダメじゃん、daapd」
(e)を見て、「ええええ? daapdはむしろ正常? 悪いのは、iTunes?」

(e), (b)からいえるのは、iTunes上でジャンルを「クラシック」「ジャズ」としておいても、
楽曲内にもつタグは「Classical」「Jazz」として持っている、ということです。

どうでもいいですが、寺下真理子さん(添付画像)は、めっっっっちゃ美人さんですね。
天は二物も三物も与えちゃうんだなぁ。
少しは、おこぼれに預かりたいものです(笑)。

書込番号:22424976

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/28 00:51(9ヶ月以上前)

「曲」のとき

「作品名」のとき

>たく0220さん

「クラシック」の問題でちょっと思い当たるのは、1〜2年前のiTunesから、クラシック楽曲管理用に
 
 ・作品名
 ・楽章

などのタグを扱えるようになったことです。(「曲名の左の▲で「作品」を選べます)

もしかしたら、これを管理する都合上(?)、

 ジャンル名「クラシック」にしたとき
 タグ内には強制的に「Classical」と持たせるようにした

のではないか?

…と疑ってみたのですが、うーん、どうでしょう。違うような気がします。

書込番号:22424995

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/28 01:17(9ヶ月以上前)

>たく0220さん

「クラシック」の問題。実験済みのこと書き忘れました。

・コンテナ再起動しても、症状変わらず。
・コンテナ停止→ songs3.db, cache.db削除 → コンテナ起動 の順におこなっても、症状変わらず。

書込番号:22425027

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/28 01:49(9ヶ月以上前)

>tanettyさん

>Remoteにて、ジャンル「クラシック」を選ぶことができないんです。

ん〜何だろう?ちょっと調べてみます。

ちなみに、曲のフォーマットの違いはありますか?
ジャズはmp3のみ、クラシックはALACのみ
みたいな状況ではないですよね?

書込番号:22425056

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/28 02:27(9ヶ月以上前)

>たく0220さん


ありがとうございます。

「ジャズ」は、MP3とALACの混在です(AACナシ)。
「クラシック」は、MP3とAACとALACの混在です。



以下、追加で検証してみたことの報告です。

(QNAPにSMB接続した)iTunes上でジャンル「クラシック」と表示されているすべての曲について、
(QNAPにSMB接続した)iTunes上から、ジャンルを「Classical」に変更しました。
daadを再起動しました。

Remoteで「Classical」を選ぶと、6曲が表示されました。
ただし、表示されている楽曲名はどれも、表示されているアーティスト・アルバムの曲ではありません。

daapdを停止後、songs3.dbとcache.dbを削除し、daapdを起動しました。

Remoteで「Classical」を選ぶと、1曲になりました。
ただし、表示されている楽曲名は、表示されているアーティスト・アルバムの曲ではありません。

表示されていたその楽曲を含むアーティストの曲を、
(QNAPにSMB接続した)iTunes上から消去しました。

Remoteからジャンル「Classical」を選ぶと、「曲なし」になりました。

ログを見たら、こんなエラーが出てました。

[2019-01-28 01:54:41] [ LOG] scan: Scanned 19000 files...
[2019-01-28 01:54:49] [ LOG] scan: Scanned 19200 files...
[2019-01-28 01:55:12] [ LOG] scan: Bulk library scan completed in 1569 sec
[2019-01-28 01:55:15] [ LOG] lib: Library init scan completed in 1572 sec (19342 changes)
[2019-01-28 01:55:25] [ LOG] cache: Beginning DAAP cache update
[2019-01-28 01:55:25] [ LOG] cache: DAAP cache updated
[2019-01-28 02:00:24] [ LOG] cache: Beginning DAAP cache update
[2019-01-28 02:00:24] [ LOG] cache: DAAP cache updated
[2019-01-28 02:00:56] [ LOG] cache: Beginning DAAP cache update
[2019-01-28 02:00:56] [ LOG] cache: DAAP cache updated
[2019-01-28 02:01:16] [ LOG] cache: Beginning DAAP cache update
[2019-01-28 02:01:16] [ LOG] cache: DAAP cache updated
[2019-01-28 02:01:59] [ LOG] cache: Beginning DAAP cache update
[2019-01-28 02:01:59] [ LOG] cache: DAAP cache updated
[2019-01-28 02:04:23] [ LOG] db: Could not step: database disk image is malformed (SELECT COUNT(DISTINCT f.songalbumid) FROM files f WHERE f.disabled = 0 AND ((f.genre = 'Classical' AND (f.media_kind = 1 OR 1 = 0))) AND (f.data_kind <> 1);)
[2019-01-28 02:04:23] [ LOG] db: Could not create query, unknown type 5
[2019-01-28 02:04:23] [ LOG] daap: Could not start query
[2019-01-28 02:04:23] [ LOG] db: Could not step: database disk image is malformed (SELECT COUNT(*) FROM files f WHERE f.disabled = 0 AND ((f.genre = 'Classical' AND (f.media_kind = 1 OR 1 = 0))) AND (f.data_kind <> 1) AND 1 = 1 LIMIT -1;)
[2019-01-28 02:04:23] [ LOG] db: Could not create query, unknown type 4
[2019-01-28 02:04:23] [ LOG] daap: Could not start query



なお、よくよく確認してみると、「Classicalは1曲です」と最初に申し上げたときの画面でも、曲名とアーティスト名・アルバム名の不整合でした。
(曲「おくりもの」は、寺下真理子の曲でないし、アルバム「AVE MARIA」の曲でもありません)

ちょっと力尽きましたので、きょうのところは、これにて失礼いたします。おやすみなさい m(_ _)m

書込番号:22425087

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/28 20:41(9ヶ月以上前)

>tanettyさん

ひとまずmp3について

参考:ID3 tag version 2.3.0
http://id3.org/d3v2.3.0

ジャンルのタグの仕様としては
「4.2.1. Text information frames - details」の「TCON」を見てください。

ざっくり説明すると
・ID3v1.1で使ってたジャンルリストの番号
 (ジャンルのリスト ->「8. Appendix」の「A. Appendix A - Genre List from ID3v1」)
・文字列(UTF-16)で好きに書いておくれ〜

という2パターンあるという事です。

で、クラッシクに関しては
iTunes -> ID3v1.1の(32)で管理
daapd -> 文字列「Classical」で管理

ffmpegはgenre=「Classical」と返すので、daapdのdbには「Classical」で登録されてしまう。

iTunesは、genre=ID3v1.1の(32)の曲は「クラシック」と内部では変換をして
genre=文字列の場合はそのままの文字列で「Classical」と表示してると思われる。

Remoteに関しては、相手が送ってきた文字列データをそのまま使って処理してると思われます。

AACとALACはmp4コンテナなので、仕様を確認すれば同じように判るかなっと

1曲しか表示されない件はdaapdのグルーピングの処理がどうなってるのか確認するしかないので
ちょっと中身見てきます。時間かかると思うけど… ^^;

書込番号:22426736

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/28 21:42(9ヶ月以上前)

>たく0220さん

いつもお世話になっております。
ありがとうございます!!!!!

こんな英語のペーパー(?)見つけてきて、解読しちゃうって。レベル高すぎですよ!
自動車運転にたとえるなら、確実にスピード違反です(笑)。

で、さっそく拝読いたしました。
なるほど、iTunesが勝手にコードに変換して、ffmpegが文字列に戻してるってことなんですね。

MP3では…

ユーザ
「iTunesからジャンルを<クラシック>にセット!」

iTunes
「文字列<クラシック>ってことは、<Classical>って意味かー。
 なら、コード<32>に変換して、楽曲に書き込んでおくね。
 もちろんあなたが見るときは、<32>を<クラシック>に変換表示してあげるよ」
 私って、ちょう親切ー」←実際には余計なお世話

ffmpeg
「楽曲を見ると…ふむふむ…<32>ですね。
 <Classiclal>って文字列に変換して、daapdに渡しておきます。
 私ったら、どうしてこんなに気が利いてるんでしょう」←これも余計なお世話

daapd
「文字列<Classical>だな。わかった。
 そのままテーブルfilesに登録するぞ」←職人気質


という動作原理を踏まえ、とりいそぎ1アルバムのみ実験してみました。

寺下真理子のアルバム『AVE MARIA』(MP3)について

iTunesからジャンルを「クラシク」に変更

1〜2分待つ

Remoteからdaapdを覗くと、ジャンル「クラシク」があり、寺下真理子『AVE MARIA』が表示される。

というわけで、iTunesから設定するジャンルとして、文字列「クラシック」を避ければ、うまいこといけそうです。
いわゆる予約文字、使っちゃいけない文字として考えればよかったんですね。

AACやALACについてもこれから実験してみますが、たぶんうまいこといくんじゃないかと。
(「邦楽」や「洋楽」は、正常に動作しているわけですから)

”クラシック” や ’クラシック’ など、クォートで囲んだらどうなるか、についても、実験する心づもりです。

また結果がわかりましたら、報告いたします。

書込番号:22426920

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/28 21:50(9ヶ月以上前)

>たく0220さん

>AACやALACについてもこれから実験してみますが、たぶんうまいこといくんじゃないかと。

うまいこといきました。つまり、こうです。

@ AAC, ALACのアルバムを各1枚、iTunesからジャンルを「クラシク」に変更

A しばらく待つ

B Remote上にてジャンル「クラシク」で絞ると、@のアルバム2枚が、ちゃんと出てきた。

ちょっとこれから仕事(きょうは夜間作業なのです(涙))で出かけますので、クォートの実験は、またのちほど。

書込番号:22426950

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/28 22:45(9ヶ月以上前)

>tanettyさん

>iTunesからジャンルを「クラシク」に変更

あぁ〜、その手があったか〜 ^^
「灯台下暗し」 遠くを見すぎてた…
Win版iTunesで「クラシック 」と後ろに半角スペースを追加してみました
これでもRemoteで「クラシック」(半角スペースは見えないので)と分類、表示されました。
ジャズとかも同様に半角スペースで行けるかもしれませんね。


>AACやALACについてもこれから実験してみますが、たぶんうまいこといくんじゃないかと。
>うまいこといきました。つまり、こうです。

確認ありがとうございます。
この手法でAACやALACも大丈夫そうですね。


>ちょっとこれから仕事(きょうは夜間作業なのです(涙))で出かけますので、クォートの実験は、またのちほど。

ご苦労さまです。
深夜作業は大変ですよね。お気をつけて!

書込番号:22427137

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/29 02:47(9ヶ月以上前)

Classicalに出てきてしまう楽曲群の一例

>たく0220さん

いつもお世話になっております。

ご提案いただいた、半角スペースを語尾に付加する案で、バッチリいけました!!!
Remote上で、「クラシック 」や「ジャズ 」を選ぶと、正常に一覧表示されます!
MP3だけでなく、AACも、ALACも、です。

ただ、なぜか数曲だけ、Remote上で「Classical」として表示されてしまうんですよねぇ。
この数曲は、「アルバム名」と「ジャケット」が合っていません。
しかも、daapdを再起動すると、違う曲に変わることもあるし、曲数も変わることもあります。
(1曲だったり、2曲だったり)。
とはいうものの、ジャンル「Classical」を無視すればいいだけなので、実運用上、支障はありません。



ところで、語尾にスペースを付加する案、仕事に出かける直前に、私もまったく同じことを考えてまして。
で、たく0220さんからのお話を拝見して

「おお。たく0220さんと同じことを思いつくことができるだなんて、
 私もエラくなったもんだなー」

などと、勝手にひとりごちておりました。←盛大なカンチガイですね…。



>「灯台下暗し」 遠くを見すぎてた…

視座が高いがゆえに、視野が広く、視点が遠くにあるのでしょう。衛星軌道上からは、どんな超高感度カメラでも、連なった飲み屋の一角で這いずりまわるアリンコの様子を見るのは、難しいのカモ。←おっと、ヘンなたとえだぁああああ(笑)。

私なんか、衛星軌道どころか、2階のベランダから覗くのがせいいっぱいだったりするわけで。どうがんばっても、自分ちの庭ぐらいしか見えないっていうか。とまあ、残念ながら、低い・狭い・近い…と、悪い意味で三拍子そろった近視眼的思考で、日々いっぱいいっぱいで暮らしております。

衛星軌道上から見える、地球の稜線やベテルギウスの灯は、どれほど美しいのか。死ぬまでにいちどでいいから、体験してみたいものです。



>深夜作業は大変ですよね。お気をつけて!

ありがとうございます!
朝は苦手なのですが、夜は得意なので、それほど苦でもないのですが。
とにかく寒かったー。
(私の移動手段は自転車なので、この季節の夜間作業は、超つらいです)



さてさて。いちおうですが、次の実験をしましたので、ご報告まで。

iTunes上で「“クラシック”」にする。

iTunes上は、「”クラシック”」となる。
Remote上も、「”クラシック”」となる。

iTunes上で「’クラシック’」にする。

iTunes上は、「’クラシック’」となる。
Remote上も、「’クラシック’」となる。

「クラシック 」(半角スペース)と「クラシック 」(全角スペース)を混在させる

iTunes上では、「クラシック 」(半)に名寄せされ、まとめて表示される(※)
Remote上では、「クラシック 」(半)と「クラシック 」(全)の二つに別れる。

※ 「ジャンル」に限らずですが、 iTunesでタグ情報をいじったとき、
 「全角で入れたはずのスペースが、半角で表示される」ことは、
 経験上わかっています。



当初、4つの案を考えていました。
 ・シングルクォートで囲む
 ・ダブルクォートで囲む
 ・語尾に半角スペース
 ・語尾に全角スペース

で、上記実験のとおり、クォート案はどっちも「クォートも表示されちゃう」ので
「ちょっと違うなぁ」って感じでした。

語尾案については、半角と全角の2種類を考えていたわけですが、
「どちらかというと、全角なのかな?」と、はじめは思っていました。
というのは、
「半角に比べ、全角のがシステムに悪さをする可能性は小さいのではないか」
と愚考していたからです。

ただ、iTunes上では、表示が半角に寄せられてしまいます。
仮に全角で入れ、見た目(半角)と実際の値(全角)が違うと、のちのち
「あれ? これってどういうことだっけ?」と
混乱することがあるやもしれません。
というわけで、より混乱の少なそうな、半角でいくことにいたしました。

書込番号:22427561

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/29 03:56(9ヶ月以上前)

「Remote」では、アルバム名(読み)順に並んでしまう。

「ミュージック」では、新しい順に並んでくれる。

>たく0220さん

もうひとつ、「こうなるといいのになぁ」と思うことがあります。

アーティストで絞ったとき、アルバムの表示が「リリース年の新しい順」になってくれれば…です。

iTunesでは、そういう並べ替えができます。([表示] - [アルバムの並び替え]で、[年]の[降順]にする)
iOS版の「ミュージック」アプリでは、勝手にそう並びます。

この並び順、とても使いやすいんですよねぇ。
というのは、好きなアーティストほど、多くのアルバムを音源として持っています。
(たとえば、乃木坂46は25枚、西野カナは24枚、安室奈美恵は22枚のアルバムを持っています)。
で、既存のアルバムはもともとよく聴いているので、新しいアルバムが出たら、今度はそればっかり聴きたいのです。
結果として、新しい順に並ぶことが、使ううえで、めっっちゃ重要になってきます。

さて、daapdをRemoteで覗いたときは、どうでしょう?
がーん。アルバム名の昇順に並んでしまいます。

じゃあ、daapdが悪いのか?
MacのiTunesをiTunesサーバとして、Remoteから覗いたときも、アルバム名順になっちゃいます。
このことから、daapdが悪いわけではない、と思われます。

ここで考えてみたいのが、
「アーティストで絞ったとき、アルバムの並び替えは、誰がおこなっているのか?」
です。

ふたとおりの可能性が考えられます。

(A) Remoteが並び替えている。
・iTunesサーバは、filesやgroupsの内容(またはそれに相当する情報)を、特に並び替えせず、Remoteに渡す。
・Remoteは、filesなりgroups(またはそれに相当する情報)を読み取り、アルバム名順で並び替えてから表示する。

(B) iTunesサーバが並び替えている。
・iTunesサーバは、filesやgroupsの内容(またはそれに相当する情報)を、アルバム名順に並び替え、Remoteに渡す。
・Remoteは、filesなりgroups(またはそれに相当する情報)を読み取り、特に並び替えせず、表示する。

もし(A)なら、どうサーバ(daapd)側をいじっても、
「Remoteでリリース年順に並ばせることは無理」
ということになります。
(AppleがRemoteの仕様を変更するしか、リリース順に並ばせる方法はない)。

もし(B)なら、サーバ側でなんとかできる、つまり、
「daapdでリリース年順に並び替えることで、Remoteでもリリース年順に並ぶ」
ということが、少なくとも技術的には可能、ということになります。

まあ、フツーに考えると、(A)なんでしょうねぇ。そう考える理由としては…
・Remoteでの非常に高速な挙動を見るかぎり、RemoteがDBをキャッシュで持っていて、適宜処理している(ぽい)。
 (必要があったときのみ、再問い合わせする…っぽい)。
・filesでもgroupsでも、主キーとして「ID」を持っているので、並び替えせずにそのまま渡すだけ、と考えるのが自然。
・仮にサーバでソートしてRemoteに渡したとして、Remoteでその順序を保持するには、別項目が必要となり、処理として合理的でない。

書込番号:22427593

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/29 22:58(9ヶ月以上前)

>tanettyさん

>半角スペースを語尾に付加する案で、バッチリいけました!!!

これからもCDから取り込む事を考えると
daapdで「Classical」を「クラシック」と自動的に変換させた方が便利というか
iTunesの方に寄せといた方が良いかなと…
とちょっと考え中です。


>アーティストで絞ったとき、アルバムの表示が「リリース年の新しい順」になってくれれば…です。
>「アーティストで絞ったとき、アルバムの並び替えは、誰がおこなっているのか?」

daapd + Remoteでは、daapd側で「ORDER BY f.album_sort, f.disc, f.track」でソートしたリストをRemoteに送ってます。
これを「ORDER BY f.year, f.album_sort, f.disc, f.track」と変更する事で希望のリリース年順とする事は可能と思われます。

ただ、何点か問題になるのがリリース年の情報はその曲ごとになるので
アルバムのリリース年=1曲目のリリース年となり、ベストアルバムとかだと
リリース年=アルバムの発売日とはならない可能性があります。
ですので、リリース年を曲かアルバムか、どちらで管理運用するかでまた違ってきてしまう事になってしまうと思われます。

書込番号:22429661

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/30 19:36(9ヶ月以上前)

>たく0220さん


レスが遅くなって、申し訳ありません。
深夜作業で疲労困憊していたようで、昨晩は帰宅即寝でした。



さてさて。

>daapdで「Classical」を「クラシック」と自動的に変換させた方が便利というか

おお。それも、実現可能性を検討できるようなことなんですか。さすがですね。

ちなみに、昨晩時点では(Remoteで見たとき)Classicalに2曲入ってて、けさは0曲になっていて、今晩見たら2曲に戻ってました…。そのあいだ、とくにライブラリをいじってません。&#8232;
さらにいうと、0曲のときジャンルとしてはClassicalと表示されていて、選ぶと、「曲なし」みたいな表示がされました。Remoteからみて0曲なら、ジャンル自体を表示しなけれりゃいいのに、と思うわけですが。

Classsical関連の挙動を理解できませぬ(笑)。



>daapd + Remoteでは、daapd側で「ORDER BY f.album_sort, f.disc, f.track」でソートしたリストをRemoteに送ってます。

ええええええええええええええ。まさか・まさかの。
daapdで並び替えてるんですね。ちょっとビックリ。

>これを「ORDER BY f.year, f.album_sort, f.disc, f.track」と変更する事で希望のリリース年順とする事は可能と思われます。

マジですかー。もしそれができたら、めっっちゃうれしいです。
リリース年順、ちょう大切です。

>ただ、何点か問題になるのがリリース年の情報はその曲ごとになるので
>アルバムのリリース年=1曲目のリリース年となり、ベストアルバムとかだと

あああああ。たしかにベストアルバムだと、そういう問題が生じますね。
リリース年は、楽曲単位で保持しているのに、アルバム単位で表示させようとしているわけですから。
下記<理由>Aに慣れすぎたせいか、そういうことをほとんど意識してませんでした。



あくまで私の意見ですが、ベストアルバムについては、含まれる楽曲のうち

 「最新の楽曲に合わせる」

のが、いちばん自然かなぁ…と愚考いたします。
(その仕様がいちばん使いやすい、と感じます)



理由は、次の2つです。

<理由>

@ 「最新の楽曲に合わせる」のが、 実態にもっとも近い。
・一般に、そのベストアルバム全楽曲中で、最新の楽曲をリリースした後に、そのベストアルバムをリリースする。
・下記実験の例でいえば、楽曲『明日があるさ』(2001)リリース後に、アルバム『ベストだぜ!』をリリースしている。
・実際、ベストアルバム『ベストだぜ!』のリリースは、2001/4/28。

A iTunesやiOSアプリ『ミュージック』では、「最新の楽曲」に合わせる仕様になっている。
・Remoteがからまないかぎり(つまり、下記(a),(b),(c)では)、そうなっている。
・RemoteはRemoteで、Appleに改善要望を出したほうがよさげですね。てゆーか、出しときます。


<実験材料>
ウルフルズ『ベストだぜ!』全19曲。
・1995年から2001年までの楽曲アリ。
・1曲目は1995年、19曲目は1996年。
・そのアルバムを表示させ、アルバムのリリース年を確認した。

<実験結果>
(a) iTunes (ALAC) → 2001
(b) iTunesのホームシェアリング + iOSのミュージック → 2001
(c) iOSのミュージック (AAC) → 2001
(d) daapd (ALAC) +Remote → 1995
(e) iTunes (ALAC) + Remote → 1995

書込番号:22431301

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/30 20:27(9ヶ月以上前)

実験例:ウルフルズのアルバム『ベストだぜ』におけるリリース年の見え方。

>たく0220さん

この実験結果のうち、(a),(b),(c)を画像にて添付いたしました。

> <実験材料>
> ウルフルズ『ベストだぜ!』全19曲。
> ・1995年から2001年までの楽曲アリ。
> ・1曲目は1995年、19曲目は1996年。
> ・そのアルバムを表示させ、アルバムのリリース年を確認した。

> <実験結果>
> (a) iTunes (ALAC) → 2001
> (b) iTunesのホームシェアリング + iOSのミュージック → 2001
> (c) iOSのミュージック (AAC) → 2001
> (d) daapd (ALAC) +Remote → 1995
> (e) iTunes (ALAC) + Remote → 1995

書込番号:22431416

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/30 20:48(9ヶ月以上前)

>tanettyさん

>深夜作業で疲労困憊していたようで、昨晩は帰宅即寝でした。
お疲れさまでした〜、深夜作業は生活リズム狂っちゃうんですよね…
次の日は休みたい ^^;


リリース年でのソートですが
新しい順ですのでDESC付けないといけませんでしたね
「ORDER BY f.year DESC, f.album_sort, f.disc, f.track」

この辺は好みというか、ケースバイケースなのでアプリ側で変更出来ると便利なんですがね…

パッチファイルは作ってあるのですが
iPhone4のRemoteだと、iPadと表示が多少異なるので
まだ確認不足の点がありますが、必要でしたらアップする準備は出来てますよ。


Classicalの件は、ちょっと原因むずかしそうですね…
私の方ではまだ確認出来て無くて、Remoteのキャッシュが悪さしてるのかな…

書込番号:22431470

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/30 21:00(9ヶ月以上前)

>たく0220さん

わお。超速のお返事、ありがとうございます(嬉)!

>お疲れさまでした〜、深夜作業は生活リズム狂っちゃうんですよね…
>次の日は休みたい ^^;

そうなんですよぉ。お気遣いに感謝いたします m(_ _)m

>新しい順ですのでDESC付けないといけませんでしたね
>「ORDER BY f.year DESC, f.album_sort, f.disc, f.track」

はい、ですよね。皇潤、もとい、降順ですので。
Macの日本語変換は頭が悪いのでしょうか。
どうしても、皇潤が先に出てしまうのですが。
コンドロイチン配合です!←それが何か、よくわかってませんが...。

>この辺は好みというか、ケースバイケースなのでアプリ側で変更出来ると便利なんですがね…

まったくもって、おっしゃるとおりだと思います。

>パッチファイルは作ってあるのですが

なんとぉおおお!
すでにお作りになっていたとは。
スゴすぎる!!!

>iPhone4のRemoteだと、iPadと表示が多少異なるので
>まだ確認不足の点がありますが、必要でしたらアップする準備は出来てますよ。

ぜひ! ぜひぜひぜひぜひ!
差し支えなければ、お願いいたします!

>Classicalの件は、ちょっと原因むずかしそうですね…
>私の方ではまだ確認出来て無くて、Remoteのキャッシュが悪さしてるのかな…

なるほど、キャッシュが犯人と考えると、挙動が都度都度異なるのも、説明がつきますね。

Remote上のキャッシュは見れないわけですが、daapd上のキャッシュ、つまりcache.dbも(←songs3.dbだけでなく)、いちおう調査の対象に含めてみようかと思います。

書込番号:22431507

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/30 21:15(9ヶ月以上前)

>たく0220さん

いつも世話になっております。

本日、次の不具合が発生し、次のとおり解決しました。
いちおうは解決したわけですが、原因もわかりませんし、
もっと簡単かつ影響範囲の少ない解決方法あったのはないか?と考えております。

何か思いつくことがありましたら、ご教示いただけるととてもうれしいのですが…。


以下、メモレベルの殴り書きで申し訳ありません。
(読むの、かなりたいへんだと思います。すみません)


1. 症状概要
DS-A5 (AirPlay受信機) を(ネットワークのトポロジー的に)移動させたら、RemoteがDS-A5を認識しなくなった。

2. 対応概要
QNAPを再起動したら、直った。

<移動前> (中継機経由)

[QNAP]
||  (有線) 
[ルータ] ー(Wi-Fi)ー [iPad]
| (Wi-Fi)
[中継機]
||  (有線) 
[DS-A5]

<移動後> (ルータ直)

[QNAP]
||  (有線) 
[ルータ] ー(Wi-Fi)ー [iPad]
||  (有線) 
[DS-A5]


3. 移動<後>にやってみたこととその結果

(a) iPad上のRemoteがDS-A5を認識しないことを確認

(b) iPadからDS-A5(192.168.x.x)にping → OK

(c) iPad内音源をミュージックアプリからDS-A5にAirPlay → OK

(d) Mac (ルータにWi-Fi接続)にてQNAPにSSH接続後、QNAPからDS-A5(192.168.x.x)にping → OK

(e) Mac (ルータにWi-Fi接続)上のSafariからdaapの管理ページを確認。→ Outputs欄にDS-A5がない。

(f) DS-A5再起動 → 症状変わらず。

(g) daapd再起動 (Contaner Staionから停止・起動) → 症状変わらず。

(h) QNAP再起動 (QTSにて) → 復旧


4. 解決した後に、「原理は、こういうことだったのかしら?」と考えたこと。

・リモコンたるRemoteの仕事は、AirPlay送信機からAirPlay受信機に音声データを飛ばすよう、AirPlay送信機に指示を出すことである。(a),(c), (e)から推測されるのは、ここでいうAirPlay受信機とは、「Remoteが発見したAirPlay受信機」ではなく、「AirPlay送信機が発見したAirPlay受信機」である…っぽいこと。

・AirPlay送信機からAirPlay受信機間でIPレベルの通信ができていても(d)、リモコンたるRemoteからAirPlay送信指示を出せないことがあること。


5. 解決した後に、「原因はこういうことだったのかしら?」と考えたこと。

・DS-A5移動<前>、DS-A5の出すマルチキャストIP/マルチキャストMAC(以下、MIP/MMACという)を、QNAP(とdaapd)は、受信し、(普通のIP/MACとは別に)ARPとしてキャッシュしていた。

ただし、移動<前>のMIP/MMACは、中継機によって書き換えられていたのではないか? つまり、DS-A5移動前は、DS-A5のスッピンのMIP/MMACではなく、(中継機によって)<お化粧>されたMIP/MMCACを、QNAPは受け取り、ARPとしてキャッシュしていたのではないか。

DS-A5移動<後>、DS-A5は<スッピン>のMIP/MMACをマルチキャストした。iPadは、これを受け取り、<お化粧後>のARPから、スッピンのARPに書き換えた。

QNAPも、DS-A5の<スッピン>のMIP/MMACを受け取っていたはずだが、「んなーこたーない」と現実を受け入れず、つまりはARPキャシュを書き換えず、<お化粧後>のARPを捨てずにいた。

このため、QNAP(daapd)は、DS-A5の最新の、つまり<スッピン>のMIP/MMACを知らないこととなり、daapdからAirPlay受信機としてDS-A5が発見できない…という結果となったのではないか。


6. 「こうすれば解決したのかしら?」と思うこと。

QNAP上のマルチキャスト関係のサービス、つまり、「avahi」を再起動すればよかった…のでしょうか?
仮に「avahi再起動」だとして、それはQNAPの? それともdaapd(仮想マシン上)の?

コンテナの作成(docke create)するさいに、「--net=host」というオプションをつけていたかと思います。
これは、QNAP(というかそれが動くOS)が認識しているNICを、そのまま仮想マシン(?)が借りる、という意味ですよね?
(勉強不足で申し訳ありません)
とすると、avahiの再起動は、QNAPの、でよかったのでしょうか。

何れにしても、avahi再起動の手順も、よくわからず…。

(次のレスにつづきます)

書込番号:22431538

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/30 21:16(9ヶ月以上前)

>たく0220さん

(前のレスからの続きです)。

7. avahi再起動について、調べてみたこと。

QNAPにSSH接続後、avahi-daemonのヘルプを見ると、こうでした。

[~] # avahi-daemon --help
avahi-daemon [options]
-h --help Show this help
-D --daemonize Daemonize after startup (implies -s)
-s --syslog Write log messages to syslog(3) instead of STDERR
-k --kill Kill a running daemon
-r --reload Request a running daemon to reload static services
-c --check Return 0 if a daemon is already running
-V --version Show version
-f --file=FILE Load the specified configuration file instead of
/etc/avahi/avahi-daemon.conf
--no-rlimits Don't enforce resource limits
--no-drop-root Don't drop privileges
--no-proc-title Don't modify process title
--debug Increase verbosity


さらに、dockerにて仮想マシン上(?)でのavahiのヘルプを見ると、こうでした。

[~] # docker exec -it daapd /bin/bash
root@QNAP1:/$ avahi-daemon --help
avahi-daemon [options]
-h --help Show this help
-D --daemonize Daemonize after startup (implies -s)
-s --syslog Write log messages to syslog(3) instead of STDERR
-k --kill Kill a running daemon
-r --reload Request a running daemon to reload static services
-c --check Return 0 if a daemon is already running
-V --version Show version
-f --file=FILE Load the specified configuration file instead of
/etc/avahi/avahi-daemon.conf
--no-rlimits Don't enforce resource limits
--no-drop-root Don't drop privileges
--no-chroot Don't chroot()
--no-proc-title Don't modify process title
--debug Increase verbosity

ヘルプの見方が悪いのでしょうか。オプションの書き方しか出てこず。
引数的なものは、どう調べるのでしょう?
QNAPにしろ、仮想マシン上にしろ、「avahi-daemon restart」でよいのでしょうか?

...と、本当に殴り書きですね。ゴメンナサイ。

書込番号:22431546

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/30 21:21(9ヶ月以上前)

>たく0220さん

書き忘れましたが、DS-A5のIPアドレスは、DHCPによる自動取得ではなく、固定で振っています。

書込番号:22431551

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/30 21:24(9ヶ月以上前)

>tanettyさん

今回のパッチは
以下の内容で適当なテキストエディタで新規に作成してください
ファイル名:forked-daapd-26.4_artist-order.patch

↓ここから↓
--- forked-daapd_orig/src/db.c
+++ forked-daapd/src/db.c
@@ -314,7 +314,7 @@
{
"",
"f.title_sort",
- "f.album_sort, f.disc, f.track",
+ "f.year DESC, f.album_sort, f.disc, f.track",
"f.album_artist_sort, f.album_sort, f.disc, f.track",
"f.type, f.parent_id, f.special_id, f.title",
"f.year",
↑ここまで↑


ここに投稿時にスペースとか消されるかもしれませんのでpastebinにも上記内容を貼っときます。
暫くすると消えるので早めに確認とバックアップしておいてください。
https://pastebin.com/JaJtqtFt

作成後、「Dockerfile」があるフォルダへ移動もしくはコピーしてください。


・以前のビルド手順からの変更点

以前の「forked-daapd-26.4_sort.patch」と一緒にパッチを適用する形になります。

5.Dockerfileの変更
変更箇所の追加

4行目に下記2行追加
COPY forked-daapd-26.4_sort.patch /tmp/source/
COPY forked-daapd-26.4_artist-order.patch /tmp/source/

67行目(元65行目)に2行追加
(「 cd /tmp/source/forked-daapd && \」の下に追加する形で)
※以前のsort.patch時の「mv 〜」の行は不要に変更しましたので削除してください。
 間違えないように過去の2行は削除してから新たに下記2行を追加してください。

patch -p1 < /tmp/source/forked-daapd-26.4_sort.patch && \
patch -p1 < /tmp/source/forked-daapd-26.4_artist-order.patch && \

後は以前の手順どおりにビルド後、コンテナを作成してください。

書込番号:22431561

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/30 21:28(9ヶ月以上前)

>たく0220さん

わお! ありがとうございます!!

Raw Paste Dataと手順を、さっそくローカルにコピーいたしました。
作業実行後、結果を報告いたします!!!

書込番号:22431570

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/30 22:54(9ヶ月以上前)

>たく0220さん

エネルギー源としてグルコースしか認めない偏食家の脳に、炭水化物のかたまり・スパゲティで、効率的にエナジーチャージ! 夜食への罪悪感を、ムダな理論武装で巧みに(?)打ち消すことに成功したところで。

脳が活性化した(ハズ)ので、これより作業開始いたします。消化・吸収のため血が胃腸に集まり、じゃっかん眠くなってきた気もしますが (←ダメじゃん)。

終わりましたら、結果を報告いたします。

書込番号:22431790

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/30 23:20(9ヶ月以上前)

>たく0220さん

ビルド中...。
はーやーく! はーやーく!
ビルド完了が、待ちきれませぬ。

書込番号:22431848

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/30 23:41(9ヶ月以上前)

>たく0220さん

楽曲ファイルをスキャン中。
あと少しです!!!

書込番号:22431904

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/30 23:51(9ヶ月以上前)

>tanettyさん

ご飯食べると眠くなりますよね〜 ^^

avahi-daemonの件は
おそらくdaapdがDS-A5との制御に失敗してるかもしれませんね。
Remoteで選択できるスピーカーは、daapdで制御可能な状態でなければ表示されませんのでね。

avahi-daemonはバックグラウンドで動作しているプロセスですので
Daemon(デーモン)とかサービスとかになり、再起動等の操作はOSによって変わります。

QNAP自体のavahi-daemonの再起動は前スレでも触れましたが
/etc/init.d/avahi.sh restart

になります。
daapd自体は、ちょっと複雑なので後日確認しておきます。
ソースコード数万行ほど見てたので、ちと疲れたみたいで…

書込番号:22431923

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/31 00:11(9ヶ月以上前)

パッチ適用前後の比較

>たく0220さん

イケましたぁああああああ!!!!!!!!
バッチリ、リリース年の新しい順で並びます。

MacのiTunesをiTunesサーバにしたときですら、アルバム名順になっちゃうわけで。
ということはですよ、本家をかるーく超えてしまいました。
すばらしすぎ!!!

なんかもう、大大・大満足です。
高速かつ、見やすく、探しやすい選曲。
大量の楽曲からLAN経由で選曲するしくみで、これ以上優れたものは、
世界じゅうのどこをどれだけ探しても存在しないんじゃないかと。

本当にありがとうございます!
サイコーです!!!!!!

書込番号:22431950

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/31 00:21(9ヶ月以上前)

>たく0220さん

いつもお世話になっております。お世話になりっぱなしでございます。

>Remoteで選択できるスピーカーは、daapdで制御可能な状態でなければ表示されませんのでね。

なるほど、そういうものなんですね。勉強になります!!

>Daemon(デーモン)とかサービスとかになり、再起動等の操作はOSによって変わります。
>QNAP自体のavahi-daemonの再起動は前スレでも触れましたが
>/etc/init.d/avahi.sh restart

すでに伺っていた内容を、再質問してしまったのですね。
たいへん失礼しました。
同様の事例が再現した場合、次からは、そのコマンドでavahiを再起動いたします。

>daapd自体は、ちょっと複雑なので後日確認しておきます。
>ソースコード数万行ほど見てたので、ちと疲れたみたいで…

えええええええ。数万行ですか。
お手数かけ申し訳ありません。m(_ _)m

そもそもが たく0220さん からみてまったく義務なきことなのに、
こんなにもご親切にご対応いただき、
ひたすら感謝すると同時に、心苦しく感じております…。

ジャンルClassicalがゴミとして残ってしまう件は、
少なくとも私のなかでは、ほとんど困っていない事象です。
(もちろんですけど、消えれば消えたほうが嬉しいに決まってます)

書込番号:22431966

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/31 00:42(9ヶ月以上前)

Remoteの目次に あ, か, さ...がほしい。

(たく0220さん謹製パッチ適用済の)daapd + Remote。
いじればいじるほど、すばらしいしくみだと感じます。
並び立つものがない。天下無双です。

あと改善を望むとすると、Remote側ですね。
これについては、Appleに要望を挙げておきます。

Remoteには、アーティスト選択のため、「目次(?)」的に、「A, B, C…」ってのがあります。
これに加え、「あ, か, さ…」ってのも、欲しいところです。
というのも現状だと、日本語アーティストを選んだり、つらつらと一覧を眺めたいとき、ちょっとつらいんですよね。

書込番号:22431986

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/31 00:51(9ヶ月以上前)

>tanettyさん

上手くいったようで安心しました。

私も本業がPGではないので、ざっくりでも一連の流れは確認しないと安心して渡せないので
見る所がいっぱいになってしまうんですよね。

元々おせっかい気質なのと、他の方の環境や異なる端末での状況も知る事が出来るので
私にもメリットはありますので、あまり気にされなくても大丈夫ですよ。

書込番号:22431999

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/31 01:04(9ヶ月以上前)

>たく0220さん

お返事ありがとございます。

>私も本業がPGではないので

てっきり本職のカタかと。だって、なんでもご存じだし、あまりにお仕事が早いし、成果物の完成度もちょう高いので。

>元々おせっかい気質なのと、他の方の環境や異なる端末での状況も知る事が出来るので

そういうのって世の中では、「おせっかい」ではなく、「親切」っていうと思いますよ。

>私にもメリットはありますので、あまり気にされなくても大丈夫ですよ。

たく0220さんからみて多少なりともメリットがあるのであれば、それに勝る喜びはありません。
まだまだお世話になることが多いかと思いますが、これに懲りず、今後ともよろしくお願いいたします。m(_ _)m

あと、何回も同じことをいって申し訳ありませんが、このしくみ、本当にすばらしいです。
初めての本格的NASとしてQNAPを買って、PLEX とか、MacのTimemachieとか、いろいろと試してます。
でも、「修正版daapd」以上に「あって、よかったー」と思ったモノは、他にありません。
要するに......サイコーです!!!!

書込番号:22432019

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/31 01:20(9ヶ月以上前)

>たく0220さん

ちょっと別件です。
もしおわかりでしたら、ご教示いただきたいのですが。

AnkerのEufy Genieをご購入なさっていたかと思います。
(これはこれで、AirPlayの検証のためにわざわざご購入いただいたわけで、本当にありがたく思っております)。

で、質問というのは
・EufyにAmazonアカウントの設定をせず、単なるAirPlay受信機として使用することは可能ですか?

<想定用途>
・Amazonアカウントの設定をしない。
・Eufyのステレオミニ出力から、別のスピーカーの入力に挿す。
・daapd上の音源をiPadのRemoteで操作して、EufyでAirPlay受信し、別スピーカーで再生。

<Amazonアカウントを設定したくない理由>
・Amazon謹製デバイス以外に、Amazonのアカウント/パスワードを入力したくない。(セキュリティ上の話)。
・ただし、Eufy専用にAmazonアカウントを作るのもアリかもしれませんが。

<備考>
・daapd + Remoteの使い勝手があまりにすばらしいので、DS-A5を別の場所から持ってきて、AirPlay再生できるスピーカーを増やしました。
・AirPlay再生できるスピーカーを、もっともっと増やしたいと思っています。
・1,500円ぐらいになったら、Eufyを買ってもいいかなー、と。(いま見たら、2,700円ぐらいでした)。

書込番号:22432036

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/01/31 02:12(9ヶ月以上前)

>tanettyさん

>・EufyにAmazonアカウントの設定をせず、単なるAirPlay受信機として使用することは可能ですか?

><想定用途>
>・Amazonアカウントの設定をしない。

今Amazonアカウントのサインアウトを確認してから、daapd経由で再生してみましたが問題なさそうです。
ただ起動時に音声メッセージで「…Amazonアカウントにログインしてください」と毎回言われるぐらいです。
EufyHomeでの設定は下記のような感じでした。
https://smartio.life/smartspeaker/eufy-genie/setup/

>・Eufyのステレオミニ出力から、別のスピーカーの入力に挿す。
>・daapd上の音源をiPadのRemoteで操作して、EufyでAirPlay受信し、別スピーカーで再生。

夜間のテスト時はイヤフォンで確認してたので大丈夫そうです。
付属する説明書にも外部スピーカーへの接続方法の記載があります。
ただヘッドフォンアウトぽいので、ラインアウトでの入力を期待しているスピーカーだとインピーダンスマッチングとかの関係で
ノイズや破損の原因にならないか、ちょっと心配だったりします。(この辺あまり詳しくない ^^;)

書込番号:22432082

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/31 02:53(9ヶ月以上前)

>たく0220さん

光速でのご確認&ご返信、誠にありがとうございます!
安くなったら、購入を検討してみようと思います。

>今Amazonアカウントのサインアウトを確認してから、daapd経由で再生してみましたが問題なさそうです。

おお。すばらしい!

>ただ起動時に音声メッセージで「…Amazonアカウントにログインしてください」と毎回言われるぐらいです。

あまりに気になるようだったら、ダミーアカウントをせってするという逃げ道もありますから、まずは運用してみて様子見...ってとこでしょうか。

>EufyHomeでの設定は下記のような感じでした。
https://smartio.life/smartspeaker/eufy-genie/setup/

ふむふむ。Amazonアカウントとは別に、何やらアカウント設定が必要なんですか。うーん、Ankerらしからぬつくりですね。でも、これは仕方ないか。

余談ですが、GGMM社のE2, E5という、AirPlayスピーカー兼Alexa対応スピーカーを持っています。これがまた、トンデモ仕様になってまして。

E2もE5も、Wi-Fi中継機能を持っています。それはいいのですが、こんな仕様なんです。
(a) 中継機能をOFFできない。
(b) 中継用SSIDは、固定。(ggmm_MACアドレスの一部...みたいな)
(c) 中継用SSIDのパスワードは、固定 (ggmm123456...だったかな?)
(d) 中継時SSIDのステルスは、ON/OFF可能。

つまり、この仕様を知っている人が、自宅の近くに来ると、LANに簡単に侵入できてしまうわけで。(SSIDをツールでスキャン→ggmm_XXXXというSSIDがあったら、ggmm123456で入る)。自宅LANに巨大なセキュリティホールを抱えることになります。

怖いので、しばらく電源を入れてませんでした。こないだひさしぶりに電源を入れたら、ファームウェアのアップデートがあったのでしょうか、(c)のみ改善されていて、中継用SSIDのパスワードを自由に変更できるようになってました。なので、今はこれらスピーカーを使ってますが、どうにも気持ちが悪いですね。

>ただヘッドフォンアウトぽいので、ラインアウトでの入力を期待しているスピーカーだとインピーダンスマッチングとかの関係で
>ノイズや破損の原因にならないか、ちょっと心配だったりします。(この辺あまり詳しくない ^^;)

細やかな気くばりに感謝いたします。

DAPからスピーカーにつなげるなど、ヘッドフォン出力をアンプにつなげたことは、けっこうありますが、壊れたことはいちどもありません。なので、よっぽど大丈夫だろう、と考えています(もちろん自己責任でおこないます)。経験上、いちばん気をつけないといけないのは、ステレオミニケーブルの抜き差しを、スピーカーの電源が入った状態でおこなわないことだと思ってます(ブチンっっっって、盛大な音がスピーカーから鳴ります。この抜き差しだけは、壊れる原因になってもおかしくないと感じます)。

書込番号:22432105

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/31 03:10(9ヶ月以上前)

ジャンルClassicalが、ちゃんと消えました。

>たく0220さん

やったー。
理由はわかりませんが、ジャンル「Classical」がなくなってました。

パッチあてをする際、新しいconfigフォルダを作成・指定しました。
(なので、songs3.dbも、新しく作り直されています)
なお、confファイルは、既存ファイルを、新configフォルダにコピーしました。

とにかく、結果オーライです。

おっと3時だ(汗)。では、おやすみなさい。

書込番号:22432110

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/31 03:47(9ヶ月以上前)

iPhone版 → @リリース年の降順、Aアルバム名(読み)の昇順で並べる。

・iPad版 → @アーティスト名(読み)の昇順、Aアルバム名(読み)の昇順で並べる

>たく0220さん

最新版(アーティスト並び、アルバム並びの両修正版)のdaapdを使った場合、Remoteの挙動が、iPhone版とiPad版で違うようです。

画面下端の「アルバム」選択時
・iPhone版 → @リリース年の降順、Aアルバム名(読み)の昇順で並べる。
・iPad版 → @アーティスト名(読み)の昇順、Aアルバム名(読み)の昇順で並べる(※)

※ iPad版については、例外的な並びも見られるので、他にも条件があるのかもしれません。

おもしろいですね。
用途によって使い分けできるので、これはこれで、むしろ具合がいいような気がします。

困った。眠くない...。先日の深夜作業で、どうも生活のリズムが乱れてしまったようです。

書込番号:22432120

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/01/31 23:57(9ヶ月以上前)

Remote互換アプリについて、daapdをiTunesサーバとしたときの動作を検証してみました。
・すべてAndroidアプリです。
・FireOS端末でも動作検証しており、どのアプリでも、結果はAndroid端末と変わりませんでした。


<検証結果>

○ 『Remote for iTunes のトライアル版』…正常動作する。

× 『Retune』
 ・daapdがRetuneからの接続要求を発見できない。
   (daapd管理画面上で、「Remote Paring: No active paring request」)
 ・iTunes(Mac)をiTuneサーバとしたときは、接続・再生ともに正常動作する。

× 『Diapente music stream player』
 ・アプリを起動できない。

× 『TuneRemote+』 … GooglePlayで配布してない。



<検証端末>

・Xperia Z3 tablet compact, Android 4.4.4 , セキュリティアプリはavast

・Fire HD 8, FireOS 6.3.0.2, セキュリティアプリなし



<備考>

・互換アプリについては、下記リンクの「Supported clients」の項を参考にした。
 http://ejurgensen.github.io/forked-daapd/

・Fire HD 8では、下記リンクの方法で導入したGooglePlayから、各アプリをインストールした。
 https://ygkb.jp/6312

書込番号:22434175

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/01 00:10(9ヶ月以上前)

Android版のRemote互換アプリ 『Remote for iTunes のトライアル版』は、本家iOS版『Remote』より使いやすい、と感じます。

仕様@Aのため、Remoteより高速に選曲できます。それが大きいです。

@ 日本語名アーティストを含め、スクロールーバーでアーティスト一覧を高速スクロールできる仕様。
・Remoteでは、「A,B,C..,Z, , #」という目次があり、英字のアーティストは高速にスクロールできるが、日本語アーティストは高速にスクロール不可。

A [アーティスト] - [アルバム] の順に選んで、初めて曲一覧が出る仕様。
・たとえばそのアーティストが 各10曲 x アルバム20枚 = 200曲 だとして、最悪でも20行スクロールすればよい。
・Remoteだと、この場合、最悪200行スクロールする必要がある。

書込番号:22434196

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/01 00:36(9ヶ月以上前)

DAAPクライアントについても、検証してみました。
・いずれも、Androidアプリです。
・音はあくまで、Android端末で鳴ります。
 - Remoteではなく、DAAPなので。
 - Remoteのように、リモコンとして使用するわけではありません。

× 『DAAP Media Player』
 ・いちどだけ再生に成功したが、2回め以降は、楽曲すら覗けず。
 ・1回めに楽曲を覗けたときも、アルバムアーティストではなく、アーティストで並んでいた。

○ 『Music Pump DAAP Player Demo』
 ・再生可能。
 ・アルバムアーティストでなく、アーティストで並んでしまう。
 ・アルバム選択時、曲が全曲表示されないが、これはデモ版だからと思われる。
 ・有料版は、410円

△『SharePlay』
 ・再生できたり、できなかったり。(ALACがダメっぽい)
 ・アルバムアーティストでなく、アーティストで並んでしまう。

書込番号:22434233

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/01 00:40(9ヶ月以上前)

『Music Pump DAAP Player Demo』も『SharePlay』と同じく、ALACの再生がダメっぽかったです。

書込番号:22434240

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/01 00:44(9ヶ月以上前)

Androidアプリについて、私の評価をまとめますと。

Remote互換アプリ
→『Remote for iTunes のトライアル版』でOK。

DAAPクライアントアプリ
→ 実用に耐える品質のものナシ。

書込番号:22434247

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/01 18:49(9ヶ月以上前)

iOS「Remote」アプリに対する下記要望@〜Cを、Appleに伝えました (2019/2/1)。
叶えてくれるとうれしいのですが。

ちなみに、iOS「ミュージック」アプリの挙動は、現状すでに@〜Cのとおりになっています。
なので、「ミュージックの挙動にRemoteの挙動を合わせてほしい」という位置づけの要望になるでしょうか。
…てなことも含めて、Appleに話をしました。


@ [アーティスト]選択後のアルバムの並びは、リリース年の新しい順にしてほしい。

A アーティスト目次「A, B, …, Z, #」に、「あ・か・さ・た・な…」を追加してほしい。
→「#」は廃止

B アーティストの並びを、日本語→英字の順にしてほしい。

C アーティスト選択後のアルバム一覧(右ペイン)には曲を表示しないで、ジャケットだけにしてほしい。
→右ペインのジャケットをタップしたら、左ペインにジャケット、右ペインに曲一覧が出てほしい。

書込番号:22435673

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/02 20:52(9ヶ月以上前)

>tanettyさん

こんばんは。

>理由はわかりませんが、ジャンル「Classical」がなくなってました。

ペアリングし直した事によって、Remote側のキャッシュが変わったのかもしれませんね。


>Remoteの挙動が、iPhone版とiPad版で違うようです。

Remote側にソートを変更出来る機能があればいいのですが…


>Remote互換アプリについて、daapdをiTunesサーバとしたときの動作を検証してみました。

Androidアプリですが、最近は更新が止まってるのが多くて
Androidの仕様変更とかで互換が出来なくなってるのではと思います。

「Remote for iTunes」も今は使えてるけど、更新止まってるのでいつまで使えるか心配ではある。
Android 8.0.0でも動作はしてるので、しばらくは大丈夫かな…


>iOS「Remote」アプリに対する下記要望@〜Cを、Appleに伝えました (2019/2/1)。
>叶えてくれるとうれしいのですが。

この辺を設定で選べるようにしてくれると、もっと良くなると思うのですが
自由度がないんですよね「Remote」アプリは…

書込番号:22438233

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/02 22:40(9ヶ月以上前)

>たく0220さん

こんばんは。

>ペアリングし直した事によって、Remote側のキャッシュが変わったのかもしれませんね。

なるほど、そういうことかもしれませんね。

>Androidアプリですが、最近は更新が止まってるのが多くて
>Androidの仕様変更とかで互換が出来なくなってるのではと思います。

悲しい…。
(iOS機であろうと)Remoteを使ってる人が、かなりの少数派だと思いますし、
ましてやAndroidとあっては、メンテナンスが滞る(というかほぼ放置状態)なのは、仕方がないのカナ…。
使ってみると、daapd+Remoteの組み合わせは、死ぬほど便利なんですけどねぇ。

>「Remote for iTunes」も今は使えてるけど、更新止まってるのでいつまで使えるか心配ではある。
>Android 8.0.0でも動作はしてるので、しばらくは大丈夫かな…

心配です。
ただ、8.0.0でも動作してるというお話を伺い、ちょっと安心しました。
私の手持ち端末は、いまだに4.4.4ですので(笑)。

>Remote側にソートを変更出来る機能があればいいのですが…
>この辺を設定で選べるようにしてくれると、もっと良くなると思うのですが
>自由度がないんですよね「Remote」アプリは…

ホントにおっしゃるとおりだと思います。
Appleサポートの人に、画面を見せながら、「こうしてほしい」という説明をしたら、
ひとつひとつ「確かにその方が使いやすいですね」と納得してくれました。
ちょっとで要望が実現されるとうれしいのですが。

書込番号:22438564

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/02 22:46(9ヶ月以上前)

画像@ iPhoneでは、ジャケットが入れ替わっている。

画像A iPadでは、ジャケットが入れ替わらず、正常に表示される。

>たく0220さん

下記症状を下記対応で解決しました。
(別途、まとめスレッドを作るさいに、項目「困ったときは」に載せる予定です。


▼ 症状概要
・3枚のアルバムのジャケットが入れ替わっている。

▼ 対応概要
・悪さをしてたアルバムの音源を、入れ替えた。
  「AAC(購入済), 256kbps, Mastered for iTunes」→「ALAC」

▼ 症状と対応の詳細
・乃木坂46のアルバム全24枚のうち、3枚のジャケットが、iPhone/iPad版Remote上でのみ、入れ替わっている(画像@)。
 アルバムAのジャケットが写真Bに、BがCに、CがAになっている。
 A. 乃木坂46『生まれてから初めて見た夢 (Complete Edition)』
 B. 乃木坂46『逃げ水 - Single』
 C. 乃木坂46『インフルエンサー - Single』

・入れ替わり方が、iPhoneとiPod touchで同じ。
  → 端末固有でもOS固有の問題でもない、ということ。
 - iPhone 5S, iOS12.1.2, Remote4.4.3
 - iPod touch 6th, iOS9.3.5, Remote4.4.3

・そのジャケットは、iPad版Remoteでは入れ替わらず、正常表示されている(画像A)。
 →データベース側は正しい?
 - iPad Pro 10.5, iOS 12.1.1, Remote 4.4.3

・各種再起動を何回か試すも、症状変わらず。
 daadp停止 → songs3.db, cache.db削除 → Remote削除
 → daapd起動 → iPhone再起動 → Remote導入 → Remote接続

・乃木坂46の楽曲を全消・全入れしても、ダメ。
 →全消し・全入れの後、A,B,C以外にも入れ替わったアルバムがあった。

・Aのみライブラリから削除 → BもCもジャケットが正常になる。

・Aは、「AAC(購入済)」かつ「Mastered for iTunes」だった。
 「ALAC」に入れ替えたら、すべて正常表示されるようになった。

・Aにくっついていたのは、400キロバイト弱のJPEG。特段大きくない。

・「AAC(購入済)」のアルバムは、amazarashiでも持っているが、ジャケット入れ替わりは起こっていない。
  乃木坂46との違いは、「Mastered for iTunes」か否か。

書込番号:22438584

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/02 22:49(9ヶ月以上前)

「Mastered for iTunes」の楽曲の情報をMacのiTunesで見たところ。

>たく0220さん

ジャケット入れ替わり問題、いちおうは解決したわけですが。
何なんでしょうねぇ、いったい。

以下の点が不明です。何か思いつくことはないでしょうか?

・なぜ入れ替わるのか?

・本当に「Mastered for iTunes」なり「購入済AAC」なりが原因なのか?

・iPhone/iPod touchでは異常なのに、なぜiPadでは正常でなのか。
 - 仮説:
  daapdは、ジャケット画像を、都度都度ファイルから持ってくるわけではない?
  ジャケットのサムネイル的なものを、大(iPad用), 小(iPhone用)別に持っている?
 - 仮説への反論
  テーブルfiles内に、画像パスに相当するフィールドはなさげ。

書込番号:22438589

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/02 22:52(9ヶ月以上前)

訂正


・乃木坂46のアルバム全24枚のうち、3枚のジャケットが、iPhone/iPod touch版Remote上でのみ、入れ替わっている(画像@)。


・乃木坂46のアルバム全24枚のうち、3枚のジャケットが、iPhone/iPad版Remote上でのみ、入れ替わっている(画像@)。

書込番号:22438597

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/02 23:10(9ヶ月以上前)

>たく0220さん

書き忘れました。

症状詳細の補足です。

・ジャケットが入れ替わっていた3枚のアルバムについて、MacのiTunesをiTunesサーバとしたときは、iPhone/iPod touchのRemoteでも正常に表示された。

・ジャケットが入れ替わっていた3枚のアルバムは、いずれもリリース年が2017年。

・乃木坂46のうちリリース年が2017年のアルバムは、全4枚。

書込番号:22438644

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/03 22:46(9ヶ月以上前)

>tanettyさん

>・3枚のアルバムのジャケットが入れ替わっている。

daapdのジャケットの処理は
1.「forked-daapd.conf」の126行目にある設定で変わります。
# Artwork file names (without file type extension)
# forked-daapd will look for jpg and png files with these base names
# artwork_basenames = { "artwork", "cover", "Folder" }

デフォルトの設定では、"artwork", "cover", "Folder"及びその曲が有るフォルダ名と同じ名前で、拡張子が「jpg」と「png」のファイルがあれば優先して使用されます。

2.上記「1.」に該当するファイルが無い場合は、各曲の中のジャケットを確認し存在すればデーターを抽出する。

3.ジャケットはRemoteからのrequestにあわせて、daapdが必要に応じてリサイズして送っている

下記のリクエストでは176×176ピクセルでのrequestが来ている(iPhone4 + Remote アルバム指定)
[DEBUG] daap: DAAP request: '/databases/1/groups/4/extra_data/artwork?mw=176&mh=176&group-type=artists&session-id=200646938'

ちょっと疲れてしまってて、調べきれてないですが概要はこんな感じです。
入れ替わってしまう原因が、思いつかないのですが
daapdの処理の過程で何か問題がありそうな気がしますね。

書込番号:22441380

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/04 00:47(9ヶ月以上前)

>たく0220さん

いつもお世話になっております。お忙しいところ恐れ入ります。

>デフォルトの設定では、"artwork", "cover", "Folder"及びその曲が有るフォルダ名と同じ名前で、拡張子が「jpg」と「png」のファイルがあれば優先して使用されます。

なるほど、そういうことでしたか。
最初に設定ファイルを確認すべきでした。私のばかばかー。
さっそく見てみたら、現状では、こうでした。

# Artwork file names (without file type extension)
# forked-daapd will look for jpg and png files with these base names
# artwork_basenames = { "artwork", "cover", "Folder" }
artwork_basenames = { }

# Enable searching for artwork corresponding to each individual media
# file instead of only looking for album artwork. This is disabled by
# default to reduce cache size.
# artwork_individual = false

>下記のリクエストでは176×176ピクセルでのrequestが来ている(iPhone4 + Remote アルバム指定)
[DEBUG] daap: DAAP request: '/databases/1/groups/4/extra_data/artwork?mw=176&mh=176&group-type=artists&session-id=200646938'

ああああああああああああ。そっかー、ログですよね。
なんか、スミマセン。次のことは、自分でもできることなのに。
思いつきませんでした。今後は

・設定ファイルを見る。
・ログレベルを上げたうえで、各種操作を行いながら、ログファイルを見る。

という方法論を意識しながら、いろいろ調べてみようと思います。

>ちょっと疲れてしまってて、調べきれてないですが概要はこんな感じです。

お疲れのところ、お調べいただき、ありがとうございました。また、誠に申し訳ありませんでした。
たく0220さんと私のあいだに、知識やスキルの巨大な差を感じるあまり、どうやらたく0220さんに頼りすぎていたみたいです。反省しております。

>入れ替わってしまう原因が、思いつかないのですが
>daapdの処理の過程で何か問題がありそうな気がしますね。

上記方法論で、daapdの処理の過程を、私自身で追ってみようと思います。自分でできることは、自分でする。あたりまえのことなのに。

本当にありがとうございました。m(_ _)m

書込番号:22441614

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/07 00:49(9ヶ月以上前)

>tanettyさん

説明してなかったので、補足ですが
ビルドした「forked-daapd」のバージョンは最新のリリースをDLする様になっていますので現在は26.4になります。
リリース後も修正や機能の追加が行われていますが、それらは次のリリースバージョンで適用される事になります。

で、Androidアプリの「Retune」ですが
ペアリング出来ないのは「forked-daapd」側の問題だったそうです。

Pairing connection test to Android Retune fails incorrectly #602
https://github.com/ejurgensen/forked-daapd/issues/602

26.4で修正済みなので、あれ〜?っと思ってたのですが
見ていた所の内容を勘違いしてたみたいで、まだ未修正でした ^^;

26.5のリリース後、もしくはmasterブランチのデータでビルドすれば
「Retune」でのペアリングは出来るようになると思います。

という事での報告ついでの補足説明でした。

書込番号:22448259

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/07 06:19(9ヶ月以上前)

>たく0220さん

おはようございます。いつもお世話になっております。

>で、Androidアプリの「Retune」ですが
>ペアリング出来ないのは「forked-daapd」側の問題だったそうです。

なるほど、そうだったんですか。ご教示いただき、ありがとうございました。

>ビルドした「forked-daapd」のバージョンは最新のリリースをDLする様になっていますので現在は26.4になります。

??????
私の知識量ではおっしゃっていることが難しくてよくわからなかったので、とりあえずDockerfileを覗いてみました。

Dockefileのの中に次の記述があるようです。(http のところは、ttpに変えてます)。

curl -o \
/tmp/source/antlr-3.4-complete.jar -L \
ttp://www.antlr3.org/download/antlr-3.4-complete.jar && \
DAAPD_VER=$(curl -sX GET "ttps://api.github.com/repos/ejurgensen/forked-daapd/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]') && \

curl -o \
/tmp/source/forked.tar.gz -L \
"ttps://github.com/ejurgensen/forked-daapd/archive/${DAAPD_VER}.tar.gz" && \

コマンドは私、読む能力が圧倒的に不足しているのですが、雰囲気で察してみると…。
この(↑)記述には、こういう指示(↓)が書いてある、と理解しましたが、合ってますでしょうか?
・リリース済forked-daapdの最新のバージョン番号をサイトからとってきて
・それをDAAPD_VERという変数に入れることにより
・forked-daapdのソースの最新版をダウンロードする

なので、(Dockefileをもとに)buildすると、現時点の最新版である26.4のforked-daapdがビルドされる、と?

>26.5のリリース後、もしくはmasterブランチのデータでビルドすれば
>「Retune」でのペアリングは出来るようになると思います。

おお。すばらしいですね。
ところで、masterブランチとは何でしょうか???

なんだか質問ばかりで申し訳ありません。すべて私の知識不足のせいです。m(_ _)m

書込番号:22448437

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/07 07:03(9ヶ月以上前)

>たく0220さん

スミマセン。質問です。一生懸命読み解こうとするも、どうにもよくわからず...。

>で、Androidアプリの「Retune」ですが
>ペアリング出来ないのは「forked-daapd」側の問題だったそうです。

>Pairing connection test to Android Retune fails incorrectly #602
https://github.com/ejurgensen/forked-daapd/issues/602

ここ↑を見ると、こう↓あります。

I was able to reproduce and found the cause. It was a timing problem: Retune announces the pairing service slightly before the service is actually available (the port open), which I suppose is kind of a bug in the app. Since forked-daapd's connection test is very fast, the service would not yet be available and that is why you get connection refused.

これ(↑)って、こういう(↓)ことなんでしょうか?


<成功するケース>
準備:Remote互換アプリは、待ち受けポートを開く。

要求:Remote互換アプリは、forked-daapdに接続(ペアリング)を要求

応答:forked-daapdは、Remote互換の待ち受けポートに対し、接続テスト (←これが劇速)

成功:接続完了。


<失敗するケース (Retune)>
要求:Retuneは、forked-daapdに接続(ペアリング)を要求

応答:forked-daapdは、Retuneの待ち受けポートに対し、接続テスト (←これが劇速)

失敗:接続失敗

準備:Remote互換アプリは、待ち受けポートを開く。(←いまやってちゃダメでしょ)


つまり、Remoteが自分の準備もできてないのに「つなげたいです!」って伝えちゃってるから、つながらないんだと…。

ん? でもこれだと、悪いのは、forked-daapdというより、Retuneのような気が。

forked-daapd側の修正というのは、そんな段取りの悪いRetuneくんにも対応できるよう、要求を受け取ってから応答するまでの時間を長くする…的なことなのでしょうか?

書込番号:22448474

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/07 07:07(9ヶ月以上前)

訂正

【正】
準備:Retuneは、待ち受けポートを開く。(←いまやってちゃダメでしょ)

【誤】
準備:Remote互換アプリは、待ち受けポートを開く。(←いまやってちゃダメでしょ)

書込番号:22448483

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/07 07:24(9ヶ月以上前)

>tanettyさん

おはようございます。

>この(↑)記述には、こういう指示(↓)が書いてある、と理解しましたが、合ってますでしょうか?

その通りですよ。


>ところで、masterブランチとは何でしょうか???

参考:ブランチとは【ブランチ】 | サルでもわかるGit入門
https://backlog.com/ja/git-tutorial/stepup/stepup1_1.html

「forked-daapd」はGitHubというソフトウェア開発のプラットフォームで公開されています。
で、簡単に説明すると「masterブランチ」は最新版のソースコードになります。
作者によるのですが、ある程度安定したらとか、期間ごととかでまとめてリリースバージョンを作成します。
リリースバージョンは公開後そこで一旦更新はされなくなります。
「masterブランチ」は最新版ですが、常に変わってしまう可能性がありますので他者と比較する際には不都合だったりします。
私が作ったパッチも上手く動かないかもしれません。

ブランチはmasterブランチのコピーを作成して変更を加え問題無いかテストする時などに使いますし
他の使い方も出来ます。

Version 26.4と現在のmasterブランチとの差分は
下記URLの「released this on 2 Oct 2018 &#183; 183 commits to master since this release」
内のリンク「183 commits」をクリックするとリリース後に修正変更された内容が判ります。
https://github.com/ejurgensen/forked-daapd/releases

書込番号:22448502

ナイスクチコミ!1


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/07 07:56(9ヶ月以上前)

>tanettyさん

>ん? でもこれだと、悪いのは、forked-daapdというより、Retuneのような気が。

>forked-daapd側の修正というのは、そんな段取りの悪いRetuneくんにも対応できるよう、要求を受け取ってから応答するまでの時間を長くする…的なことなのでしょうか?

まぁ確かに、Retuneの不具合なんだと私も思いますよ ^^;
けど、製作者側はforked-daapdにも問題ありかなと感じたのかテスト方法を変更して
Retuneでもペアリング出来るようにしてくれてます。

本当にスゴイ人達ってのは、forked-daapdの作者達で
私は多少のヒントを伝えてるだけですので、もすこし気軽に聞いてもらっても大丈夫ですよ ^^

書込番号:22448538

ナイスクチコミ!1


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/08 12:50(9ヶ月以上前)

>tanettyさん

こんにちは。

ジャンルの件ですが、昨日ようやく修正できました。
db登録時に
 「Classical」 -> 「クラシック」
 「Jazz」 -> 「ジャズ」
と変換して登録出来るようになりました。

他のジャンル等、まだ動作確認中ですが
出来上がったら、いりますか?

書込番号:22451276

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/08 13:12(9ヶ月以上前)

>たく0220さん

いろいろ懇切丁寧に教えていただいているのに、何のレスもできておらず、誠に申し訳ありません。m(_ _)m

じつは昨晩、職場に泥棒が入りまして。
その関係で、かなりバタバタしております。
昨日から寝てません(泣)。

いまはちょびっとだけ休憩中ですが、もうちょっと片付けたら、寝ます。
のつもり。寝たい。寝れるといいけど。無理カモ...。

>出来上がったら、いりますか?

もちろんです!!
本当に本当に本当にありがとうございます!!!

いつも同じことを申し上げますが、たく0220さんには、ひたすら感謝デス!
もう、それしかありません。

書込番号:22451333

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/08 20:36(9ヶ月以上前)

こんばんは。

>じつは昨晩、職場に泥棒が入りまして。

なんて言ったら良いのか、大変ですね。心中お察し致します。
暫くは忙しいかと思いますが、体を壊さないよう御自愛ください。
こっちの返信は時間に余裕がある時で大丈夫ですので ^^


さて、iTunesのジャンルを一通り確認してみたところ
プルダウンメニューから選択できる下記26個のうち16個が「クラシック」同様に英語に変わりました。

「アニメ、イージーリスニング、インダストリアル、エレクトロニック、オルタナティブ、カントリー、クラシック、サウンドトラック、ジャズ、ダンス、チルドレン・ミュージック、テクノ、トランス、ニューエイジ、ハウス、ヒップホップ/ラップ、フォーク、ブック&スポークン、ブルース/R&B、ポップ、ポップ(日本)、ホリデーミュージック、ロック、ワールド、宗教音楽、無分類」

NG 16個
tag, dappd(ffmpeg), iTunes
(2), Country ,カントリー
(3), Dance ,ダンス
(8), Jazz ,ジャズ
(10),New Age ,ニューエイジ
(13),Pop ,ポップ
(17),Rock ,ロック
(18),Techno ,テクノ
(19),Industrial ,インダストリアル
(20),Alternative ,オルタナティブ
(24),Soundtrack ,サウンドトラック
(31),Trance ,トランス
(32),Classical ,クラシック
(35),House ,ハウス
(52),Electronic ,エレクトロニック
(80),Folk ,フォーク
(98),Easy Listening, イージーリスニング

数個だと思ってたので、修正しやすい様に今書き直し中です (T T)

書込番号:22451945

ナイスクチコミ!1


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/08 23:16(9ヶ月以上前)

>tanettyさん

今回のパッチは長いのでpastebinのみに貼っておきますので、消えてたら連絡ください。
ファイル保存時の文字コードがUTF-8とShift_JISで動作が変わってしまうので、どちらでも大丈夫な様に変更しています。
ちょっと見ずらいですが、良い方法があったような気がするのですが忘れてしまったので
そのうち思い出したら変更するかもしれません。

パッチファイルを適当なテキストエディタで新規に作成してください
ファイル名:forked-daapd-26.4_fix-genre.patch

https://pastebin.com/PxWpqs5S

作成後、「Dockerfile」があるフォルダへ移動もしくはコピーしてください。


・以前のビルド手順からの変更点

以前の「forked-daapd-26.4_sort.patch」と「forked-daapd-26.4_artist-order.patch」と一緒にパッチを適用する形になります。

5.Dockerfileの変更
変更箇所の追加

4行目に下記3行のように1行追加
COPY forked-daapd-26.4_sort.patch /tmp/source/
COPY forked-daapd-26.4_artist-order.patch /tmp/source/
COPY forked-daapd-26.4_fix-genre.patch /tmp/source/

68行目(元65行目)に下記3行のように1行追加
(「 cd /tmp/source/forked-daapd && \」の下に追加する形で)

patch -p1 < /tmp/source/forked-daapd-26.4_sort.patch && \
patch -p1 < /tmp/source/forked-daapd-26.4_artist-order.patch && \
patch -p1 < /tmp/source/forked-daapd-26.4_fix-genre.patch && \


後は以前の手順どおりにビルド後、コンテナを作成してください。

書込番号:22452308

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/09 05:27(9ヶ月以上前)

>たく0220さん

おはようございます。

>なんて言ったら良いのか、大変ですね。心中お察し致します。

お気遣い、ありがとうございます。

昨日は早めに帰宅できたのですが、家に着いた途端、爆睡してまして(笑)。起きたら、なんと朝5時でビックリ。

さてさて。

>「masterブランチ」は最新版のソースコードになります。

masterブランチ。たいへん勉強になりました。なんかヘンなコトバだなぁって感じてたんですよぉ。masterは本流。ブランチは支流。ん? どゆこと?…って。

「正式版じゃないけど、暫定の最新版です。なので、ちょこちょこ変動するよ」ぐらいの意味でとらえました。

正式な最新版に対し、個別かつ並列におこなわれたアップデート(不具合修正や機能追加など)を、あるていどまとめて反映させたもの…ぐらいの感じでしょうか。なので、支流のなかの本流であり、じきに本当の本流になりますよ…的なことカナ? データベースでいうと、複数のトランザクションに対し、とりあえずコミットしました...みたいな?

>本当にスゴイ人達ってのは、forked-daapdの作者達で
>私は多少のヒントを伝えてるだけですので、もすこし気軽に聞いてもらっても大丈夫ですよ ^^

ありがとうございます。私からみると、みなさん高天原(タカマガハラ)の神々です。たく0220さんはニニギノミコト。こちらのスレッドにお書きいただけるのは、天孫降臨って感じです。下界かつ下賤の身たる私に、懇切丁寧なご説明・ご指導をくださり、ひたすら感謝する次第でございます。

>数個だと思ってたので、修正しやすい様に今書き直し中です (T T)

わー。けっこうあったんですね。お手数かけ申し訳ありません。

>後は以前の手順どおりにビルド後、コンテナを作成してください。

本当にありがとうございました。実施しましたら、結果を報告いたします。

書込番号:22452619

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/09 21:22(9ヶ月以上前)

「Classical」と出ちゃいます。

>たく0220さん

いつもお世話になっております。

ジャンルのパッチあて作業、完了しました。

うーん。うまいこといきませぬ…。
iTunesから「クラシック 」を「クラシック」に変更(語尾のスペースを削除)したのですが、
Remoteでジャンルを見ると、「Classical」と表示されちゃいます。
その中にあるアルバム表示は正常です。

私のやり方が何か間違っているのでしょうか?

下記のとおり、少し前に戻ってやり直してみましたが、症状は変わりませんでした。

・念のためDB削除するも、変わらず。
 (daad停止→DB削除→daapd起動)

・念のためビルドからし直すも、症状変わらず
 (daapd停止→DB削除→コンテナ削除→イメージ削除→ビルド→コンテナ作成→daapd起動)

・4端末で確認しましたが、いずれも同じ症状でした。
 - iPad Pro 10.5, iOS 12.1.4, Remote 4.4.3
 - iPhone 5s, iOS 12.1.2, Remote 4.4.3
 - iPod touch 6th iOS 9.3.5, Remote 4.4.3
 - iPod touch 4th, iOS 6.1.6, Remote 3.0.1

なお、Dockerファイルは、次のようにしております(該当部分の前後のみ抜粋)。

FROM lsiobase/alpine.armhf:3.8 as buildstage
############## build stage ##############

COPY forked-daapd-26.4_sort.patch /tmp/source/
COPY forked-daapd-26.4_artist-order.patch /tmp/source/
COPY forked-daapd-26.4_fix-genre.patch /tmp/source/
RUN \

cd /tmp/source/forked-daapd && \
patch -p1 < /tmp/source/forked-daapd-26.4_sort.patch && \
patch -p1 < /tmp/source/forked-daapd-26.4_artist-order.patch && \
patch -p1 < /tmp/source/forked-daapd-26.4_fix-genre.patch && \
autoreconf -i -v && \

書込番号:22454480

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/09 21:31(9ヶ月以上前)

>たく0220さん

・「forked-daapd-26.4_fix-genre.patch」については、Raw Paste Dataからコピーしております。
・ファイル「「forked-daapd-26.4_fix-genre.patch」は、ディレクトリ「docker-daapd-armhf-145」の下に置いております。

--(以下、「forked-daapd-26.4_fix-genre.patch」の中身より、一部のみ抜粋)--

+/* Fix Genre to Japanese */
+static const struct genre_fix_map genre_fix_map[] =
+ {
+ { "Country", "\xE3\x82\xAB\xE3\x83\xB3\xE3\x83\x88\xE3\x83\xAA\xE3\x83\xBC" },
+ { "Dance", "\xE3\x83\x80\xE3\x83\xB3\xE3\x82\xB9" },
+ { "Jazz", "\xE3\x82\xB8\xE3\x83\xA3\xE3\x82\xBA" },
+ { "New Age", "\xE3\x83\x8B\xE3\x83\xA5\xE3\x83\xBC\xE3\x82\xA8\xE3\x82\xA4\xE3\x82\xB8" },
+ { "Pop", "\xE3\x83\x9D\xE3\x83\x83\xE3\x83\x97" },
+ { "Rock", "\xE3\x83\xAD\xE3\x83\x83\xE3\x82\xAF" },
+ { "Techno", "\xE3\x83\x86\xE3\x82\xAF\xE3\x83\x8E" },
+ { "Industrial", "\xE3\x82\xA4\xE3\x83\xB3\xE3\x83\x80\xE3\x82\xB9\xE3\x83\x88\xE3\x83\xAA\xE3\x82\xA2\xE3\x83\xAB" },
+ { "Alternative", "\xE3\x82\xAA\xE3\x83\xAB\xE3\x82\xBF\xE3\x83\x8A\xE3\x83\x86\xE3\x82\xA3\xE3\x83\x96" },
+ { "Soundtrack", "\xE3\x82\xB5\xE3\x82\xA6\xE3\x83\xB3\xE3\x83\x89\xE3\x83\x88\xE3\x83\xA9\xE3\x83\x83\xE3\x82\xAF" },
+ { "Trance", "\xE3\x83\x88\xE3\x83\xA9\xE3\x83\xB3\xE3\x82\xB9" },
+ { "Classical", "\xE3\x82\xAF\xE3\x83\xA9\xE3\x82\xB7\xE3\x83\x83\xE3\x82\xAF" },
+ { "House", "\xE3\x83\x8F\xE3\x82\xA6\xE3\x82\xB9" },
+ { "Electronic", "\xE3\x82\xA8\xE3\x83\xAC\xE3\x82\xAF\xE3\x83\x88\xE3\x83\xAD\xE3\x83\x8B\xE3\x83\x83\xE3\x82\xAF" },
+ { "Folk", "\xE3\x83\x95\xE3\x82\xA9\xE3\x83\xBC\xE3\x82\xAF" },
+ { "Easy Listening", "\xE3\x82\xA4\xE3\x83\xBC\xE3\x82\xB8\xE3\x83\xBC\xE3\x83\xAA\xE3\x82\xB9\xE3\x83\x8B\xE3\x83\xB3\xE3\x82\xB0" },
+ };

書込番号:22454507

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/09 21:37(9ヶ月以上前)

「テキストエディット」の設定画面 (新規書類)

「テキストエディット」の設定画面 (開く/保存)

>たく0220さん

今回のパッチの中身を拝見すると、
文字コードとか、センシティブなところもあるみたいですので、
私がパッチファイルをつくるときに使ったエディタ(またはその設定)がダメ...とかかしら?

エディタはMac標準品「テキストエディット」を使用しております。
その設定画面は、添付画像のとおりです。

書込番号:22454520

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/09 21:40(9ヶ月以上前)

>たく0220さん

パッチファイル「forked-daapd-26.4_fix-genre.patch」を
Mac標準アプリ「テキストエディット」で開くと
添付画像のように見え方になります。
ご参考までに。

書込番号:22454540

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/09 22:03(9ヶ月以上前)

>tanettyさん

お疲れ様です、ゆっくり休めましたか?

>文字コードとか、センシティブなところもあるみたいですので、
>私がパッチファイルをつくるときに使ったエディタ(またはその設定)がダメ...とかかしら?

エディタの設定は大丈夫だと思います。
文字関係は、そのビルド環境に依存してしまいやっかいな点があるのですが
アルファベットとかだとASCIIでも他の文字コードでも、ほぼ関係ないのですが
漢字、ひらがな、カタカナとかASCII以外だと文字化けしてしまう事があるので、今回のようにしました。

Dockerfileも、それで問題ないはずです。

お手数なんですが、DB内のジャンルの項目がどうなってるか確認をお願い出来ますか?

DBが「クラシック」になっていた場合は、Remoteに登録されているQNAPのdaapdが複数あったら一旦
全部登録を削除後に、再度ペアリングしてみてください。

こちらでも、パッチの内容再確認してみます。





書込番号:22454626

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/09 23:24(9ヶ月以上前)

filesの中身をnumbersで見たところ

>たく0220さん

アドバイスありがとうございます。

さっそくDBの中身を確認してみたところ、残念ながら、「Classical」になっているようでした。


▼ 確認した手順

@ SSHにてQNAPに接続後、次のコマンドで テーブルfilesの内容をファイルfiles.csvに出力。
[~] # docker exec -it daapd /bin/bash
root@QNAP1:/$ pwd
/
root@QNAP1:/$ cd config/dbase_and_logs/
root@QNAP1:/config/dbase_and_logs$ pwd
/config/dbase_and_logs
root@QNAP1:/config/dbase_and_logs$ sqlite3 -header -csv songs3.db "select * from files;" > files.csv
root@QNAP1:/config/dbase_and_logs$ ls
cache.db files.csv forked-daapd.log songs3.db

A @で出力された files.csvを numbersでnumbers形式に変換し後、numbersで中身を確認
→ genreの値がClassicalの行が、1252行でした (添付画像)。

書込番号:22454866

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/09 23:33(9ヶ月以上前)

>たく0220さん

>お疲れ様です、ゆっくり休めましたか?

お気遣い、ありがとうございます。
結局、食事休憩(?)をはさんで、15時間ぐらいかな? 寝てました。
寝すぎて疲れたー...って感じです(笑)。

念のため、下記@〜Dの手順でRemoteに対するdaapdの再登録をしてみましたが、
残念ながら「Classical」のままでした。

@ Remote上で、「daapd QNAP」を削除。 (そういう公開名にしています)。
A Remoteを Appスイッチャーからキル。
B iPad を OSから再起動
C Remoteを起動し、「手動で接続」を選択
D daapdの(http://IPアドレス:3689/admin.html)を開き、Cで表示されている4桁数字を入力。

書込番号:22454886

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/10 01:08(9ヶ月以上前)

>tanettyさん

ごめんなさい、こちらでも同じ状況確認出来ました。
パッチが上手く機能してないケースがあるみたいです。

原因確認してますので、少し時間ください。

書込番号:22455040

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/10 02:05(9ヶ月以上前)

>たく0220さん

ありがとうございます。
お手数をかけ、誠に申し訳ありません。

逃げ道があるので、
ジャンル問題で現状ほとんど困っておりません。

お手すきのさいでかまいませんので、
修正してくだされば幸いでございます。

書込番号:22455102

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/10 02:31(9ヶ月以上前)

修正箇所

>tanettyさん

原因特定できました。

申し訳ないのですが、私の確認不足でした。
「pastebin」に貼った際に最後の行が空行だと削除されてしまう様です。

patchコマンドは前後3行を比較確認して追加する個所を特定するのですが
最終行が削除されてコードが追加されなかったみたいです。

「forked-daapd-26.4_fix-genre.patch」を添付した画像のように
最終行に空行を1行追加してください。

ファイルを保存後、再度ビルドしてみてください。

書込番号:22455118

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/10 07:07(9ヶ月以上前)

バッチリ「クラシック」ってなってます!

>たく0220さん

ありがとうございます。
バッチリいけました!!!!
「クラシック」も「ジャズ」もです。

にしても、こんな↓まったく想像もつかないような原因に、よく気づきましたね...。さすがです。
>「pastebin」に貼った際に最後の行が空行だと削除されてしまう様です。
>patchコマンドは前後3行を比較確認して追加する個所を特定するのですが
>最終行が削除されてコードが追加されなかったみたいです。

書込番号:22455270

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/10 07:22(9ヶ月以上前)

>たく0220さん

そういえば、ビルドの際に少し気になったのですが。
エラー? 警告? ぽいメッセージが出てました(添付画像は、その一部です)。
変数が定義されてるけど、使われてません。的な?

Macのターミナルだと、赤字で出るので、「何だろ?」って思っちゃうのデス。
これは無視で良いのでしょうか?

書込番号:22455287

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/10 22:17(9ヶ月以上前)

>tanettyさん

>そういえば、ビルドの際に少し気になったのですが。
>エラー? 警告? ぽいメッセージが出てました(添付画像は、その一部です)。

warningのメッセージですよね?
「〜 but not used」、「〜 unused variable」とかは、他のライブラリを取込んでる都合上
出てしまう事がありますので、内容にもよりますが今回は無視して問題無いかと思います。

書込番号:22457325

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/10 22:30(9ヶ月以上前)

>たく0220さん

こんばんは。

>他のライブラリを取込んでる都合上
>出てしまう事がありますので、内容にもよりますが今回は無視して問題無いかと思います。

なるほどぉ、そういうことでしたか。納得&安心です。
ご回答ありがとうございました。m(_ _)m

書込番号:22457378

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/10 23:43(9ヶ月以上前)

>tanettyさん

更新の状況確認しようと覗いてみたところ

Docker Hub : lsioarmhf/daapd
https://hub.docker.com/r/lsioarmhf/daapd

見慣れない一文が…
THIS IMAGE IS DEPRECATED. PLEASE USE THE MULTI-ARCH IMAGES AT linuxserver/daapd

直訳すると「このイメージは推奨されていません。linuxserver/daapdでマルチアーチイメージを使用してください。」
と…

今後の更新は「linuxserver/daapd」に統合するのでって事みたいです。

書込番号:22457594

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/11 00:39(9ヶ月以上前)

>たく0220さん

いつもお世話になっております。

>Docker Hub : lsioarmhf/daapd
>直訳すると「このイメージは推奨されていません。linuxserver/daapdでマルチアーチイメージを使用してください。」
と…
>今後の更新は「linuxserver/daapd」に統合するのでって事みたいです。

ちょっと心配なので、教えていただきたいのですが...。
次の○△×どの未来になるのでしょうか?

○ 今後、TS-431Pでも、linuxserver/daapdなるものに乗り換えれば、新しいdaapdを問題なく使える。
△ 今後、TS-431Pでは、linuxserver/daapdなるものに乗り換えても、新しいdaapdをもしかしたら使えなくなるかも。
× 今後、TS-431Pでは、linuxserver/daapdなるものに乗り換えても、新しいdaapdを使えなくなる可能性が高い。

というのは、書込番号:22354533 2018/12/28 07:04にて、
次のようなお話がありましたので。

--(以下、書込番号:22354533より抜粋)--

以前紹介した↓ですが、TS-431PのCPU(Alpine AL-212)向けではなくて
>linuxserver/daapd
https://hub.docker.com/r/linuxserver/daapd/

起動したら、「exec user process caused "exec format error"」と怒られ、暫く悩んでしまってました。
改めて調べてみると↓がARM向けでしたのでインストール -> OK!でした。
lsioarmhf/daapd
https://hub.docker.com/r/lsioarmhf/daapd

--(以上、書込番号:22354533より抜粋)--

あと、マルチアーチイメージとは、なんでしょうか?
複数のアーキテクチャに対応したイメージ、ということでしょうか?
もしそうなら、それなら「exec user process caused "exec format error"」は出ないはず...ということでしょうか?

なんだか質問ばかりで申し訳ありません。

書込番号:22457706

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/11 00:41(9ヶ月以上前)

>たく0220さん

というか、もっと基本的なところとして、「lsioarmhf」とは何なのか、恥ずかしながら、さっぱりわかっておりません。

書込番号:22457712

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/11 00:58(9ヶ月以上前)

>たく0220さん

もうひとつ。基本的なことがぜんぜんわかってないので、ご教示いただきだたく。

現在、コンテナステーションの「画像」を見ると、添付ファイルのとおり、4つあります。

これまで多くの作業をしてきたので、何が必要で、何が必要でないのか、お恥ずかしい話ですが、自分でもさっぱりわからなくなってしまっております。(使ってないものは、なるべく消しておきたい)。

@ daapd : 5
A lsioarmhf/daapd : latest-data-1
B lsiobase/alpine.armhf: 3.8
C lsioarmhf/daapd : latest

@は、昨晩ビルドした最新のdaapdなので、これが必要なことは、はっきりわかります。

B、これ何だろ?と思ったのですが、Dockerfileの1行目に、こうあります。

 FROM lsiobase/alpine.armhf:3.8 as buildstage

というわけで、何かしら使ってる??? なので、これは削除しちゃダメなのでしょうか?

AとCは、うーん、何のときに作ったものかが、よくわからないのですが。これは、削除してもよいですか?


なんかこう、自分の財布の中身をひとに聞くな...と怒られそうですが(汗)。

書込番号:22457738

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/11 19:18(9ヶ月以上前)

>tanettyさん

>ちょっと心配なので、教えていただきたいのですが...。
>次の○△×どの未来になるのでしょうか?
>○ 今後、TS-431Pでも、linuxserver/daapdなるものに乗り換えれば、新しいdaapdを問題なく使える。
>△ 今後、TS-431Pでは、linuxserver/daapdなるものに乗り換えても、新しいdaapdをもしかしたら使えなくなるかも。
>× 今後、TS-431Pでは、linuxserver/daapdなるものに乗り換えても、新しいdaapdを使えなくなる可能性が高い。

○ですね。
まだ、何も確認していないので断言は難しいですが… ^^;


>複数のアーキテクチャに対応したイメージ、ということでしょうか?

そういう事です。


>「lsioarmhf」とは何なのか

LinuxServer.ioというコミュニティがあります。
用途に合わせて、複数のアカウントを用意してるようです。

lsioarmhf -> lsio arm hf -> LinuxServer.io製 arm hard float 向けDockerイメージ
という意味だと思います。

TS-431P(231P)のCPU(Alpine AL-212)のアーキテクチャはというと
armv7l hf(hard float)
となります。
armv8以降になると64bitCPUだそうですが、現物さわった事がないので詳細は判りません。
hard floatはFPUとか浮動小数点演算装置とか言われる物で、過去のarmではソフトウェアで実装されてた事もあり
処理の違いから別けていると思われます。


>A lsioarmhf/daapd : latest-data-1
>B lsiobase/alpine.armhf: 3.8
>C lsioarmhf/daapd : latest

Bはdaapdをビルドする時に使用したイメージになります。
なので、不要になったら削除してもビルドしたdaapdに影響はありません。
alpine linuxというLinuxディストリビューションになります。
ソフトウェアをビルドする際は、開発用パッケージを沢山インストールする必要があるので
このOS上でビルド環境を整えdaapdをビルドして、daapdと必要な物のみでのイメージを作る事が出来ます。

Cは昨年末にDocker Hubから最初に作ったものですね。多分…
Aはちょとわかりません。

どれもコンテナに使用してないみたいですので、比較用に残しておいても良いですし
削除してしまっても問題は無いかと思います。

書込番号:22459691

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/11 23:26(9ヶ月以上前)

>たく0220さん

いつもお世話になっております。

新しいネットワークカメラを入手したのですが、アプリ側の出来がすこぶる悪くって(泣)。
またもや不具合一覧を作ったりなどして、メーカーと戦って(?)おります…。
https://bbs.kakaku.com/bbs/K0001124137/SortID=22457353/#tab

さてさて。

>○ですね。
>まだ、何も確認していないので断言は難しいですが… ^^;

よかったー。安心しました。

>LinuxServer.ioというコミュニティがあります。
>用途に合わせて、複数のアカウントを用意してるようです。

そういう基本的な部分がわかっていなかったので、本当に勉強になります。
聞くは一時の恥。聞かぬは一生の恥。と申しますし。

>lsioarmhf -> lsio arm hf -> LinuxServer.io製 arm hard float 向けDockerイメージ

難度、高っ!

>TS-431P(231P)のCPU(Alpine AL-212)のアーキテクチャはというと
>armv7l hf(hard float)

ふむふむ。そうだったんですね。

>hard floatはFPUとか浮動小数点演算装置とか言われる物で

浮動小数点。ことばのひびきがカッチョイイので、それだけで白米を3杯ぐらい軽くイケちゃいそうです(笑)。
(レベルの低い感想でスミマセン)。

>過去のarmではソフトウェアで実装されてた事もあり、処理の違いから別けていると思われます。

浮動小数点をハード的におこなっているのが、TS-431Pということですか。メモメモ。


>A lsioarmhf/daapd : latest-data-1
>B lsiobase/alpine.armhf: 3.8
>C lsioarmhf/daapd : latest

>Bはdaapdをビルドする時に使用したイメージになります。
>なので、不要になったら削除してもビルドしたdaapdに影響はありません。

ありがとうごあいます。

ということは逆に、今後もし、ですけど、これまでのアーティスト並びパッチのように、
たく0220さんが、新しいパッチを追加してくださった…と仮定して。

そのパッチを適用するには、daapdをリビルドします。
リビルドの際、Bは必要である。

と、理解しましたが、この理解は正しいでしょうか?
(もしそうなら、Bは消しちゃダメなのかな、と考えました)。

>alpine linuxというLinuxディストリビューションになります。
>ソフトウェアをビルドする際は、開発用パッケージを沢山インストールする必要があるので
>このOS上でビルド環境を整えdaapdをビルドして、daapdと必要な物のみでのイメージを作る事が出来ます。

うーん。何となくわかったような、わからないような…。
ビルドの際、Bが一時的にホストOSとして起動し、
ビルドが終わったら、Bは停止する。
と理解しましたが、違いますでしょうか?

>どれもコンテナに使用してないみたいですので、比較用に残しておいても良いですし
>削除してしまっても問題は無いかと思います。

ありがとうございます。とりあえず、AとCは消そうかと思います!

書込番号:22460387

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/11 23:35(9ヶ月以上前)

>たく0220さん

いつもお世話になっております。

もうひとつご教示いただきたいのですが。

・使ってないコンテナ (Container Station上の「コンテナ」で見える一覧)
・使ってないイメージ (Container Station上の「画像」で見える一覧)

が残っていたとして、処理性能に負担がかかったりするのでしょうか?
(当該「使ってないコンテナ」は、起動してない前提です)

TS-431PというNASから見て、メモリとかCPUとかの足を引っ張らないかどうか?という懸念です。
daapd以外の、他の処理が重くなったりしないのか?という質問に言い換えてもいいでしょうか。

なお、ストレージ(HDD容量)として足を引っ張るのは、何ら問題ではありません(有り余っているので)。

書込番号:22460399

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/12 00:00(9ヶ月以上前)

>tanettyさん

>(もしそうなら、Bは消しちゃダメなのかな、と考えました)。

いえ、消しちゃっても大丈夫ですよ。再利用は考えてないので。

説明の手抜きがバレてしまいますが ^^;
dockerビルドのコマンド
docker build --no-cache=true -t taku0220/daapd:sort .

ビルド時にはBのイメージでコンテナが作成されています。
ビルド時にすでにBのコンテナがあると、そのコンテナを使おうとしてしまうのですが
変更を繰返し行う上で、正しく反映してくれるのか不安な部分があったので
コマンドのオプションに「--no-cache=true」をつけて、毎回コンテナを作り直してねっとしてます。
Dockerfile内でBをDLしてと指示してあるので、無ければその都度同じイメージをDLしてくれます。
ビルドが正常に終了するとBコンテナは終了し、削除されます。


>ビルドの際、Bが一時的にホストOSとして起動し、
>ビルドが終わったら、Bは停止する。

そういう事です。ので終わったら不要になります。


>新しいネットワークカメラを入手したのですが、アプリ側の出来がすこぶる悪くって(泣)。
>またもや不具合一覧を作ったりなどして、メーカーと戦って(?)おります…。

お疲れさまです。
パスの件はなんかサニタイズの処理もれっぽい気がしますが…
昔の時代だったら先輩からマニュアル飛んでくるレベルかな…
動作確認しないのかな、最近のメーカーは…

書込番号:22460448

ナイスクチコミ!1


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/12 00:04(9ヶ月以上前)

>tanettyさん

>・使ってないコンテナ (Container Station上の「コンテナ」で見える一覧)
>・使ってないイメージ (Container Station上の「画像」で見える一覧)
>が残っていたとして、処理性能に負担がかかったりするのでしょうか?
>(当該「使ってないコンテナ」は、起動してない前提です)

起動してない前提であればCPUやメモリーのリソースに負担(消費)はかからないですよ。
HDD上は消費してしまうので、気が向いたときに整理すれば良いかと思います。

書込番号:22460452

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/12 01:09(9ヶ月以上前)

>たく0220さん

>docker build --no-cache=true -t taku0220/daapd:sort .
>コマンドのオプションに「--no-cache=true」をつけて、毎回コンテナを作り直してねっとしてます。
>Dockerfile内でBをDLしてと指示してあるので、無ければその都度同じイメージをDLしてくれます。
>ビルドが正常に終了するとBコンテナは終了し、削除されます。

そういう意味だったんだー。よーーくわかりました。
懇切丁寧なご説明、ありがとうございます!

>起動してない前提であればCPUやメモリーのリソースに負担(消費)はかからないですよ。
>HDD上は消費してしまうので、気が向いたときに整理すれば良いかと思います。

安心しました。ありがとうございました。

>パスの件はなんかサニタイズの処理もれっぽい気がしますが…

なるほど、サニタイズ漏れかー。そうかもしれませんね。

>昔の時代だったら先輩からマニュアル飛んでくるレベルかな…
>動作確認しないのかな、最近のメーカーは…

ん?
「マニュアルが飛んでくる」ってのが、ちょっとイメージがわかないのですが。

このメーカー、どうも検証が、毎度毎度お漏らしレベルです。
パンパースを5枚重ねぐらい、こちら側で準備してあげないといけないっていうか(泣)。

書込番号:22460540

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/13 19:27(9ヶ月以上前)

>tanettyさん

>tanettyさん

マルチアーキテクチャの件ですが
今までは各アーキテクチャ毎にリポジトリ(ソースの保存場所)を分けなくてはいけなかったので
管理しやすい様にアカウントをアーキテクチャ毎に分けてたみたいです。
新しい管理プラットフォームに移行する事で、まとめる事が可能となったので「linuxserver/docker-daapd」に統合し
その他は廃止する予定だそうです。

ですので、本件のまとめを作られるなら今後の事も考え
「linuxserver/docker-daapd」での手順にした方が良いかと思います。

GitHub : linuxserver/docker-daapd
https://github.com/linuxserver/docker-daapd

Docker Hub : linuxserver/daapd
https://hub.docker.com/r/linuxserver/daapd/

Dockerfileについてはアーキテクチャ毎に使用するファイルを変更します。
x86-64 : Dockerfile
arm64 : Dockerfile.aarch64
armhf : Dockerfile.armhf


あと、ビルド時に一部イメージファイルが残ってしまってたみたいです。
ビルドする毎に420MBずつゴミイメージが残ってしまいますので、下記コマンドにて削除する事ができます。
何らかの原因で不要なイメージが残ってしまう事があり、dangling imageと呼ぶそうです。
下記コマンドをオプション無しで実行した場合、dangling imageのみ削除されます。

docker image prune

[~] # docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y


>「マニュアルが飛んでくる」ってのが、ちょっとイメージがわかないのですが。
拳骨や他の物かが飛んでくるよりか… まだ優しかったんですよ先輩は…

書込番号:22463997

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/14 03:22(9ヶ月以上前)

>たく0220さん

いつもお世話になっております。
貴重かつ有用な情報・ご助言、誠にありがとうございます。

>本件のまとめを作られるなら今後の事も考え
>「linuxserver/docker-daapd」での手順にした方が良いかと思います。

なるほど、たしかに…。
ご助言に従いたいと思います。
ありがとうございます。

>Dockerfileについてはアーキテクチャ毎に使用するファイルを変更します。
>x86-64 : Dockerfile
>arm64 : Dockerfile.aarch64
>armhf : Dockerfile.armhf

TS-431Pの場合は、Dockerfile.armhfを使う、ということでよいのでしょうか?

>ビルド時に一部イメージファイルが残ってしまってたみたいです。
>下記コマンドをオプション無しで実行した場合、dangling imageのみ削除されます。

へー、そうだったんですね。削除も手順の中に盛り込みたいと思います。
実際に「まとめ」をつくるさいには、またいろいろ質問させていただくことがあるかもしれません。
その際は よろしくお願いいたします。m(_ _)m

>拳骨や他の物かが飛んでくるよりか… まだ優しかったんですよ先輩は…

げ、ゲンコツですか???
今だったら、パワハラで訴えられて、殴ったほうがサヨナラしそうな気も(笑)。

書込番号:22464901

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/14 07:44(9ヶ月以上前)

>tanettyさん

おはようございます。

>TS-431Pの場合は、Dockerfile.armhfを使う、ということでよいのでしょうか?

その通りです。docker buildコマンドのオプションで「Dockerfile.armhf」を指定して実行する事になります。

昨日帰宅後にGitHubの「linuxserver/docker-daapd」の内容を確認してテストしてたのですが…
すみません…
「forked-daapd-26.4_fix-genre.patch」試験段階のバージョンをお渡ししてました。

https://pastebin.com/JpjmKc7C

上記のと差替えと、最終行の空行1行追加をお願いします。
ジャンルが空(Null)の場合、daapdが再起動してしまいます。


以前とのビルド手順の変更点は次のレスを参考にしてください。

書込番号:22465064

ナイスクチコミ!1


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/14 07:48(9ヶ月以上前)

>tanettyさん

「linuxserver/docker-daapd」での手順の変更点のみ

2.build用のデータDL

リリース バージョンの確認
https://github.com/linuxserver/docker-daapd/releases

上記URLでバージョンを確認し「Source code(tar.gz)」リンク先のURLをコピー
今回は「26.4-pkg-bad48d9d-ls3」を使用。

(実行時は ttps: を https: に書換えてください。)
curl -O -L ttps://github.com/linuxserver/docker-daapd/archive/26.4-pkg-bad48d9d-ls3.tar.gz


3.解凍
tar xf 26.4-pkg-bad48d9d-ls3.tar.gz

「26.4-pkg-bad48d9d-ls3」フォルダが作られる。

必要なパッチファイルをこの「26.4-pkg-bad48d9d-ls3」フォルダ内にコピーしておいてください。


4.オリジナルのDockerfileをバックアップ
・バックアップ先のフォルダ作成(作成済みの時はスキップ)
mkdir Dockerfile_temp

・バックアップ
cp 26.4-pkg-bad48d9d-ls3/Dockerfile.armhf \
Dockerfile_temp/Dockerfile.armhf_original


5.Dockerfileの変更
・「26.4-pkg-bad48d9d-ls3」フォルダの「Dockerfile.armhf」を適当なテキストエディタで修正します。
a.パッチ
6行目に追加
COPY forked-daapd-26.4_sort.patch /tmp/source/
COPY forked-daapd-26.4_artist-order.patch /tmp/source/
COPY forked-daapd-26.4_fix-genre.patch /tmp/source/

72行目(68行目)に追加
patch -p1 < /tmp/source/forked-daapd-26.4_sort.patch && \
patch -p1 < /tmp/source/forked-daapd-26.4_artist-order.patch && \
patch -p1 < /tmp/source/forked-daapd-26.4_fix-genre.patch && \

b.daapdのビルドconfig変更

78行目(72行目)
--disable-avcodecsend \ -> --enable-avcodecsend \
82行目(76行目)
--enable-mpd \ -> --disable-mpd \

以下任意で設定変更してください。
79行目(73行目) :chromecastいらなければ
--enable-chromecast \ -> --disable-chromecast \
81行目(75行目) :lastfmいらなければ
--enable-lastfm \ -> --disable-lastfm \
83行目(77行目)に追加 :Apple TVデバイス検証のサポート(ATVで何か問題あった場合無効化してみる場合)
--disable-verification \

c.その他
96行目(90行目) : コメントアウトする。
COPY qemu-arm-static /usr/bin -> # COPY qemu-arm-static /usr/bin


7.build開始(ビルドは大体10分ぐらいかかります。)
・taku0220/daapd:1 の部分は任意に変更してください。
  taku0220/daapd :dockerイメージの名前
  :1 :dockerイメージのバージョン

docker build -f Dockerfile.armhf --no-cache=true \
-t taku0220/daapd:1 .


ビルド終了後、コンテナを作成しテストしてみてください。

書込番号:22465071

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/14 21:29(9ヶ月以上前)

>たく0220さん

一から十まで、手とり足とり、本当にありがとうございます。m(_ _)m
いつも同じことを申し上げてばかりで、たいへん恐縮ですが、
たく0220さんには、ひたすら感謝・感謝・感謝しかありません。

別途、時間をつくり、試してみる所存でございます。
実施のおりには、また何か質問させていただくことがあるかもしれません。
その際には、お手数をかけ誠に申し訳ありませんが、何卒よろしくお願い申し上げます。

書込番号:22466653

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/17 06:56(9ヶ月以上前)

>たく0220さん

おはようございます。

「linuxserver/docker-daapd」版、ばっちりイケました!
「forked-daapd-26.4_fix-genre.patch」の差し替えも含めて、です。
ありがとうございます!

あと、これは自分用のメモですが。
 tar xf 26.4-pkg-bad48d9d-ls3.tar.gz
のときにできるフォルダは、「26.4-pkg-bad48d9d-ls3」ではなく、「docker-daapd-26.4-pkg-bad48d9d-ls3」のようでした。
たく0220さんが手順をおつくりになったときから、tar.gzの中身が変わったものと思われます。

なので、手順も、それに合わせて読み替えました。
(まとめをつくるときは、読み替え後のものにします)

にしても、つくづく思うんですが。
この、daapd + Remoteのしくみ、本当に素晴らしすぎます。
これ以上使いやすいしくみは、現状どこにもないんじゃないかと。
毎日、めっっっちゃ使ってます。

本当にありがとうございました。m(_ _)m

書込番号:22472519

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/17 08:01(9ヶ月以上前)

>たく0220さん

dangling image を削除したところ、3GB強あきました。
けっこうゴミがあったんですね。ちょっとビックリ。
1回あたり420MBとのことでしたから、8回ぐらいしてたのカナ?

[~] # docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:f66e1702b9c27f740366180897b70fec0f497c520c2df5a81d39985fc8d4e290
(中略)
deleted: sha256:05b11dcd2f6ca51b14111e75f3e5047d753ec451e9242a87bbc9803fc1dd6528

Total reclaimed space: 3.337GB
[~] #

書込番号:22472620

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/17 17:25(9ヶ月以上前)

>tanettyさん

>「26.4-pkg-bad48d9d-ls3」ではなく、「docker-daapd-26.4-pkg-bad48d9d-ls3」のようでした。

すみません、コピペした時にミスってたみたいです。
再確認してみたところ「docker-daapd-26.4-pkg-bad48d9d-ls3」が正解でした。


>dangling image を削除したところ、3GB強あきました。

けっこうな量になってましたね ^^;
私も消えてる物と思い込んでたので、気が付くのが遅れました。

これで暫くは大きな変更は無いと思います。
ようやく一段落っといった感じでゆっくり、ゆったり音楽を楽しめそうですね。


今回の件でちょいと野望が出来てしまい
Radiko+iTunes+Remote+AirPlayの連携が出来ないかな〜って考え中です。

書込番号:22473977

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/17 21:35(9ヶ月以上前)

>たく0220さん

こんばんは。

>Radiko+iTunes+Remote+AirPlayの連携が出来ないかな〜って考え中です。

ななななななな・何ですとぉおおおおおおおお!?
そんなことが、できるんですか?

よくわからないんですが、こういう↓ことなんでしょうか?
・操作としてはRemoteをいじるだけ。
・音としては、 radikoのストリーミングデータが、QNAPから(iOS端末を経由せず)AirPlayスピーカーに飛ぶ

もしそうなら、
・radikoストリーミングデータをインターネットから受け取る役
・「そのデータはdaapdにとって正規(?)のデータだよ」とdaapdを騙して渡す役
みたいなの必要なのかしら? どっちもffmpeg???

うーん。私ごときでは皆目、見当がつきません。

書込番号:22474665

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/17 22:25(9ヶ月以上前)

>tanettyさん

>そんなことが、できるんですか?

実家の親用なんですが。。。

ラジオと音楽が好きなのですが、高層マンションなのでラジオの電波の入りが悪くて困ってたので、
前スレで話した「Raspberry Pi」に「Volumio2」というmpdベースのミュージックサーバーソフトを入れて
そのWebインターフェスから音楽とラジオを聴けるようにしてます。

radikoのストリーミングサーバーとしては
https://github.com/river24/mpdiko
と先達の方がすでに試して公開してくれてますので、
これを応用させて頂いた感じです。
色々変更が必要なので大変なのですが…
Remoteで動作してくれたら、うれしいな〜って感じです ^^

書込番号:22474842

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/18 12:38(9ヶ月以上前)

>たく0220さん

こんにちは。

>実家の親用なんですが。。。

なんちゅう親孝行なんですか。すばらしすぎですよ!

>ラジオと音楽が好きなのですが

私の母と同じですね!

>前スレで話した「Raspberry Pi」に「Volumio2」というmpdベースのミュージックサーバーソフトを入れて

マジですかー。それ、私も欲しい(笑)。
現在、母には、iPod touchの「らじる」でNHKラジオを聞かせてますけど、そっちのがより先進的でカッチョイイですね。

あ、らじるも、聞けるのでしょうか?
そこは気になるところです。
NHKは、radikoでも試験的に放送してたとは思うのですが、あくまで試験という位置付けだと思うので。

>そのWebインターフェスから音楽とラジオを聴けるようにしてます。

ぬぉおおおおおおおおおおお!
なんかコーフンしますね。そういうのって。なんでだろ?

>radikoのストリーミングサーバーとしては
>と先達の方がすでに試して公開してくれてますので、

そういうものがあったんだー。
ということは、たく0220さんの構想も、すでに半分は実現済みってことなでしょうか。
Remoteと繋げる...ってところ、そう簡単じゃないんでしょうけど。

>Remoteで動作してくれたら、うれしいな〜って感じです ^^

はい、そんなんがあったら、私、めっちゃうれしいです。
ラジオって、実はほとんど聞かないのですけど、
技術的可能性を示唆されただけで、なんかたまらなくなっちゃう。
ある意味ヘンタイ気質なんでしょうか(笑)。

書込番号:22475879

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/18 19:32(9ヶ月以上前)

>tanettyさん

こんばんは〜
進捗まだ30%ぐらいです ^^;

元々この手のラジオはアンオフィシャルなんで
2年ぐらい前だったかな?仕様が変わって大変だった…
あれから変わってなかったら、いいな〜

当時は、らじるもラジコもOKだったんですが…
今回はDockerで作る予定ですが、テンプレ無しの1からなので色々未定だったりします。
Remoteがどう反応するかが問題なのですが、そこまでたどり着けるだろうか…

Bluetoothでは2台のスピーカー接続出来るトランスミッターもあるのですが
AirPlayに出来れば、その分浮かせられるのでスピーカーに予算回せるな〜といった感じです。


>マジですかー。それ、私も欲しい(笑)。

ほしいですか〜 ^^
うまく出来上がったらで良いですか?ちょっと頑張ってみますね〜 ^^

書込番号:22476656

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/19 01:03(9ヶ月以上前)

>たく0220さん

こんばんは。
歯みがきしようとして、洗顔フォームを口ん中に入れちゃった...。
せめて、歯ブラシにつけた時点で気づけー、私。

さてさて。

>進捗まだ30%ぐらいです ^^;

速っ! すでに構想段階は脱してたんですね。

>元々この手のラジオはアンオフィシャルなんで
>2年ぐらい前だったかな?仕様が変わって大変だった…

でしたかー。仕様変更をあらかじめ知らせてくれるはずもないのが、つらいところですね。

あれから変わってなかったら、いいな〜

>当時は、らじるもラジコもOKだったんですが…

ぬぬ? 残念です。

>今回はDockerで作る予定ですが、テンプレ無しの1からなので色々未定だったりします。

スゴイですね。私からみたら、手直しだけでもスゴイのに、イチから作るってことまでできちゃうんですか。

>Remoteがどう反応するかが問題なのですが、そこまでたどり着けるだろうか…

うまくいくと、いいですね!

>Bluetoothでは2台のスピーカー接続出来るトランスミッターもあるのですが
>AirPlayに出来れば、その分浮かせられるのでスピーカーに予算回せるな〜といった感じです。

ん? トランスミッターは、すでにお持ちではない?のでしょうか???
いずれにしても、ペアリング不要のAirPlayのが便利ですよね。
何といっても、再生開始指示した端末と、再生停止指示する端末が別でいい、
ってのが、使ってて、めっちゃ便利だなって思うところです。

起きてる最中にiPadで再生開始、
寝る直前に布団の中でiPhoneから再生停止ってのができますから。
モノグサでスミマセン(笑)。

>うまく出来上がったらで良いですか?ちょっと頑張ってみますね〜 ^^

ありがとうございます!!!!
めっちゃ期待しております!!!!

書込番号:22477598

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/19 21:48(9ヶ月以上前)

>tanettyさん

>歯みがきしようとして、洗顔フォームを口ん中に入れちゃった...。

おいおい ^^; …大丈夫でしたか?
だいぶお疲れな様子ですね。

>ん? トランスミッターは、すでにお持ちではない?のでしょうか???

TaoTronics TT-BA09
https://www.amazon.co.jp/dp/B01KT2KMWE
を持ってるのでスピーカー2台はOKなのですが、3台目以降が…

出来るだけ簡単な操作でってのがコンセプトだったので
どうしよか悩んでたんですよね。
Remoteだと起動してるAirPlayスピーカーに勝手に飛ぶだろうし、切り換えも簡単なのでベターかな?

さて、試験用のRaspberry Piに以前のディスクイメージのバックアップからVolumio2起動してみました。
まだ大丈夫そうですね。画像貼っておきますね。
NHKは、radikoで試験放送してた時のなので、その辺も対処考えなければいけませんね。

やること多いな〜 ^^;

書込番号:22479578

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/20 05:54(9ヶ月以上前)

>たく0220さん

おはようございます。

>おいおい ^^; …大丈夫でしたか?
>だいぶお疲れな様子ですね。

ありがとうございます。
それが、とくに疲れてなかったんですよぉ。むしろ休養バッチリっていうか。
つまりは、ただのオッチョコチョイ。逆にいえば、それこそが問題なわけで(笑)。

さてさて。

>TaoTronics TT-BA09
>を持ってるのでスピーカー2台はOKなのですが、3台目以降が…

おお。そういうことでしたか。これ、なかなか便利そうですね。
これにかぎらず、TaoTronicsのは製品は、いちど買ってみたいと思ってたんですよねぇ。
っていうのも、eイヤフォン店員さんの評価では、「高コスパです!」っていう製品が多いので。

>出来るだけ簡単な操作でってのがコンセプトだったので
>Remoteだと起動してるAirPlayスピーカーに勝手に飛ぶだろうし、切り換えも簡単なのでベターかな?

操作性、ちょう大切です。なので、radiko+Remote+AirPlayは、めっちゃ便利そうに思えます。

>試験用のRaspberry Piに以前のディスクイメージのバックアップからVolumio2起動してみました。
>まだ大丈夫そうですね。画像貼っておきますね。

なんと! 技術的な面は私ではよくわかりませんが、画面がシンプルでカッチョイイですね。

>NHKは、radikoで試験放送してた時のなので、その辺も対処考えなければいけませんね。

そうですよねぇ。NHKもこの際、radikoで本放送してくれればいいのに。と思います。

>やること多いな〜 ^^;

スミマセン。お手すきの際でかまいませんので、何卒よろしくお願い申し上げます。

書込番号:22480226

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/24 23:07(8ヶ月以上前)

daapdをRemoteにて。30秒戻しも倍速もない。

iTunesをRemoteにて。30秒戻しはあるが、倍速はない。

ブックにて。15秒戻しも倍速もある。

オーディオブックを使えるようにしました。その方法のメモです。


<目的>

オーディオブックを、daapd + Remote + AirPlayスピーカーの組み合わせで再生する。



<オーディオブックとは>

本の朗読です。

・daapd + Remoteでは…
 × 30秒送り・30秒戻しできない。
 × 読む速さを選べない。
 × どこまで読んだか、まったく覚えておいてくれない。

・iTunes +Remote では…
 ○ 30秒送り・30秒戻しできる。
 × 読む速さを選べない。
 △ 章(ファイル)ごとに、どこまで読んだかを覚えておいてくれる。

・iPhone/iPad (iTunesから同期)上の「ブック」アプリでは…
 ○ 15秒送り/15秒戻しできる。
 ○ 読む速さを0.75/1/1.25/1.5/1.75/2倍から選べる。
 ○ 本ごとに、どこまで読んだかを覚えておいてくれる。



<オーディオブックをiTunesに入れるには>

音源を右クリックして[曲の情報] - [オプション] - [メディアの種類]
「ミュージック」から「オーディオブック」に変更
これら操作で、iTunes Mediaフォルダの直下の「Audiobooks」フォルダに音源が入る。



<daapdでオーディオブックを使うには>

上記<オーディオブックをiTunesに入れるには>のとおり、Audiobooksフォルダに音声ファイル追加。
その後、@、A、Bを行う。

@ Dockerfile.armhfを書き換えてビルドし直し
 最後の行を
 VOLUME /config /music
  ↓
 VOLUME /config /music /Audiobooks

A オプション指定追加してコンテナ作成(docker create)し直し。
 -v "/share/CACHEDEV1_DATA/Multimedia/iTunes for XXXX/iTunes Media/Audiobooks":/Audiobooks \

B forked-daapd.confを書き換えて、起動し直し
directories = { "/music" }

directories = { "/music", "/Audiobooks" }



<備考>

Aのみ行う → NG (「オーディオブックなし」と出る)
@Aの順に行う → NG (「オーディオブックなし」と出る)
@ABの順に行う → OK

書込番号:22491968

ナイスクチコミ!1


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/24 23:57(8ヶ月以上前)

>tanettyさん

こんばんは。
ラジコ環境…1手1手つまずいてて、へろへろです ^^;

オーディオブックは使った事ないのですが、おもしろそうですね。

1個質問です。
コンテナ作成j時にiTunes Mediaforudaを指定ではダメだった感じでしょうか?

 -v "/share/CACHEDEV1_DATA/Multimedia/iTunes for XXXX/iTunes Media":/Music \

書込番号:22492072

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/25 01:06(8ヶ月以上前)

>たく0220さん

いつもお世話になっております。

>ラジコ環境…1手1手つまずいてて、へろへろです ^^;

くれぐれもご自愛くださいますよう。m(_ _)m
といいつつ、楽しみにお待ちしております。

>オーディオブックは使った事ないのですが、おもしろそうですね。

新潮社CDがオススメです。なかでも、風間杜夫の『坊ちゃん』がサイコーです。

ちなみに、本を耳で聞く手段、いろいろと試しましたが、Kindle本をFire端末で聞くのが、いちばんラクで使い勝手がよいってことに気づきました。

>コンテナ作成j時にiTunes Mediaforudaを指定ではダメだった感じでしょうか?
> -v "/share/CACHEDEV1_DATA/Multimedia/iTunes for XXXX/iTunes Media":/Music \

さっそく実験してみました。まず、コンテナ初回起動時のDB構築の際、こんな感じのエラーが大量に出て、なかなか完了しませんでした。

scan: Scanned 19400 files...
db: Error 'step failed: UNIQUE constraint failed: inotify.wd' while runnning 'INSERT INTO inotify (wd, cookie, path) VALUES (1, 0, '/Audiobooks/Music');'
db: Error 'step failed: UNIQUE constraint failed: inotify.wd' while runnning 'INSERT INTO inotify (wd, cookie, path) VALUES (366, 0, '/Audiobooks/Music/泉まくら/5 Years [Disc 1]');'
db: Error 'step failed: UNIQUE constraint failed: inotify.wd' while runnning 'INSERT INTO inotify (wd, cookie, path) VALUES (367, 0, '/Audiobooks/Music/泉まくら/アイデンティティー');'
db: Error 'step failed: UNIQUE constraint failed: inotify.wd' while runnning 'INSERT INTO inotify (wd, cookie, path) VALUES (368, 0, '/Audiobooks/Music/泉まくら/マイルーム・マイステージ');'

一意性制約で怒られてるわけですが、おそらくは、次の順で、結果として/music配下のファイル群を2回DBに追加しようとするためじゃないかと。

/music (= iTunes Media/Music)配下のファイル群を、ミュージックとしてDBに登録

/Audiobooks (= iTunes Media)配下のファイル群を、オーディオブックとしてDBに登録

DB構築完了後、Remoteから見てみると、オーディオブックの中に、つまり、川端康成や夏目漱石に混じって、西野カナだの三浦大知だの、大量の音楽アーティストが入ってきちゃいました(笑)。

というわけで、当初の構成に戻します。

iTunes Media/Music を /Music として登録
iTunes Media/Audiobooks を /Audiobooks として登録

書込番号:22492154

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/25 01:11(8ヶ月以上前)

>川端康成や夏目漱石に混じって、西野カナだの三浦大知だの、大量の音楽アーティストが入ってきちゃいました(笑)。

画像を貼り忘れました。こんな感じです。

書込番号:22492157

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/25 05:57(8ヶ月以上前)

>tanettyさん

>さっそく実験してみました。まず、コンテナ初回起動時のDB構築の際、こんな感じのエラーが大量に出て、なかなか完了しませんでした。

確認ありがとうございます。
ん〜なんか腑に落ちないな〜 ^^;
バグかもしれないので、ラジオの方が一段落したら確認してみますね。

しかし…
>VOLUME /config /music /Audiobooks
とか教えなくても理解してしまうとは、なかなかやりますな〜 ^^
やっぱセンスありますね。


さてラジオの進捗ですが、ざっくり

1.ruby(言語)環境のインストール確認
2.Python(言語)環境のインストール確認
3.icecast2のインストール確認
4.Sinatra(ruby)のインストールと修正と動作確認
5.らじるスクリプトの修正と動作確認  ← 今ここ
6.らじこスクリプトの修正と動作確認
7.全体の調整と機能追加
8.Docker用に全体の再調整
9.Dockerfile作成と動作確認

1〜4をうろうろしてたので、ようやく音出しの確認まで来ました。
次どこで、つまずくのやら…


書込番号:22492283

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/25 22:42(8ヶ月以上前)

>たく0220さん

こんばんは。

>さてラジオの進捗ですが、ざっくり

いやー、とんでもなくややこしいんですね。なんか、気軽に、「あったら、欲しいなぁ」なんて言っちゃいましたけども。

しかも、1〜9、どれも確実に私では理解できそうもない(汗)。rubyとPythonってのは、名前だけは聞いたことありますが
なんのこっちゃ、ぜんぜんわかっておりませぬ。

>1〜4をうろうろしてたので、ようやく音出しの確認まで来ました。

本当にありがとうございます!!!

>ん〜なんか腑に落ちないな〜 ^^;

そうなんですね。ただ、私のなかでは、かなり納得のいく動作でした。

というのは、daapdから音声ファイルを見たとき、楽曲ファイルもオーディオブックも、区別がつかないと思いますので。

たしか古いiTunesだと、オーディオブックにすると、拡張子が変わりました。たとえばAACの場合、m4aからm4bに。

でも、今のiTunesでは、拡張子がm4aのママ変わらないっぽいです。ということは、daapdから見て、そのファイルが楽曲なのかブックなのか、区別がつきません。なので、/Audiobookと/Musicは、かぶらないように指定してあげないといけないのかなぁ、って。

>バグかもしれないので、ラジオの方が一段落したら確認してみますね。

ありがとうございます。お手すきのさいでかまいませんので、よろしくお願いいたします。

>とか教えなくても理解してしまうとは、なかなかやりますな〜 ^^
>やっぱセンスありますね。

へへ。褒められちゃった。嬉しいやら、恥ずかしいやら。てか、嬉しいんですけど(笑)。

でも、私がどう、というより、たく先生の薫陶の賜物だと思ってます。いつも本当にありがとうごいます。

お誉めいただいたので、かなり調子に乗りまして(笑)。
以下、ちょっと話は細かいところにいきますが。
こんな(↓)順序で思考を進めていきましたが、いかがでしょう?
推測の部分に、間違ってるところとかあったら、ご指摘いただきたいのですが。
(あと、「プログラミングのシロウトって、こう考えるのね」てなことの参考にしていただければ、という気持ちもあります)

なにはともあれ、オーディオブックを無効化してる記述があったら、無効化を解除しないといけない。

Audiobook を enable/disableスイッチする記述が、(2ファイルを見るも)なさげ
(2ファイル = forked-daapd.conf, Dockerfile.armhf)

じゃあ、たぶん無効化はされてないのでしょう。いったん保留。

オーディオブックを置く場所を指定しなきゃ。

forked-daapd.confにすでにこの記述があるから、すでによさげ。
# Directories containing audiobooks
audiobooks = { "/Audiobooks" }

daapdから見た /Audiobooks フォルダを、QNAP上のフォルダで指定しなきゃ

コンテナ作成時、-vオプションで指定した(A)が、まだダメ。

うーん。2ファイルを眺めてたら、Dockerfile.armhfに次の記述を発見!
# ports and volumes
EXPOSE 3689
VOLUME /config /music

httpの3689で公開してるのが、/config と /musicってこと?

VOLUME /config /music /Audiobook
って書けば、/Audiobook も httpの3689で公開することになる?

やってみた(@→A)が、まだダメ。

もう、わからん! これはもう、たく先生に質問するしか。

質問するため、2ファイルを参照しながら、やりたいこと、やったこと、できなかったことを書いていく。

書くために、forked-daapd.confをじっと眺めているうちに、ふと気づく。

# Directories to index
directories = { "/music" }

これって、DB(songs3.db)に登録すべきファイル群の場所を指定してるんじゃ?

二つに増やしたいんだけど
directories = { "/music" }
directories = { “/Audiobooks" }
って、書けばいいのかしら?

待て待て。他のところを見てみよう。

# artwork_basenames = { "artwork", "cover", "Folder" }

なるほど、集合みたいに書くのね。

これでどうだぁあああ! (B)
directories = { "/music", "/Audiobooks" }

イケました!!!!

よし、せっかくできたから、やり方も残しておこう。先生に褒めていただきたいし。

本当にお褒めいただく(超嬉)。

大満足。調子に乗ってしまう。

書込番号:22493992

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/25 23:41(8ヶ月以上前)

>tanettyさん

>こんな(↓)順序で思考を進めていきましたが、いかがでしょう?

iTunes Media/Musicをdaapdの/musicにしてるから
/Audiobooksの方が階層上なので設定できないですもんね。。。
なるほどです。

>たしか古いiTunesだと、オーディオブックにすると、拡張子が変わりました。たとえばAACの場合、m4aからm4bに。
>でも、今のiTunesでは、拡張子がm4aのママ変わらないっぽいです。

m4bじゃないの??
それはiTunesが… 仕様変わったのかな?
確かにこれでは、区別するのは難しいかもしれませんね。
tanettyさんの実施した方法が一番すっきりしてて、後に尾を引かないと思うのでベストな選択だと思います。


ちなみに
7.全体の調整と機能追加 ←今このへん^^;

時間が足りん!
まだ調整中だけどRemoteでAirPlayはできたよ〜


書込番号:22494150

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/26 20:38(8ヶ月以上前)

>たく0220さん

こんばんは。

>7.全体の調整と機能追加 ←今このへん^^;
>まだ調整中だけどRemoteでAirPlayはできたよ〜

はやっ! 
さすがですね。すごすぎ。
てか、スピード違反でつかまりますよ(笑)。
本当にありがとうございます。m(_ _)m

>m4bじゃないの??
>それはiTunesが… 仕様変わったのかな?

たぶんそうだと思います。
少なくとも、ALACとAACでは、「ミュージック」から「オーディオブック」に変更しても、拡張子はm4aのママでした。
(iTunes 12.9.2.5 on Macにて確認済)

>tanettyさんの実施した方法が一番すっきりしてて、後に尾を引かないと思うのでベストな選択だと思います。

ありがとうございます!
たく先生のお墨付き(?)をいただき、光栄です。

ぜんぜん話は違いますが、Remoteの不具合(?)の話を。
iPadのRemoteでは、iTunesライブラリを2つ以上登録できません(異常な挙動)。
たとえば、daapdを登録している場合、その登録を削除しないと、MacのiTunesを登録できません。
iPhoneのRemoteでは、2つでも3つでも登録できます(正常な挙動)。
iOSやRemoteのバージョンにかかわらず、そうです。
本日、Appleにその旨を伝えました。
実用上それほど困ってませんが、直してくれるといいなぁ...。

書込番号:22495814

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/26 22:14(8ヶ月以上前)

画像@ iTunesが自ライブラリを覗いているところ。

画像A iTunesをRemoteで覗いたところ。

画像B daapdをiTunesで覗いているところ。

画像C daapdをRemoteで覗いたところ。

いつもお世話になっております。

質問というか相談というか、なのですが。

Remoteでdaapdを覗いたときに見えるアー写(アーティスト写真)を、自分の好きなものにしたい、と考えています。
DaapdがRemoteをうまく騙すことで、結果としてアー写を手動で設定できたりしないでしょうか。

ちょっと話がややこしいので、順を追って説明させていただきます。

画像@をご覧ください。
iTunesが、自分のライブラリ (= iTunes Media フォルダ) を覗いているところです。
iTunesライブラリ内のアー写は、iTunesがAppleのサーバから自動でとってきます。
アー写が気に入らない物でも、ユーザが手動で変更することはできません。
Appleのサーバになければ、アー写ナシとなります (ユーザの手でアリにはできない)。
iTunesと同期したiPhone/iPad内の「ミュージック」アプリ内ライブラリも、このルールが適用されます。
(ここまでは、Appleに確認済み)。

画像Aをご覧ください。
iTunesをRemoteで覗いたところです。
iTunes(画像@)と同じ状態であることが、見てとれます。

画像Bをご覧ください。
daapdをiTunesで覗いているところですが、アー写は皆無です。
iTunesサーバとしてのdaapdは、iTunesクライアントとしてのiTunesに、
アー写を<まったく送信していない>ものと思われます。

画像Cをご覧ください。
daapdをRemoteで覗いたところです。
ジャケットのうち1枚を、アー写としているようです。
すべてのアーティストにアー写がついています。
Appleのサーバとはまったく無関係に、アー写が設定されていると思われます。
(星野源のアー写を画像@Bと比べてみると、よくわかります)
ジャケットの1枚をアー写としているのは、
受信者たるRemoteではなく、送信者たるdaapdだと…と推測されます。(ホントかな…)


本題はここからです。前置きが長くてスミマセン。
iTunesライブラリ(画像@A)では、Appleサーバのガチガチ固定で、ユーザが何もできない仕様です。
しかし、daapd+Remote(画像C)では、どうやらAppleサーバが絡まないようです。
ということは、もしかしたら、ユーザが好きなように設定できる余地があるのでないか?
そう考えました。

各アーティスト名フォルダの下に、
 ・アーティスト名.jpg
 ・artist.jpg
 ・folder.jpg
を置いたりしてみましたが、どうやら関係ないようでした。

アー写を好きなようにできるのも楽しみのひとつなのですが、
そうするためには、結局、プログラム(daapdの中身)をいじらないとダメなんですかねぇ…。

書込番号:22496066

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/02/26 23:16(8ヶ月以上前)

>tanettyさん

>しかし、daapd+Remote(画像C)では、どうやらAppleサーバが絡まないようです。
>ということは、もしかしたら、ユーザが好きなように設定できる余地があるのでないか?

おそらくですが、
Remoteが受け取ったソートされた一覧データを見て
各アーティストの先頭の曲用のアートワークをアー写にしてるのではないかなと思います。

サーバー(daapd)側ははApple IDをサポートしていないので、Remote側でこの様に処理をしてるかもしれません。

daapdのDBを確認してみましたが、アー写用の個別の項目が無さそうですので
Remoteの機能かな?と思います。

書込番号:22496236

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/27 00:06(8ヶ月以上前)

>たく0220さん

ありがとうございます。

>Remoteが受け取ったソートされた一覧データを見て
>各アーティストの先頭の曲用のアートワークをアー写にしてるのではないかなと思います。

そのアーティストの、どのアートワークを選んでいるのか?
どうも法則性が見出せないんですよね。
「先頭」というのは、何を見て先頭と判断しているのでしょうか。

>サーバー(daapd)側ははApple IDをサポートしていないので、Remote側でこの様に処理をしてるかもしれません。

うーん。AppleIDをサポートしてないと、Appleサーバからアー写を取得できない(その前段階として、Appleサーバに接続できない)という意味ですよね?

>daapdのDBを確認してみましたが、アー写用の個別の項目が無さそうですので

ですよねー。

>Remoteの機能かな?と思います。

私もはじめそうだとおもったのですが、なんかこう、実験結果と符合しないのです。

iTunesをRemoteで見たとき、iTunesでアー写ナシのアーティストは、Remoteでもアー写ナシです。
ということは、こういう仮説になる?
仮説「Remoteがアー写を受信できなかったとき、Remoteがアートワークから勝手にアー写をみつくろう仕様ではない」

この仮説が正しいと仮定した場合、daapdがRemoteにアー写を送信してない場合、Remote上でアー写ナシになるはずです。
しかし、アー写ナシになるどころか、すべてのアーティストでアー写がついています。
ということは、daapd側で、アートワークからみつくろって、アー写として送信しているのではないか?

と、ここまで書いて、矛盾に気づきました。
もしdaapdがアー写を送信しているなら、daapdをiTunesで見たとき、アー写が出るはずではないか?
しかし、実際にはまったく出ていない。
もしかしたら、iTunesサーバをiTunesクライアントで覗いたとき、アー写は出ない、iTunesクライアント側の仕様なのかもしれませんが。

あと、別の仮説としては...。
サーバ側からRemoteにアー写を送信する際に
・「ナシ」と明示して送信すれば、Remoteでもナシにする。
・「ナシ」と明示はしないけど、結果としてアー写を送信しなければ、Remote側でみつくろう
・アー写自体を送信すれば、それれを使う。

これはこれで、矛盾が生じるなぁ。
となると、送信者が同じdaapdでも、受信者がiTunesのときとRemoteのときでは、送信の仕方も違う??

うーん。よくわかりませぬ...。
すべての実験結果と矛盾しない仮説を立てることができません。
ややこしすぎて、知恵熱でそうなんですけど(笑)。

書込番号:22496334

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/27 00:08(8ヶ月以上前)

>すべての実験結果と矛盾しない仮説を立てることができません。

いずれにしても、こりゃ一筋縄ではいかないってことなんでしょうね、きっと(泣)。

書込番号:22496338

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/27 01:15(8ヶ月以上前)

入浴中に熟考しまして。次の仮説なら、実験結果すべてに矛盾しないんじゃないかと。


<仮説>

・アー写の送信には、3とおりある。
 (a) 「コレ」 例:artist_artwork = “西野カナ.jpg” 的な何か。
 (b) 「ナシ」 例:artist_artwork = NULL 的な何か。
 (c) 「…」  その行自体を送らない

・送信者daapdの挙動
 - アー写の管理をまったくしていない
 - どのアーティストも、必ず(c)「…」

・送信者iTunesの挙動
 - アー写の管理をしている
 - (a)「コレ」か(b)「ナシ」で送信

・受信者iTunesの挙動
 - (a)「コレ」のとき、それを表示
 - (b)「ナシ」のとき、表示しない。
 - (c)「…」のとき、表示しない。

・受信者Remoteの挙動
 - (a)「コレ」のとき、それを表示
 - (b)「ナシ」のとき、表示しない。
 - (c)「…」のとき、ジャケットから見繕う。


<上記仮説どおりが正しいと仮定した場合のアー写表示>

・送信者iTunes + 受信者Remote
 → Remoteでは、iTunesとまったく同じになる。

・送信者daapd + 受信者Remote
 → どのアーティストも、ジャケットから見繕う。

・送信者daapd + 受信者iTUnes
 → どのアーティストも、表示されない。

書込番号:22496439

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/27 01:22(8ヶ月以上前)

>次の仮説なら、実験結果すべてに矛盾しないんじゃないかと。

仮説というのはたいてい、シンプルなほうが正解である確率が高いのですが。
この仮説は、ひどく複雑です。
そういう意味では、この仮説、正しいのかどうか、甚だ疑問です。

あと、仮にこの仮説が正しいとして、daapd側でどうにかしようとすると、
・データベースの構造をいじって(アー写はこのファイルです、がわかるように)
・ファイル(アー写画像)の置き場所をつくって
・処理するロジックをつくって
・吐き出すインタフェース(パケットにどう載せるか)を作って
と、とんでもないレベルのことになっちゃいます。非現実的ですね、コレは。

書込番号:22496448

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/02/27 01:33(8ヶ月以上前)

>たく0220さん

>daapdのDBを確認してみましたが、アー写用の個別の項目が無さそうですので

なわけですから、

>・送信者daapdの挙動
> - アー写の管理をまったくしていない

と考えるのが、妥当ですよね。そんな気が、すごいしてきました。あとは、

> - どのアーティストも、必ず(c)「…」

なのかどうか、かな??

..........って、しししし・しまったぁああああああああああ。
あした朝はやいのに。夢中になって考えてたら、もう1時半。
またあした、しっかり考えてみよう...。

では、おやすみなさい Zzz...

書込番号:22496462

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/01 00:09(8ヶ月以上前)

>tanettyさん

途中経過〜
文字コード関係やdaapdの関係でこの辺で収めようかと
とりあえず、聞けてるからいいかな… ^^;


>あした朝はやいのに。夢中になって考えてたら、もう1時半。

私も夜更かししすぎて、しんどい^^
週末で片付くといいな〜

書込番号:22500457

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/01 22:07(8ヶ月以上前)

>たく0220さん

わー。早いですね。ありがとうございます。

Remoteからどういう操作で再生させるのかしら?
想像もつかなかったのですが、
なるほど、プレイリストから再生させるんですね。

書込番号:22502363

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/04 02:15(8ヶ月以上前)

>tanettyさん

殿堂入りおめでとうございます ^^

お気に入りクチコミストに登録してると、こっちにも通知くるんですね〜

ラジオの件、機能追加のとこで滞ってます ^^;
眠くて集中できないみたいで…
もうちょっとかな?

書込番号:22507919

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/04 19:51(8ヶ月以上前)

画像1。iPadのRemote。プレイリストの存在は認識するが、中身を認識してくれない。

画像2。daapdから見たフォルダ構成(上段黄窓)。m3uの中身(下4段)。

画像3。コンテナの共有フォルダ設定。

>たく0220さん

>殿堂入りおめでとうございます ^^

ありがとうございます! 称号自体はどうでもいいかな?と思ってたんですが、もらってみると、意外と嬉しいものですね(笑)。

称号はさておき、実は殿堂入りを心待ちにしてまして。というのも、景品がもらえるハズなんんですよぉ。過去にもらったことのある人の話によれば、いくつかの候補から選べるらしいんですが、何やらノートパソコンも、その中に含まれているとか。ご存じのとおり、手持ちのWindowsPCが激重なので、これまでWindows作業はなるべく避けてきたのですが、もし手に入れることができたら、それも楽しくできそうです。

>ラジオの件、機能追加のとこで滞ってます ^^;
>眠くて集中できないみたいで…

そうなんですね。焦らず、ゆっくりで…。楽しみに待っております!



さてさて。ちと困っております。できれば助けていただきたいのですが。

プレイリストでの再生をすべく、がんばっているのですが、どうしてもうまくいきません。

画像1をご覧ください。Remoteから、プレイリスト名までは認識しますが、中身は「曲なし」になってしまうんです。何か漏れなり間違いなりがあるのでしょうか。



以下、もうちょっと状況を詳しく説明いたしますと…。



<daapdから見たフォルダ構成と、m3uファイルの中身など>

画像2の上段の黄窓は、daapdから見たフォルダ構成です。/Playlists の直下に、m3uファイルを置いています。下段4つは、m3uファイルの中身です。(相対パス/絶対パス) x (クォートありなし) の4とおり試しましたが、いずれもダメでした。

画像3は、コンテナの共有フォルダ設定です。



<やってみたこと>
(不要なものもあるかもしれません。
できない→やること増やす→できない→やること増やす...の結果、
@〜Fすべて行うことになった...という状況ですので)

@ QNAP上[iTunes Media]フォルダの下に[Playlists]フォルダを作成

A Dockerfile.armhfのVOLUME指定行を編集
VOLUME /config /music /Audiobooks /Playlists

B リビルド

C forked-daapd.confのlibraryの項を編集
 directories = { "/music", "/Audiobooks", "/Playlists" }

D forked-daapd.confのmpdの項を編集
 default_playlist_directory = "/Playlists"
 
E 次のオプションを追加してコンテナ再作成 (@とCDの紐付け)
-v "/share/CACHEDEV1_DATA/Multimedia/iTunes for a-usual/iTunes Media/Playlists":/Playlists \

F [Playlists]フォルダに実際にプレイリストファイルを置く。



<備考:m3uファイル作成手順>
iTunes上で作ったプレイリスト作成。
iTune上でm3uを出力。
([ファイル] - [ライブラリ] - [プレイリスト書き出し])
daapdに合わせてパスを編集。

書込番号:22509332

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/04 21:06(8ヶ月以上前)

>tanettyさん

ちょっとテストする余力がないので、おそらくですが

>D forked-daapd.confのmpdの項を編集
> default_playlist_directory = "/Playlists"

この設定はMPD用の設定で
今は「--disable-mpd」でビルドしているので、設定が出来ないのかもしれません。

confファイル 285行目あたり
# MPD configuration (only have effect if MPD enabled - see README/INSTALL)

musicフォルダの直下にプレイリスト置いて「../music/…」では駄目ですか?

書込番号:22509552

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/04 21:32(8ヶ月以上前)

>たく0220さん

お忙しいなか迅速なご返答をいただき、誠にありがとうございます。m(_ _)m

>この設定はMPD用の設定で
>今は「--disable-mpd」でビルドしているので、設定が出来ないのかもしれません(添付ファイル参照)。

そうですよね。私もそんな気がしてます。

>confファイル 285行目あたり
># MPD configuration (only have effect if MPD enabled - see README/INSTALL)

ごめんなさい。これは、そのあたりのどこかを編集したほうがいいよ...という意味でしょうか?

よくわからなかったので、とりあえず現状の設定のまま

>musicフォルダの直下にプレイリスト置いて「../music/…」では駄目ですか?

のご指示に従い、次の事項を行ってみましたが、症状変わらずでした(添付画像参照)。

m3uファイル4つを名前変更したうえで、/music直下にコピー。
 ・Adele1.m3u -> Adele5.m3u
 ・Adele2.m3u -> Adele6.m3u
 ・Adele3.m3u -> Adele7.m3u
 ・Adele4.m3u -> Adele8.m3u

ターミナルからm3uの存在を確認すると、こんな感じです。
[~] # docker exec -it daapd /bin/bash
root@QNAP1:/$ ls /music/*.m3u
/music/Adele5.m3u /music/Adele6.m3u /music/Adele7.m3u /music/Adele8.m3u

書込番号:22509614

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/04 21:38(8ヶ月以上前)

>たく0220さん

>今は「--disable-mpd」でビルドしているので、設定が出来ないのかもしれません。

コレ(↑)とコレ(↓)は、同義と思ってよいでしょうか???

># MPD configuration (only have effect if MPD enabled - see README/INSTALL)

「MPD有効のときのみ、設定に効果があるよ」みたいに読めますので。私もそこはそうとらえてたんですが、とはいっても、じゃあ、プレイリスト置き場をどこで指定するのかというと、ここしかなさげなので、とりあえずここに設定おりました。うーん、よくわかりませぬ(困)。

書込番号:22509629

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/04 21:48(8ヶ月以上前)

>たく0220さん

せっかくm3uを/musicに置いたので、カレントを使った相対パス指定もしてみましたが、残念ながら症状変わらずでした。

<Adele9.m3uの中身>
#EXTM3U
#EXTINF:229,Rolling In The Deep - Adele
./Adele/21/01 Rolling In The Deep.m4a
#EXTINF:223,Rumour Has It - Adele
./Adele/21/02 Rumour Has It.m4a

<Adele10.m3uの中身>
#EXTM3U
#EXTINF:229,Rolling In The Deep - Adele
"./Adele/21/01 Rolling In The Deep.m4a"
#EXTINF:223,Rumour Has It - Adele
"./Adele/21/02 Rumour Has It.m4a"

書込番号:22509663

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/04 22:04(8ヶ月以上前)

>tanettyさん

><Adele9.m3uの中身>
>#EXTM3U
>#EXTINF:229,Rolling In The Deep - Adele
>/Adele/21/01 Rolling In The Deep.m4a

↓ 関係無いかもしれないがタイトルとアーティストが逆じゃないかな…
#EXTM3U
#EXTINF:229,Adele - Rolling In The Deep
/music/Adele/21/01 Rolling In The Deep.m4a

書込番号:22509708

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/04 22:15(8ヶ月以上前)

>たく0220さん

おお! 逆にしたら、よくわかりませんが、2曲めだけが表示され、再生できました!!!!!!
やったーーーーー。
ということは、あとはm3uの書き方ってことですね。
いろいろ試してみます!!!!!


<Adele11の中身>
#EXTM3U
#EXTINF:229,Adele - Rolling In The Deep
./Adele/21/01 Rolling In The Deep.m4a
#EXTINF:223,Adele - Rumour Has It
./Adele/21/02 Rumour Has It.m4a

書込番号:22509739

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/04 22:36(8ヶ月以上前)

>tanettyさん

DEBUGモードでログみてたら
何かそこ見てDBと照らし合わせてクエリしてる様だったので…

m3uは仕様が規格として決まってないので何とも言えないが
iTunesは一般的なのとは逆なんだね。。。

プレイリストはdaapd起動中にファイル削除してもDBにゴミが残ってしまうので
コンテナ再起動でしか対処法がない感じです。


書込番号:22509789

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/04 22:39(8ヶ月以上前)

>たく0220さん

ここまでの実験でわかったことの報告です。

(a) Playlistsフォルダ直下にm3uを配置しても、musicフォルダ直下に配置しても、(b)(c)(d)は同じ。
 (逆にいえば、Playlistsフォルダでもイケる)
(b) EXTINFでの指定は、「アーティスト名 - 曲名」のみOK。逆はダメ。
(d) クォートは不要。
(d) 絶対パスだと、1曲も認識されない。相対パスだと、プレイリスト内最後の曲のみ表示され、再生できる。



(d)については、次のとおりです。


この↓プレイリストをRemoteで見ると、「Rumour Has It」のみ表示されます。

#EXTM3U
#EXTINF:229,Adele - Rolling In The Deep
../music/Adele/21/01 Rolling In The Deep.m4a
#EXTINF:223,Adele - Rumour Has It
../music/Adele/21/02 Rumour Has It.m4a


この↓プレイリストをRemoteで見ると、「Turning Tables」のみ表示されます。

#EXTM3U
#EXTINF:229,Adele - Rolling In The Deep
../music/Adele/21/01 Rolling In The Deep.m4a
#EXTINF:223,Adele - Rumour Has It
../music/Adele/21/02 Rumour Has It.m4a
#EXTINF:250,Adele - Turning Tables
../music/Adele/21/03 Turning Tables.m4a

最後の曲のみってのが、わけがわかりませんね...。ちなみに、次のとおり、曲の区切りに改行を余分に入れたりもしてみましたが、症状変わらずです。

#EXTM3U

#EXTINF:229,Adele - Rolling In The Deep
../music/Adele/21/01 Rolling In The Deep.m4a

#EXTINF:223,Adele - Rumour Has It
../music/Adele/21/02 Rumour Has It.m4a

#EXTINF:250,Adele - Turning Tables
../music/Adele/21/03 Turning Tables.m4a

書込番号:22509794

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/04 22:43(8ヶ月以上前)

>たく0220さん

>何かそこ見てDBと照らし合わせてクエリしてる様だったので…

なるほど、ちゃんと照合してるんですね。daapd、意外ときちんとしてるんだー、って思いました。

>m3uは仕様が規格として決まってないので何とも言えないが
>iTunesは一般的なのとは逆なんだね。。。

あああああ。iTunesが特殊なんだー。今回初めてm3uなるものを作ってみたので、恥ずかしながら、ぜんぜん知りませんでした。

>プレイリストはdaapd起動中にファイル削除してもDBにゴミが残ってしまうので
>コンテナ再起動でしか対処法がない感じです。

再起動ですか。最後の曲しか表示されない問題も、それが原因かも。と思い、いまdaapdを再起動中です。

書込番号:22509804

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/04 23:05(8ヶ月以上前)

>たく0220さん

daapdの再起動が終わりました。

>(d) 絶対パスだと、1曲も認識されない。相対パスだと、プレイリスト内最後の曲のみ表示され、再生できる。

表示されるのはどうやら、「最後の曲のみ」じゃなく、「どれか1曲」っぽいです。
どの曲が選ばれるのか規則性がよくわかりませんが、いずれにしても、1曲しか表示されないのでは、プレイリストの意味がないじゃん!!!
何か、書き方かなー。
他の書き方がないか、調査したり、考えたりしてみます。

書込番号:22509852

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/04 23:26(8ヶ月以上前)

>tanettyさん

/music/Test
music/Test
../music/Test

私のは複数の曲でもOKでした。
考えられるのは空白の扱いかもしれません。

ちょっと時間が取れないので憶測で申し訳ないんですが
試すのですれば下記のパターン

EXTINFのハイフンの前後は半角スペースを入れる事 例"artist - title"

#EXTINF:229,Adele - Rolling In The Deep

シングル、ダブルクォーテーションで括ってみる
#EXTINF:229,Adele - 'Rolling In The Deep'
#EXTINF:229,Adele - "Rolling In The Deep"

アドレスも
../music/Adele/21/01 Rolling In The Deep.m4a

../music/Adele/21/'01 Rolling In The Deep.m4a'
../music/Adele/21/"01 Rolling In The Deep.m4a"

アーティスト名や他空白があったらとりあえず個別に括ってみてはどうでしょうか?

書込番号:22509894

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/05 00:11(8ヶ月以上前)

>たく0220さん

>私のは複数の曲でもOKでした。

おお。それだと、望みがありそうですね。わざわざ実験いただき、ありがとうございます!!!

>考えられるのは空白の扱いかもしれません。

たしかに。ご助言に従い、いろいろ試してみようと思います。

ありがとうございました。m(_ _)m

書込番号:22509976

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 19:11(8ヶ月以上前)

>たく0220さん

中間報告です。

空白が悪さをしているのかどうかを切り分けるため、曲名にもアーティスト名にもファイル名にも空白が入らない楽曲群でプレイリストを構成し、実験してみました。

<test00.m3uの中身>
#EXTM3U
#EXTINF:299,Coldplay - Shiver
/music/00test/Shiver.m4a
#EXTINF:318,Coldplay - Spies
/music/00test/Spies.m4a
#EXTINF:227,Coldplay - Sparks
/music/00test/Sparks.m4a

このm3uファイルを/Playlists直下に置き、Remote上で確認しところ、「Sparks」1曲しか表示されませんでした。

たく0220さんご環境下では複数曲もOKとのことでした。そのお話と私の実験結果を合わせて勘案すると、m3uファイルの書き方よりも、それ以外の部分に原因がある可能性が高そうです。

いったん、 confファイルやコンテナのパス指定などを当初の状態(/Playlistのない状態)に戻し、/musicの下にプレイリストを置いてどうか、などを試してみようと思います。

書込番号:22513419

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/06 20:29(8ヶ月以上前)

>tanettyさん

ログにエラーが残っていませんでしたか?
ソースコードかるくみてみましたが

Could not stat 〜
Could not open playlist 〜
No file in the library matches playlist entry 〜
Path in playlist is too long: 〜

何かエラーがあれば
上記のようなログが残っているかと思います。

書込番号:22513604

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 21:19(8ヶ月以上前)

ログ1

ログ2

ログ3

ログ4

>たく0220さん

いつもお世話になっております。

下記環境にて実験してみたところ、ログの有無は下記のとおりでした。
詳細ログは、5個の画像にて添付いたします。
投稿時に圧縮されるので、字が潰れて読めなくなってないか、心配ですが…。

<ログの有無>
無 Could not stat 〜
無 Could not open playlist 〜
有 No file in the library matches playlist entry 〜
無 Path in playlist is too long: 〜

<実験内容>
@ debugモードでdaapdを起動
A test02.m3u を /music 直下に追加
B Coldplay9.m3u を /Playlists 直下に追加

<実験結果>
・プレイリスト「test02」は、「Sparks」1曲のみ。
・プレイリスト「Coldplay9」は、曲なし

<test02.m3u の中身>
#EXTM3U
#EXTINF:299,Coldplay - Shiver
/music/00test/Shiver.m4a
#EXTINF:318,Coldplay - Spies
/music/00test/Spies.m4a
#EXTINF:227,Coldplay - Sparks
/music/00test/Sparks.m4a

<Coldplay9.m3u の中身>
#EXTM3U
#EXTINF:299,Coldplay - Shiver
../music/Coldplay/Parachutes/"02 Shiver.m4a"
#EXTINF:318,Coldplay - Spies
../music/Coldplay/Parachutes/"03 Spies.m4a"
#EXTINF:227,Coldplay - Sparks
../music/Coldplay/Parachutes/"04 Sparks.m4a"

書込番号:22513735

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 21:21(8ヶ月以上前)

ログ5

>たく0220さん

ログ5(最後)です。

書込番号:22513741

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 21:38(8ヶ月以上前)

ログ6

ログ7

ログ8

ログ9

>たく0220さん

「Coldplay10.m3u」を/Playlistsに追加したときのログを、4分割して画像として添付いたします。
Remote上のプレイリスト「Coldplay10」では、「Sparks」1曲のみが認識されています。

<Coldplay10.m3uの中身>
#EXTM3U
#EXTINF:299,Coldplay - Shiver
../music/Coldplay/Parachutes/02 Shiver.m4a
#EXTINF:318,Coldplay - Spies
../music/Coldplay/Parachutes/03 Spies.m4a
#EXTINF:227,Coldplay - Sparks
../music/Coldplay/Parachutes/04 Sparks.m4a

書込番号:22513787

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 21:49(8ヶ月以上前)

>たく0220さん

たとえばこのログは、どういう意味なのでしょうか?

[2019-03-06 21:24:15] [ LOG] scan: No file in the library matches playlist entry '../music/Coldplay/Parachutes/02 Shiver.m4a
#EXTINF:318,Coldplay - Spies'

素直に読むと、こう↓読めるのですが。

「プレイリスト上に記載された
 ../music/Coldplay/Parachutes
にあるはずの
 02 Shiver.m4a#EXTINF:318,Coldplay - Spies
というファイルは、ライブラリにありませんでした」

次の曲の #EXTINF (の行)が、前の曲のファイル名(の行)とくっついちゃってるってこと??????

書込番号:22513815

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/06 22:01(8ヶ月以上前)

>tanettyさん

>次の曲の #EXTINF (の行)が、前の曲のファイル名(の行)とくっついちゃってるってこと??????

みたいですね…
m3uファイルをcat -Aでみてもらえますか?

cat -A xxx.m3u


書込番号:22513857

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 22:27(8ヶ月以上前)

>たく0220さん

改行が改行として認識されてない????
そうなると、最後の曲だけ認識されるってのは、合点がいきます。
(ファイル名の後ろにEXTINF行がゴミとしてくっつかないので)。

[~] # docker exec -it daapd /bin/bash
root@QNAP1:/$ cd /Playlists
root@QNAP1:/Playlists$ ls
Adele1.m3u Adele16.m3u Adele4.m3u Coldplay4.m3u Coldplay9.m3u
Adele12.m3u Adele17.m3u Coldplay1.m3u Coldplay5.m3u test01.m3u
Adele13.m3u Adele18.m3u Coldplay10.m3u Coldplay6.m3u
Adele14.m3u Adele2.m3u Coldplay2.m3u Coldplay7.m3u
Adele15.m3u Adele3.m3u Coldplay3.m3u Coldplay8.m3u
root@QNAP1:/Playlists$ cat -A Coldplay10.m3u
#EXTM3U^M#EXTINF:299,Coldplay - Shiver$
../music/Coldplay/Parachutes/02 Shiver.m4a^M#EXTINF:318,Coldplay - Spies$
../music/Coldplay/Parachutes/03 Spies.m4a^M#EXTINF:227,Coldplay - Sparks$
../music/Coldplay/Parachutes/04 Sparks.m4a^Mroot@QNAP1:/Playlists$
root@QNAP1:/Playlists$ cat -A test01.m3u
#EXTM3U^M#EXTINF:299,Coldplay - Shiver^M/music/00test/Shiver.m4a^M#EXTINF:318,Coldplay - Spies$
/music/00test/Spies.m4a^M#EXTINF:227,Coldplay - Sparks$
/music/00test/Sparks.m4a^Mroot@QNAP1:/Playlists$
root@QNAP1:/Playlists$

iTunesのプレイリスト出力なし、その後の編集なりが、まずかったということでしょうか。
文字コードの問題ですよね、きっと。
m3u8でも出力できたような気がするので、そっちを試してみようかと思います。

書込番号:22513915

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/06 22:40(8ヶ月以上前)

>tanettyさん

daapdは拡張子がm3u と pls しか見てないみたいなので
m3u8は認識しないかもしれません。

書込番号:22513942

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 22:44(8ヶ月以上前)

>たく0220さん

m3u8だと、プレイリストとして認識してくれませんでした。

それはさておき。
調べてみたところ、どうやら改行コードの種類が違うんですね。

・Windowsだと、CR+LF
・Linuxだと、LFだけ
・Windowsで作ったファイルをLinuxで表示すると、^Mと表示されることがある。

というわけで、cat -Aで m3uの中身を見たときに、改行が ^Mと表示されてるのを、
Macで編集して、どうやったらLinux用の改行に変更できるのか、
調べているところです。

書込番号:22513952

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 22:49(8ヶ月以上前)

>たく0220さん

>daapdは拡張子がm3u と pls しか見てないみたいなので
>m3u8は認識しないかもしれません。

>m3u8だと、プレイリストとして認識してくれませんでした。

ちょうど入れ違いでした。
ご指摘・ご助言ありがとうございました。

書込番号:22513962

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 22:52(8ヶ月以上前)

>たく0220さん

Macの「テキストエディット」で、保存時のフォーマットをUTF-8に設定後、m3uを保存しました。

それをdaapd の cat -Aで 見たとき、うーん、改行は ^M で表示されちゃいます。

てゆーか、「^M の表示がおかしいから、それをどうにかしなきゃ」という私の認識は、そもそも正しいのでしょうか????

書込番号:22513965

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/06 22:56(8ヶ月以上前)

>tanettyさん

改行がおかしいみたいです。

一旦改行を削除してから、再度改行して改行コードを入力てみてください。
"$" だとLF
"^M$" だとCRLF

改行がCRのみでLFが無いので改行とみなせてない。

・CRLFの場合
[/] # cat -A /share/CACHEDEV1_DATA/Public/mp3_testdata/TestMusic/test_plcrlf.m3u
M-oM-;M-?#EXTM3U^M$
#EXTINF:10, - test_1_1^M$
/music/Test_1/test_1_1.mp3^M$
#EXTINF:10, - test_1_2^M$
/music/Test_1/test_1_2.mp3


・LFの場合
[/] # cat -A /share/CACHEDEV1_DATA/Public/mp3_testdata/TestMusic/test_pl.m3u
#EXTM3U$
#EXTINF:10,Test Artist - Test PL$
Test_1/test_1_1.mp3$

書込番号:22513975

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 23:06(8ヶ月以上前)

>たく0220さん

イケましたぁあああああああああああああああ!!!!
ありがとうございます!!!!!!!
まさかの、改行消して、改行入れ直し...。
そんなオチだったとは(笑)。

あとは、日本語が行けるかどうかも確認してみます!!


root@QNAP1:/Playlists$ cat -A Coldplay14.m3u
#EXTM3U^M#EXTINF:299,Coldplay - Shiver$
../music/Coldplay/Parachutes/02 Shiver.m4a$
#EXTINF:318,Coldplay - Spies$
../music/Coldplay/Parachutes/03 Spies.m4a$
#EXTINF:227,Coldplay - Sparks$
../music/Coldplay/Parachutes/04 Sparks.m4a^Mroot@QNAP1:/Playlists$

書込番号:22514000

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 23:11(8ヶ月以上前)

>たく0220さん

MacはLinuxベース(?)のはずなので、
同じくLinux(?)で動くQNAPなりdaapdなりと相性がいいかと思ってたのですが、
iTunesで出力するm3u内記述で、アーティスト名とタイトルが逆だったりとか、
改行コードがLinuxで認識されないものだったりとか、
いろいろと特殊なんですね。
なんか、めっっっちゃ勉強になりました。

書込番号:22514009

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/06 23:14(8ヶ月以上前)

>tanettyさん

いけましたか〜
よかったですね。

というかCR"^M"のみってありえないんだけど…
iTunesの素の出力がそうなら、本当にiTunes以外の事は考えていない事になるのだけどね
Macのエディタでは"$"のみなのでLFのみみたいなのになぜでしょうねぇ ^^;


書込番号:22514018

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/06 23:28(8ヶ月以上前)

>tanettyさん

Macは今は違うのか知りませんが、BSD系だったと思いますのでLinuxではないのですよ ^^;
BSD
https://ja.wikipedia.org/wiki/BSD


>iTunesで出力するm3u内記述で、アーティスト名とタイトルが逆だったりとか、
>改行コードがLinuxで認識されないものだったりとか

プレイリストの仕様は規格化されて無くても一般的にはdaapdと同じ書式を使うと思うし。
改行コードにしてはCRとLFを間違えたとしか思えない。
この辺iTunesに実装した人が未熟だったか、他社での検証をしてないとしか思えないですね。
はっきりいえばバグって思うレベル。理由が聞きたいぐらいです ^^

書込番号:22514052

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 23:37(8ヶ月以上前)

>たく0220さん

ありがとうございます!!!

>というかCR"^M"のみってありえないんだけど…

そういうものなんですね。iTunes、ダメじゃん...。

それはさておき。
日本語だとうまくいってくれません。
例えばこの(↓) m3u だと、2曲めの「Stand Up」しか認識されません。

<西野かな test 5.m3uの中身> (UTF8で保存)
#EXTM3U
#EXTINF:220,西野カナ - アイラブユー
/music/西野カナ/アイラブユー - Single/01 アイラブユー.m4a
#EXTINF:310,西野カナ - Stand Up
/music/西野カナ/with LOVE/13 Stand Up.mp3

こんな↓感じで文字化けしちゃってます。
(下記はdaapdから見たものですが、QNAPから見ても同じでした)

root@QNAP1:/Playlists$ ls
Adele1.m3u Adele2.m3u Coldplay14.m3u Coldplay9.m3u
Adele12.m3u Adele3.m3u Coldplay2.m3u test01.m3u
Adele13.m3u Adele4.m3u Coldplay3.m3u '西野カナ test 1.m3u'
Adele14.m3u Coldplay1.m3u Coldplay4.m3u '西野カナ test 2.m3u'
Adele15.m3u Coldplay10.m3u Coldplay5.m3u '西野カナ test 3.m3u'
Adele16.m3u Coldplay11.m3u8 Coldplay6.m3u '西野カナ test 4.m3u'
Adele17.m3u Coldplay12.m3u Coldplay7.m3u '西野カナ test 5.m3u'
Adele18.m3u Coldplay13.m3u Coldplay8.m3u
root@QNAP1:/Playlists$ cat -A '西野カナ test 5.m3u'
#EXTM3U$
#EXTINF:220,M-hM-%M-?M-iM-^GM-^NM-cM-^BM-+M-cM-^CM-^J - M-cM-^BM-"M-cM-^BM-$M-cM-^CM-)M-cM-^CM-^VM-cM-^CM-&M-cM-^CM-<$
/music/M-hM-%M-?M-iM-^GM-^NM-cM-^BM-+M-cM-^CM-^J/M-cM-^BM-"M-cM-^BM-$M-cM-^CM-)M-cM-^CM-^UM-cM-^BM-^YM-cM-^CM-&M-cM-^CM-< - Single/01 M-cM-^BM-"M-cM-^BM-$M-cM-^CM-)M-cM-^CM-^UM-cM-^BM-^YM-cM-^CM-&M-cM-^CM-<.m4a$
#EXTINF:310,M-hM-%M-?M-iM-^GM-^NM-cM-^BM-+M-cM-^CM-^J - Stand Up$
/music/M-hM-%M-?M-iM-^GM-^NM-cM-^BM-+M-cM-^CM-^J/with LOVE/13 Stand Up.mp3$
root@QNAP1:/Playlists$

書込番号:22514079

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 23:41(8ヶ月以上前)

>たく0220さん

>Macは今は違うのか知りませんが、BSD系だったと思いますのでLinuxではないのですよ ^^;

おっと。そうなんですね。無知を恥じているところでアリマス(汗)。

>この辺iTunesに実装した人が未熟だったか、他社での検証をしてないとしか思えないですね。
>はっきりいえばバグって思うレベル。理由が聞きたいぐらいです ^^

ふむふむ。そういうものですか。なかなか手厳しいですね。

書込番号:22514087

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 23:50(8ヶ月以上前)

>たく0220さん

>こんな↓感じで文字化けしちゃってます。

補足です。Remote上で、アルバム名『with LOVE』とアーティスト名『西野カナ』は、化けずに表示されているようです。
ただ、この『西野カナ』は、m3u内の記載の『西野カナ』から引っ張ってるのではない気がします。
つまり、こう(↓)じゃないかと。

m3u内のファイル名をキーとして

dbに照合し

dbからアーティスト名とアルバム名(とたぶん曲名も)を引っ張っている。

書込番号:22514111

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/06 23:54(8ヶ月以上前)

>たく0220さん

力尽きましたので、今日はこのへんで失礼いたします。m(_ _)m
一から十まで手とり足とり、本当にありがとうございました。

あしたまた、何をしたらいいのかから、考えないと。
がんばります!!!

書込番号:22514115

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/07 20:34(8ヶ月以上前)

>たく0220さん

いつもお世話になっております。報告です。

EXTINF句内の記載順序(アーティストが先か、タイトルが先か)は、
daapdの認識可否に、どうやら関係なかったようです。

というのも、次のm3uでも、Remoteから楽曲が正しく認識されてましたので。

#EXTM3U
#EXTINF:261,トリセツ - 西野カナ
/music/西野カナ/Just LOVE/04 トリセツ.mp3

「アーティスト - タイトルに入れ替えたら認識できました」という旨、先日お話しいたしました。
たぶんですが、入替作業中、気づかないうちに改行コードを書き直していたものと思われます。

書込番号:22515815

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/07 20:44(8ヶ月以上前)

>たく0220さん

報告2つめです。

iTunes プレイリスト関連で、Appleに次の内容を確認しました。そうだろうと予想していたとはいえ、回答のほとんどが「わかりません」「できません」だったのは残念ですが。

ちなみに、詳しい順にエンジニア→スペシャリスト→アドバイザです(Apple内の用語)。今回話をしたのは、スペシャリストでした。これまで100回以上Appleに問い合わせした私の経験上ですが、エンジニアまでエスカレーションした場合、十中八九、2週以上回答に時間を要したうえ、「わかりません」「できません」「回答できません」いずれかの答が返ってきます。


<やりたいこと・知りたいこと → Appleの回答>

・既存テキストファイル内の改行コードが、CR(^M), CR+LF(^M$), LF($)の3種類のうち、どれになっているのか、確認したい。Apple純正の仕組上で、かつ、なるべく視覚的に(色など)。方法は?
→ エンジニアに確認する。

・ちなみに、ターミナル上の cat -e コマンドにて (視覚的ではないものの) いちおう改行コードを確認できるっぽい。
→ 公式文書には記載がないので、回答できない。

・テキストファイル内の空白について、半角/全角を確認したい。Apple純正の仕組上で、かつ、なるべく視覚的に(色など)。方法は?
→ できません。

・iTunesからプレイリストをm3uで出力したとき、改行コードがCRなのは、なぜか? Macとしての標準(テキストエディットなど)は、LFっぽいのに。
→ エンジニアに確認。

・Windows/Mac間でiTunesライブラリの引っ越しをおこなうことを想定し、OS間での互換性を高めるために、iTunesの仕様をWindows側に寄せた(わざとCRにした)、という可能性はないか?
→可能性は十分にあると、個人的には思う。エンジニアに確認。

・iTunesのプレイリスト出力で、EXTINF行が曲名、アーティスト名の順に並ぶ(業界標準と逆)のは、なぜか?
→ エンジニアに確認。

書込番号:22515833

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/07 20:51(8ヶ月以上前)

>たく0220さん

報告3つめです。
このスレッドの本筋とは、あまり関係ありませんが。

2/26にこう書きました。
>ぜんぜん話は違いますが、Remoteの不具合(?)の話を。
>iPadのRemoteでは、iTunesライブラリを2つ以上登録できません(異常な挙動)。
>たとえば、daapdを登録している場合、その登録を削除しないと、MacのiTunesを登録できません。
>iPhoneのRemoteでは、2つでも3つでも登録できます(正常な挙動)。
>iOSやRemoteのバージョンにかかわらず、そうです。
>本日、Appleにその旨を伝えました。
>実用上それほど困ってませんが、直してくれるといいなぁ...。

この件、本日Appleから回答があり、同様の症状が、Appleの環境でも再現できたとのこと。
修正の方向で動いてくれるそうです。

以前にも申し上げましたが、直してもらうには、3つの関門があるかと思います。
1 症状の確認
2 不具合と認める
3 直す気になる。

本当に直してくれるかどうかはわかりませんが、少なくとも2までは一気に進んだようで、良かったです。

書込番号:22515857

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/07 21:01(8ヶ月以上前)

>たく0220さん

報告4つめです。これが本筋です。

プレイリスト(m3u)内の楽曲(パス指定)が日本語だとダメ(Remoteで楽曲を認識できない)。
と思っていたのですが、下記実験結果が示すとおり、勘違いだったようです。
いろいろ仮説を立てながら実験してるのですが、「コレだ!」と言えるものがなく、症状さえつかめていません。



<立てた仮説 → 検証した結果>

・日本語がパスに含まれているとNG?
 → そうでもない

・「 - 」(半角スペース、半角ハイフン、半角スペース)がパスに含まれているとNG?
 → そうでもない

・カタカナがパスに含まれているとNG?
 → そうでもない

・カタカナと「 - 」がパスに含まれているとNG?
 → そうでもない

・カタカナの濁音・半濁音がパスに含まれているとNG?
 → そうでもない

<OK (Remoteが楽曲を認識する)>
/music/西野カナ/with LOVE/13 Stand Up.mp3
/music/西野カナ/Girls - Single/01 Girls.m4a
/music/西野カナ/Just LOVE/04 トリセツ.mp3
/music/西野カナ/あなたの好きなところ - Single/01 あなたの好きなところ.m4a
/music/一青窈/ヒトトウタ/06 ジュリアン.m4a
/music/一青窈/ヒトトウタ/03 たしかなこと.m4a
/music/一青窈/ヒトトウタ/05 アイ.m4a

<NG (Remoteが楽曲を認識しない)>
/music/西野カナ/アイラブユー - Single/01 アイラブユー.m4a
/music/西野カナ/パッ - Single/01 パッ.mp3
/music/一青窈/ヒトトウタ/01 ハナミズキ.m4a

<備考>
・Extended M3U 形式 (時間、アーティスト名、楽曲名、パス) でも、無印のM3U形式 (パスのみ。EXTINF句なし) でも、症状は同じ。



<NGのときのログの例>

db: Running query
'SELECT COUNT(*) FROM (SELECT f.path, f.path FROM files f WHERE f.disabled = 0 AND f.fname = '01 アイラブユー.m4a' COLLATE NOCASE AND f.path != '' GROUP BY f.path);'

db: Starting query
'SELECT f.path, f.path FROM files f WHERE f.disabled = 0 AND f.fname = '01 アイラブユー.m4a' COLLATE NOCASE AND f.path != '' GROUP BY f.path ORDER BY f.path ;'

db: End of query results

scan: No file in the library matches playlist entry
'/music/西野カナ/アイラブユー - Single/01 アイラブユー.m4a'


<OKのときのログの例>

db: Running query
'SELECT COUNT(*) FROM (SELECT f.path, f.path FROM files f WHERE f.disabled = 0 AND f.fname = '04 トリセツ.mp3' COLLATE NOCASE AND f.path != '' GROUP BY f.path);'

db: Starting query
'SELECT f.path, f.path FROM files f WHERE f.disabled = 0 AND f.fname = '04 トリセツ.mp3' COLLATE NOCASE AND f.path != '' GROUP BY f.path ORDER BY f.path ;'

scan: Adding
'/music/西野カナ/Just LOVE/04 トリセツ.mp3' to playlist 40 (results 1)

db: Running query
'INSERT INTO playlistitems (playlistid, filepath) VALUES (40, '/music/西野カナ/Just LOVE/04 トリセツ.mp3');'

書込番号:22515882

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/07 21:48(8ヶ月以上前)

>tanettyさん

こんばんは〜
さて、本題からですが
>いろいろ仮説を立てながら実験してるのですが、「コレだ!」と言えるものがなく、症状さえつかめていません。

ちょっとソースコードを追っかけながらした方が、原因が判るかもしれませんので
頂いたログから何か判るかもしれませんが、ちょっと待っててください。
ラジコの方あと少しなので、先に落ち着かせたいので ^^;

>EXTINF句内の記載順序(アーティストが先か、タイトルが先か)は、
>daapdの認識可否に、どうやら関係なかったようです。

ですね。改行がそんなのになってると思わなかったので…
Macのテキストエディタ上では改行されてたんですよね?

>iTunes プレイリスト関連で、Appleに次の内容を確認しました。そうだろうと予想していたとはいえ、回答のほとんどが「わかりません」「できません」だったのは残念ですが。

カンペが無いということは、気が付いた人が少ないのかな?
tanettyさんが初の質問だったり ^^

>・既存テキストファイル内の改行コードが…

Windowsのメモ帳はCRLFが標準で、CRのみ、LFのみと改行コードを選べるのは
標準のエディター以外でしか出来ないと思うし、Win用でCRのみと出来るエディターってあるのかな?
メモ帳はCRLF以外は改行とみなされないので、くっついてしまうし…
Winと互換とるときはCRLFにするのが無難かと思ってる。

>この件、本日Appleから回答があり、同様の症状が、Appleの環境でも再現できたとのこと。
>修正の方向で動いてくれるそうです。

とりあえず、よかったですね。そのまま直してもらえるといいですね。

書込番号:22515976

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/07 22:11(8ヶ月以上前)

>たく0220さん

こんばんは。いつもお世話になっております。

>ちょっとソースコードを追っかけながらした方が、原因が判るかもしれませんので

いつもいつもありがとうございます。本当に感謝しかありません。私のほうでも、ログと照らし合わせながら、dbの中身も見てみよう思います。テーブル filesのフィールド path, fname などが、OK/NGそれぞれのケースで、どんな値になっているのか?あたりを。

>ラジコの方あと少しなので、先に落ち着かせたいので ^^;

こちらもありがとうございます。楽しみにお待ちしております。ちなみに、教えていただきたいのですが。radikoは、地域制限アリ/ナシどちらになるのでしょうか。田舎在住のため、局が少ない&ショボくって。できれば東京の局を聴きたいなぁ、なーんて、ワガママなことを思っているのですが。

>Macのテキストエディタ上では改行されてたんですよね?

はい、「テキストエディット」上では改行されてます。ただ、その改行コードが何なのかわかんないのが困りもんなんですよねぇ。

>カンペが無いということは、気が付いた人が少ないのかな?
>tanettyさんが初の質問だったり ^^

だったかもしれません(笑)。

>Windowsのメモ帳はCRLFが標準で、CRのみ、LFのみと改行コードを選べるのは
>標準のエディター以外でしか出来ないと思うし

へー、そうなんですね。勉強になります! 改行コードって、ぜんぜん意識したことなかったので…。

>メモ帳はCRLF以外は改行とみなされないので、くっついてしまうし…

あ、そうそう。メモ帳だと、なんかくっついちゃうことがあって、何でだろうなぁ、とは思ってたんです。ところで、「標準のエディター」と「メモ帳」とは違うものなのでしょうか? てっきり、「メモ帳」が「標準のエディター」なのかと思ったのですが。

>Winと互換とるときはCRLFにするのが無難かと思ってる。

たしかに。今回勉強してみて、それがいちばんなのかな、と感じました。CRでもLFでも、どっちでもイケるってことですもんね。

>とりあえず、よかったですね。そのまま直してもらえるといいですね。

ありがとうございます。実はこれ、地味にたいへんだったんですよぉ。私のほうで iPad x 4台、iPhone系 x 3台、Mac x1台、Windowsx1台を使い、動作検証して、その結果をまとめて伝えて…とか。iPadでログとったりとか。そこまでして、やっとApple側でも動作検証に動いてくれました。ただの動作検証だけでも、Appleを動かすのは、けっこうたいへんです。でも、努力(?)が実ってよかったー。

書込番号:22516032

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/07 22:42(8ヶ月以上前)

>tanettyさん

>radikoは、地域制限アリ/ナシどちらになるのでしょうか。

ゴメンナサイ、今のところアリ版で一旦作ってます。
後から、ナシ版を考えてみようかと思っています。
らじるは制限ないので全国聞く事ができます。

>「メモ帳」

Windowsだと「メモ帳」と「ワードパッド」がスタートのアクセサリフォルダにあるかと思うのですが
標準というかバンドルといったらいいのか、ビルトインなのか判りませんが
OS付属ソフトってことでしたら、この2個ですが、「ワードパッド」だったらLFのみでも改行とみてくれます。
CRのみのエディターは、今つかってる「サクラエディタ 」でも出来た。良く見て無かった…(T T)

>Appleを動かすのは、けっこうたいへんです。

ご苦労様でした。そんだけ検証したら本当に大変だったろうに
最近は、同様の問合せが多くなってからしか検証に動かないのかな…って思ったり…

書込番号:22516110

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/07 22:54(8ヶ月以上前)

>たく0220さん

>ゴメンナサイ、今のところアリ版で一旦作ってます。
>後から、ナシ版を考えてみようかと思っています。
>らじるは制限ないので全国聞く事ができます。

承知いたしました。ありがとうございます。

>OS付属ソフトってことでしたら、この2個ですが、「ワードパッド」だったらLFのみでも改行とみてくれます。
>CRのみのエディターは、今つかってる「サクラエディタ 」でも出来た。良く見て無かった…(T T)

そういうことでしたかー。勉強になります!

>最近は、同様の問合せが多くなってからしか検証に動かないのかな…って思ったり…

そうかもしれませんね。なんかちょっと残念な感じですけど、しょうがないのカナ...。

さてさて。本題ですが。dbの中身とログを照合し、ちょっと気づいたことが。

@ filesテーブルをcsv出力したあと、numbers形式に変換しました。

A この(↓)ログの中にある文字列「01 アイラブユー.m4a」コピペして fname のフィルタとして設定すると、0件になります。

db: Running query
'SELECT COUNT(*) FROM (SELECT f.path, f.path FROM files f WHERE f.disabled = 0 AND f.fname = '01 アイラブユー.m4a' COLLATE NOCASE AND f.path != '' GROUP BY f.path);'

手入力で「 01 アイラブユー.m4a」というフィルタを作ると、ちゃんと1件でてきます。fnameの値は「01 アイラブユー.m4a」に見えます。

B この↓ログの中にある文字列「04 トリセツ.mp3」コピペして fname のフィルタとして設定すると、1件ちゃんと出てきます。

db: Starting query
'SELECT f.path, f.path FROM files f WHERE f.disabled = 0 AND f.fname = '04 トリセツ.mp3' COLLATE NOCASE AND f.path != '' GROUP BY f.path ORDER BY f.path ;'

@〜Bを見て思ったのは、文字コードの問題ではないか? です。

文字コードってMacでどうやって確認するのかしら?…を、いま調べ中です。

書込番号:22516140

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/07 23:56(8ヶ月以上前)

>たく0220さん

原因がわかったような気がします。やはり文字コード? まーたiTunesのせいっぽいです。



まずは実験結果から説明いたします。

実験材料は、次の3つ。

/music/西野カナ/アイラブユー - Single/01 アイラブユー.m4a
/music/西野カナ/パッ - Single/01 パッ.mp3
/music/一青窈/ヒトトウタ/01 ハナミズキ.m4a

上記3つでは、それぞれ「ブ」「パ」「ズ」がダメです。

filesテーブルで、fnameに対し、以下の手順で「ブ」「パ」「ズ」それぞれ「…を含む」フィルタをかけたとき、結果は以下のとおりでした。

(a) この3つのファイル名が出るdaapd上のログから、「ブ」「パ」「ズ」をコピペ
→0件

(b) iTunes上でこれら楽曲の「ファイル名」を表示させ、「ブ」「パ」「ズ」をコピペ
→0件

(c) iTune上でこれら楽曲の「曲名」を表示させ、「ブ」「パ」「ズ」をコピペ
→たくさん出る。

(d) 「ブ」「パ」「ズ」と手入力
→たくさん出る。



さて。iTunesでは、楽曲DBをインターネットから取得し、それに応じてファイル名を自動でつけます。このときに、少なくとも「ブ」「パ」「ズ」については、ヘンな文字コードでつけちゃってる…と考えると、辻褄が合います。

ちなみに、「ブ」「パ」「ズ」について、下記サイトにて、(a)または(b)でコピペして確認するかぎり、キリル文字?扱いになってるっぽいです(画像参照)。意味がわかりません…。
https://uic.jp/encode-detector/

んんん? でも、おかしいですね。iTunesがファイル名をヘンな文字(コード)に置き換えたとしても、daapdもそれに合わせてdbを作るだけのハズ。とすると、照合できないという事態は生じないハズ。うーん、どういうことだろ????

書込番号:22516265

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/08 00:08(8ヶ月以上前)

>tanettyさん

Unicode 符号化(encode) 正規化(normalization)
の違い…
Macにおける正規化の問題を忘れてた…


書込番号:22516291

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/08 00:12(8ヶ月以上前)

>たく0220さん

ありがとうございます。
私の知識レベルでは「???????」って感じなんですが(笑)。

まずは、いただいたキーワードから、いろいろ勉強してみます。
とりあえず、このあたりでも読んでみようかと...。
https://itskillmap.com/menu2_02/

書込番号:22516299

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/08 01:56(8ヶ月以上前)

>たく0220さん

>Unicode 符号化(encode) 正規化(normalization)

いろいろ調べて、ちょっとだけ意味がわかってきました。

例えば「ポ」を表現する場合、ふたとおりの表現がある、と。
・「ポ」そのもの。U+30DD
・「ホ」+ 半濁点。U+30DBとU+309A

1文字あたり2とおり以上の表現があるので、どっちかの表現に名寄せ(正規化)しとかないと、今回のように照合失敗が起きることがある。
...ということですよね?

Unicodeの何たるかも、ちょびっとだけですがわかってきました。
文字コードなのではなく、文字集合なんだと。
文字集合内の各文字には、コードポイントなるものが割り振られている。

コードポイントもとに(?)、文字集合内の各文字に対して、符号化(コード割り振り)したのが文字コード。
「ポ」のように、人間の頭の中での一文字に対し、Unicode上でコードポイントが2つあれば、文字コードとしても2つになる。
そんな理解をしました。

しかし、まさか、濁点とか半濁点(結合文字)を元の文字(基底文字)にくっつける。
なーんていうアラワザをくりだしてるだなんて、超ビックリ。

いやー、勉強になりました。

書込番号:22516421

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/08 06:31(8ヶ月以上前)

>たく0220さん

おはようございます。回避策がわかりましたので、とりいそぎ報告いたします。

濁点・半濁点を含む文字がm3uファイル内にあった場合、エディタ上にて手動で書き換える。たとえば、「パ」を消して、「パ」を書く。これだけでイケました。

なお、ほかに次の3事項を試してみましたが、3つともダメでした。

<NG>
・Finderからファイルをエディタにドロップ
・Finder上でファイル名をエディタにコピペ
・iTunesから楽曲をエディタにドロップ

※ エディタは、Mac純正「テキストエディット」を使用。

iTunesからのm3u出力では改行コードがおかしくなってしまう件もあわせて勘案すると、下記@ABの手順でプレイリスト作成するのが、現状ではいちばんラクなのかな?と考えております。運用上、プレイリスト作成頻度は高くないので、これでもほとんど問題ないレベルです。

<プレイリスト作成手順>
@ iTunesからテキストエディットにファイルをドロップ
A テキストエディット上で、パスをdaapdに合わせる形で一括置換
B テキストエディット上で、濁点・半濁点を目で探して、手動で書き換え

書込番号:22516578

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/08 18:08(8ヶ月以上前)

m3uファイル(左)とRemote上のプレイリスト(右)

>たく0220さん

おかげさまでプレイリストはうまいこといきました。
本当にありがとうございました。m(_ _)m

書込番号:22517550

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/10 20:13(8ヶ月以上前)

>tanettyさん

>おかげさまでプレイリストはうまいこといきました。

うまくいって良かったですね。
iconvとかで変換スクリプト(Winでのバッチファイル風に)を作るのが良いのですがMacだと試すことが出来ないのでね…

Mac OSはEULAでWindows PC等、Mac以外のPCでの仮想化をNGにしてるので
正規のライセンスだけ持ってても使えないので、色々試せないのが困るんですよね。

さて、ラジコはようやく最終段階まで進みました。
あとは長時間テストを12時間ほど試して異常なければOKとしようかと思います。


書込番号:22523239

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/10 23:26(8ヶ月以上前)

>たく0220さん

こんばんは。

>さて、ラジコはようやく最終段階まで進みました。

わー。ありがとうざいます。楽しみです!!!!

EULA? iconv? 初めて聞くことばばかりでしたので、調べてみようと思います。
いつもヒントを与えてくださり、誠にありがとうございます。m(_ _)m

それはさておき。新スレッドを作成いたしました。
ラジコの具体的な実装手順については、そちらにお書きいただけると嬉しいです。
それ以外については、できれば本スレッドをご利用いただきたく...。
お手数をかけ誠に申し訳ありませんが、よろしくお願いいたいます。

<QNAP上に最高のiTunesサーバを構築する>。
https://bbs.kakaku.com/bbs/K0000925629/SortID=22523738/#tab

書込番号:22523750

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/11 06:51(8ヶ月以上前)

>tanettyさん

おはようございます

新スレッドの件、了解致しました。

プレイリストの件ですが、
変換の自動化を構築するなら、MacではAppleScriptを使った方が無難なのかな?
System7(MacOS 7)の頃からあったけど、1回しか使った記憶が無い…
AppleScriptでドラッグ&ドロップに対応したアプレットをドロップレットと言うそうです。

ドロップレットを作成しておけば、iTunesのプレイリストをドロップして自動的に変換してくれる様にする事が出来るかと思います。


・文字コードの件

参考:ザリガニが見ていた...。 UTF-8にもいろいろある
https://zariganitosh.hatenablog.jp/entry/20131124/utf8_nfd_nfc_bom

上記サイトは、見られたかもしれませんが
情報がまとまってるので、とても参考になるかと思います。
Homebrewはあまり使いたくなかったかと思いますので、iconvコマンドで対応する事になると思います。

・改行コードの件

参考:ザリガニが見ていた...。 改行コードの違いを体感してみる
https://zariganitosh.hatenablog.jp/entry/20131115/diff_cr_lf_feeling

同じ方のサイトですが、MacOS 9までは改行コードはCRのみだった様ですね。
iTunesは後方互換の為にCRのみとしてるのかもしれません。
CRのみなので、trコマンドのみでLFへ変換可能ですね。

iconvとtrはMacOSでは標準でインストール済みかと思いますので、
あとは変換後の保存先を、既存のファイルに上書きか新規かを考えるぐらいです。

とりあえず、この辺までで。
ドロップレットを作るのでしたら、もう少し調べますね。

書込番号:22524146

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/12 00:13(8ヶ月以上前)

>たく0220さん

>AppleScriptでドラッグ&ドロップに対応したアプレットをドロップレットと言うそうです。
>ドロップレットを作成しておけば、iTunesのプレイリストをドロップして自動的に変換してくれる様にする事が出来るかと思います。

>Homebrewはあまり使いたくなかったかと思いますので、iconvコマンドで対応する事になると思います。

>CRのみなので、trコマンドのみでLFへ変換可能ですね。

わー。いろいろと教えていただき、ありがとうございます!!!
ちょっとまだ消化しきれてない、というより、恥ずかしながら咀嚼途中です。

>ドロップレットを作るのでしたら、もう少し調べますね。

恐れ入ります。
まずは自分でいろいろいじってみて、おっしゃっていることを理解するところから始めたいと思います。
本当にありがとうございました。m(_ _)m

書込番号:22526252

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/12 23:05(8ヶ月以上前)

>たく0220さん

いつもお世話になっております。
調べてもどうしてもわからないので、ご教示いただけるととても助かるのですが。

ご助言いただいた3項目(tr, iconv, ドロップレット)について、少しずつ調べながら学習・検証しております。

しようと思っていることは、次の3つです。
@ trで改行コードとパスの置換
A iconvで文字コードの変換
B ドロップレットでドロップに対応しつつ、@Aを含む処理を行い、かつ、ファイル名を上手にハンドリングして出力

恥ずかしながら、さっそく@でつまづいております。
空白を含むパスを、うまく置換できないのです。
シングルクォートも、ダブルクォートも試しましたが、症状は同じでした。

説明が難しいので、下記の操作履歴をご覧いただいたほうが早いかと思います。

sekitori0.m3u
↓ (改行コード置換)
sekitori1.m3u
↓ (パス置換)
sekitori2.m3u

―↓↓Sekitori0.m3uの中身↓↓―
#EXTM3U
#EXTINF:284,朝 - 関取花
/Volumes/Multimedia/iTunes for xxx/iTunes Media/Music/関取花/朝 - Single/01 朝.m4a
#EXTINF:336,めんどくさいのうた - 関取花
/Volumes/Multimedia/iTunes for xxx/iTunes Media/Music/関取花/朝 - Single/02 めんどくさいのうた.m4a

―↑↑Sekitori0.m3uの中身↑↑―


<操作履歴>

$ more sekitori0.m3u
#EXTM3U^M#EXTINF:284,朝 - 関取花^M/Volumes/Multimedia/iTunes for xxx/iTunes Media/Music/関取花/朝 - Single/01 朝.m4a^M#EXTINF:336,めんどくさいのうた - 関取花^M/Volumes/Multimedia/iTunes for xxx/iTunes Media/Music/関取花/朝 - Single/02 めんどくさいのうた.m4a

$ cat -e sekitori0.m3u
#EXTM3U^M#EXTINF:284,?M-^\M-^] - ?M-^V??M-^OM-^V?M-^J?^M/Volumes/Multimedia/iTunes for xxx/iTunes Media/Music/?M-^V??M-^OM-^V?M-^J?/?M-^\M-^] - Single/01 ?M-^\M-^].m4a^M#EXTINF:336,?M-^BM-^A?M-^BM-^S?M-^A??M-^AM-^O?M-^AM-^U?M-^AM-^D?M-^A??M-^AM-^F?M-^AM-^_ - ?M-^V??M-^OM-^V?M-^J?^M/Volumes/Multimedia/iTunes for xxx/iTunes Media/Music/?M-^V??M-^OM-^V?M-^J?/?M-^\M-^] - Single/02 ?M-^BM-^A?M-^BM-^S?M-^A??M-^BM-^Y?M-^AM-^O?M-^AM-^U?M-^AM-^D?M-^A??M-^AM-^F?M-^AM-^_.m4a^M

$ tr '\r' '\n' < sekitori0.m3u > sekitori1.m3u

$ more sekitori1.m3u
#EXTM3U
#EXTINF:284,朝 - 関取花
/Volumes/Multimedia/iTunes for xxx/iTunes Media/Music/関取花/朝 - Single/01 朝.m4a
#EXTINF:336,めんどくさいのうた - 関取花
/Volumes/Multimedia/iTunes for xxx/iTunes Media/Music/関取花/朝 - Single/02 めんどくさいのうた.m4a

$ cat -e sekitori1.m3u
#EXTM3U$
#EXTINF:284,?M-^\M-^] - ?M-^V??M-^OM-^V?M-^J?$
/Volumes/Multimedia/iTunes for xxx/iTunes Media/Music/?M-^V??M-^OM-^V?M-^J?/?M-^\M-^] - Single/01 ?M-^\M-^].m4a$
#EXTINF:336,?M-^BM-^A?M-^BM-^S?M-^A??M-^AM-^O?M-^AM-^U?M-^AM-^D?M-^A??M-^AM-^F?M-^AM-^_ - ?M-^V??M-^OM-^V?M-^J?$
/Volumes/Multimedia/iTunes for xxx/iTunes Media/Music/?M-^V??M-^OM-^V?M-^J?/?M-^\M-^] - Single/02 ?M-^BM-^A?M-^BM-^S?M-^A??M-^BM-^Y?M-^AM-^O?M-^AM-^U?M-^AM-^D?M-^A??M-^AM-^F?M-^AM-^_.m4a$

$ tr '/Volumes/Multimedia/iTunes for xxx/iTunes Media/Music' '/music' < sekitori1.m3u > sekitori2.m3u

$ more sekitori2.m3u
#EXcc3U
#EXcINF:284,朝c-c関取花
cmcccccccccccccccccccccccccccccccccccccccccccccccccccc関取花c朝c-cSccgccc01c朝.c4c
#EXcINF:336,めんどくさいのうたc-c関取花
cmcccccccccccccccccccccccccccccccccccccccccccccccccccc関取花c朝c-cSccgccc02cめんどくさいのうた.c4c

l$ cat -e sekitori2.m3u
#EXcc3U$
#EXcINF:284,?M-^\M-^]c-c?M-^V??M-^OM-^V?M-^J?$
cmcccccccccccccccccccccccccccccccccccccccccccccccccccc?M-^V??M-^OM-^V?M-^J?c?M-^\M-^]c-cSccgccc01c?M-^\M-^].c4c$
#EXcINF:336,?M-^BM-^A?M-^BM-^S?M-^A??M-^AM-^O?M-^AM-^U?M-^AM-^D?M-^A??M-^AM-^F?M-^AM-^_c-c?M-^V??M-^OM-^V?M-^J?$
cmcccccccccccccccccccccccccccccccccccccccccccccccccccc?M-^V??M-^OM-^V?M-^J?c?M-^\M-^]c-cSccgccc02c?M-^BM-^A?M-^BM-^S?M-^A??M-^BM-^Y?M-^AM-^O?M-^AM-^U?M-^AM-^D?M-^A??M-^AM-^F?M-^AM-^_.c4c$

書込番号:22528495

ナイスクチコミ!0


銅メダル クチコミ投稿数:895件Goodアンサー獲得:116件

2019/03/13 01:57(8ヶ月以上前)

>tanettyさん

おそくなりました。

sedを使って変換してみてはどうでしょうか?

参考:hydroculのメモ sed コマンド
https://hydrocul.github.io/wiki/commands/sed.html

コマンドの例
cat sekitori0.m3u | tr '\r' '\n' \
| sed -e 's!^/Volumes/Multimedia/iTunes for xxx/iTunes Media/Music!/music!g' > sekitori1.m3u


書込番号:22528787

ナイスクチコミ!1


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/13 06:52(8ヶ月以上前)

ひゃー、レベル高っ!!
バッチリイケました。ありがとうございます!!

やりたいことがそのコマンドで実現可能であること。具体的な方法。
その二つをあらかじめ教えていただいたうえで逆引きしても、命令の意味を理解するだけで手いっぱいの私。
その二つともない時点から、スラスラッと回答を出してしまう たく0220さん。
こうして自分でやろうとして実際つまづいてみると、たくさん0220さんのスゴサを、いつもよりさらに実感できます。

cat sekitori0.m3u | tr '\r' '\n' \
| sed -e 's!^/Volumes/Multimedia/iTunes for xxx/iTunes Media/Music!/music!g' > sekitori1.m3u

難っ!
記法そのものも、めっちゃ勉強になりましたー。
これを(↓)理解するだけでも、私、かなり時間がかかったんですよぉ。←知識・理解力不足デス

-e 編集します。
s 置換します。
! 区切り記号 (置換対象文字列(パス)内に / が含まれるので、あえて ! で)
^ 行頭の
g その行で該当する部分すべてを対象に

正規表現については、*ぐらいしか知らなかったので、^とか$とか初めて知りました。
そっち方面も、図らずも勉強になりました。

あとは、濁点・半濁点ですが、sed コマンド内の-eオプションで

 's/ド/ド/g'

みたいに実験してるんですが、うまいこと行ってません。
コマンド内ひとつめの「ド」は、NGなドをテキストエディタからターミナルにコピペ。
コマンド内ふたつめの「ド」は、OKなドをテキストエディタからターミナルにコピペ。
てなことをして、sedを実行してるんですけど、濁点含む曲を、プレイリスト内楽曲としてdaapdが認識してくれませぬ。

ところで、tr でうまくいかなかった理由って、何なんでしょう?
正直それはぜんぜん検討もつかなかったんですが。
文字コードがらみでしょうか????
それとも、構文が単純に間違っていただけ???

なんか、質問ばっかで申し訳ありません。m(_ _)m

書込番号:22528927

ナイスクチコミ!0


スレ主 tanettyさん
クチコミ投稿数:5116件

2019/03/13 06:53(8ヶ月以上前)

本スレッドは、次のスレッドにつづきます。

<QNAP上に最高のiTunesサーバを構築する>。
https://bbs.kakaku.com/bbs/K0000925629/SortID=22523738/#tab

書込番号:22528930

ナイスクチコミ!0


返信数が200件に達したため、このスレッドには返信できません

クチコミ一覧を見る


この製品の最安価格を見る

TS-431P
QNAP

TS-431P

最安価格(税込):¥30,200発売日:2016年12月 9日 価格.comの安さの理由は?

TS-431Pをお気に入り製品に追加する <228

のユーザーが価格変動や値下がり通知、クチコミ・レビュー通知、購入メモ等を利用中です

 
 
 

クチコミ掲示板検索



検索対象カテゴリ
を対象として
選び方ガイド

最適な製品選びをサポート!

[NAS(ネットワークHDD)]

NAS(ネットワークHDD)の選び方ガイド

新着ピックアップリスト

ピックアップリストトップ

新製品ニュース Headline

更新日:11月15日

クチコミ掲示板ランキング

(パソコン)

ユーザー満足度ランキング