ミュージック(旧iTunes)の曲の時間合計・2

今さらAppleScriptを覚える気にはなれない。‥‥まあ、そうですよね。私は20年以上AppleScriptを使い続けていますが、2020年の今なら、そう思います。

 

なので、JavaScript。

 

前回書いたAppleScriptによるスクリプトは、JavaScriptで同じことが記述できます。内容を翻訳できます。

 

実はAppleScriptのエディタは、言語を切り替えてJavaScriptでも書けるんです。

 

 

 

After Effectsのエクスプレッションや自動処理でおなじみの書式が通用します。

 

なので、Music.appの選択項目の合計時間を表示するスクリプトはJavaScriptとAutomatorで作ったほうが、今は実用性があるでしょうネ。

 

クイックアクション書類を作って保存すれば、ミュージックの「サービスメニュー」に自作のアクションがリストされます。

 

 

 

 

「JavaScriptを実行」を追加して、JavaScript文を書きます‥‥が、なんだこれは。

 

エディタ部分の配色がまっくらで読めませんネ。

 

なので、スクリプト文を以下に。ただ実行するだけなので、入力もパラメータも不要です。

 

function run() {

    

var app=Application("Music");

app.includeStandardAdditions=true;

var w=app.windows[0];

var td=0;

for(var i=0;i<w.selection().length;i++){

td=td+w.selection()[i].duration();

}

app.displayDialog((Math.floor(td/60))+"分"+(Math.round(td%60))+"秒");

return true;

}

 

 

曲の時間(duration)は秒単位(小数点付き)で扱うので、単純に足した後で読みやすいように整形すれば良いです。何のヒネりもないシンプルな内容なのは、前回と同じ‥‥というか、前回のAppleScriptの内容をJavaScriptに翻訳しただけなので、includeStandardAdditionsなどの独特な追加部分以外は、書き方の作法こそ違いますが内容は同じです。

 

for文とか、Math.floorやroundは、After Effectsのスクリプトでもおなじみですネ。

 

After Effectsでエクスプレッションやスクリプトを覚えておけば、ミュージックにも応用できる‥‥というわけです。

 

まあ、alertではなく、displayDialogだったりと、癖は多少ありますが、基本的な書式はいつものJavaScriptでOK。

 

制御について知りたい人は、英文だけどコレを読めば大体概要は掴めます。

 

OS X 10.10 Release Notes

https://developer.apple.com/library/archive/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/Articles/OSX10-10.html#//apple_ref/doc/uid/TP40014508-CH109-SW1

 

 

 

スクリプトやプログラムを覚えておけば、「性能としては存在するのに、表立った機能として存在しない」、コンピュータのポテンシャルを引き出せます。

 

曲のそれぞれの秒数を合計する‥‥なんて、コンピュータができないわけがない‥‥のに、機能として存在しなければ、分単位までしかユーザは情報を取得できません。

 

‥‥それとも、電卓で手作業で各曲の合計秒数を算出します?‥‥いやいや、そんな無駄な時間は人生がもったいない。

 

PhotoshopやAfter EffectsのJavaScriptに馴染んだら、他でも応用が効くようになりますから、まだスクリプトに着手していない人はチャレンジすることを強くお勧めします。

 

 



calendar

S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 
<< July 2020 >>

selected entries

categories

archives

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM