Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

カテゴリー: news

macOS 12 beta5でAppleScript処理系の大幅なスピードアップ。M1もIntelも

Posted on 8月 18, 2021 by Takaaki Naganoya

以前から本Blogでは、M1 Mac+macOS 11上でAppleScriptの実行、とくにCocoaの機能呼び出しが10〜77倍遅くなるという件についてレポートしてきました。

–> macOS 11, AppleScriptをFirestormではなくIcestormで実行か?!

CPUの乗り換え直後ということもあり、淡々とAppleにバグレポートしつつ、周囲には「まだM1に手を出すべきではない」と話していたものが、最新のmacOS 12 beta 5においてどの程度変わったのでしょうか?

2つのスピード低下問題

AppleScriptのコミュニティ的には「macOS 10.15をインストールするとCocoa Scriptingが遅くなる問題」(Intel Mac)があり、そのうえに「M1でAppleScriptの実行+Cocoa Scriptingが遅くなる問題」の2つの問題を抱えていました。

macOS 10.15以降の速度低下問題は、自分がmacOS 10.15を「ダメ環境」としてパスし、M1 Macの導入にともないOSバージョンを1つ飛ばしてmacOS 11に移行したときにはじめて認識しました。

Mac App Storeに出している、AppleScriptで組んだアプリケーションの数々が、さぞやM1 Mac上で処理速度が向上して、より快適に使えるに違いない……と、ルンルンで箱を開けてテストをしだして、「遅い!! MacBook Pro Retina 2012より遅いとはどういうこと?!」と、落胆の表情に変わるまで1日も必要ありませんでした。

とくに期待していた時間のかかる大規模データ処理が、MacBook Pro Retina 2012の10倍以上遅いという結果に言葉を失い、Appleにこれを「バグレポート」としてレポートすることになったのです。

メール.appの起動やSafariの操作など、日常的な操作の範囲では噂どおりの処理性能を発揮していたのに、AppleScriptの処理だけ遅いというのは、これはもう明らかに「異常事態」です。

ベンチマーク比較対象

身の回りにあるMacをかき集めて調べてみました。現用機でこのベンチマークに参加していないのは奥方様のMacBook Air 2015ぐらいです。

今回、青い色で指し示しているmacOS 12 beta 5環境が注目点です。M1 Mac miniおよびIntel Mac mini 2014にmacOS 12 beta 5をインストールし、速度の変化を検証しました。

結論から言うと、macOS 12 beta 5ではM1 MacでmacOS 11.xの30倍、Intel Macで10倍ぐらいCocoa Scriptingの実行が高速になっています。

これは、冒頭で説明した(1)macOS 10.15で発生した何らかの内部的なミス (2)M1 Mac上でAppleScriptの処理系が明らかにIcestorm(電力効率のよいローパワーCPUコア)で処理されてしまっていたこと の2つの問題が解消されたため、と推測しています。

これらの組み合わせによって、Intel MacでもM1 Macでも処理速度が大幅に向上した、という「現象」のみが確認できているだけです。

ベンチマーク1:Permutation

DNAの塩基配列「T」「C」「G」「A」のすべての順列組み合わせパターンを計算する計算(Permutation)です。桁数が多くなるとデータ量と計算量が膨大に増えるのと、Cocoa Scripting導入の有用性を示す演算内容(Vanilla AppleScriptより桁違いに高速)でもあるため、4〜8桁のPermutationを採用しました。以下、グラフ内の横軸の単位はすべて「秒」です。

Machine 4が前の開発環境(MacBook Pro Retina 2012)で、これを基準に「速い」「遅い」という比較を行っています。

アップデート前のM1 Mac mini+macOS 11の環境はMachine 4よりもはるかに遅くて「使っていられない」状態でしたが、アップデート後の環境(Machine 1’)ではMachine 4の2倍強、アップデート前からは平均で27倍の速度向上を実現。

Intel MacでもmacOS 11から12への移行で11〜21倍程度、高速化しています。

ベンチマーク2:乱数配列の生成とソーティング

M1+macOS 11の環境では「要素数の多い配列の操作」と「乱数の生成」(AppleScriptのrandom number)がとくに遅いという傾向が出ていたので、10万要素、20万要素、30万要素の配列でベンチマークを行いました。ただし、本ベンチマークでは乱数の生成を最速の方法で計算しているため、M1 Macで1.3倍速、Intel Macでも同程度の速度向上になっています。とくに、要素数が少ないほど速度向上の割合が増えており、これは歓迎できる傾向です。

ベンチマーク3:AppleScriptのrandom number関数を用いた乱数配列の生成とソーティング

AppleScriptのrandom number関数を用いて1〜99999999の範囲の乱数を1万回生成して配列に追加するベンチマークです。初回実施時にはこれでM1 Mac mini+macOS 11の環境が、MacBook Air 2011+macOS 10.13の5倍の処理時間がかかるという衝撃の数値が出た内容です。

macOS 11から12 beta 5へのアップデートに伴い、M1 Macで30倍、Intel Macでも12倍速度が向上していることを確認しています。

macOS 11の正式版がmacOS 12?

どこまでも「次世代Apple Silicon Mac用OSのβ版」という印象が強かったmacOS 11から、AppleScript+Cocoa呼び出しについては機能の改善が行われ、macOS 10.15で失った処理速度をIntel Macでも回復できているように見えます。

自分が大規模データ処理+演算速度の目安に用いている、「約700箇所の日本全国のゲームセンターについて、全国の鉄道駅(約8,000箇所)との距離を求め最短のものを最寄駅とし、それぞれ最寄駅までの距離が短い順にソートする」計算の結果を見てみると、

MacBook Pro Retina 2012:7分13秒
iMac Pro:4分17秒
M1 Mac mini:1分42秒

