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

    @hiroget9 さま
    正解です。
    チェックボックスの複数値を指定する都合上、2進数で足し算が一番分かりやすいので...
    手動で変更する場合、16を加えないで下さい(先に説明したとおり、現行のプログラムではバグがあり(artist)-(album).jpgは(artist)、(album)が取得できないパターンの場合はおかしくなります。)

    @kkumax さま
    お疲れ様です。
    若干下世話な話ですが、皆さんのカバーアートを見せて頂ける機会がなかなかおもしろいです。😊

  • @sunatomoさん、こんな感じになりました!!!

    e8d4cda9-e924-4b7e-b370-cee7855983bb-image.png

  • @hiroget9 さま
    お疲れ様です。本筋とは関係ありませんが、日曜日の昼はFMラジオ聞いています?
    (アルバムを見て、とある番組思い出しました)

    さて、グリッドお試し頂いた方々、カバーサイズはもう少し小さくしてたくさん並べたい希望はありますか?
    (今の仕様ではキューモードのカバーアートサイズと揃えて170×170pxにしています。)

  • @sunatomo さん、あの番組ですね!
    たまに聞きますよ。

    カバーサイズは私的には、このサイズがちょうど良いのではないかと思います。

  • @sunatomo さま
    WebUI reloadで表示できました!!
    最高です。ありがとうございます。

  • @tomomy さま
    お疲れ様です。
    マイルストーンのところにも書きましたが、
    残念ながらリロードで設定が飛んでしまう部分がありますので修正をいたします。
    ご理解頂けると幸いです。

  • sunatomoさん

    NASからの読み込みを維持したまま「WebUI-Plus」のテストを実施いたしました。

    カバーアートのグリッド表示、快適です。

    Sample1.jpg

    当方は音源管理の都合上、NAS上のフォルダー構成を「アーチスト」、「アルバム」にて基本階層化しています。(アルバム名だけでは重複が起こるため)

    このため、まず最初にNASを開いた状態では、
    Sample2.jpg
    と何だか寂しい感じです、、、

    同様に、同じアーチスト、アルバムであっても、DSD音源、ハイレゾ音源(サンプルレートの違いによりここも重複有)、CDリッピング音源とありますので、ここもフォルダーを分ける管理をしています。

    このため現状の仕様では階層途中であっても各フォルダーに何らかの「Folder.jpg」画像を置いておく必要があるのかなと考えています。

  • @ゴンザエモン さま
    お疲れ様です。
    説明の欄にどうやって表現するかまだ決まらなかったので書いていませんでしたが、
    「アルバムアート以外」は仰る通りご自分で用意頂く必要があります。
    (楽曲のタグ情報でアルバムアートは補完出来る可能性があるが、それ以外はそもそもタグ情報がないため解決しようがない。
    また、アルバムアートもCoverFlgで取得するファイル名を指定してしまったら、last.fmのAPI経由で画像を持ってくることも出来ない)

    既にかなり規模の大きなライブラリをお持ちの方は大変だと思いますが、
    徐々に埋まっていく様を楽しんでいただければと。

  • この投稿が削除されました!
  • @Grigri さま
    下記のような構造でしょうか?

    /NAS
     |-アーティスト
        |-アルバム
          |-ディスク
    

    この場合、アーティスト毎のディレクトリにfolder.jpgを用意しないとNASの内部を見た瞬間に @ゴンザエモン さまの画面例のようにグリッド表示では「デフォルトのフォルダがズラッと表示」されます。
    それを避けたいということでしたら、アーティストの画像探しの旅が始まるわけです...

    アーチスト、アルバム、作曲者、出版年、ジャンルにて検索した場合、どのように集約されて、表示されるのでしょうか?

    SEARCHプラグインでの検索についてを想定して解答します(もし間違っていたら、訂正します)
    ・原則MPDで認識されている楽曲のタグをベースに検索します。
    ・検索にヒットした場合、従来のリストと同じ方法でその結果を表示します。

  • この投稿が削除されました!
  • @Grigri さま
    一つのアイデアですが、
    アーティストのフォルダ内に画像ファイルがない場合、
    その中のアルバムフォルダの先頭から画像ファイルを見せるという方法なら出来そうですね。
    (「画像がなければ探す」場合、タイムアウト検知をどうするかが難しそうですが)

  • sunatomoさん               CC.皆様

    ラズパイをNASとして使用するケースでもグリッドスタイルのカバーアート表示をテストしてみました。
    (環境はRaspbian Buster on Raspi 3B+)

    NASから直接カバーアートを取得するためのHTTPサーバーはシンプルなlighttpdを3B+上に立てました。

    lighttpdの設定は基本的にインストールのみで何も弄らず、以下のリンクだけ。
    sudo ln -s /USBHDD/NAS /var/www/html

    (音源フォルダーはUSB HDDに置いてある「NAS」というフォルダーです。USBHDDというのはマウントポイント)

    ラズパイNASからの直接カバーアートゲットもこれだけでOKです!(sambaのインストールと設定はもちろん別途必要ですが)

  • @ゴンザエモン さま
    お試しいただいたとおり、ここにおられる方なら古いRaspberryPiが余っている可能性があるので
    これを楽曲用NAS+カバーアート用HTTPサーバにすることは可能ですよね。
    Raspbbianならapt-get1本でパッケージもインストールできますし、かなり楽でしょう。


    さて、ここにぶら下げるのもちょっとトピック違いかもしれませんが、 週末の進捗について以下でご紹介します。
    1. 設定ファイルをympd起動時に読み込みし、プログラム内部に保存することにしました。
       これならば、Webブラウザで設定が消えてもympdに貰いに行けば復元できますし。
       (これに伴って設定ファイルの場所を/etcに変更させていただきます。
       新パッケージ配布時にはsystemdのserviceファイルで実行ファイル起動前に実行する
       シェルスクリプトで移動処理をしますので現在お使いの方もご安心を。)

    2. 1項に伴いまして、webui特有の設定をブラウザに渡す、ブラウザからympd側に渡すコマンド
       を整備しました。
       どのタイミングでympdからブラウザの設定を復元させるのが最適なのか、いま調整中です
       (キュー・ディレクトリの情報取得前に問い合わせる形にしていますが、毎度はやりすぎかなと)。

    3. キューについては最大表示500個が復活しました。
       また、ディレクトリをグリッド表示にした際キューの表示領域の下にグリッドの残骸が残って
       PREV/NEXTボタンが表示されなくなる恐れがあったので修正しています。
       さらに、キュー表示のアルバム展開でバグがありましたので修正しました。

    4. リスト表示とグリッド表示の最大表示数分離はちょっと検討中です。
       何が引っかかっているかというと、
       仮にグリッドの最大数を25に設定して、3ページ目を表示した状態でリストに戻ると、
       現行の仕様では51個目から550個目までリスト表示されるという形になります。
       これが嫌ならば、リストに戻った際に「ページのインデックス値は0にリセットさせる」方法になるかなぁと考えています。
       なお、今の所リストの最大表示数は500のまま変えない予定です。

  • 6月21日時点での進捗
    安定性確認のため、パッケージ提供は申し訳ありませんが6月27・28日を予定しています。
    ご了承下さい。

    1. グリッドとリストでの最大表示数変更について
      リストは500件に戻すことにしました(グリッドは webui.cfg の MAX_ELEMENTS_PER_PAGE になります。)
      リスト→グリッド変換時、グリッド→リスト変換時は現在のページ表示位置インデックス値(pagination変数)に基づき、表示位置を補正します。
      例えば、グリッドの最大表示数を25とし、現在表示中のページが3ページ目の場合、
      paginationは50と入っているためこれをリストの最大表示数500で割るとリストでの表示ページは商の0となります。
      なお、リストの場合のみ「スクロール領域での現在位置からリスト内アイテムの現在位置」を算出するというアルゴリズムを追加しています。
      上手く行けば、「145行目/500アイテムだからグリッドでは6ページ目」のようにリストの表示中ページを考慮したグリッドへの反映が出来そうです。
  • フォルダでの画像ファイルについて(①項の補足)

    グリッド表示にした場合、どうしてもデフォルトのフォルダ表示になってしまい画像が表示されない場合があります。
    これは皆さん「アルバムフォルダ内には当該アルバムのカバーアートを格納する」が、「それ以外のフォルダには画像を格納してない」ためです。

    具体例を挙げます。
    例えばNAS内部のディレクトリ構成が以下の通りであった場合を想定します(既に本スレッドで説明していますが)

    /NAS/
      |-各アーティスト名①
        |-アルバム名②
    

    上記の構成の場合、②には皆さんカバーアート画像を保存していますが、①には普通は画像は保存していないはずです。

    WebUIではRaspberryPi上の実行プログラムが持つ組込Webサーバの機能で楽曲フォルダ(/var/lib/mpd/music以下)の各ファイルをその部品として使います。
    ①の場所に画像をパーツとして保存していない場合、ympdの規定のアイコンが表示されるというわけです。
    (上記の唯一の例外が、カバーアートの場所として別のWebサーバーを指定した場合です。)

    私の環境ではライブラリの規模がそんなに大きくないため(総楽曲数6800曲程度)、①のアーティストはほぼ全部画像を入れ終わりました。
    グリッドをメインに使いたい、グリッドで規定の画像は表示したくない場合は各フォルダ内に画像を蓄積してみて下さい。
    (なお、画像名称はcoverFlgで指定した名前のうち、last.fmと(artist) - (album).jpgのパターンを除いたものである必要があります)。

  • ③「キュー・ディレクトリ表示最大数の制限」

    本項については現行のwebui-plusの仕様について記載していますが、次期公開バージョンでは仕様を変更します(20・21日記載の通り、キュー・リストは最大500アイテム、グリッドのみ当該設定値で制限)。

    ②項の「カバーアート取得方法のユーザ制御」は実装しましたが、
    それでもグリッド表示で1ページに従来のリストと同じ500アイテムを表示させるのは正直重いという印象でした
    (正確には潤沢なCPU資源があるPCの場合はこなせますが、当方所持のipad上では操作感にもたつきを感じるレベルだった)。

    という訳で、次に思い立ったのは「1ページでの表示数を制限する」ということでした。
    WebUIで動作するjavascriptではMAX_ELEMENTS_PER_PAGEという変数で1ページあたりの
    最大要素数(500アイテム)を規定しており、これを少なくすることでやりたいことは達成出来ることは想定できました。
    ただし、RaspberryPi内部でも同じ目的の変数があり、両方共に同じ値でなければ動作不良となるため、
    webuiプラグインで当該値を設定した際に利用者のブラウザからRaspberryPiに当該値を伝送するという方法で対応しています。
    (結局、このやり方だとwebuiを何らかの理由で再読込した際はブラウザ側の設定が消えるため、
    逆にRaspberryPiからブラウザへ当該値を伝送する仕組みも必要と判断しています。)

  • SUNATOMO様

    何時もお世話になっています。
     SMPDがV1.04になってから、Web UIが表示されなくなりました。
     V1.03までは、sshでログインして、このページにあるようにインストール
     をすれば表示されていましたが、V1.04では同じようにしても表示されません。
     よろしくお願いします。

  • @kn929658 さま
    すいません。
    ネットはつながるのですが出先のため対応は25日以降になります(ちなみに昨日v1.04のイメージはダウンロード済ですが、まだインストールしていません)。
    少々お待ちください。
    ちなみにwebui-baseへは戻す事ができ、そちらは使えてますか?

  • @kn929658 さん

    以下のコマンドでどのように表示されますでしょうか。

    app list|tail
    

    以下のコマンドでもう一度インストールしてみてください。

    stop ympd.socket
    stop ympd
    app remove webui-base
    app install webui-plus