• webui-plus開発/サポート(webui-plus development/support)

    @Castle
    Please ignore my previous comment about it not displaying the values correctly. I was assuming that when the plugin was opened it would display the pre-existing value. My mistake for not investigating more thoroughly..

    RaspPi4b x 2 / IanCanada Stack powered by LiFEPo4 & Ultracaps /
    Bisek Output Transformers

  • @Castle
    Ok. If you have another suggestion, please tell me 🤠

  • 今週末の予告について

    ラジオ関連の対応に続き、埋込カバーアートの対応についてある程度の目処が付きましたので、
    プレビューとして提供したいと思います。

    ただし、埋込カバーアートについてはmpd側の対応がうまくいかない部分があります
    (タグの埋込仕様の相違なのか、正常に表示できないことがある。)
    ので表示の順位を変更したいと思います。

  • @sunatomo さん
    アップデート作業ありがとうございます!

    Casleさんの質問の件ですが、私も全部のスレッドを読めてなく良く理解できていないのですが、質問させてください。

    Arch Linux AoEスレに以下の記載がありました。
    「lsaoe, aoestatは当然ながら出力アリのため、
    ボタン下の領域に結果を返します。
    dreq,recvはプラグインを開く際に現在値を取得し、
    設定後に「set」ボタンを押すことで反映させます。」

    ということで、dreq, recv で数値をセットし、その後いったんプラグインを閉じて、再度プラグインを開けばセットした値になるのかと思ったのですが、なぜか一番最初に表示された値に戻ってしまいました。
    (セットした直後はdreq, recv共にセットされた値が表示されていました)

    また lsaoe, aoestat ボタンを押すと、dreq, recv の set ボタンも灰色になるので、lsaoe, aoestatで取得された表示内容からdreq, recv をgrepして表示するのかな?と思いましたが、どうもそうでもないようなので、質問させていただきました。
    よろしくお願い致します。

  • @mgroovy さま
    dreq, recvの値設定については単純にaplayコマンドで値をセットしているだけです。
    (明日以降になりますが、開発環境をAoEのバックエンド化してスクリーンショットなどを交えて詳細説明します)

    プラグインを開いた際の値についても、aplayコマンドで値のみ受け取っている状態になります。
    ちなみにプラグイン向けの現在値受信コマンドはこんな形(%sにはdreqもしくはrecvが入る)

    amixer sget %s|grep \"Mono: Playback\"|awk '{ print $3 }'
    

    また、lsaoe・aoestat・dreq・recvに関してはコマンドの実行結果を内部的に /var/lib/mpd/music/RAM/.aoe.out へ書込しているため、
    他のコマンドを同時実行させたくないために「ロックさせている」だけです。

    ただし、プラグインで設定したdreq・recvの値が保持されないのはちょっと不思議な挙動のため、明日以降で調査してみます。
    (現状lsaoe等の出力結果の後ろが切れているのもちょっと気になりますよね。)

  • @sunatomo さん

    Audio over Ether スレで@sunatomo さんの記述を見つけました。

    「簡易版AoE用プラグインの提供について
    ;略
    82-aoe.tar.gz

    Arch Linux AoEでお見せしたものとほぼ同じ内容ですが、
    簡易版ということでdreq・recvの値をプラグイン起動時に取得する機能は今の所実装されていません。
    また、dreq・recvについては手抜きをしてamixerの標準出力をそのまま表示させています。」

    私の使っているのはArch Linux AoE 版ではなくて、Raspi4B smpd AoE 版(言い方あってますか?w)ですので、もしかしてまだ実装されていないっていうことなのかも知れませんね?!

    複数機種&複数ブラウザ&複数プラットフォームで同時開発されてらっしゃるので、覚え切れないですよね。。。

  • @sunatomo
    I was thinking that when I have set the recv and dreq values to 32 and 56 respectively using amixer commands that when i open the AoE Plugin the values those values would be displayed in the boxes. It looks like it is displaying the first number of each value in the boxes.
    e5203ae8-2b7b-4583-8786-365e0d2f1837-image.png

    RaspPi4b x 2 / IanCanada Stack powered by LiFEPo4 & Ultracaps /
    Bisek Output Transformers

  • @Castle @mgroovy
    報告ありがとうございます。今朝から検証した結果、2つ不具合を見つけました。

    • RaspberryPiのympdプロセスでamixerコマンド実行結果の値を受信する際のバッファ数が少なすぎて正常に取得できない可能性があった。
      →バッファ数を増やして対応

    • 取得した値(文字列)をそのまま電文で伝送したところ、1桁の場合受け取り側で電文がエラーとして認識された
      →ympd側で整数に直してから伝送

    という訳で、今晩のリリース時に不具合は修正したものを配布しますのでお待ちください。

    Thank you for your report. I'd been research in this morning, found 2 issues.

    • I'd maid mistake in ympd process whitch amixser result string
      getting to small string buffer length.
      -> add more length

    • Also maid mistake in ympd process, result string buffer send to client device (web socket message) using raw string.
      -> convert string to integer before senging the web socket message.

    I'll release new build today's night (in Japanese Time). Please wait be patience😩

  • 2021-03-13 版のWebui-plus配信について

    事前予告通り、配信させていただきました。
    変更点はこちら

    • ラジオストリーム向けの対応の強化
      ラジオストリーム再生時にラジオ局が楽曲名を更新する場合については
      可能な範囲でそれに追従する仕様としました。

    • 楽曲埋め込みカバーアート対応
      従来からソースコードは記述していたのですが、安定化しないため機能体させていました。
      今回、ソースコードを見直しした結果「正常にカバーアートを解析できない際にログを残す仕様としていたところ、ログ記録の記述不具合が原因でympdのプロセスが不正終了する」という現象が判明したため、
      これのfixを実施して機能を復活させることとしました。
      なお、埋め込みカバーアートを使用したい場合、今回同梱のWEBUIプラグイン(の差替版)を起動し、「SongEmbedded」にチェックを入れて「OK」ボタンを押してください。

    • AoEプラグインのバグ修正
      @Castle @mgroovy さまのご協力により、プラグインを表示した際にdreq・recvの値の現在値が正常に表示されない点を修正しております。
      また、lsaoeとaoestatで行欠けがないよう、表示領域高さを広げました。

    MPDでのカバーアート認識については一般的なプレーヤと同等レベル(正常に解析できない場合は画像が化ける)と想定されるため、
    カバーアートの表示順位は最下層(カバーアートが見つからない場合の女性の画像の一つ手前)にしております。

  • @sunatomo さん

    WebUIアップデートいただきまして、どうもありがとうございました。
    ラジオ、とても良い感じで使わせていただいております!!!

    それで色々と評価してみまして数点気になったところがありましたので、報告させていただきます。

    1. WebUI の Notify をOFFにしても、メニュー設定で「OK」を押すとsuccess表示がされてしまう(例:COLOR THEMEなど)
      (曲の追加では表示されないため、あまり気になっていません)

    2. アップデート直後、あるいは少し上で教えていただいたAoEモジュールのインスト手順実行後に、PLUGINSを開くと、一番下と下から六番目にAoE CONFIGが表示されていて、一番下はOFFになっている。
      (一番下をONにし、下から六番目をOFFにして「OK」し、再度開くと表示は下から五番目に一つだけになった)
      (これも特に気になりません)

    3. AoE CONFIGを開くも、dreq, recv の表示は以前と変わらず。
      起動時には 1,1 表示のままで、現状設定値(16,16)が表示されない。
      16,16を明示的に設定した直後は、16, 16表示になるが、いったん終了させ、再度表示させると1,1表示になる
      (動作が以前と変わっていないので、2と関連してインストに失敗しているのかもしれません。。。)

    よろしくお願い致します。

  • @mgroovy さま

    WebUI の Notify をOFFにしても、メニュー設定で「OK」を押すとsuccess表示がされてしまう(例:COLOR THEMEなど)
    (曲の追加では表示されないため、あまり気になっていません)

    これ、実は現状では仕様なのです。
    全部のメッセージをOn/Offするのではなく、いわゆる「通知レベル」のものだけ切替可能にしています。
    プラグイン実行結果のうち「success」はOffの際に表示させないというポリシーもありかもしれませんね。次回の対応を検討します。

    アップデート直後、あるいは少し上で教えていただいたAoEモジュールのインスト手順実行後に、PLUGINSを開くと、一番下と下から六番目にAoE CONFIGが表示されていて、一番下はOFFになっている。
    (一番下をONにし、下から六番目をOFFにして「OK」し、再度開くと表示は下から五番目に一つだけになった)
    (これも特に気になりません)

    これについては、もしかしたら/opt/plugins/attach /opt/plugins/detach の各シンボリックリンクが両方有効になっている可能性がありますので、ちょっと確認頂けると幸いです。
    @mgroovy さまの使い方だと/opt/plugins/detach 側に82-aoeというファイルがあるのがNGなため、

    cd /opt/plugins/detach
    rm 82-aoe
    

    で消して頂けると恐らく解消します。
    (申し訳ありませんが、当方開発環境ではAoEではなく、
    パッケージ作成時に当方環境を元に制作しているので、
    そのあたりで不都合起こることがあり得るのです)

    AoE CONFIGを開くも、dreq, recv の表示は以前と変わらず。

    申し訳ありません。AoEのバグ出し、Arch Linux側で実施して、
    動作確認後のソースコードをsmpd側に戻すことをすっかり忘れてビルドしてしまいました。
    差替版、アップさせていただきましたのでよろしくお願いいたします。

  • @sunatomo
    Thank you for the AoE Plugin enhancement. It works well. I have not reviewed the other changes in this version.
    One more suggestion, when you have time of course, is to do a line wrap when the information exceeds the available space. Please see the AoE Stats line in the screen cap below.
    73ab3d60-6bdf-41dc-b34f-780ea9cebe6a-image.png

    RaspPi4b x 2 / IanCanada Stack powered by LiFEPo4 & Ultracaps /
    Bisek Output Transformers

  • @sunatomo さん

    仕様の件、了解致しました。

    インストの手順ですが、以下のように実施したら二つ表示されることはなくなりました。

    stop ympd
    app remove webui-base
    app install webui-plus
    cd /opt/plugins/detach
    rm 82-aoe
    reboot
    

    それで上記の手順で実行した後、AoE CONFIGを開いくと、dreq, recv の設定してある値がちゃんと表示されるようになりました。
    これで問題無いと思います。
    どうもありがとうございました!

  • @Castle
    Please try this.
    This archive file contains fixed form.html of 82-aoe.
    I'd changed it only stylesheet setting with pre-tag (add white-space: pre-wrap; ).😬
    form.html.tar.gz

    How to install

    tar xvf form.html.tar.gz
    cp form.html /opt/plugins/82-aoe/
    

    という訳で、 @Castle さまから「AoEの情報表示欄で行のはみ出しがある」との指摘がありましたので、
    折り返し対応したものを取り急ぎ添付しました。
    (具体的にはプラグインのform.htmlのpreタグのスタイルシートに white-space:pre-wrap; を追加しただけです。)
    お試ししたい方は上記のリンクからダウンロードして入れ替えしてみてください。

    @mgroovy さま
    AoEプラグインの件、開発環境(兼当方常用)では「AoEプラグインはOff」にしている状態だったのでお手数おかけしました。

  • 他のWebサービスからカバーアートを取得する方法(その1)

    ここでは備忘録を兼ねて表記に関する調査状況について記載していきます。

    1. fanart.tvについて
      以前 @kens さまに教えていただいた「cantataではfanart.tvからアーティスト画像取得になった」件、ちょっと調べてみました。
      こちら の方法で可能なようですね。
      ただし、他の画像もそうなのですが、fanart.tvの場合は「文字列そのもので検索」ということが出来ず、IDを使用して情報を特定する必要があり、
      このためのIDについては「MusicBrainz」のものが使えるようです。

    ということは「文字列情報」→「musicbrainz.org」→「fanart.tv」とコールバックを2段階実装する必要があるようです。
    (もしくは、mpd内部にタグとしてmusicbrainzのIDを記録する必要があるかも)

    1. MusicBrainzについて
      こちらも調査最初の段階ですが、かなり色々情報引っ張ってこれそうですね。
      MusicBrainzのIDはアーティスト・アルバム・楽曲等様々な音楽情報を全てIDで管理します。
      とりあえず文字列からIDを検索する場合、
      search
      に対応させる必要があります。
      ただし、searchで精度の高い検索を行うにはパラメータを正確に入力する必要があります。
      searchで最低限必要と思われるパラメータは以下の3つです。
    • artist
      アーティストの名称を文字列で指定(エンコードはUTF-8)

    • type
      アーティストが個人名(person)なのか、グループ(group)ナノ化を指定します(指定に誤りがある場合、正しい結果が出力されなかった)

    • country
      アーティストの所属国を指定します。アメリカの場合はUS、日本の場合はJPになりますね。

    例えば日本のアーティストの例で「平沢進」を指定し、出力結果をjsonで返させる場合は以下のURLになります。

    http://musicbrainz.org/ws/2/artist/?query=artist:平沢進%20AND%20type:person%20AND%20country:JP&fmt=json
    

    artist, type, coutryはカンマ区切りでキーと値を入力し、その間に「 AND 」(半角スペース+AND+半角スペース)で各パラメータを繋ぎます。
    通常のURLパラメータであるqueryとfmtは"="区切りでキーと値を入力し、"&"で接続するのはフォームの場合と同じですね。

    この状態で得られる結果はユニークなアーティスト名ではないため(検索だから確立の高い順になる)、
    正しいと思われる値を検出して特定する処理が必要です。
    (場合によっては利用者に選ばせる処理が必要?)

    last.fm相当の機能だけではなく、cover-art-archiveまである模様。

  • @sunatomo
    The information is now being cutoff at the bottom after applying your form.html file.
    fea73aab-ad05-48bd-8529-7ff3f59e0913-image.png

    RaspPi4b x 2 / IanCanada Stack powered by LiFEPo4 & Ultracaps /
    Bisek Output Transformers

  • @Castle
    The last row "---" was footer string, to stop loading the message file function.
    (If you click the button whitch has any string result, load the ".aoe.out" file every 300msec until the file end with "---".)
    So, please ignore it.😀
    (I may respond with this issue ? if i motivated)

    AoEプラグインでのメッセージを伴うボタン操作時に最下行に表示される"---"については、
    プラグインの内部的にメッセージが全て受信出来た際のサインとしてのみ使っていますので、無視してください。
    実は、これを受信するまで300ミリ秒毎に".aoe.out"ファイルを読み込みし、更新する仕様で制作されています。

    (やる気が起きれば余計な"---"を消す対応するかもしれません。)

  • この投稿が削除されました!
  • @sunatomo 様

    Webui-plusのアップデート、ありがとうございます。どんどん使いやすくなっていきますね。感謝しております。

    2021-03-13 版のアップデートでインターネットラジオの曲名の表示に不具合があり、ご報告いたします。

    登録されているインターネットラジオ曲を複数、キューリスト(表現が間違っていたらゴメンナサイ)に追加し、キューリストの画面に切り替えて、再生ボタンを押すかラジオ局をクリックすると、選んだラジオ局が再生されるのですが、画面の上部に表示される現在再生中の曲名は、常にキューリストの1番の曲名が表示されてしまいます。

    2番目のラジオ曲、3番目ラジオ局をクリックしても、一瞬、選んだラジオ局の曲名が表示されかけますが、1番目の曲名表示に戻ってしまうようです。
    NASの音楽ファイルの再生では、不具合なく表示されています。

    急ぎませんので、何かのついでにでも修正いただければ幸いです。

  • @akibon3 さま
    ご報告ありがとうございます。
    普段ConsumeをOnにしていたため、全然気づきませんでした。
    よく考えたらそうですよね。
    トップ位置と異なるラジオでキューから楽曲探すとしたら、「ストリームURL文字列の一致」しか無いかもしれません。
    ちょっと検討してみます。