と、iMac Proを大きく上回る結果を叩き出しています。あまりに速いので、計算内容が間違っているのではないか? とか、計算結果が出力されないのではないか?? などと疑問に思って何度も調べてみましたが、きちんと計算されています。間違いなく、これまでに遭遇したMacの中で最も高速にAppleScriptを実行する環境といえます。この速さは、異次元のレベルです(力説)。

正直なところ、Cocoa Scripting Course本掲載のサンプルAppleScriptをM1 Mac mini+macOS 11で動かしたときには「イヤな汗」が出まくりました。高速なCocoa Scriptingだぜキャッホー(奇声)! などとノリノリで書いていたものが、

「残念なお知らせです。いま、Vanilla ScriptingのソートルーチンにCocoa Scriptingのソートルーチンが抜かされました」

などと書けるでしょうか? いや、書けるわけがない(反語)。本件は、Cocoa Scripting本の続刊を書く手が止まってしまうぐらいの(よくない方向への)インパクトがありました。

かくして、そこから詳細な調査や問題傾向の炙り出しなど、表沙汰にできない調査と資料作成がはじまったわけで、一応こういう形で(いい方向に)問題が解決されて本当によかったデス。これで解決されなかったら、海外のYouTuberにチクリまくってセンセーショナルな方向で炎上させるしかない、と割と本気で思っていたほどでした。だいたい、自分にしかレポートできないのに、時間と何かを失って何も得られない膨大な作業。Appleが自分でチェックする能力がない一方で、この無償奉仕労働を強いられるのが納得できません。

macOS 12については期待が持てる内容ですが、これがいまだ現用環境であるmacOS 10.15やmacOS 11へのフィードバックが可能な内容なのか、あるいはmacOS 12の登場を待たなくてはならないのかは現時点ではわかりません。

ただ、ここ数年というもの(2020年は珍しい例外)、このぐらいの時期(8月後半)になると「またAppleの現場が無茶な仕様追加を行って開発プロジェクトが崩壊した」「Release版のひどさがいまから感じられるので、アップデート禁止」といった話題しか出ていませんでした。それが、「macOS 12には期待できる」という話ができるのは、喜ばしいことでしょう。

# Beta版では素晴らしかったのに、Release版で別物が壊滅的な出来でリリースされた「macOS 10.13」という悪しき前例があるので、Betaがよくても安心できない今日このごろです。「どうして10.13がああなったのか」という説明は一切ないままなので、いまひとつ信頼できません

Mac App Storeに出している各種アプリケーション(すべてAppleScriptで記述)の動作が、macOS 12 beta5上であればひじょうに高速です。

UNI detector+macOS 12 beta5 DEMO

Watch kamenoko_M1+macOS 11 DEMO

Watch Kamenoko_M1_macOS 12 beta5 DEMO

FileMaker Proに組み込んで大規模なCocoaの機能を呼び出しているAppleScriptの動作も快適になっています。

Watch M1+macOS11 MkMapView Demo

Watch M1+macOS12 beta5 MkMapView Demo

CotEditorと組み合わせて動かしている「CotEditor PowerPack v3」のAppleScriptも、macOS 12beta 5上できわめて高速に動く様子がわかります。

Watch CotEditor_M1+macOS11 DEMO

Watch CotEditor_M1+macOS12 beta5 DEMO

Numbers.appで選択中の範囲のセルをシャッフルするAppleScriptをmacOS 12beta5で動かしたもので、左がIntel Mac mini 2014、右がM1 Mac mini 2020です。
numbers_selection_shuffle_intel_M1_12beta5

これはAppleScriptに関する処理だけにとどまるものではないようです。Terminal.app上で動作させる各種CLI系のプログラムの動作時のCPU Coreの割り当ても変化しており、よりパフォーマンスを発揮する方向に「味付け」が変化しているように見えます。

ただ、CLIベースのプログラムについてまとまったベンチマークを行なっているわけではないため、実際に動作させている数少ない膨大な処理時間のかかるプログラム(PDF内の画像サイズ圧縮のために併用しているGhostScript)を見ている範囲で、アクティビティモニタ上のCPU各コアの動きが変わっているように見える、ということです。

Posted in Bug news | Tagged 11.0savvy 12.0savvy | Leave a comment

Stream Deck MK.2が登場

Posted on 7月 20, 2021 by Takaaki Naganoya

AppleScriptのランチャーとして手軽に構成を変更して運用できるelgato Stream Deck、Mac上で利用する場合のガイド本を作成中ですが、Stream Deckソフトウェアのv5.xの登場にくわえ、新製品の「Stream Deck MK.2」が登場!

# ニュースをみつけて膝から崩れ落ちました。また追記が必要、、、

新機種のStream Deck mk.2は、従来のStream Deck(15key版)を置き換えるもののようで、あくまでデザインや些細な仕様を変更したもの、と明記されています。フェイスプレートを載せ替えなければ見た目はあまり変わりませんし、対応OSなどの動作条件も変わりません。

・USBケーブルが着脱式に変更(従来は着脱不能)
・スタンドが折りたたみ式ではなくStream Deck XL(24key版)と同様のしっかりしたものに変更。マグネットで脱着
・フェイスプレートを変更可能。7種類のデザインの異なるフェイスプレートを交換し、表面部分をカスタマイズできる(ユーザーがグラフィックを送ってカスタム印刷するという種類のものではなく、異なるデザインの交換式フェイスプレートを追加で購入できる)

深い。とてもよく顧客を見ている。これで欠品とか品薄でなければもっといいのに。

Posted in news | Tagged 10.15savvy 11.0savvy Stream Deck | Leave a comment

CotEditor Script Pack v3の一般向け配布を開始

Posted on 7月 8, 2021 by Takaaki Naganoya

macOS用テキストエディタ「CotEditor」の機能強化AppleScript集「Script Pack v3」の配布を開始しました。

→ 配布ページ

Script Packは従来バージョン同様に、機能強化ユーティリティScript集の「PowerPack」および、AppleScriptによる基礎的なCotEditorの操作を解説した「Basic Pack」から構成されています。macOS 10.15.xおよび11.x+CotEditor v4.xとの組み合わせで利用することを想定しています。M1 Mac上でも動作確認ずみです。

