mpd Protocolを読んでいたら(https://www.musicpd.org/doc/html/protocol.html#command-reference)
いくつかの使える機能があったので実装した。
mpd0.21版でProtocolが変わり機能が多くなるようだが,現在の手法では単純にできなそうなので,mpd関連に対し現バージョンで入れたい機能は対応するようにした。
mpdのドキュメントを読んでおこうと思っています。
またVolumio3となってきているのでI/Fを読んでみた
CLI:command line client (https://volumio.github.io/docs/API/Command_Line_Client.html)
APから使用できそうな機能を実装してみた。
2020-03-10:Ver1.35 修正,機能追加....
本バージョンは,VolumioRc2が大幅な機能アップ,mpd0.20が主流になったので機能を反映する機能追加を行った。
VolumioRc2は,mpdを活用するのにのDACの認識,reboot/plunginなどの保守,インストールが省力化されているのでさらに活用する方向とした。
また,他端末との排他的な活用を最低限行い,信頼性を向上した。
1. Shared Memoryの削除時Errorのケースがあったのでメモリリークが怖いので,強制削除できるモード(Clear指示)を作成。(FileArt機能である程度のディレクトリがあった場合を想定)
mpdweb作成時点の環境ではErrorが起きていなかったので再度調査し組み込んだ。操作面での変更はない。
2. Mpd ver0.20版でZipFileが扱えたのでZip時のArtを設定できるようにした。
XML設定<Album_art><file>%filename%.jpg,Folder.jpg,folder.jpg
:ZipFile時:%{basename}%(extension含む),%{extension}%,%{filename}%(extension除く)
Zipファイル:「Last-Modified」(更新日)がない場合はストリーミングとしていたがZipの場合も「Last-Modified」がない。
なぜか,File一覧(mpd:lslist)では「Last-Modified」(更新日)がある。
Playlistの編集で,「Last-Modified」(更新日)ない場合は,リンク切れとストリーミングを判定していたが,更にZipを判定する必要が発生した。
予想外の修正量になってしまったが、当環境でBackupZipを置いているので対応した。
※Zipファイルの制約として,日本語はUTF-8でないと文字化けし正常に動作しない。(Volumioも同様)
UTF-8のZipファイル作成:Windows10の場合
コントロールパネル→地域
→「管理」タブ→「システムロケールの変更」
→「地域の設定」→ 「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用(U)」にチェック
→「OK」ボタンで再起動
Windows10のロケールが変更されるの未対応ソフトがあれば、文字化けする。
またテキストファイルは過去メモ帳で作成分はShiftJisなのでメモ帳で開くと文字化けする。今後はUTF-8で保存されるので,ロケールがUTF-8でないPCで
メモ帳で開くと文字化けすることに注意。秀丸などのエディタでは問題ない。
(Windows10 1903以降はメモ帳はUTF-8がデフォルトになった)
3. Playlist機能のFunctionでの不具合対応。
ストリーミング選択:「Add Music」~「Add toPlaylist」で動作しないのを修正。
ファイル選択 : JSを使用してのHTML縮小版を活用。
前版でのエンバクを修正
4. mpd ver0.20版でmpgファイルを再生できるので暫定対応。これも当環境でZipのmpdを認識してしまうのを確認。
5. volumioとのI/Fモジュールを作成中だが中間として,XML設定<Additional_Funcのパラメータを追加した。
追加に伴い,IndexListのHTML-IDが直接指定できるようになったので修正
XML設定 <HTMLBuiltin><BodyJs>
<Additional_Func><CommonFunc>
を変更した
6. 再生Playlistがないことを検知したとき,Load Playlist名をクリアしOverwriteできなくした。
操作PCでは良いが,他機器で操作している場合は一定時間で最新化する条件がある。
・Playパネルを表示しているときのみ一定時間経過後に有効。(mpdとのI/Fを制限するため)
7. Current PlayStatus Cunsume(再生楽曲をクリアする)モードのときPlaylist名をクリアしOverwriteできなくした
XML設定 <DISP_Config><Playlist_Consume>on|off
8. Current PlayStatus Cunsume(再生楽曲をクリアする)モードのときMoveを設定で抑制するようにした
MoveはMpdのI/Fに従い,Qidで行っているが,Cunsumeモードのとき再生終了で楽曲が減るとき,Qidも変わるため操作対象が変わるのを防止を兼ねる。
XML設定 <DISP_Config><Current_ConsumeMove>on|off
9. Current Move/Delete更新時,Titleが異なるとき他端末で操作されたと判断し更新しないようにした。
XML設定 <Exclusive><Current>on|off</Current><Playlist>on|off</Playlist> NowMusic排他利用,Playlist機能 排他利用
排他利用設定 排他利用時:Playlistを多く使用しているとき遅くなる。
一台のみ利用/行わなければ:offで使用も可能
遅くなるのは,Playlistの対象行を得るmpd Commandで機能がないので,代用策でmpdとの交信が増えることも作用している。
ループによるオーバヘッドを改善したが,mpdからの応答からCallbackを使用し大幅な改善にならないようにした。
Callbackを使いたくないが,Move&Deleteを連続操作を行ったときmpdが処理し切れなくなり,Update漏れがでるのでここまでとした。
排他利用設定をoffにすることで,従来の機能となる設定をできるようにしておいた。信頼性と端末で同時に編集はない前提でも良いとは思う。
※ Playlist機能のチェックは,Move/Deleteを更新するとき,同行同ファイルでない場合は,メッセージBox表示し再度Playlistを読み込む。
Current画面に対するチェックだが,画面上FilePathがないのでTitleで代用。
同じPositionに同じTitleがあるか完全ではないがチェックしている。
Current画面にFilePathを持つのは,HTML自体が大きくなるので対応しない予定
10. Playlist機能でList選択しPlaylistを表示時,他端末でPlaylistを削除されたとき,ACKがないエラーメッセージになっていたが,エラーを表示しないようにした。
Playlist内容が無いような表示を行う。戻るとListがない状態になる。
11. mpdtaskserverモジュールを追加
volumio-rc2.668で使用可能。
Volumiovolumio-rc2初期では
用意している設定で可能となるのは
・Volumio2の開始/終了
「Readme_install.txt」にインストール方法を記載
XML設定 <Additional_Func><CommonFunc>で設定
mpdtaskserverを設定していない,またVolumio2が未対応では機能が使用可能にならない
12. 編集機能「Move」が未完了で別行の「Move」を行うと前「Move」のマークが残っていたのを修正(Playlist機能/NowMusic)
13. メタタグ「Diskno」のSort方法を設定変更した。10枚組で1の次に10が来るため。
XML設定 <Sort_Base><FieldLength>Disc:%03s,を追加
設定を変更している場合は,同設定のみ設定する。
14. Playlist画面でMove中に再生時間をクリックするとイベントを受けて誤動作していたのを修正
15. Playlist画面でFileが存在しない場合,File機能にリンク時,内部でエラーになっていたのを修正。
ディレクトリがあるかも知れないのでFile機能にリンク(前版でのエンバクを修正)
16. Playlist機能でDrop&DragdでMoveをできるようにした。(マウス操作のみ)
17. Google Chromeでズーム若干の縮小で使用に耐えるようにstyleを修正。Microsoft Edgs Chromiumベースリリースに合わせて修正。
レスポンシブWebデザインにはなっていない。Width(ブラウザの幅)とGoogle Chromeの縮小の関係で解決策がない。(ブラウザの幅をそのまま縮小するので@media max-widthでは対応できない?)
18. Search機能で対象データなしの指定で,内部でエラーを起こしていたのを修正。(SharedMemory使用時)
19. CommonPannelでdsf時使用環境でエラーを起こしていたのを修正。
mpdからのサンプリング周波数の応答が何種類かあったので対応。(他にあった場合でエラーを起こす場合は都度修正)
20. IndexListとFunctionBoxの表示順を変更
IndexListの上にFunctionBoxを表示するようにした。
XML設定:<HTMLBuiltin> z-index:1000 →4
21. Search機能強化。完一致(従来の機能)部分一致,先頭一致,大文字小文字区別なしとなる。
XML設定:<Search_Match>Perfect,Partial,First:Perfec</Search_Match>一致種類,デフォルト
<Search_TitleLeng>4</Search_TitleLeng>タイトル検索の必要桁数(default:6)完全一致時はチェックしない
22. List機能のFunctionBoxに選択リストをSearch機能に,引き継ぐ機能を追加した。Search機能強化の一環
List機能 HTMLサイズが大きくなったが機能とのトレードオフとした。
23. NowMusic 外部起動設定 (Extend Link)でFrame起動時 Fremeのidを変数で指定できるようにした。
Fremeで動作するアプリ作成時,アプリ内でFrameサイズを変更できるようになる。
XML設定:<Extend_Link><frame>...%Fremeid%(または[Fremeid])で指定
※今回リリースでは未使用
24. 外部起動設定(Extend Link)で終了時,Linkし開いたURLを閉じるようにした。(SubWindow)
XML設定:<Additional_Func>OpenWindowDescriptionを$SUBWIN$と設定すると機能する
外部起動を閉じるとき,RequestSubWinCls()[共通関数]を使用することができる
25. 外部起動設定(Extend Link)Frame起動後Closeしない場合,同じClient機器のみ起動するモードを作成した。
(他機器でも起動面倒だったので)
XML設定:<Extend_Link><frame> ''/self/close/を設定可とした。
<JS_Watch><ExpAutoLoadleng>256</ExpAutoLoadleng>
: 外部Link機能の記録Sessionの長さ制限(1記録約20Byte)(最後の2個は必ず残る)
※変更時「Session Data Clear」を行うこと。
26. Funcxtion画面Informationにバージョン情報を追加
mpdweb.common.js/mpdweb.common.css : バージョンを追加。
ソースからのリターンを表示しているので古い場合は,ブラウザを最新表示,観覧履歴をクリアする。
27. 次期作成予定の機能のため"<Additional_Func>"でFrame起動をできるようにした。
Frame用に作成するアプリで機能を広げやすくし,mpdweb本体に直接機能を広げたくないため。
XML設定:<Additional_Func><{tag}> object={FrameObject} frame={FrameStyle:Parent} fsize={FrameStyle:child Size}
2020年3月17日火曜日
2019年12月4日水曜日
mpdweb最近のイメージです。デモサイト、ダウンロードサイトを掲載します。
区切りとしてイメージハードコピーをアップします。
機器要件としては、
USBDACはあった方が良いです。
WebService,phpが動くことが必要です。
ダウンロードサイトです。
mpd Web Client 製作の日々別館
http://www17.plala.or.jp/msftpsrv/makeng_mpdweb.html
デモサイト:玄箱で動かしているので遅いですが、実機はもっと早いです。
http://systect.ship.jp:8899/mpdweb/index.php
一度得た内容は、シェアードメモリに入れて活用します。
もし使って貰えればうれしい限りです。
mpdwebを使う上でのVolumio2 Raspberry Pi版Rc2.668 インストール
mpdwebを使う上でのVolumio2 Raspberry Pi版Rc2.668 インストール
本ドキュメントは、
・本サイトの目的、mpdweb のインストールについてですが、他にも役に立つよう
・主に Rasberry Piで購入し易い点で、I2S DAC:Hifiberry DAC Plusを例に
記載しています
Windows:Win32 Disk Imager(win32DiskImager.exe)などを使用して
volumio-2.{バージョン}.img
を書き込む。(この部分は照会サイトが多い)
※Playlistの注意点
PlaylistがVolumio2専用となっている。/var/lib/mpd/plaulistは本来のmpdのplaylist。
他のClientSoft時には/var/lib/mpd/playlistを使用する。
Volumioのplaulistには他のクライアントから使用の場合、playlistと互換性はない。
書き込んだSDカードで初回起動時,パーティションサイズが最大となる。
1.IPの調査 Windowsコマンドを入力
# ping volumio.local
2.Web 設定
http://volumio.local/
2.1 メニュー → Playback Options:Audio Output
(1)I2S:HiFiBerry DAC+を使用する場合
Hifiberry DAC Plus DSP Option : hifiberry-dacplusの専用設定
Output Device : Hifiberry Dac Plus
I2S DAC : On
DAC Model : Hifiberry Dac Plus
GPIOのDACを選ぶ
(2)Output Device :USBDACのClass2.0の場合、認識していると思われるのでそれを使用する。
(3)Output Device :HDMIについて mpd0.19からマルチチャンネル対応となっているとのこと、現在デジタル アウトプットで対応しているのもはHDMI,一部のDACぐらいと思われる。
5.1を再生してみたがmpdは6chとみなしているがアンプは2chとなる。どこで落ちているか不明
テストデータ:Flac:96KHz 24Bit 6ch (Orignal DSD 64 6ch) アンプ対応 Max:DSD64:6ch/ PCM:16-24Bit:192KHz 6chまで
→ Save
再起動
※Audio Outputを設定後,再起動となるので先に設定
2.2 メニュー → Playback Options:General PlaybackOptions
http://volumio.local/
(1)I2S:HiFiBerry DAC+などDSDに未対応の場合
DSD Playpack Mode : DSD Direct
DSD Auto Volium Level : Off
Volume Normalization : Off ← BitPerfect
Audio Buffer Size : 2 MB または 4 MB でなるべく小さい値 (Raspberry Pi2 DSD再生時4MBで途切れない)
Buffer Beffer Size : 10% または 20% でなるべく小さい値 (Raspberry Pi2 DSD再生時20%で途切れない)
Persistent Queue : On
→ Save
※DSD再生はRaspberry Pi2クラスでは,Softwareデコード無理なのでPCMに特化
(2) USBDACなどDSDに対応の場合
DSD Playpack Mode : DSD Direct ← DoPはDSD64(2.8MHz)が上限のため。まずないと思うがDSDネイティブ未対応の場合「DSD Over PCM(DoP)」にする。
DSD Auto Volume level : Off ← BitPerfect
Volume Normalization : Off ← BitPerfect
Audio Buffer Size : 2 MB
Buffer Beffer Size : 10% または 20% でなるべく小さい値
Persisent Queue : On
→ Save
2.3 メニュー → Playback Options:Volume Options
(1) I2S:HiFiBerry DAC+など
推奨1)
Mixer Type : None
推奨<1)
Mixer Type : Hardware
Mixer Control Name : Digital
好み)
Mixer Type : Software
音が割れるときの対応:Opampの出力に無理があるボリューム,またはアンプに過大な入力となっている場合を想定
推奨<1の設定の詳細
Default Startup Volume : 好みで次のMax Volume Level以下かDisabled
Max Volume Level : 試して見て音の割れないレベルを設定
One Click Volume Steps : 好みで
Volume Curve Mode : 好みで
MPD Clients Volume Control : OFf (詳細不明)
設定のポイントとして,BitPerfectを考えればNone
ミュージックデータのデジタルデータを変化させずにDACに渡すことを考える。
DACの意味の如く,Dgital/Alalog変換。
(2) USBDACなど
Mixer Type : None (BitPerfect の再生となる)
好み)
Mixer Type : Hardware / Software
※ベストはDACのボリュームはアンプのボリュームを使用。Bit量で音量が変化することを考えれば、基の情報を欠落させない。
MixerTypeHardwareは詳細が不明な部分で情報が見つからなっかのだが
I2S DAC内でボリュームを操作か(ALSAミキサーコントロールのこととするとDACを調べるしかないが)
または以外か (最も気になっている部分でSoftwareとどう違う?)
の詳細が不明です。
2.4 メニュー → Playback Options: Audio Resampling
(1) それなりなDACを使用時(推奨)
Audio Resampling : Off (DSD DACの場合特にOffが良い)
(2) 好みに合わせまたハイレゾ音源を使用しない場合などは良いかもしれない
Audio Resampling : On
Target Bit Depth : 24 or 32
Target Sample Rate : 48kHz 以上
Resampling Algorithm Quality : High or Very High
BitPerfectにするにはOffにすること。
Resamplingは,Upsamplingであれば、スムーザの意味もある。(DAC自体にUpsamplingがある場合もあるのでケースバイケース)
ResamplingでもDSDは考慮し難い。DSDのままResamplingできれば良いがPCMとなる。 (欲しい機能ではあるが。KORGのソフトはデータ変換できる)
2.4 メニュー → Appearance
Select Language で言語選択可能
Theme Settings でテーマ選択可能
Select background color でバックカラー選択可能
3.ssh login
RC2 途中からSSHがマスクされているので許可
URL:http://volumio.local/DEV → SSH : ENABLE
HostName : volumio.local
login : volumio
password : volumio
sudo passwd root
Enter new UNIX password: ← 設定するパスワードを入力
Retype new UNIX password: ← 設定するパスワードを入力
# su -
# apt-get update
# apt-get install vim
ファイル名など日本語表示する場合
# dpkg-reconfigure locales
ja_JP.UTF-8 選択する
# export LANG=ja_JP.UTF-8
システム完全性チェックの部分を無効にしてアップデートできるようにしておく。
SSH で Volumio2 にログインして,
# touch /data/ignoresystemcheck
バージョンで出来ないこともあることに注意
4.DLNA (必要に応じ)
ver 2.228ではDLNA対応として
「Browse」「MediaServer」DLNAServerをブラウズしてレンダラーより再生することができる
upmpdcli : 標準に含まれたのでインストール不要 ver 2.668
DLNA Serverをインストールする場合 Plugin で minidlnaをインストール可能になったので必要に応じ行う。
設定もPlugin Installed Pluginで行える。
MiniDLNA status ページを表示
http://volumio:8200/
5.共有の設定(USBHDDなどを使用、Playlistを編集したいなど)
Playlistを編集したい場合、USB Driveを共有する場合はSambaを設定
Volumio Playlist共有準備
# cd /data
# chmod 0777 playlist
# ln -s /data/playlist "/data/Playlist(Volumio)"
# vi /etc/samba/smb.conf
--------------------------------------------------------------------
[global]
workgroup = {WorkgroupName}
上でリンクした「/data/Playlist(Volumio)」が参照できないとき,シンボリックリンクを有効にする
Rc2.66では設定しなくても参照できた
wide links = yes
unix extensions = no
volumio2のplaylistを編集する場合以下追加
[volmio Playlist]
comment = Volumio Playlis Folder
path = /data/Playlist(Volumio)
read only = no
guest ok = yes
mpdのplaylistを編集する場合以下追加
[mpd Playlist]
comment = mpd Playlis Folder
path = /var/lib/mpd/playlists
read only = no
guest ok = yes
--------------------------------------------------------------------
# /etc/init.d/samba restart
6.NASマウント
6.1 Volumio:メニューからの操作
メニュー → My Music
+Add New Drive 共有ドライブがスキャンされる。
共有ドライブを選択する。
Alias : music [任意。Volumio/Mpdではトップディレクトリになる]
NAS IP Address : 選択のデバイス
Path : share/Music/ [目的のPathまで設定 Linuxなので"/"でディレクトリを設定]
例として)
NASのディレクトリDirectory 「share」で共有され、Musicディレクトリ下に楽曲ファイルがある場合
・WindowsのネットワークでPC名をクリック後の共有名が「share」と表示される
・ディレクトリ「Music」はユーザが作成し配下に楽曲ファイルを入れている
Volumio:Sourceの設定
Alias : music
Path : share/Music/
と設定すると,
Windowsのネットワークの表示
\\{PCName}\share\Music\Flac\aiko\BABY\01 beat.flac
Volumio/mpdで見ると
music/Flac/aiko/BABY/01 beat.flac
と参照される
※ 繋がらない場合,またはVolumio 2を最新版にアップデート後ネットワークドライブ(NAS)に繋がらなくなった
「Sources」で 「+Add New Drice」で追加するときNASを選択後「Show Advanced Options」をクリック
「Options」に「vers=1.0」を入力 (ネットワークドライブ「SMB Version1」で接続する設定)
6.2 fstabで強制的に自動マウント (Volumio2で新版(2019.01時点) debian jessieでCIFSのデフォルトがかなり変更になった。
・cifsヴァージョンが古い(ver1.0)の場合,vers=1.0を付加(デフォルトが3.0に変更された)。password不要でもダミーで付けた。(ubuntu 12.04 samba)
//192.168.1.200/share/Music /mnt/NAS/share cifs password={pass dummy},uid=mpd,file_mode=0644,dir_mode=0755,iocharset=utf8,vers=1.0 0 0
・cifsヴァージョンが古い(ver1.0)の場合,vers=1.0,sec=ntlmを付加(デフォルトが3.0に変更された)。(Testは玄箱Debian 3.1(sarge) Samba3.0なのでかなり古い)
user,passwordがAccuntと一致時はusername={Sambaのアカウントに合わせる},password={Sambaのアカウントに合わせる}が必要になった。
//192.168.1.220/share/Music /mnt/NAS/share cifs username={user}ms01,password={password},uid=mpd,file_mode=0644,dir_mode=0755,iocharset=utf8,vers=1.0,sec=ntlm 0 0
テスト方法
# mount -a
で確認
再起動時Mountされないので
# vi /etc/rc.local
後部に以下追加
sleep 10
mount -a
↑ exit前に
exit 0
RescanでD/B Update
7.他のクライアントを使用するためアルバムアートを設定する。(必要に応じ)
Androidアプリ MpdroidなどのカバーアートWebを設定
ここでは、NODE.jsを使用しての方法を記載。
# cd /volumio/http/www/
# ln -s /var/lib/mpd/music Music
NASにshare/Music/{ミュジックデータまでのPath}/Folder.jpgとなっている場合
例)http://volumio.local/Music/NAS/share/{ミュジックデータまでのPath}/Folder.jpg
----- Extend (mpdwebを使用する場合) ----------------------------------------------------------------------------------------
1.phpをインストールしphpのFront/Endを利用可能にする
apatch2でも良いが、nginxの方が軽いのでnginxをインスト―ル
# apt-get update
# apt-get install nginx
# apt-get install php5 php5-cgi php5-fpm
2.node.jsとportを別にする
# vi /etc/nginx/sites-available/default
server {
listen 88 default_server; <------ 88 Portを変更
listen [::]:88 default_server; <------ 88 Portを変更
...
index index.html index.htm index.nginx-debian.html index.php index.php; <------ index.php を追加
...
location ~ \.php$ { <------ # コメントアウトを解除
include snippets/fastcgi-php.conf; <------ # コメントアウトを解除
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock; <------ # コメントアウトを解除
} <------ # コメントアウトを解除
3.自動起動を解除し再度登録
# systemctl disable nginx
# cd /etc/init.d
オリジナルを保持& nginx.serviceを見ないために別に作成する (nginx既存のバク1.62時点)
# cp nginx nginx_rc
volumio2 は /var/logがRAMDISKになっている。
nginxは、LogのPath設定を変更しても/var/log/nginxを見てしまうためLogPathを作成する
# vi nginx_rc
# Provides: nginx_rc <------ Providesを変更
NAME=nginx
DESC=nginx
以下に挿入
echo `date` > /tmp/nginx.log <------ 追加
mkdir /var/log/nginx >> /tmp/nginx.log 2>> /tmp/nginx.log <------ 追加
nginxの自動起動を登録
# systemctl enable nginx_rc
( 変更した場合,systemctl 再読み込みする
# systemctl daemon-reload
で再読み込みする)
4.Androidアプリ MpdroidなどのカバーアートWebを設定
# cd /var/www/html
# ln -s /var/lib/mpd/music Music
アルバムアート
URL : http://volumio.local:88/Music
Htmlを簡単に入れ替えたい場合共有する。(セキュルティが弱くなることに注意)
# chmod 0777 -R -f /var/www/html
# vi /etc/samba/smb.conf
mpdのplaylistを編集する場合以下最後に追加
[Volumio html]
comment = Volumio html Folder
path = /var/www/html
read only = no
guest ok = yes
samba 再起動
# /etc/init.d/samba restart
2.668版で気づいた点
1.mpd:020での機能: zip内がmpd D/Bに追加された。(mpdが参照できた)
2.NASのMountをfatabで行う場合,Network動作前でMountされない。
Volumio2になったばかりのときはできていた。(CuBoxで確認)
対応は上記に記載した。
3.やたらとmpdのD/B Updateが走る。
/etc/mpd.conf
auto_update "yes"→ #auto_update "yes" コメントアウトし手動Update
4. Volumio2上で Mixer TypeをNoneにしてもボリュームが変更可能に見える。変更はできないので問題はないが。
audio_output {
mixer_type "none"
を削除しているため。設定すれば、変更不能になるが、Volumio2はConfigureationで戻される。
5.USBDACのON/OFFでConfigrationとして30秒くらい待たされる。
USBDACのConfigureationが走る。「Playback Options」変更と同じ動作のよう。
確認内容
/etc/modprobe.d/alsa-base.confでUSBDACは固定されている(自環境で5 snd_usb_audio)
USBDAC Power On/Offで正常に動作する。
mpdは独自に動いている。
楽曲の選択をVolumio2以外で行う予定であれば(mpdwebなどを使用)
現状として対策:Volumio2への切り替えを手動で行っても良い場合
volumio2のサービス停止
$ /volumio/app/plugins/system_controller/volumio_command_line_client/volumio.sh vstop
volumio2のサービス開始
$ /volumio/app/plugins/system_controller/volumio_command_line_client/volumio.sh vstart
サービス停止時Plugin
Squeeze Server / Squeeze Player / miniDLNA
Activeのままであれば継続して動作している。
Rebootでvolumio2のサービスは起動する
ここまでで、Volumio2のベースです。この先は本ソフトをダウンロードして「mpdweb_readme/Readme_install.txt」に続きます。
インストールをするために参考となったサイトです。
Volumio2に再生コマンドを送るさん( https://ppdr.softether.net/volumio-commandline )を参考に
VolumioDocument : https://volumio.github.io/docs/API/Command_Line_Client.html で仕様確認
※Volumio2対策をコーディングするか
mpdwebをvolumio2と排他使用にするかも知れない
Volumio2のコマンドが記載されているので , mpdweb Addon:NowMusicPart2を作りたい
本ドキュメントは、
・本サイトの目的、mpdweb のインストールについてですが、他にも役に立つよう
・主に Rasberry Piで購入し易い点で、I2S DAC:Hifiberry DAC Plusを例に
記載しています
Windows:Win32 Disk Imager(win32DiskImager.exe)などを使用して
volumio-2.{バージョン}.img
を書き込む。(この部分は照会サイトが多い)
※Playlistの注意点
PlaylistがVolumio2専用となっている。/var/lib/mpd/plaulistは本来のmpdのplaylist。
他のClientSoft時には/var/lib/mpd/playlistを使用する。
Volumioのplaulistには他のクライアントから使用の場合、playlistと互換性はない。
書き込んだSDカードで初回起動時,パーティションサイズが最大となる。
1.IPの調査 Windowsコマンドを入力
# ping volumio.local
2.Web 設定
http://volumio.local/
2.1 メニュー → Playback Options:Audio Output
(1)I2S:HiFiBerry DAC+を使用する場合
Hifiberry DAC Plus DSP Option : hifiberry-dacplusの専用設定
Output Device : Hifiberry Dac Plus
I2S DAC : On
DAC Model : Hifiberry Dac Plus
GPIOのDACを選ぶ
(2)Output Device :USBDACのClass2.0の場合、認識していると思われるのでそれを使用する。
(3)Output Device :HDMIについて mpd0.19からマルチチャンネル対応となっているとのこと、現在デジタル アウトプットで対応しているのもはHDMI,一部のDACぐらいと思われる。
5.1を再生してみたがmpdは6chとみなしているがアンプは2chとなる。どこで落ちているか不明
テストデータ:Flac:96KHz 24Bit 6ch (Orignal DSD 64 6ch) アンプ対応 Max:DSD64:6ch/ PCM:16-24Bit:192KHz 6chまで
→ Save
再起動
※Audio Outputを設定後,再起動となるので先に設定
2.2 メニュー → Playback Options:General PlaybackOptions
http://volumio.local/
(1)I2S:HiFiBerry DAC+などDSDに未対応の場合
DSD Playpack Mode : DSD Direct
DSD Auto Volium Level : Off
Volume Normalization : Off ← BitPerfect
Audio Buffer Size : 2 MB または 4 MB でなるべく小さい値 (Raspberry Pi2 DSD再生時4MBで途切れない)
Buffer Beffer Size : 10% または 20% でなるべく小さい値 (Raspberry Pi2 DSD再生時20%で途切れない)
Persistent Queue : On
→ Save
※DSD再生はRaspberry Pi2クラスでは,Softwareデコード無理なのでPCMに特化
(2) USBDACなどDSDに対応の場合
DSD Playpack Mode : DSD Direct ← DoPはDSD64(2.8MHz)が上限のため。まずないと思うがDSDネイティブ未対応の場合「DSD Over PCM(DoP)」にする。
DSD Auto Volume level : Off ← BitPerfect
Volume Normalization : Off ← BitPerfect
Audio Buffer Size : 2 MB
Buffer Beffer Size : 10% または 20% でなるべく小さい値
Persisent Queue : On
→ Save
2.3 メニュー → Playback Options:Volume Options
(1) I2S:HiFiBerry DAC+など
推奨1)
Mixer Type : None
推奨<1)
Mixer Type : Hardware
Mixer Control Name : Digital
好み)
Mixer Type : Software
音が割れるときの対応:Opampの出力に無理があるボリューム,またはアンプに過大な入力となっている場合を想定
推奨<1の設定の詳細
Default Startup Volume : 好みで次のMax Volume Level以下かDisabled
Max Volume Level : 試して見て音の割れないレベルを設定
One Click Volume Steps : 好みで
Volume Curve Mode : 好みで
MPD Clients Volume Control : OFf (詳細不明)
設定のポイントとして,BitPerfectを考えればNone
ミュージックデータのデジタルデータを変化させずにDACに渡すことを考える。
DACの意味の如く,Dgital/Alalog変換。
(2) USBDACなど
Mixer Type : None (BitPerfect の再生となる)
好み)
Mixer Type : Hardware / Software
※ベストはDACのボリュームはアンプのボリュームを使用。Bit量で音量が変化することを考えれば、基の情報を欠落させない。
MixerTypeHardwareは詳細が不明な部分で情報が見つからなっかのだが
I2S DAC内でボリュームを操作か(ALSAミキサーコントロールのこととするとDACを調べるしかないが)
または以外か (最も気になっている部分でSoftwareとどう違う?)
の詳細が不明です。
2.4 メニュー → Playback Options: Audio Resampling
(1) それなりなDACを使用時(推奨)
Audio Resampling : Off (DSD DACの場合特にOffが良い)
(2) 好みに合わせまたハイレゾ音源を使用しない場合などは良いかもしれない
Audio Resampling : On
Target Bit Depth : 24 or 32
Target Sample Rate : 48kHz 以上
Resampling Algorithm Quality : High or Very High
BitPerfectにするにはOffにすること。
Resamplingは,Upsamplingであれば、スムーザの意味もある。(DAC自体にUpsamplingがある場合もあるのでケースバイケース)
ResamplingでもDSDは考慮し難い。DSDのままResamplingできれば良いがPCMとなる。 (欲しい機能ではあるが。KORGのソフトはデータ変換できる)
2.4 メニュー → Appearance
Select Language で言語選択可能
Theme Settings でテーマ選択可能
Select background color でバックカラー選択可能
3.ssh login
RC2 途中からSSHがマスクされているので許可
URL:http://volumio.local/DEV → SSH : ENABLE
HostName : volumio.local
login : volumio
password : volumio
sudo passwd root
Enter new UNIX password: ← 設定するパスワードを入力
Retype new UNIX password: ← 設定するパスワードを入力
# su -
# apt-get update
# apt-get install vim
ファイル名など日本語表示する場合
# dpkg-reconfigure locales
ja_JP.UTF-8 選択する
# export LANG=ja_JP.UTF-8
システム完全性チェックの部分を無効にしてアップデートできるようにしておく。
SSH で Volumio2 にログインして,
# touch /data/ignoresystemcheck
バージョンで出来ないこともあることに注意
4.DLNA (必要に応じ)
ver 2.228ではDLNA対応として
「Browse」「MediaServer」DLNAServerをブラウズしてレンダラーより再生することができる
upmpdcli : 標準に含まれたのでインストール不要 ver 2.668
DLNA Serverをインストールする場合 Plugin で minidlnaをインストール可能になったので必要に応じ行う。
設定もPlugin Installed Pluginで行える。
MiniDLNA status ページを表示
http://volumio:8200/
5.共有の設定(USBHDDなどを使用、Playlistを編集したいなど)
Playlistを編集したい場合、USB Driveを共有する場合はSambaを設定
Volumio Playlist共有準備
# cd /data
# chmod 0777 playlist
# ln -s /data/playlist "/data/Playlist(Volumio)"
# vi /etc/samba/smb.conf
--------------------------------------------------------------------
[global]
workgroup = {WorkgroupName}
上でリンクした「/data/Playlist(Volumio)」が参照できないとき,シンボリックリンクを有効にする
Rc2.66では設定しなくても参照できた
wide links = yes
unix extensions = no
volumio2のplaylistを編集する場合以下追加
[volmio Playlist]
comment = Volumio Playlis Folder
path = /data/Playlist(Volumio)
read only = no
guest ok = yes
mpdのplaylistを編集する場合以下追加
[mpd Playlist]
comment = mpd Playlis Folder
path = /var/lib/mpd/playlists
read only = no
guest ok = yes
--------------------------------------------------------------------
# /etc/init.d/samba restart
6.NASマウント
6.1 Volumio:メニューからの操作
メニュー → My Music
+Add New Drive 共有ドライブがスキャンされる。
共有ドライブを選択する。
Alias : music [任意。Volumio/Mpdではトップディレクトリになる]
NAS IP Address : 選択のデバイス
Path : share/Music/ [目的のPathまで設定 Linuxなので"/"でディレクトリを設定]
例として)
NASのディレクトリDirectory 「share」で共有され、Musicディレクトリ下に楽曲ファイルがある場合
・WindowsのネットワークでPC名をクリック後の共有名が「share」と表示される
・ディレクトリ「Music」はユーザが作成し配下に楽曲ファイルを入れている
Volumio:Sourceの設定
Alias : music
Path : share/Music/
と設定すると,
Windowsのネットワークの表示
\\{PCName}\share\Music\Flac\aiko\BABY\01 beat.flac
Volumio/mpdで見ると
music/Flac/aiko/BABY/01 beat.flac
と参照される
※ 繋がらない場合,またはVolumio 2を最新版にアップデート後ネットワークドライブ(NAS)に繋がらなくなった
「Sources」で 「+Add New Drice」で追加するときNASを選択後「Show Advanced Options」をクリック
「Options」に「vers=1.0」を入力 (ネットワークドライブ「SMB Version1」で接続する設定)
6.2 fstabで強制的に自動マウント (Volumio2で新版(2019.01時点) debian jessieでCIFSのデフォルトがかなり変更になった。
・cifsヴァージョンが古い(ver1.0)の場合,vers=1.0を付加(デフォルトが3.0に変更された)。password不要でもダミーで付けた。(ubuntu 12.04 samba)
//192.168.1.200/share/Music /mnt/NAS/share cifs password={pass dummy},uid=mpd,file_mode=0644,dir_mode=0755,iocharset=utf8,vers=1.0 0 0
・cifsヴァージョンが古い(ver1.0)の場合,vers=1.0,sec=ntlmを付加(デフォルトが3.0に変更された)。(Testは玄箱Debian 3.1(sarge) Samba3.0なのでかなり古い)
user,passwordがAccuntと一致時はusername={Sambaのアカウントに合わせる},password={Sambaのアカウントに合わせる}が必要になった。
//192.168.1.220/share/Music /mnt/NAS/share cifs username={user}ms01,password={password},uid=mpd,file_mode=0644,dir_mode=0755,iocharset=utf8,vers=1.0,sec=ntlm 0 0
テスト方法
# mount -a
で確認
再起動時Mountされないので
# vi /etc/rc.local
後部に以下追加
sleep 10
mount -a
↑ exit前に
exit 0
RescanでD/B Update
7.他のクライアントを使用するためアルバムアートを設定する。(必要に応じ)
Androidアプリ MpdroidなどのカバーアートWebを設定
ここでは、NODE.jsを使用しての方法を記載。
# cd /volumio/http/www/
# ln -s /var/lib/mpd/music Music
NASにshare/Music/{ミュジックデータまでのPath}/Folder.jpgとなっている場合
例)http://volumio.local/Music/NAS/share/{ミュジックデータまでのPath}/Folder.jpg
----- Extend (mpdwebを使用する場合) ----------------------------------------------------------------------------------------
1.phpをインストールしphpのFront/Endを利用可能にする
apatch2でも良いが、nginxの方が軽いのでnginxをインスト―ル
# apt-get update
# apt-get install nginx
# apt-get install php5 php5-cgi php5-fpm
2.node.jsとportを別にする
# vi /etc/nginx/sites-available/default
server {
listen 88 default_server; <------ 88 Portを変更
listen [::]:88 default_server; <------ 88 Portを変更
...
index index.html index.htm index.nginx-debian.html index.php index.php; <------ index.php を追加
...
location ~ \.php$ { <------ # コメントアウトを解除
include snippets/fastcgi-php.conf; <------ # コメントアウトを解除
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock; <------ # コメントアウトを解除
} <------ # コメントアウトを解除
3.自動起動を解除し再度登録
# systemctl disable nginx
# cd /etc/init.d
オリジナルを保持& nginx.serviceを見ないために別に作成する (nginx既存のバク1.62時点)
# cp nginx nginx_rc
volumio2 は /var/logがRAMDISKになっている。
nginxは、LogのPath設定を変更しても/var/log/nginxを見てしまうためLogPathを作成する
# vi nginx_rc
# Provides: nginx_rc <------ Providesを変更
NAME=nginx
DESC=nginx
以下に挿入
echo `date` > /tmp/nginx.log <------ 追加
mkdir /var/log/nginx >> /tmp/nginx.log 2>> /tmp/nginx.log <------ 追加
nginxの自動起動を登録
# systemctl enable nginx_rc
( 変更した場合,systemctl 再読み込みする
# systemctl daemon-reload
で再読み込みする)
4.Androidアプリ MpdroidなどのカバーアートWebを設定
# cd /var/www/html
# ln -s /var/lib/mpd/music Music
アルバムアート
URL : http://volumio.local:88/Music
Htmlを簡単に入れ替えたい場合共有する。(セキュルティが弱くなることに注意)
# chmod 0777 -R -f /var/www/html
# vi /etc/samba/smb.conf
mpdのplaylistを編集する場合以下最後に追加
[Volumio html]
comment = Volumio html Folder
path = /var/www/html
read only = no
guest ok = yes
samba 再起動
# /etc/init.d/samba restart
2.668版で気づいた点
1.mpd:020での機能: zip内がmpd D/Bに追加された。(mpdが参照できた)
2.NASのMountをfatabで行う場合,Network動作前でMountされない。
Volumio2になったばかりのときはできていた。(CuBoxで確認)
対応は上記に記載した。
3.やたらとmpdのD/B Updateが走る。
/etc/mpd.conf
auto_update "yes"→ #auto_update "yes" コメントアウトし手動Update
4. Volumio2上で Mixer TypeをNoneにしてもボリュームが変更可能に見える。変更はできないので問題はないが。
audio_output {
mixer_type "none"
を削除しているため。設定すれば、変更不能になるが、Volumio2はConfigureationで戻される。
5.USBDACのON/OFFでConfigrationとして30秒くらい待たされる。
USBDACのConfigureationが走る。「Playback Options」変更と同じ動作のよう。
確認内容
/etc/modprobe.d/alsa-base.confでUSBDACは固定されている(自環境で5 snd_usb_audio)
USBDAC Power On/Offで正常に動作する。
mpdは独自に動いている。
楽曲の選択をVolumio2以外で行う予定であれば(mpdwebなどを使用)
現状として対策:Volumio2への切り替えを手動で行っても良い場合
volumio2のサービス停止
$ /volumio/app/plugins/system_controller/volumio_command_line_client/volumio.sh vstop
volumio2のサービス開始
$ /volumio/app/plugins/system_controller/volumio_command_line_client/volumio.sh vstart
サービス停止時Plugin
Squeeze Server / Squeeze Player / miniDLNA
Activeのままであれば継続して動作している。
Rebootでvolumio2のサービスは起動する
ここまでで、Volumio2のベースです。この先は本ソフトをダウンロードして「mpdweb_readme/Readme_install.txt」に続きます。
インストールをするために参考となったサイトです。
Volumio2に再生コマンドを送るさん( https://ppdr.softether.net/volumio-commandline )を参考に
VolumioDocument : https://volumio.github.io/docs/API/Command_Line_Client.html で仕様確認
※Volumio2対策をコーディングするか
mpdwebをvolumio2と排他使用にするかも知れない
Volumio2のコマンドが記載されているので , mpdweb Addon:NowMusicPart2を作りたい
2019-12-01:Ver1.34 修正,機能追加
2019-12-01:Ver1.34 修正,機能追加....
1. Playlist画面でPlaylistに追加機能で追加数が設定を超えた場合,エラーとしていたが,メッセージを表示していなかったのを修正
NowMusic画面からPlaylistに保存するときは,追加数をチェックしていないので設定数以上を作成時はNowMusic画面から行う
2. Playlist Detail画面で重複チェックを追加した
XML設定:<DISP_Config><Playlist_Duplicate>on|off,"|evey"
3. 新規にPlaylist作成するときは追加数チェックをしないようにした(Copyモード)
4. 共通Function「Playlist Load」で存在しないPlaylistを指定時,NowMusicをクリアし空のPlaylist扱いしていたが,メッセージボックスを表示するようにした。
5. 他ネットからのアクセスでPlaylist追加時,除外設定が生きていなかったのを修正
6. NowMusic画面の再生情報の編集を変更
年からビットレートまでできるだけ1行に収まるようにGenreを調整
mpdからの応答でDSDのとき周波数が大きく値からチェンネル分が含まれているのではないとの判断
変換しないとDSD64->DSD128と思ってしまうためにロジックを追加
またDSDのEncode時,周波数が0.0kHzとなっていたが環境か不明だが,ビットレートから計算
,16Bitとして計算時した。
近況として
volumio-rc2.668 , daphileをテストしてみました。
volumio-rc2リリース当時と、かなり変わっていました。mpdも0.20になり、本クライアントも少し改良したくなりました。
daphileを使用して見ましたが,SqueezeboxのPluginが使えました。Serverとレンダラー(Player)が内包されており,レンダラーはDSDに対応されている。SqueezeboxでFMを聞いているので自宅オーデイオに追加したくなりました。
1. Playlist画面でPlaylistに追加機能で追加数が設定を超えた場合,エラーとしていたが,メッセージを表示していなかったのを修正
NowMusic画面からPlaylistに保存するときは,追加数をチェックしていないので設定数以上を作成時はNowMusic画面から行う
2. Playlist Detail画面で重複チェックを追加した
XML設定:<DISP_Config><Playlist_Duplicate>on|off,"|evey"
3. 新規にPlaylist作成するときは追加数チェックをしないようにした(Copyモード)
4. 共通Function「Playlist Load」で存在しないPlaylistを指定時,NowMusicをクリアし空のPlaylist扱いしていたが,メッセージボックスを表示するようにした。
5. 他ネットからのアクセスでPlaylist追加時,除外設定が生きていなかったのを修正
6. NowMusic画面の再生情報の編集を変更
年からビットレートまでできるだけ1行に収まるようにGenreを調整
mpdからの応答でDSDのとき周波数が大きく値からチェンネル分が含まれているのではないとの判断
変換しないとDSD64->DSD128と思ってしまうためにロジックを追加
またDSDのEncode時,周波数が0.0kHzとなっていたが環境か不明だが,ビットレートから計算
,16Bitとして計算時した。
近況として
volumio-rc2.668 , daphileをテストしてみました。
volumio-rc2リリース当時と、かなり変わっていました。mpdも0.20になり、本クライアントも少し改良したくなりました。
daphileを使用して見ましたが,SqueezeboxのPluginが使えました。Serverとレンダラー(Player)が内包されており,レンダラーはDSDに対応されている。SqueezeboxでFMを聞いているので自宅オーデイオに追加したくなりました。
2019年11月24日日曜日
Raspberry Pi 3 Model B を購入しました。
今までVoyageMPDをALIX(x86)に入れて使用していましたが、さすがに古くなったので新サーバとして予定しています。
並行して、昔のノートPCに 今話題の「Daphile」もテストしていましたがこれも優れもの。
VoyageMpdがバージョンアップしていないので時期環境を模索しています
では、Volumio 2編として、
1.mpd:020での機能: zip内がmpd D/Bに追加された。(mpdが参照できた)
便利になりました。
2.他システムとの接続が便利
・ Media ServierでVolumio2から簡単に再生できる
・ upmpdcli : 標準に含まれたのでインストール不要
・ DLNA Server: Plugin で minidlnaをインストール可能になったので必要に応じ行う。
設定もPlugin Installed Pluginで行える。
他
Airplay (前からある)
Plugin : RoonBridge
Logitech Media Server / sqeezelite player
なんでもあり。もう、すごい。
3.NASのMountをfatabで行う場合,Network動作前でMountされない。
テストのためPlaylistsを共有するために設定。
Volumio2になったばかりのときはできていた。(CuBoxで確認)
/etc/rc.local
sleep 10
mount -a
を追加した
4.やたらとmpdのD/B Updateが走る。
/etc/mpd.conf
auto_update "yes"→ #auto_update "yes" : コメントアウトして手動Updateに
5. Volumio2上で Mixer TypeをNoneにしてもボリュームが変更可能に見える。
変更はできないので問題はないが。
audio_output {
mixer_type "none"
を削除しているため。設定すれば、変更不能になるが、Volumio2はConfigureationで戻される。
6.USBDACのON/OFFでConfigrationとして30秒くらい待たされる。
USBDACのConfigureationが走る。「Playback Options」変更と同じ動作のよう。
確認内容
/etc/modprobe.d/alsa-base.confでUSBDACは固定されている(自環境で5 snd_usb_audio)
USBDAC Power On/Offで正常に動作する。
mpdは独自に動いている。
楽曲の選択をVolumio2以外で行う予定であれば(mpdwebなどを使用)
現状として対策:Volumio2への切り替えを手動で行っても良い場合
volumio2のサービス停止
$ /volumio/app/plugins/system_controller/volumio_command_line_client/volumio.sh vstop
volumio2のサービス開始
$ /volumio/app/plugins/system_controller/volumio_command_line_client/volumio.sh vstart
サービス停止時Plugin
Squeeze Server / Squeeze Player / miniDLNA
Activeのままであれば継続して動作している。
Rebootでvolumio2のサービスは起動する
Volumio2に再生コマンドを送るさん( https://ppdr.softether.net/volumio-commandline )を参考に
VolumioDocument : https://volumio.github.io/docs/API/Command_Line_Client.html で仕様確認
※Volumio2対策をコーディングするか検討!!
mpdwebをvolumio2と排他使用にするかも知れない
Volumio2のコマンドが記載されているので , mpdweb Addon:NowMusicPart2を作りたい
今後予定)
Volumio2インストール編をアップ予定。(mpdwebからのスタンス版)
mpdweb:従来の機能アップ版ができているのでテスト後アップ予定。
その後、Volumio2.668対応版にするか検討
2019年11月4日月曜日
2019-11-01:Ver1.33 修正,機能追加....
1. mpdwebから連動時,mpdartlist:ディレクトリが存在しないないときphpがエラーとなっていたのを修正
2. 再生楽曲がないときCommonPanel Playlistを表示しない仕様を変更
Functionで再生PlaylistをClear後,楽曲を追加してもCommonPanel Playlistに表示しないのを修正後,今回仕様にした。
3. NowMusic Playlistの編集で再生中楽曲からみの移動で再生Positonが誤表示してたのを修正
Functionで再生PlaylistをClear後,画面の反映がWaitTimeとなっていたが即表示かCallBack後表示にしたが、同時に修正した。
4. NowMusicからFunction「Link Contens」で画面切り替えの際,AlbumArt表示時の不具合を修正
5. NowMusicでFunction「Playlistload」でエラーとなる不具合を修正
6. Playlist/Search機能をスピードアップ対応
FunctionでFilePathを使用し各機能を作成しているが,複数回発生するので画面上のFilePathをjsでGetすることでHTMLサイズを縮小した。
Function関数はAlbum内容表示でも使用しているが、こちらは原則Album単位なのでHTMLサイズは抑えることができる。(機能的にはQuery単位だが)
7. 再生中MusicのMarkStyleを設定できるようにした。
CommonPLaylistも同様にStyleを設定できるようにした。
XML設定:<DISP_Config><MarkNowCurrent> : NowMusic
<DISP_Config><MarkCommonList> : CommonPLaylist
8. ChromeでAlbum内容表示時"年"が4桁表示していなかったのを修正
9. File表示DetailにTag年を追加した。(他に合わせた)
10. File表示DirectoryのDetail時,Modify Date/Time表示にセパレータ|を表示した
11. AGENT空白で機種を判別させる定義をルールに追加
XML設定:<Html_config><Viewport_{AGENT}> {AGENT}の_はSpaceとする(AGENTの" ","_"の区別はしない)
Google Pixel3aのAGENTが"Pixel 3a"となっているので対応した。
XML設定にもPixel3aを追加した。
12. NowMusic機能でStrimingの行Function「Link To Conteins」はグレイアウトした。(従来もLinLしていない)
2. 再生楽曲がないときCommonPanel Playlistを表示しない仕様を変更
Functionで再生PlaylistをClear後,楽曲を追加してもCommonPanel Playlistに表示しないのを修正後,今回仕様にした。
3. NowMusic Playlistの編集で再生中楽曲からみの移動で再生Positonが誤表示してたのを修正
Functionで再生PlaylistをClear後,画面の反映がWaitTimeとなっていたが即表示かCallBack後表示にしたが、同時に修正した。
4. NowMusicからFunction「Link Contens」で画面切り替えの際,AlbumArt表示時の不具合を修正
5. NowMusicでFunction「Playlistload」でエラーとなる不具合を修正
6. Playlist/Search機能をスピードアップ対応
FunctionでFilePathを使用し各機能を作成しているが,複数回発生するので画面上のFilePathをjsでGetすることでHTMLサイズを縮小した。
Function関数はAlbum内容表示でも使用しているが、こちらは原則Album単位なのでHTMLサイズは抑えることができる。(機能的にはQuery単位だが)
7. 再生中MusicのMarkStyleを設定できるようにした。
CommonPLaylistも同様にStyleを設定できるようにした。
XML設定:<DISP_Config><MarkNowCurrent> : NowMusic
<DISP_Config><MarkCommonList> : CommonPLaylist
8. ChromeでAlbum内容表示時"年"が4桁表示していなかったのを修正
9. File表示DetailにTag年を追加した。(他に合わせた)
10. File表示DirectoryのDetail時,Modify Date/Time表示にセパレータ|を表示した
11. AGENT空白で機種を判別させる定義をルールに追加
XML設定:<Html_config><Viewport_{AGENT}> {AGENT}の_はSpaceとする(AGENTの" ","_"の区別はしない)
Google Pixel3aのAGENTが"Pixel 3a"となっているので対応した。
XML設定にもPixel3aを追加した。
12. NowMusic機能でStrimingの行Function「Link To Conteins」はグレイアウトした。(従来もLinLしていない)
2019年10月8日火曜日
2019-10-01:Ver1.32 修正,機能追加
2019-10-01:Ver1.32 修正,機能追加....
1. NowMusic画面以外のStatusAreaのデザインをNowMusic画面に合わせた(Chomeで見た目が異なっていた)。
Status行のスクロールバーをON/OFFできるようにした:XML設定
<DISP_Config><Status_Scrollbar>on|off : 未設定時デフォルト:on
perfect-scrollbarを組み込めるようにしたための追加設定
2. JS入力補助[mpdilist.php]作成に伴い,修正を行った。
・List機能のListにidを付加した。JS側でidからIndexを作成するため必要になった。
・File機能でFile表示時先頭idの付け方に誤りがあった。
・XML設定<HTMLBuiltin>を使用して組み込めるようにしたが,global項目を使用した。設定,表示条件をglobalに追加した。
・最下行をIndexListの表示ボタンにしたので同行をStatus行にした。(CommpnPlayPanelの操作性に影響がでたため)
<DISP_Config><Status>off -> onに変更,<!--<Current_Status>on コメントにした。
3. 「Common Function」「Playlist Save as...」が他端末別Playlistを再生しても変わらなかったのを対応した。
再生中はWatchしているので,Playlistが変更されたのを察知したとき入れ換えるようにした。
4.「mpdartlist.php」も同様にJS入力補助[mpdilist.php]機能を組み込んだ
「mpdartlist.xml」に設定の追加を行った
<HTMLBuiltin_mpdweb.php><TermHTML>に機能追加
<DISP_Config>
<Sort_Capital>on</Sort_Capital><!-- 表示順に大/小文字の区別しない on/off
<File_DirLayer>2</File_DirLayer><!-- 抑制Directory階層 /share/Musicで2階層 初期値"":制限なし(外部連携で使用)
を追加して操作性を同じにした。
<Additional_Func>CommonFunction設定 p={機能} m={Sub機能} o={使用条件} で条件を追加した。
<{FuncTag} o="{使用条件}":一致した場合,設定を使用可能にする
使用条件 : invalid='1' / "invalid='':ディレクトリ指定階層以下は使用可否 , file:Layer>=指定階層以下 , directory:Layer>指定階層以下の条件を付けることができる
5. XML設定<HTMLBuiltin>に<EventListener><onLoad>を追加し。AutoLoadを一部修正した。
NuwMusicのFremeを画面間の継続でEventListenerを使用していたが,onLoadに移動した。
「mpdartlist.xml」も同じ機能とした。
6. NowMusic画面 Imageクリックの外部I/F HTML生成の不具合を修正。</script>が正常に生成されていなかった。
7. 閉じるときのEventを設定可能にした
<HTMLBuiltin_Event><unloaded>を追加した。
8. Search機能に設定追加
・DispSearch Combo選択時で設定なし項目を単一選択で許可。","で複数設定。未設定時動作は変わらない
XML設定:<DISP_Config><Search_ComboNull>{Filed}</Search_ComboNull>
・DispSearch 日付Combo選択で単一で許可する桁数(以上を設定),""は許可しない。未設定時日付5桁以上は単独でSearchできるようになる。
XML設定:<DISP_Config><Search_ComboDateForm>{5}</Search_ComboDateForm>
※Searchで大多数抽出はメモリが耐えないがイレギュラを検索する考慮
9. Rolloverによる名称表示を補完。長いタイトル,ファイル名は確認方法がなかったためロールオーバーで対応
・Album内容表示:タイトル行トラックをクリックでロールオーバ表示
・File表示 :ファイル表示のNoをクリックでロールオーバ表示
ディレクトリ表示は,Function「...」で「Rollover Path」ボタンでロールオーバ表示
・Search表示 :Noをクリックでロールオーバ表示(Postで実現)
・Playlist表示 :Noをクリックでロールオーバ表示(Postで実現)
ディレクトリは,目的階層のヘッダでロールオーバ表示。最終オペレーションを継続するので、一体的に見えるようデザインを変更
※ロールオーバはタブレットの操作を考慮しクリックで行う。
10. Playlist機能,Search機能,Album内容,File機能から機能を切り替えるときAlbum内容,File機能で対象ミュージックデータを色を変えてマークするようにした。
・NowMusic画面からのAlbum内容,File機能に連携したとき再生中にマークするかをの設定を設けた。
XML設定:<DISP_Config><MarkNowMusic>on|off デフォルトはoff
<MarkColor>{style}|"" DispFind/DispFile連携選択のstyle, "":機能なし
<MarkColorNow>{style}|"" DispFind/DispFile NowMusicからLink時現在再生中のstyle, "":機能なし
曲が変わってもマークは変わらないので設定できるようにした。(どちらが良いかの判断)
・NowMusic画面PlaylistからAlbum内容にLinkするとき,FilePathを持っていないので,タイトル,Disk/Track一致で同じ曲とした。
NowMusic画面にHTMLを抑えるためFilePathを抱えないようにするため。
11. 指定位置へのポイントする mpdilist.php を作成した
設定で組み込むこと。HTMLからjsでインデックスを作成するため,デザインを考えなければ汎用的
1. NowMusic画面以外のStatusAreaのデザインをNowMusic画面に合わせた(Chomeで見た目が異なっていた)。
Status行のスクロールバーをON/OFFできるようにした:XML設定
<DISP_Config><Status_Scrollbar>on|off : 未設定時デフォルト:on
perfect-scrollbarを組み込めるようにしたための追加設定
2. JS入力補助[mpdilist.php]作成に伴い,修正を行った。
・List機能のListにidを付加した。JS側でidからIndexを作成するため必要になった。
・File機能でFile表示時先頭idの付け方に誤りがあった。
・XML設定<HTMLBuiltin>を使用して組み込めるようにしたが,global項目を使用した。設定,表示条件をglobalに追加した。
・最下行をIndexListの表示ボタンにしたので同行をStatus行にした。(CommpnPlayPanelの操作性に影響がでたため)
<DISP_Config><Status>off -> onに変更,<!--<Current_Status>on コメントにした。
3. 「Common Function」「Playlist Save as...」が他端末別Playlistを再生しても変わらなかったのを対応した。
再生中はWatchしているので,Playlistが変更されたのを察知したとき入れ換えるようにした。
4.「mpdartlist.php」も同様にJS入力補助[mpdilist.php]機能を組み込んだ
「mpdartlist.xml」に設定の追加を行った
<HTMLBuiltin_mpdweb.php><TermHTML>に機能追加
<DISP_Config>
<Sort_Capital>on</Sort_Capital><!-- 表示順に大/小文字の区別しない on/off
<File_DirLayer>2</File_DirLayer><!-- 抑制Directory階層 /share/Musicで2階層 初期値"":制限なし(外部連携で使用)
を追加して操作性を同じにした。
<Additional_Func>CommonFunction設定 p={機能} m={Sub機能} o={使用条件} で条件を追加した。
<{FuncTag} o="{使用条件}":一致した場合,設定を使用可能にする
使用条件 : invalid='1' / "invalid='':ディレクトリ指定階層以下は使用可否 , file:Layer>=指定階層以下 , directory:Layer>指定階層以下の条件を付けることができる
5. XML設定<HTMLBuiltin>に<EventListener><onLoad>を追加し。AutoLoadを一部修正した。
NuwMusicのFremeを画面間の継続でEventListenerを使用していたが,onLoadに移動した。
「mpdartlist.xml」も同じ機能とした。
6. NowMusic画面 Imageクリックの外部I/F HTML生成の不具合を修正。</script>が正常に生成されていなかった。
7. 閉じるときのEventを設定可能にした
<HTMLBuiltin_Event><unloaded>を追加した。
8. Search機能に設定追加
・DispSearch Combo選択時で設定なし項目を単一選択で許可。","で複数設定。未設定時動作は変わらない
XML設定:<DISP_Config><Search_ComboNull>{Filed}</Search_ComboNull>
・DispSearch 日付Combo選択で単一で許可する桁数(以上を設定),""は許可しない。未設定時日付5桁以上は単独でSearchできるようになる。
XML設定:<DISP_Config><Search_ComboDateForm>{5}</Search_ComboDateForm>
※Searchで大多数抽出はメモリが耐えないがイレギュラを検索する考慮
9. Rolloverによる名称表示を補完。長いタイトル,ファイル名は確認方法がなかったためロールオーバーで対応
・Album内容表示:タイトル行トラックをクリックでロールオーバ表示
・File表示 :ファイル表示のNoをクリックでロールオーバ表示
ディレクトリ表示は,Function「...」で「Rollover Path」ボタンでロールオーバ表示
・Search表示 :Noをクリックでロールオーバ表示(Postで実現)
・Playlist表示 :Noをクリックでロールオーバ表示(Postで実現)
ディレクトリは,目的階層のヘッダでロールオーバ表示。最終オペレーションを継続するので、一体的に見えるようデザインを変更
※ロールオーバはタブレットの操作を考慮しクリックで行う。
10. Playlist機能,Search機能,Album内容,File機能から機能を切り替えるときAlbum内容,File機能で対象ミュージックデータを色を変えてマークするようにした。
・NowMusic画面からのAlbum内容,File機能に連携したとき再生中にマークするかをの設定を設けた。
XML設定:<DISP_Config><MarkNowMusic>on|off デフォルトはoff
<MarkColor>{style}|"" DispFind/DispFile連携選択のstyle, "":機能なし
<MarkColorNow>{style}|"" DispFind/DispFile NowMusicからLink時現在再生中のstyle, "":機能なし
曲が変わってもマークは変わらないので設定できるようにした。(どちらが良いかの判断)
・NowMusic画面PlaylistからAlbum内容にLinkするとき,FilePathを持っていないので,タイトル,Disk/Track一致で同じ曲とした。
NowMusic画面にHTMLを抑えるためFilePathを抱えないようにするため。
11. 指定位置へのポイントする mpdilist.php を作成した
設定で組み込むこと。HTMLからjsでインデックスを作成するため,デザインを考えなければ汎用的
登録:
投稿 (Atom)

