*************************************************************************
    mpdweb : mpd to Roon Playlist 変換
*************************************************************************
Shellで作成しているがmpd Playlist をRoonPlaylistに変換する
mpd playlistを監視してsedで文字列を置換する。Service化もできる
必須ではないので手動での設定,インストールとなる。
ディレクトリー構成はmpdwebのインストールの構成と同じとなる。
Roonについてはそのディレクトリーを登録する場合は設定をある程度使用できる。
使用する場合は、Shellなので内容を確認されたい。

関連ファイル
 設定    : setting/mpd2roon.conf   : mpd to Roon Playlist変換
 Shell   : shell/mpd2roon_watch.sh : mpd to Roon Playlist変換 Directory監視
           shell/mpd2roon.sh       : mpd to Roon Playlist変換 Shell
 Service ; mpd2roon.service        : mpd to Roon Playlist変換Service

 Playlistのファイルが少ない前提でrsyncを利用しSharedMemoryを使用
 mpdwebのインストーラを使用してインストールするとこの構成
 NASをMountするとinotify-toolsは検知しないため rsyncを使用している

※ cache のPath /dev/shm化に作成される 不要な場合はファイル同様に削除
   ファイルをそのまま/dev/shm/...にコピーするため使用量注意
   # du /dev/shm/..
    548 Kbyteで表示


設定方法[setting/mpd2roon.conf]

環境
 LOCAL_CACHE="/dev/shm/playlists_Cache" : SharedMemoryを使用 /tmp/playlists_Cacheでも良い
 MONSLRRP=8 : 監視Sec (小さいとCPU負荷があがる)Roonの取り込みは遅れるので大きくても良い
              この秒数Sleepしてrsyncの変更痛位置があれば取りこむ
 MPD_PATH="/mnt/NAS" ; MusicData
   /mnt/NAS/music ← NASをmount
                     mpd:/var/lib/mpd/music/NAS/music ← /mnt/NAS/musicをLink
                         NAS/musicを起点としてPlaylistのPathとなる。
                  ← RoonのMusicDataの保存場所として設定 (.m3u)
 ROON_PATH="/mnt/NAS/music" : RoonはMusicData直下のPlaylistを取り込んでくれる
                     RoonのPlaylistPashはここを起点としている。
 SOURCE_DIR="/mnt/playlists" : 監視 Directory
                     mpdのPlaylist mpdwebの,PlaylistPath 
                     mpd:/var/lib/mpd/playlistsにLink
     ※ mpdとMountの差よりRoonは"NAS/music"をなしとする

 REGEX='s|^NAS/music/||' : 置換:正規表現
                     $ sed "$REGEX"
                     この設定は N"AS/music/flac..." → 先頭から"NAS/music/"を削除し "flac..." にする。
     ※ ''で括ること

常駐する
 /service/mpd2roon.service を使用する
 本処理は、必須ではないので設定含め手動で行う
 # systemctl enable /var/www/html/mpdweb/service/mpd2roon.service
 # systemctl start mpd2roon.service