PowerPack v3では、CotEditor上で編集中のテキストの文字種別を集計してグラフ表示させたり、編集中のテキストで使われている単語をもとにタグクラウド表示を行うなど、従来では把握しにくかったテキストの傾向をビジュアル表示する機能を追加しています。

外部アプリケーションを使わずにCSVデータのプレビュー(100行までの制限あり)、Markdownテキストのプレビューを行えるなど、CotEditorの動作速度を損うことなく大幅な機能追加を行なっています。

Posted in news PRODUCTS | Tagged 10.15savvy 11.0savvy CotEditor | Leave a comment

WordPress Popular Postsプラグインが不調

Posted on 7月 4, 2021 by Takaaki Naganoya

WordPressの「WordPress Popular Posts」プラグインが文字化けするようになっていたため、別のプラグインで表示するようにインストールして変更しました。

新たに導入したのは「Top 10」というプラグインです。記事ごとに閲覧回数カウントが出るとか(これは設定で消しました)、Popular Postsの計算キャッシュがクリアされたのでゼロからカウントし直しだとか、いろいろまだ試行錯誤する必要がありそうです。管理者の閲覧を除外できないっぽいので、ちょっと変わった傾向になるとは思っています。

「WordPress Popular Posts」の不具合が治ったら元に戻すことも検討しますが、突然文字化けされるよりはこちらのほうがいいでしょう。

Posted in news | Tagged Wordpress | Leave a comment

Shane StanleyのFramework入りAppleScript LibraryがM1対応

Posted on 6月 28, 2021 by Takaaki Naganoya

Shane StanleyのFrameworkバイナリ入りAppleScript Library「Bridge Plus」「Myriad Tables Lib」「SQLite Lib2」がApple Silicon対応していました。

それぞれ単独の配布アーカイブではApple Silicon対応していないのですが、「Shane’s Script Library Pack」でまとめて配布されているものはApple Silicon対応のUniversal Binaryでビルドされています。

インストーラーはAppleScriptアプレットになっており、実行すると……これらのライブラリがインストールされていません。このため、Shane Stanley本人に聞いてみたところ、これらのインストール対象のライブラリがすでにインストールされている場合には、あらかじめ削除しておいてほしいとのこと。

……それはわかりませんでした(^ー^;;

m1mini:~ me$ file /Users/me/Library/Script\ Libraries/BridgePlus.scptd/Contents/Frameworks/BridgePlus.framework/Versions/A/BridgePlus 
/Users/me/Library/Script Libraries/BridgePlus.scptd/Contents/Frameworks/BridgePlus.framework/Versions/A/BridgePlus: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64:Mach-O 64-bit dynamically linked shared library arm64]
/Users/me/Library/Script Libraries/BridgePlus.scptd/Contents/Frameworks/BridgePlus.framework/Versions/A/BridgePlus (for architecture x86_64):	Mach-O 64-bit dynamically linked shared library x86_64
/Users/me/Library/Script Libraries/BridgePlus.scptd/Contents/Frameworks/BridgePlus.framework/Versions/A/BridgePlus (for architecture arm64):	Mach-O 64-bit dynamically linked shared library arm64

あれ? Dialog Toolkit PlusもFramework同梱ライブラリですが、これに含まれていないような、、、、
→ ああ、バンドル内にFrameworksフォルダが存在しているものの、中身はありませんでした(Thanks Shane!)

Posted in news | Tagged 11.0savvy | Leave a comment

遺伝子およびタンパク質シーケンス解析用ツール「MacVector」がAppleScriptに対応

Posted on 6月 23, 2021 by Takaaki Naganoya

We actually came quite late to AppleScript. But now we’ve added it to many functions in MacVector – Mainly for batch processing of multiple sequences, or multiple operations on the same sequence. It’s so easy to write! https://t.co/d77jw0AxaY

— MacVector Inc. (@macvector) June 22, 2021

Twitter上の情報により、遺伝子およびタンパク質シーケンス解析用ソフトウェア「MacVector」がAppleScriptに対応したとのこと。

→ MacVectorについての日本語による解説はこちら
→ MacVectorの日本総代理店はセレスバイオサイエンス株式会社です

MacVectorの現行バージョンはv18、macOS 10.12以降およびIntel/Apple Siliconの両対応とのこと。MacVectorのBlog上の「Free Trial」から21日間の試用版をダウンロード可能です。

以前、バージョン13のときにAppleScript用語辞書がついたという話を聞いてチェックしてみたところ……中身が空っぽ(デフォルト命令以外なかった)ということがありましたが、今度はちゃんと入っているとのこと。


▲MacVectorでHIVの遺伝子マップを表示したところ


▲遺伝子のDNA配列情報を編集し、別売(?)のシーケンサー機能を用いてタンパク質の分析もできるもよう


▲Maker:Fairで見かけた、USB接続のシーケンサー。モバイル遺伝子解析ができるとかで、どえらく驚いた覚えがあります(MacVectorで本シーケンサーを操作できるかどうかは未確認。イメージ写真とでも思ってください)


▲Maker:Fairで展示していた方の話だと、遺伝子の分析(シーケンス)と、オンラインでタンパク質合成+増殖の依頼が行えるとのこと。シーケンサーがUSB接続で10万円ぐらいの値段で(当時)、腰を抜かした覚えがあります

Posted in news | Tagged MacVector | Leave a comment

macOS 11, AppleScriptをFirestormではなくIcestormで実行か?!

Posted on 6月 22, 2021 by Takaaki Naganoya

M1 Mac miniで各種AppleScript系のベンチマークをとってみたところ、信じられないほど遅く、「どうやらAppleScriptを高性能コア(Firestorm)ではなく高効率・省電力コア(Icestorm)」で実行しているのでは? という疑いを持ちました。

# 本件はmacOS 12で修正されました

