2023年6月17日土曜日

一行編集で音楽ファイルを検索

一行編集でmigemoが使えるなら、音楽ファイルを検索してプレイヤーに投げるのにも使えるんじゃないか、と思いついた。

準備

音楽ファイルパスを各行に記載した補完候補ファイルを予め作成しておく。D:\Data\Music以下にmp3とflac形式で保存しているなら、以下のコマンドで作成できる。

*whereis -mask1:"a:d+;.mp3;.flac" -path:"D:\Data\Music" -dir:on -subdir:on -listfile:%0data\musicpath -name

以下を編集して取込。

_Command	= {
musicsearch	= *ifmatch 0,0%*getcust(_User:musicplayer) %: *setcust _User:musicplayer=%*input("D:\bin\AIMP5\AIMP.exe" -title:"音楽プレイヤーのパスを入力してください" -mode:e)
	*string o,name=%*input("" -title:"musicplayer - %*getcust(_User:musicplayer)" -mode:e -k:"*completelist /set /file:%%0data\\musicpath -match:6  %%: *mapkey use,K_musicplayer")
	*ifmatch !0,0%so"name" %: *launch %*getcust(_User:musicplayer) %so"name"
}

-|K_musicplayer=

K_musicplayer = {
ENTER	,*ifmatch -1,%*sendmessage(%N-L,392,0,0) %: %K"@DOWN @ENTER" %: *stop
	%K"@ENTER"
^O	,%M_musicplayer,P
^P	,%M_musicplayer,!START/STOP
LEFT	,*ifmatch !-1,%*sendmessage(%N-L,392,0,0) %: *replace %*name(D,%*edittext) %: %K"@^\A" %: *stop
	%K"@LEFT"
}

-|M_musicplayer=

M_musicplayer	= {
Playerの変更	=*setcust _User:musicplayer=%{%*getcust(_User:musicplayer)%|%} %: *setcaption musicplayer - %*getcust(_User:musicplayer)
AIMP5	=*setcust _User:musicplayer=D:\bin\AIMP5\AIMP.exe %: *setcaption musicplayer - %*getcust(_User:musicplayer)
AIMP5に追加	=*setcust _User:musicplayer=D:\bin\AIMP5\AIMP.exe /INSERT %: *setcaption musicplayer - %*getcust(_User:musicplayer)
--	= 
START/STOP	=D:\bin\AIMP5\AIMP.exe /PLAYPAUSE
--	= 
SCAN	=*whereis -mask1:"a:d+;.mp3;.flac" -path:"D:\Data\Music" -dir:on -subdir:on -listfile:%0data\musicpath -name
}

実行

*musicsearchで一行編集が開く。migemoでインクリメンタルサーチをしてENTERで、音楽プレイヤーで再生できる。 一行編集上でのその他のキーバインドは以下。

  • [Ctrl+O] 設定メニュー
  • [Ctrl+P] START/STOP
  • [LEFT] リスト選択時に階層を一つ上へ

0 件のコメント:

コメントを投稿