2022年06月

mpv で再生する方法(Ubuntu Studio 22.04 LTS)

mpv で動画再生する基本的な方法(Ubuntu Studio 22.04 LTS)



基本的な再生方法

mpv は、基本的にコマンドで再生することになる
  • フルパスで
$ mpv /home/ユーザー/movies/aaa.mp4
  • ファイルがユーザーフォルダの中にある場合は、~ を使って
$ mpv ~/movies/aaa.mp4
  • フォルダ内のビデオを再生
$ mpv ~/movies
※「 movies 」フォルダ内のビデオファイルが順番に再生される(フォルダから再生する時は、ファイル名の先頭が日本語文字のファイルから再生が開始され、その後に先頭が英数字のファイルが再生されるようだ)
  • Windows でファイル名やフォルダ名に空白を入れていて、そのファイルやフォルダをそのまま Linux に持ってきた場合は、空白が入っている名前を「 " 」(ダブルクォーテーション)で括る必要がある
  • ターミナルでパスを記述する部分に、ファイルやフォルダをドラッグ&ドロップしてもよい
mpv_08
  • 再生が始まると、ファイルに Artist や Comment などのタグがある場合、ターミナルに表示される
  • GUI で mpv Media Player を起動し、ウィンドウ内にファイルやフォルダをドラッグ&ドロップしても再生出来る


プレイリストによる再生

  • テキストファイルに、再生したいファイルのパスをフルパスで、1行に1ファイルずつ記述する
  • ビデオファイルを右クリックして「場所をコピーする」をクリックすると、ファイルのパスがコピー出来るので、それをテキストファイルに貼り付けて改行、を繰り返せば良い
  • ファイル名やフォルダ名の中に空白があっても、何故かプレイリスト上では「 " 」(ダブルクォーテーション)で括る必要が無い
  • 以下のようなオプションをつけて、フルパスでプレイリストを指定する
$ mpv --playlist=/home/ユーザー/movies/AAA.txt
  • GUI の mpv Media Player にプレイリストをドラッグ&ドロップしても再生出来ない


シェルスクリプトで再生

  • テキストファイルに、例えば以下のように記述する
#!/bin/bash
mpv --playlist=/home/ユーザー/movies/AAA.txt --autofit=1000
  • 「 #!/bin/bash 」は、シェルスクリプトで必ず最初に記述するものと覚えておけばよいと思う
  • 2行目は、上述のようなビデオを再生するコマンドを書く
  • 「 --autofit=1000 」は、ビデオの再生サイズを横幅 1000 pixel にするオプションで、例えばSD ビデオを再生して画面が小さいと思う時などに、このオプションで再生サイズを指定できるので、SD ビデオばかりのプレイリストやフォルダの再生時に活用出来る
  • このファイルを、例えば「 bbb.sh 」という名前で保存する
  • 拡張子は「.sh 」でなくても構わないかもしれないが、「 .sh 」にしておいがほうがファイルマネージャなどによってシェルスクリプトとして認識されるので無難かも
  • bbb.sh のプロパティを開き、「パーミッション」タブの「アクセス許可」欄の下の方にある、「実行可能」のチェックボックスをチェックし、「 OK 」を押す
  • これで、bbb.sh をダブルクリックすれば、記述したコマンドが実行される
mpv_09

  • こうして作成したシェルスクリプトファイルをフォルダにまとめて入れておく
  • そのフォルダをデスクトップへドラッグする
mpv_10
  • デスクトップでフォルダをドロップすると、メニューが表示されるので、「ここにリンク」をクリックする
mpv_11
  • デスクトップにフォルダのシンボリックリンクが作成される
  • 作成されたシンボリックリンクにマウスポインタを置くと、上向きの矢印が表示される
mpv_12
  • 矢印をクリックすると、リンク元のフォルダの内容が表示される
mpv_13
  • 表示されたシェルスクリプトをダブルクリックすれば、そこに記述されたビデオファイルの再生コマンドが実行される
  • こうして、デスクトップのシンボリックリンクからプレイリストやフォルダ内のビデオファイルの再生が簡単に出来るようになる