10倍遅いというとショッキングな数値に見えますが、問題はこれが「まだマシな方」の結果であり、トータルで77倍遅い処理があったりと、目を疑いたくなるような結果のオンパレードです。

そんな中、アクティビティモニタの「ウィンドウ」>「CPUの履歴」で各CPUコアの履歴とともに種別が表示されることが判明。Icestormには「効率性」、Firestormには「パフォーマンス」とコアごとの種別が表示されます。

冗談抜きで、AppleScriptがIcestormで(効率性コア)実行されているようにしか見えません。

M1 Mac+macOS 11上で各種ベンチマークをとってみたところ、Intel Mac+macOS 10.14よりも大幅にパフォーマンスが低下する例が頻発。NSMutableArrayに21万項目の項目を追加するベンチマーク(5回計測して平均値を計算)を走らせてみたところ、

 MacBook Pro Retina 2012(Intel Core i7 2.6GHz、macOS 10.14.6):8.69秒
 Mac mini M1 2020(M1 3.2GHz、macOS 11.5beta):104.25秒

M1 MacがIntel Mac(しかも2012年のマシン)の77倍も処理時間がかかるという結果が出ています。このため、AppleScriptをFirestormではなくIcestormで動かしているのではないか、と疑っていました。

とくに、M1ではAppleScriptのrandom number(乱数計算)コマンドが極端に遅く、これを使ってテスト用に乱数データを作ると腰が抜けるほど時間がかかります。シーケンシャル値の続く配列を作ってGamePlaykit.frameworkを用いてシャッフルするのがよさそうです。ただ、本当にM1でrandom number計算は遅くなります。

700箇所の位置情報をもとに、日本全国の最寄りの鉄道駅を計算する距離計算を行なったところ、M1 Mac miniでは2012年製のMacBook Pro Retina 2012の10倍処理時間がかかりました。MBPで6分かかるところがM1だと1時間かかりました。

GUIアプリケーションにちょこちょこ命令するだけとかいう、「単なるマクロ言語」としての世界観(小乗AppleScript)で使う分にはよいのですが、アプリケーションに依存せず単体でデータ処理を行なったり、Mac App Storeで販売するGUIアプリケーションまで記述して実行しているわけで、Icestormで実行してほしくはありません。

Intel Macで6分あまりの処理にM1 Macでは60分以上かかっており、2012年のマシンに比べて2021年製の最新鋭のマシンがまさに文字通り「桁違いの遅さ」を見せているのが現状です。

実行中のアクティビティモニタの表示を見ると、高性能コア(Firestorm)への負荷はあまりかかっておらず、逆に高効率コア(Icestorm)への負荷が集中していることが見て取れます。

Intel Mac上で実行中には、4コア8スレッドのIntel Core i7の各コア(4コア)に均等に負荷がかかっていることが見て取れました。

M1 Mac miniの基本性能の高さはグラフィック性能やディスクI/O性能を中心に実証されているため、あくまでOS側の「味付け」の問題が原因と見ています。

AppleScriptが単なる「GUIアプリケーションをちょこっと自動化するだけのお可愛らしいマクロ言語」なのであれば、Icestormで実行するという話も悪くはないでしょう。ただ、Mac App Storeで販売しているGUIアプリケーションから各種データ処理を行うシビアな処理を行う処理系でもあり、やはり2012年のIntelマシンの10倍とか77倍遅いという現状は面白くはありません。

Posted in news | Tagged 10.14savvy 11.0savvy | Leave a comment

M1 Mac mini

Posted on 6月 12, 2021 by Takaaki Naganoya

を注文しました。WWDC21でハードウェア系の発表が行われなかったということは、少なくとも2021年中に現行のM1 Mac以上のマシンを投入できないものと判断したためです。

さすがにMacBook Pro Retina 2012では物理的にも性能的にも無理があり、メインマシンとして入れ替えることになります。まだ「上海を出た」ぐらいの距離感です。

RAM 16GB、SSD 1TB構成です。RAM 8GB構成だと割と整備済製品や店頭販売品があるのですが、さすがに8GBはないだろうと。RAM 8GB構成だとSSDのSwapが激しいとのことなので避けてみましたが……実際に動かしてみないとなんとも言えません。

SSD 256GBでは「悪い冗談」、SSD 512GBだと「いまと同じ」、SSD 1TBぐらいが実用上の最低ラインだと判断しました。ポート数が少ないので、ディスプレイ以外で接続しておく周辺機器は最低限のものにとどめておくべきマシンでしょう。

YouTubeをはじめとして各種ベンチマークが掲載されていますが、正直なところムービー書き出しとかゲームやベンチマーク専用ソフトの結果ばかりで、実際に一般的なアプリケーションを動かして、アプリケーションをAppleScriptから操作してゴリゴリにコキ使ったときのパフォーマンスはどこにも載っていません。

Script Debuggerで巨大なScriptを編集すると、文字入力が止まるぐらい遅くなるので、Script Debuggerの操作が軽くなることを期待したいです。

以前に開発用にiMac Proを一時的に預かっていたときにすこしだけ自作ベンチマークをとってみましたが、あれよりも突っ込んだ内容は実験できることでしょう。iMac Proはいいマシンでしたが、(MBPR 2012よりも)3〜4倍ぐらい高価なiMac Proでも1.5倍ぐらいのシングルコア性能で、コストパフォーマンス的にはいまひとつでした。つまり、高い割にたいしたことがない、という印象。

M1 Mac miniにはとても期待しています。

M1 Macでベンチマークをとってみたい処理

・巨大な配列を使う処理
与えられた文字列の1D Listのすべての順列組み合わせパターン文字列を返す v3
→ これは、M1 Mac上でとくに遅い処理で、心底ガッカリしました。この挙動は問題ありすぎなので、Appleに報告して対処してもらえるよう「お願い」をしています

2点間の距離を求める v3
→ 全国のゲームセンターの最寄りの鉄道の駅を求める
→ 2012年のMacBook Proのほうが10倍速いです
・画像処理
画像の空白判定 v4
→ これは、2012年のMacBook Proより高速でした

画面スナップショット超解像バッチ処理 v1
→ M1内蔵のニューラルエンジンを利用しているためか、これはM1 Macが圧倒的に高速です
2つの画像が類似しているかを判定

ghostscriptによるPDFの圧縮・軽量化処理
→ MBP 2012で数分から10分ぐらいかかっていた処理が、1分ぐらいで終わるので速いと思います。ただし、瞬時に終わるとかいうことはありません

・アプリケーションとのやりとりが膨大で重い処理
Mail.appでメールボックスの仕分けを行う(最重量)
→ これは、Intel Macとさほど変わりません。ただ、Mail.appの起動がアホみたいに速い(起動してから操作可能になるまでのタイムラグがほとんどない)ので、その点だけでもM1のトータルなシステムとしての速さを実感できます
CotEditorのウィンドウを楕円運動
→ M1のほうが少し速いか? ぐらいで、全般的にこの手のScriptはMBP2012の10倍遅いことを覚悟する必要があります
・AppleScriptで組んだGUIアプリケーションの動作
Kamenoko
→ ±ゼロぐらい。しばらく動かしていると動作が止まる瞬間があって、強制終了させたりしています
・重いアプリケーションの動作
巨大なScriptをScript Debuggerでオープンして編集したときの動作
→ Intel Macに比べて速い、ということは感じません。この用途でいえばiMac Proの方が快適かも?

Posted in news | Tagged 11.0savvy | 2 Comments

Shortcuts Events

Posted on 6月 9, 2021 by Takaaki Naganoya

macOS 12で搭載される「ショートカット」は、iOS上の自動化ツール「DeskConnect」をAppleが買収して発展させ、Apple純正ソフトウェアとして提供されているものです。簡単な自動化を行うためのツールです。

このショートカットがmacOS 12に搭載されることがKeynoteで発表されました。さらに、ショートカットからAppleScriptが実行できることが明らかにされ、AppleScriptからもショートカットを実行できるとのこと。

タイトルにも挙げている「Shortcuts Events」が、AppleScript専用のGUIなし補助アプリケーションであり、AppleScript側からショートカットのアクションを呼び出すことができるようです。

ただし、最初のmacOS 12β版ではまだAppleScriptからショートカットのアクションを実行できないことが、Release NotesのKnown Issuesに明記されています。

  10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 10.13 10.14 10.15 11.0 12.0
Shortcuts Events ⬛︎
ColorSyncScripting ⬛︎ ⬛︎            
Database Events ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎
Digital Hub Scripting ⬛︎ ⬛︎            
FontSync Scripting ⬛︎ ⬛︎            
Image Events ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ★ ★ ★
Keychain Scripting ⬛︎ ⬛︎ ⬛︎          
System Events ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎ ⬛︎
URL Access Scripting ⬛︎ ⬛︎ ⬛︎          
Posted in news | Tagged 12.0savvy Shortcuts Shortcuts Events | Leave a comment

Apple Musicでロスレス配信開始(今度こそ)!

Posted on 6月 8, 2021 by Takaaki Naganoya

macOS 11上のMusic.appの環境設定に突如として、「オーディオの品質」項目が出現。時間が経過するにつれ、kindが「Apple Music AACファイル」だった曲が次第に「HLSメディア」に更新されていきました。

このApple Musicのロスレス配信トラックを再生できるのは、macOS 11.4以降であり、それ以前のmacOSではAAC配信のままです。

段階的に入れ替えられていたり、対応曲と非対応曲があるようで、すべての曲が「HLSメディア」として見えるわけではないようです。自分が試した中でも、「HLSメディア」は1曲だけでした。→ 時間の経過にともない、どんどん増えてきています

これをダウンロードすると、拡張子が「.movpkg」のファイルがローカルにダウンロードされてきました。

バンドルパッケージだったので、Finder上でバンドル内容を表示。

複数のフォーマットのムービーを1つのバンドル(HLSメディア)内に格納できるようです。

覚悟はしていましたが、ハイレゾロスレス(最大24ビット/192kHzのALAC)の1トラックで87.7MBもあり、いちいちダウンロードしているとローカルのディスクの空き容量がヤバいことになります。

Posted in news | Tagged 11.0savvy Music | Leave a comment

WWDC21でShortcuts for Macが発表に

Posted on 6月 8, 2021 by Takaaki Naganoya

WWDC21にて、macOS 12にShortcuts for Macが搭載されることが発表されました。同ツールはAutomatorを置き換え、iPhoneやiPad上のShortcutsとは異なるクリエイティブ系に寄せたアクションが実行できるとのこと。

Shortcuts内からもAppleScriptやShell Scriptを呼び出せるようになっており、Mac上でSiriからShortcutsの呼び出しが行える=「Siriから(ShortcutsのAction上に記載した)AppleScriptが実行できるようになった」ことを意味しています。

Automatorの今後については、すでにAppleScript Studioランタイムがdeprecated扱いで、機能の追加は行われません。Xcode上に添付されているAutomator Acrtionのテンプレートも、すでにAppleScript Studioではなく「Cocoa AppleScript」(AppleScriptObjC)です。

Posted in news | Tagged 12.0savvy Shortcuts | Leave a comment

WWDC21事前予想→答え合わせ

Posted on 6月 8, 2021 by Takaaki Naganoya

今日は真夜中じゅう起きているわけにはいかないので、事前の予想をまとめたものを貼っておきます。あとでゆっくり、答え合わせを。

Apple SiliconのCore数増加、メモリ拡張バージョンが出てくるかもしれませんが、それをどのように実現するのかがキーポイントになると思います。cc:NUMAなどの技術を用いて複数コアをつなぐのか? そこと、macOS 12.0がもっと安定したバージョンとして位置づけられるのか。そんなあたりが自分の関心事。あと、Mac miniの上位版が本当に出るのかどうか…

答え合わせ