マウス操作

  • mpv.io のマニュアルから抜粋( https://mpv.io/manual/stable/#mouse-control )
Left double click
Toggle fullscreen on/off.

Right click
Toggle pause on/off.

Forward/Back button
Skip to next/previous entry in playlist.

Wheel up/down
Seek forward/backward 10 seconds.

Wheel left/right
Decrease/increase volume.



キーボード操作

  • mpv.io のマニュアルから一部抜粋・整理( https://mpv.io/manual/stable/#keyboard-control )
動画の再生に関するもの

p / SPACE
Pause (pressing again unpauses).

q
Stop playing and quit.

Q
Like q, but store the current playback position. Playing the same file later will resume at the old playback position if possible.

[ and ]
Decrease/increase current playback speed by 10%.

{ and }
Halve/double current playback speed.

BACKSPACE
Reset playback speed to normal.

d
Activate/deactivate deinterlacer.

A
Cycle aspect ratio override.

Ctrl h
Toggle hardware video decoding on/off.


再生位置の前後移動に関するもの

. (ピリオド)
Step forward. Pressing once will pause, every consecutive press will play one frame and then go into pause mode again.

, (カンマ)
Step backward. Pressing once will pause, every consecutive press will play one frame in reverse and then go into pause mode again.

LEFT and RIGHT
Seek backward/forward 5 seconds. Shift+arrow does a 1 second exact seek (see --hr-seek).

UP and DOWN
Seek forward/backward 1 minute. Shift+arrow does a 5 second exact seek (see --hr-seek).

PGUP and PGDWN
Seek to the beginning of the previous/next chapter. In most cases, "previous" will actually go to the beginning of the current chapter; see --chapter-seek-threshold.

Shift+PGUP and Shift+PGDWN
Seek backward or forward by 10 minutes. (This used to be mapped to PGUP/PGDWN without Shift.)


ループ再生に関するもの

l
Set/clear A-B loop points. See ab-loop command for details.

L
Toggle infinite looping.


キーボードのマルチメディアキーに関するもの

(The following keys are valid if you have a keyboard with multimedia keys.)

PAUSE
Pause.

STOP
Stop playing and quit.

PREVIOUS and NEXT
Seek backward/forward 1 minute.


プレイリストに関するもの(※フォルダの再生時も使える)

< and >
Go backward/forward in the playlist.

ENTER
Go forward in the playlist.


音量に関するもの

/ and *
Decrease/increase volume.

9 and 0
Decrease/increase volume.

m
Mute sound.


ウィンドウの配置、画面の大きさに関するもの

T
Toggle stay-on-top (see also --ontop).

f
Toggle fullscreen (see also --fs).

ESC
Exit fullscreen mode.

Alt + and Alt -
Combining Alt with the + or - keys changes video zoom.

Alt+BACKSPACE
Reset the pan/zoom settings.

(The following keys are valid only when using a video output that supports the corresponding adjustment.)

Alt+0 (and command+0 on macOS)
Resize video window to half its original size.

Alt+1 (and command+1 on macOS)
Resize video window to its original size.

Alt+2 (and command+2 on macOS)
Resize video window to double its original size.

command + f (macOS only)
Toggle fullscreen (see also --fs).


画質調整に関するもの

(The following keys are valid only when using a video output that supports the corresponding adjustment.)

1 and 2
Adjust contrast.

3 and 4
Adjust brightness.

5 and 6
Adjust gamma.

7 and 8
Adjust saturation.


画面上の表示に関するもの

del
Cycle OSC visibility between never / auto (mouse-move) / always

o (also P)
Show progression bar, elapsed time and total duration on the OSD.

O
Toggle OSD states between normal and playback time/duration.

F8
Show the playlist and the current position in it (useful only if a UI window is used, broken on the terminal).

F9
Show the list of audio and subtitle streams (useful only if a UI window is used, broken on the terminal).

i and I
Show/toggle an overlay displaying statistics about the currently playing file such as codec, framerate, number of dropped frames and so on. See STATS for more information.

v
Toggle subtitle visibility.

Shift+g and Shift+f
Adjust subtitle font size by +/- 10%.

r and R
Move subtitles up/down. The t key does the same as R currently, but use is discouraged.


スクリーンショットに関するもの

s
Take a screenshot.

S
Take a screenshot, without subtitles. (Whether this works depends on VO driver support.)

Ctrl s
Take a screenshot, as the window shows it (with subtitles, OSD, and scaled video).

※スクショの保存先は基本的にはユーザーディレクトリ( ~/ )になるようだが、上記のシェルスクリプトをまとめたフォルダからスクリプトを実行した場合は、スクリプトのあるフォルダに保存される



mpv と Celluloid で Jack 出力(Ubuntu Studio 22.04 LTS)

mpv と Celluloid で Jack 出力(Ubuntu Studio 22.04 LTS)



1.mpv と Celluloid のインストール
  • Ubuntu Studio にはデフォルトのメディアプレーヤーとして VLC がインストールされている
  • VLC は個人的に好きになれないので、SMPlayer を使用してみたが、フリーズしてシステムを再起動せざるを得なかったことがあったので使用をやめた
  • mpv とそのフロントエンドである Celluloid を使用したところ、良い感触を得た

mpv_01
  • mpv と Celluloid は、Discover で簡単にインストールできる

mpv_02
  • mpv の設定ファイルは、/etc/mpv/mpv.conf が基本的な設定ファイルで、~/.config/mpv/mpv.conf がユーザーによる設定ファイルとなるが、インストール直後は、上図のような状況
  • /etc/mpv/mpv.conf を見ると、以下の1行だけ
hwdec=vaapi
  • ~/.config/mpv/mpv.conf は、必要に応じて自分で作成することになる
  • vaapi はインテルの GPU に関するものなので、このままの設定では、内蔵 GPU の無い当方の PC でハードウェアデコードは出来ない
  • 15 年ほど前の非力な CPU でも何とか Full HD の再生が出来たが、CPU 使用率が全体で 70 〜 90 % くらいになる( Windows で使用していた時はビデオカードの再生支援が必須だった)
$ mpv /home/*******/ビデオ/*********.mp4
 (+) Video --vid=1 (*) (h264 1920x1080 29.970fps)
 (+) Audio --aid=1 (*) (aac 2ch 48000Hz)
Cannot load libcuda.so.1
[ffmpeg/video] h264: No support for codec h264 profile 77.
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 1920x1080 yuv420p
  • 「 Cannot load libcuda.so.1 」は、NVIDIA のドライバーがインストールされていないためと思われた
$ lsmod|grep nouveau
nouveau              2269184  29
mxm_wmi                16384  1 nouveau
i2c_algo_bit           16384  1 nouveau
drm_ttm_helper         16384  1 nouveau
ttm                    81920  2 drm_ttm_helper,nouveau
drm_kms_helper        307200  1 nouveau
drm                   606208  14 drm_kms_helper,drm_ttm_helper,ttm,nouveau
video                  53248  1 nouveau
wmi                    32768  2 mxm_wmi,nouveau
  • nouveau が動いている
  • ドライバーインストールは以下を参考にした( 手動で nouveau を無効化する必要がないので簡単)
medium.com NVIDIA JAPAN の技術ブログ:NVIDIA Docker って今どうなってるの? (20.09 版)
https://medium.com/nvidiajapan/nvidia-docker-%E3%81%A3%E3%81%A6%E4%BB%8A%E3%81%A9%E3%81%86%E3%81%AA%E3%81%A3%E3%81%A6%E3%82%8B%E3%81%AE-20-09-%E7%89%88-558fae883f44
  • ドライバーのインストール状態を見る
$ nvidia-smi

mpv_06
  • NVIDIA のドライバーインストール後、何故かウィンドウやメニューなどのフォントが大きく表示されるようになった
  • 試してはいないが、NVIDIA の Linux 向けドライバーは一部オープンソースになったようで、Ubuntu の標準的なリポジトリからもインストール出来るようになったかもしれない?


2.~/.config/mpv/mpv.conf の作成

  • ~/.config/mpv に、mpv.conf 名のテキストファイルを作成
  • 内容を以下のようにした
vo=gpu
hwdec=nvdec
ao=jack
profile=gpu-hq
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
video-sync=display-resample
interpolation
tscale=oversample
  • 最初の3行は、NVIDIA の GPU による再生支援と、音声の JACK 出力
  • 4行目以降は、品質向上に関するもので、以下を参照した
archlinux : mpv
https://wiki.archlinux.org/title/Mpv
  • profile については、以下のオプションで調べられる
--profile=help
--show-profile=<name>
  • gpu-hq という profile の内容は以下のようになっている
$ mpv --show-profile=gpu-hq
Profile gpu-hq: 
 scale=spline36
 cscale=spline36
 dscale=mitchell
 dither-depth=auto
 correct-downscaling=yes
 linear-downscaling=yes
 sigmoid-upscaling=yes
 deband=yes
  • その他、以下の情報を参考にした
mpv.io の Manual Pages > Online for the latest stable release
https://mpv.io/manual/stable/
  • mpv で再生してみる
$ mpv /home/*******/ビデオ/*********.mp4
 (+) Video --vid=1 (*) (h264 1920x1080 29.970fps)
 (+) Audio --aid=1 (*) (aac 2ch 48000Hz)
Using hardware decoding (nvdec).
AO: [jack] 192000Hz stereo 2ch floatp
VO: [gpu] 1920x1080 cuda[nv12]
  • GPU の再生支援と、JACK への出力が可能となり、CPU 使用率も全体で、ほぼ 40 % 以下に収まるようになった


3.Celluloid の設定
  • Celluloid の設定ダイアログを開き、「 Config Files 」タブで「 MPV 設定ファイルをロードする」にチェック、「MPV 設定ファイル:」のところで、~/.config/mpv/mpv.conf を指定する
mpv_03
  • 以下は、Celluloid で再生中の、QjackCtl のグラフ。PulseAudio を通さずに出力されている
mpv_04



4.MPC-BE( madVR )との比較

mpv_05
  • 静止画を 720p の動画にして、Windows PC の MPC-BE( madVR )と Celluloid とで、再生品質を比較してみた
  • 720p を 200 % 拡大再生し、スクショしたものの一部を比較
  • 最上段は、MPC-BE で、 madVR の 設定が、
    • chroma upscaling … NGU Sharp very high
    • image upscaling … NGU Sharp very high
    • dithering … Error Diffusion - option 1
  • 2段目は、MPC-BE で、 madVR の 設定が、
    • chroma upscaling … NGU Soft low
    • image upscaling … NGU Soft low
    • dithering … Ordered Dithering
  • 3段目は、Celluloid で、上記のように、~/.config/mpv/mpv.conf の設定をしたもの
  • 最下段は、Celluloid のデフォルトの状態で再生したもの
  • 最上段が最もシャープに見えるが、負荷が高いので、当方の PC では常用は困難
  • 2段目と3段目は、わずかに2段目の方が上かと見えるが、いい勝負だと思われる
  • Celluloid ( mpv )は、比較せずに普通に動画鑑賞する分には、コントラストも比較的高く見栄えがする、まずまずの画質だと個人的には思う
以上


追記
  • 以上の設定で当初は問題なく動作しているように見えたが、その後、Celluloid で再生すると、Jack が XRUN を吐き出すようになった
  • QjackCtl の設定で、フレーム/ピリオドやピリオド/バッファーの設定値を変更して試行し、レイテンシーを大きくする形にしていくと、やや改善する傾向が見られたが、完全に XRUN を無くすことは出来ないように思われた
  • そこで、mpv の音声デバイスの設定を、alsa の Jack 用出力モジュールを利用するようにしたところ、XRUN は発生しなくなった
mpv_07
  • その設定変更に伴い、今度は映像が若干カクつくようになったので、~/.config/mpv/mpv.conf の映像と音声の同期やスムーズモーションに関係するオプションを削除した
  • 更に、音声ボリュームのコントロールが上手く出来ず、Pause や動画ファイルの切り替えの時にブーというノイズが出る
  • ターミナルで、mpv による再生をすると同じ症状で、以下のようなメッセージが出ていた
[ao/alsa] Unable to set buffer time near: Invalid argument
  • そのため、~/.config/mpv/mpv.conf にバッファに関するオプションを追加したところ、上記のメッセージは出なくなり、Celluloid でも mpv でも、音声のコントロールが問題なく出来るようになった。ただし、Pause の時などにノイズが出る症状は改善できなかった
  • ~/.config/mpv/mpv.conf の内容は、結果的に以下のようになった
vo=gpu
hwdec=nvdec
audio-device=alsa/jackplug
profile=gpu-hq
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
alsa-buffer-time=200
  • なお、alsa の Jack 用出力モジュールの利用については、上記の記述だけでは使えないので、また機会を見て投稿したい

再追記
  • XRUN の問題は、Celluloid の使用時のみで、mpv をコマンドで起動したり、GUI で mpv Media Player を使用する時は発生しない
  • そのため、Celluloid を使わずに mpv で再生する場合は、~/.config/mpv/mpv.conf の内容は、基本的に当初の内容に戻して良いのだが、少々気になる部分があるので、幾らか追加して以下のようにした
vo=gpu
hwdec=nvdec
ao=jack
profile=gpu-hq
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
video-sync=display-resample
interpolation
tscale=oversample
volume=65
window-maximized=no
window-scale=0.5
  • 「 volume=65 」は、mpv で再生すると、いつもデフォルトで設定されている音量で再生が始まり、私の環境では音が大きすぎるので、0 〜 100 の間で適当に設定したもの
  • 「 window-maximized=no 」は、デフォルトではウィンドウが最大化状態で再生されるので、非最大化に設定したもの
  • なお、mpv はデフォルトで、ビデオの再生サイズがモニター画面の 67.5 % 程度になるように設定されているようで、再生してウィンドウの最大化を解除しても、必ずしも本来のビデオサイズにはならないし、1080p の動画も 720p の動画も同じ大きさとなり、個人的には違和感がある
  • そこで、「 window-scale=0.5 」の設定となるのだが、mpv.io のマニュアルページには、以下のような記述がある
--window-scale=<factor>
Resize the video window to a multiple (or fraction) of the video size. This option is applied before --autofit and other options are applied (so they override this option).

For example, --window-scale=0.5 would show the window at half the video size.
  • この記述によると、0.5 という値でビデオサイズの半分になるとのことだが、何故か私の環境では、0.5 で実際のビデオサイズとなり、1 にすると「 window-maximized=no 」の設定が無効になり、再生時ウィンドウ最大化&最大化解除時モニター画面の約 67.5 % というデフォルトの状態になってしまう
  • 私の環境では、「 window-scale= 」の値 x は、x = 0.25 でビデオサイズの半分、x = 0.5 でビデオサイズと同等、0.5 < x < 1.0  でビデオサイズより大きくなるので、上記のように、0.5 という設定にした
  • なお、Celluloid では、「 window-scale=0.5 」で、マニュアルの通り、ビデオサイズの半分となるが、そもそも Celluloid では普通に本来のビデオサイズで再生されるので、「 window-scale= 」の設定は不要である
  • こうして mpv を使ってみると、Celluloid でなくとも良いかという感じもする


Spectacle でスクショ( Ubuntu Studio 22.04 )

Spectacle でスクショをとる( Ubuntu Studio 22.04 )



spectacle_01
デフォルトでインストールされている、Spectacle でマウスポインタ入りのスクショをとりたい


  • Spectacle の設定で、ショートカットキーを確認する
spectacle_02
  • 大雑把に言えば、Meta キーは Windows キーで、Print キーは PrtScn キーのことと思えばよい
  • キャプチャのショートカットキーは変更出来るが、ここでは「グローバル代替」の方に別のキーを設定した


spectacle_03
  • オプションで「マウスポインターを含める」をチェックしていても、何故かショートカットキー( Meta + Print または Shift + Print )でのキャプチャでは、マウスポインターは入らない
  • Spectacle のウィンドウで「マウスポインターを含める」をチェックして、「新しいスクリーンショットを撮影」をクリックするとマウスポインターは基本的に入るが、クリックした位置に入るので、自由が利かない


マウスポインターを適切にキャプチャ画像に入れるには、以下のようにする

spectacle_04
  1. 設定>一般…で、「 When launching Spectacle: 」の値が、「 Take full screen screenshot 」となっていることを確認(デフォルトで、そうなっている)、Spectacle を閉じる
  2. マウスポインターを意図する位置に置き、
  3. ショートカットキー(デフォルトで Print キー)で、Spectacle を起動すると、
  4. Spectacle が起動すると共に、マウスポインターが入ったキャプチャ画像(デスクトップ全体)が得られるので保存して、画像処理ソフトで適当に編集する(簡単な回転・サイズ変更・切り抜きくらいなら、画像ビューアの Gwenview でも出来る)
  5. 冒頭の画像は、そうしてキャプチャした画像の一部


以上、マウスポインターを適切に入れるにはデスクトップ全体を撮らなければならないので、切り抜きなどが面倒だが、スクショ自体は Print キーで撮って保存するだけなので、比較的単純である

マウスポインタ入りのスクショをとる(Win11)

マウスポインタ入りスクリーンショットをとる


  • フリーソフトの、WinShot を使う
  • C:\Users\(ユーザーフォルダ)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup に、WinShot.exe のショートカットを入れておけば、システム起動時に自動でプログラムが起動する
  • アクティブウィンドウ:Ctrl + Shift + F3
  • デスクトップ:Ctrl + Shift + F4
  • 矩形範囲指定:Ctrl + Alt + F3
winshot_01
  • 上記のデフォルトのホットキー(変更可能)でキャプチャ、プレビューウィンドウが表示されるので、そのウィンドウで保存などの処理をする
  • マウスポインタをキャプチャ画面に入れるには、ホットキー(矩形範囲指定以外)でキャプチャする
  • 環境設定ウィンドウ(上図)は、何故かホットキーでキャプチャ出来ないが、タスクトレイアイコン右クリック>プレビュー表示>… ではキャプチャ出来る。ただし、デフォルトの状態ではマウスポインタは入れられないので、時間差キャプチャを環境設定で有効にし、タスクトレイアイコンからのプレビュー表示コマンド実行からキャプチャまでの時間差の間に、マウスポインタをキャプチャする画面内に置くようにすれば良い
winshot_02

  • 時間差キャプチャは、タスクトレイアイコン右クリック>クイック設定>…から、有効・無効を切り替えることも出来る
  • Windows11 のスクショ機能よりも、こちらの方がいいかもしれない

foobar2000 で、作詞者を表示する

foobar2000 の FLAC で、作詞者を表示する


  • FLAC のタグは、VorbisComment であって、ID3 ではない>参照:VorbisComment( https://wiki.xiph.org/VorbisComment )
  • VorbisComment の標準的な field name には、作詞者を表示するものはない>参照:Ogg Vorbis I format specification: comment field and header specification( https://xiph.org/vorbis/doc/v-comment.html )
  • field name の拡張に関する提案には、LYRICIST という field name がある>参照:Ogg Vorbis Comment Field Recommendations( https://age.hobba.nl/audio/mirroredpages/ogg-tagging.html )
  • Mp3tag では、VorbisComment のタグ編集も出来るが、タグ編集で LYRICIST というフィールドを追加できる
  • 以上の事情を鑑みて、非公式ながら、LYRICIST というフィールドを、foobar2000 で FLAC ファイルに追加し、foobar2000 で作詞者名を表示する


1.foobar2000 で、FLAC ファイルを右クリック> Properties をクリック> Properties のウィンドウで +add new をクリック

LYEICIST_01


2.input field name の欄に、LYRICIST と入力

LYRICIST_02


3.右側の Value 欄に作詞者名を入力(ここでは便宜的に aaa とした)

LYRICIST_03


4.適用ボタンを押すと、LYRICIST というフィールドが作成される
※ Value 欄が空欄のままだとフィールドは作成されない
※同じ作詞者の複数ファイルをまとめて選択してフィールドを追加することも出来る

LYRICIST_04


5.Columns UI のデフォルトの UI extension である Item properties パネルで、右クリック> Options をクリック>開いたウィンドウで New ボタンをクリック> <enter name here> に Lyricist と入力(※作詞者としてもよい)

LYRICIST_05


6.その右側の Field 欄をクリックして、LYRICIST と入力し(※タグのフィールド名を入力するところなので、LYRICIST でなければならない)、Enter キーを押す

LYRICIST_06



7.Move up ボタンで、表示の順番を上の方へ上げ(※ここでは Composer の下にした)、OK ボタンを押して、ウィンドウを閉じる

LYRICIST_07



8.先ほど LYRICIST フィールドを追加した FLAC ファイルを再生すると、Item properties パネルに、LYRICIST の情報が表示された

LYRICIST_08


以上

ギャラリー
  • 波形の違いと若干の感想
  • foobar2000 Columns UI の Playlist view を CD ボックスセットに対応させる
  • foobar2000 Columns UI の Playlist view を CD ボックスセットに対応させる
  • foobar2000 Columns UI の Playlist view を CD ボックスセットに対応させる
  • foobar2000 Columns UI の Playlist view を CD ボックスセットに対応させる
  • foobar2000 Columns UI の Playlist view を CD ボックスセットに対応させる
  • foobar2000 Columns UI の Playlist view を CD ボックスセットに対応させる
  • foobar2000 Columns UI の Playlist view を CD ボックスセットに対応させる
  • Noto Serif JP の「岸」の問題