前年(2020)が数年がかりで仕込んだネタを一斉に披露したことと比べると小ぶりな発表内容。
ハードウェア系の発表はありませんでした
Apple Musicのロスレス配信の開始にはまだ時間がかかるようです(秋?)
macOS 12, Montereyを発表。AirPlay to MacやShortcutが搭載される
Xcode 13発表。ちゃんとAppleScriptObjCでの開発をサポート。

機械学習モデルを手軽に作れるCreate MLは、v3.0にアップデートしてHand Post ClassificationとHand Gesture Classificationを追加

Posted in news | Leave a comment

新旧エミュレータでAppleScript実行速度対決

Posted on 6月 6, 2021 by Takaaki Naganoya

JavaScriptで書かれた68k Macエミュレータの新規軸「macitosh.js」が登場してきたので、SheepShaverと対決させてみました。

macintosh.js–Classic Mac OS 8 on Mac mini 2014 2.6GHz Intel Core i5 macOS 11.5
SheepShaver–Classic Mac OS 9.2 on MacBook Air mid 2011 1.6GHz Intel Core i5 macOS 10.13.6

それぞれ、Mactracker上に記載のあるGeekbenchのベンチマーク値は以下のとおりです。

ベンチマーク対決内容はAppleScriptで1,000万回単純ループを行うものです。

結果:macintosh.js 191秒

結果:sheepshaver 10秒

古いSheepShaverのほうが新しく作られたmacintosh.jsよりも20倍ぐらい高速、という結果が出ました。だからダメということはなく、JavaScriptなどという処理系でここまでネイティブコードに肉薄したということに驚きます。

シングルコア性能でMac mini 2014のほうが倍ぐらい速いのですが、さすがにネイティブコードでエミュレータを動かしているだけあって、MacBook Airのほうが10倍ぐらい高速です。同一マシンでベンチマークしたらsheepshaverのほうが20倍ぐらい高速でしょう。

macintosh.jsにはM1対応版(っていうのか?)もあり、M1 Mac miniで動作させればMac mini 2014の3倍ぐらい高速ですが、それでもMacBook Air上で動かしたsheepshaverのほうが3倍高速ということになります(多分)。

ちなみに、現代のIntel Mac(およびARM Mac)で1,000万回程度の単純ループを普通にAppleScriptで実行させると、速すぎて1秒以下になってしまい計測不能。1億回ぐらい回さないと1秒以下です(10億回ぐらい回さないとダメかも)。PowerPCの時代には1,000万回単純ループが計測の(個人的な)指標になっていました。


▲M1 Mac mini+Macintosh.jsで実行したら68秒。だいたい予想どおり


▲M1 Mac mini+SheepShaver(Universal Binary)で実行したら10秒。MacBook Air 2011+SheepShaverと同じ結果に

Posted in news | Tagged 10.13savvy 11.0savvy | Leave a comment

2021年6月からApple Musicがロスレス配信!

Posted on 6月 3, 2021 by Takaaki Naganoya

……と言われてはや数日。Twitter上では「おお、これが空間オーディオ対応か?!」「音がよくなった!」といった一部の方々の熱狂がありつつも、実際に、Apple MusicからMacのMusic.appに曲を追加し、AppleScriptでファイルフォーマットやCodecなどを確認すると、それが「錯覚」であることがすぐにわかります。

まだ、AACで配信されており、ロスレスコーデックで配信されてはいません。

Apple Musicの配信フォーマット変更はWWDC21(のキーノートスピーチ)後と見られており、実際にどう変わったかについては、電子書籍「Music.app Scripting Book With AppleScript」をアップデートして詳細にまとめます。

# この配信のためにMusic.appをアップデートするんでしょう。OS側の準備も(macOS 11.4)整っているようです

AppleScript名:選択中のトラックの情報を取得
tell application "Music"
  set a to selection
  
set aa to first item of a
  
properties of aa
end tell

★Click Here to Open This Script 

Posted in news | Tagged 11.0savvy Music | Leave a comment

FM Holeを新設

Posted on 6月 1, 2021 by Takaaki Naganoya

AS Holeの姉妹サイトとして、FileMaker Proのソリューション情報を掲載する「FM Hole」を新設しました。

ぼちぼち増やしていきます。

Posted in news | Leave a comment

Basuke’s Tech Talk Podcastが配信されました

Posted on 5月 27, 2021 by Takaaki Naganoya

BasukeさんのClubhouseの番組「Basuke’s Tech Talk」の話の内容をまとめたPodcastで、「AppleScriptの話 with @Piyomaru」と題して配信されています。興味のある方はお聴きください。

Basuke's Tech Talk #11 「AppleScriptの話 with @Piyomaru」を公開しました。AppleScriptを愛してやまない「AppleScriptの穴」運営の @Piyomaru さんに話を伺いました。 ⚓ https://t.co/uyMS0BftaZ #basuke

— Basuke (@basuke) May 27, 2021

Posted in news | Leave a comment

明日、Basukeさん主催のBasuke’s Tech Talkに出演します

Posted on 5月 20, 2021 by Takaaki Naganoya

Clubhouse上でBasukeさんが主催されているBasuke’s Tech Talkに出演します。日本時間で5/21 14:00からです。

明日金曜日の午後2時 JSTから、ぴよまるソフトウェアの長野谷さんと「AppleScriptの話 with @Piyomaru 」をお届けします。歴史は実はかなり長い歴史を持つコアテクノロジー。様々な変化を乗り越えたAppleScriptの深部に挑みます Basuke’s Tech Talk #11 https://t.co/6k1lltJPZ2 #basuke

— Basuke (@basuke) May 20, 2021

Basukeさんといえば、古くは「NoMeMo Busters」の作者として有名。Newton系で活躍されたり、さまざまなMac系のプログラムやWebサービス「関心空間」のプログラムを担当されたあと渡米、KinomaでIoT機器の開発をされたあと現在はPlayStationでプログラマーとして勤務されています。

そのBasukeさんがClubhouse上で開催されているBasuke’s Tech Talkにゲスト出演。「AppleScriptの話 with @Piyomaru」と題して、なんやかんや、あることないこと話すことになることでしょう。

自分は「無限に文章を書く」のはOKというタイプの人間で、その場でリアルタイムにお話をするのはそれほど得意ではないため、ちょっとビビっていますが…

なお、当日の話の内容は、Podcastとして再配信されるとのことなので、リアルタイムに聞けなくても大丈夫(?)です。

Posted in news | Leave a comment

Apple Musicが2021年6月から高音質化、空間オーディオ対応

Posted on 5月 18, 2021 by Takaaki Naganoya

サブスクリプション(月額固定費用)サービスのApple Musicの全曲が、「6月からロスレスオーディオのApple Lossless Audio Codec(ALAC)に対応し、一部ではDolby Atmos空間オーディオに対応した楽曲が利用可能になる」とのこと。噂では聞いていましたが、話半分ぐらいで聞いていました。

目下作成中で完成間近の「ミュージック.app Scripting Book With AppleScript」、「書いていないことはない」と自分が胸を張って送り出そうとしている本ですが、当然のようにこの発表に影響を受けます。

こちらで、iTunes Storeで購入した楽曲の詳細情報と、Apple Musicからダウンロードしてきた曲の詳細情報を比較しているのですが……

6/1になったら、再度確認してアップデートする必要がありそうです。この表自体はAppleScriptで、「AppleScriptの実行結果をNumbersの表にまとめる」という処理を行なっているため、作り直してもそれほど作業は発生しないのですが(自動化しておいてよかった!)、まー、反映しておかないとマズイ情報であることに代わりはありません。

Codecが変わるだけだと思われるので、拡張子やらファイル呼称が変わったりすることはなさそうですが、ファイルのサイズが巨大化しそうでそのあたりどーなるのか? 目下、.m4p形式のファイルをローカルにダウンロードできるようになっていますが、そこが変わるのか変わらないのか。

高音質化しても違いがわからない人向けに、従来どおりのCodecでダウンロード/ストリーミングさせるオプションがあるような気もします。6月にMusic.app自体のアップデートもあると見るべきでしょうか。

Posted in news | Tagged 10.14savvy 10.15savvy 11.0savvy iTunes Music | Leave a comment

ScriptDebugger v8が正式リリースに

Posted on 5月 8, 2021 by Takaaki Naganoya

Late Night SoftwareからAppleScriptの統合開発環境、ScriptDebugger v8が正式リリースされました。日本語の表示、入力について問題ありません。そして、日本語で問題が出ないということから、同様のCJK(Chinese, Japanese, Korean)言語環境環境でも問題はないことでしょう。

■v8の対応環境

macOS 10.14.6、10.15.7、11.x
Intel Mac/M1 Mac(Apple Silicon Mac)

■v8の新機能

・Apple Silicon(M1 Mac)へのネイティブ対応
・Dark Mode対応

・macOS 11.x対応。Applet書き出し時にCodeSign Localを実行、notarizingを実行
・バージョン管理
・アプリケーション書き出し時の各種設定が「環境設定」ウィンドウに「Building」タブとして新設された

■v8の変更点

・Bundle IDの変更
SD7 Bundle ID: com.latenightsw.ScriptDebugger7
SD8 Bundle ID: com.latenightsw.ScriptDebugger8

・Enhanced Appletのランタイム・プログラム名の変更(要注意)
SD7:FancyDroplet
SD8:FancyDropletFat

ただし、SD8でもmacOS 10.14.x、10.15.x上でアプレット(Enhanced)書き出しを行ったさいには、ランタイム名は「FancyDroplet」になるとのこと。あくまで、macOS 11.x+SD8でアプレット(Enhanced)書き出しを行ったさいに「FancyDropletFat」になる。

・Bundle Script編集時の表示ルートディレクトリ
SD7:/Contents/Resources/
SD8:/Contents/

■v7→v8で変更されていない仕様

・20日の試用期間ののちLiteモードで動作。一部の機能が制限される
・「as anything」は「as any」と解釈される
・AppleScriptのメインスレッド実行機能なし(Script側でメインスレッド実行の記述を追加して対処。ここだけmacOS標準装備のスクリプトエディタの併用が欠かせない)

Posted in news | Tagged 10.14savvy 10.15savvy 11.0savvy Script Debugger | Leave a comment

アウトプットするとインプットもある?

Posted on 4月 5, 2021 by Takaaki Naganoya

いまからはじめるプログラミング②を書いていていろいろ新情報を見つけてしまいました。

すでにご存知の方もいるかもしれないので、「この俺がぁぁぁぁ、世界でぇぇぇぇ、一番に見つけたァァァァァァ!!!」と主張するわけではありません。「そういえばそうだよね」ぐらいの印象のものです。

長年deprecatedだと表示されてきたけど、そろそろそんな気がするinfo forコマンド

誰もがファイル情報の確認時に雑に使っているStandardAdditions.osax中の「info for」コマンド。長年「deprecated」扱いになっていました。

そんなにdeprecated感はなかったのですが、macOS 11上で使ってみるとその遅さにめまいがしました。

System Eventsでfileのpropertyを取得したほうがはるかに高速で、さすがにもうinfo forを用例で引き合いに出すのは無理があるなと感じました(②巻のリリース直前に気づいて書き直した次第です)。

ファイル処理は完全にCocoa系の機能を使ったほうが速くて強力なので、最近はまじめに深掘りしていなかったのですが、入門者向け本を書いてみて気になりました。入門者向け本にCocoaのコードはさすがに書けません、、、、

as alias listはないけれど……

Finderからまとめてfileを取得する際に、「as alias list」という用語が使えます。通常はfileなりdocumentなりのオブジェクトをlistで返してくるFinderですが、aliasで結果がほしい(ファイルパス情報だけほしい)というケースが多々あります。

それに応えるかたちで「as alias list」が、たしかMac OS X 10.4あたりで新設されました(selectionからファイルをとってくる処理が、えっらく簡単になった記憶があります)。

その後、Mac OS X 10.6あたりで(?)System Eventsにファイル関連のSuitesが新設され、「あー、こりゃFinderのないOS環境、ワンチャンくるかも?」と怯えていたのですが、さすがにFinderを廃止すると反発が大きいという判断をしたのでしょうか、「FinderレスMac OS X環境」という世界観はやってきませんでした(iOSあたりはそういう感じですけれども)。

で、System Eventsにファイル関連のSuitesができても「これ本気で使わせたり移行させたりするつもりがあるんか?」という雰囲気で、Finder上で行っていたファイル処理をそのまま移し替えられる様子ではなく、速度面でも腰が抜けるほど速いわけでもなく、Appleのエンジニアリングチームが何を考えているのか意図を測りかねていました。

指定フォルダ内のfile一覧をaliasで取得しようとして、

set aFol to choose folder
tell application "Finder"
	set aRes to every file of aFol
end tell

という処理を、

set aFol to choose folder
tell application "System Events"
	set aRes to every file of aFol
end tell

と、書き換えて、ふとaliasで欲しいと思って、

set aFol to choose folder
tell application "System Events"
	set aRes to every file of aFol as alias list
end tell

などと書いてみてもエラーに(知ってたけど)。そこで、冗談半分に、

set aFol to choose folder
tell application "System Events"
	set aRes to every alias of aFol
end tell

と、書いてみたら………期待どおりの動作に。aliasのlistで結果が返ってきます。

log on/log offってあったよね? ねえ、あったって言って

ログ(履歴)出力用のlogコマンド、そのログ出力を許可/禁止するlog on/log offコマンドがClassic Mac OSの時代には存在していま……

魔が差して、Classic Mac OSエミュレータ「SheepShaver」を起動してClassic Mac OS 8.6上で確認してみたら……

あっれえええええ???
log on/log offコマンドが存在していないよ?

現行のmacOSで確認されている(でも、AppleScript Language Guideに書かれていない)「start log」「stop log」を書いてみたら……通りますね。

当時流通していた何かのOSAXで提供されていたコマンドだったのか、ちょっとショックです。

駄目押しで、1999年に作成された「AppleScript Language Guide」で「logコマンド」まわりを確認してみたら「start log」「stop log」がある!!!

自分の「薄い資料集」を書き換える必要がありますね。
まー、気づいたのでヨシ!(よくない)

われながら、よくもまあこれだけド派手に間違ったもので。修正方法もいろいろ考えなくてはなりませんね。

なんといいますか、現在では現役ではないプラットフォーム(Classic MacOS)に関する言及の部分なので、しれっと「そんなことはなかったよ」という顔をして修正するのもアリなんですが、個人的にショックです(FileMaker選手権で落ちたときよりは大きくないですが)。

しばし放置しつつ、様子を見てみましょう、、、、
→ 相談したら、「誰も気にしてないので直せばいい」とのこと。直しておきました。すでに購入された方は再度購入ページからダウンロードしてください。

Posted in news | Tagged 10.14savvy 10.15savvy 11.0savvy | 2 Comments

Post navigation

  • Older posts
  • Newer posts

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • Apple Creator Studioに含まれるKeynote/Pages/Numbersは新バージョン?
  • 最初期に書かれた書籍「AppleScript道入門」の序文をいま振り返る
  • 簡易カラーチャート画像の出力 v2.1
  • 指定フォルダ内から指定拡張子のファイルを取得し、エイリアスだったらオリジナルのパスをPOSIX pathで取得
  • macOS 15.7.2 スクリプトメニューから実行できなくなった地図系ライブラリ?
  • ASCII ART QR Encoder
  • MacBook Air/MacBook Proのディスプレイ開閉角度を取得
  • 「AppleScriptセキュリティ実践ガイド」を発売
  • 各種GUIアプリ書類のオープン速度を向上するためにUIアニメーションの一時停止を
  • Keynote->Keynote Creator Studio(以下同様)
  • Finder上で選択中のHEIC画像から位置情報を削除_v5
  • 翻訳テスト
  • FSFindFolder failed with error=-43
  • YouTubeムービー再生実験
  • 2025年に書いた価値あるAppleScript
  • 関数計算ライブラリで一部のユーザーから再現しない問題が報告される件
  • ワークスペース切り替えv2.1
  • YouTubeムービー再生実験 v2c
  • macOS 26.xのSystem Events/Screen Saver preferencesにバグ
  • macOS 26.1が登場。Finderのバグが直らない?

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (440) 11.0savvy (283) 12.0savvy (212) 13.0savvy (204) 14.0savvy (159) 15.0savvy (173) 26.0savvy (53) CotEditor (68) Finder (53) Keynote (123) NSAlert (61) NSArray (51) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (53) NSDictionary (28) NSFileManager (23) NSFont (21) NSImage (41) NSJSONSerialization (21) NSMutableArray (63) NSMutableDictionary (22) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (119) NSURL (98) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (80) Pages (58) Safari (45) Script Editor (28) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • Apple Inteligence
  • AppleScript Application on Xcode
  • Beginner
  • Benchmark
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • check sum
  • Clipboard
  • Cocoa-AppleScript Applet
  • Code Sign
  • Color
  • Custom Class
  • date
  • dialog
  • diff
  • drive
  • Droplet
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Localize
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Newt On Project
  • NFC
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • process
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • Scripting Additions
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spaces
  • Spellchecker
  • Spotlight
  • SVG
  • Swift
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2026年10月
  • 2026年9月
  • 2026年8月
  • 2026年7月
  • 2026年6月
  • 2026年5月
  • 2026年3月
  • 2026年2月
  • 2026年1月
  • 2025年12月
  • 2025年11月
  • 2025年10月
  • 2025年9月
  • 2025年8月
  • 2025年7月
  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC