JeditX用AppleScriptに「括弧付き連番数字を生成」を追加

JeditX用AppleScriptに、「括弧付き連番数字を生成」を追加しました。

自分用に作って使ってみたところ、かなり便利だったので公開します。

しかし、スクリプトを組むより、機能解説のページを作るほうが大変ですね…。

PageCounter ver.0.6・使用メモリ増加の不具合を修正

大変申し訳ありません、公開早々不具合を見つけましたので、修正させていただきました。

ファイルオープン時やAppleScriptでテキストを送った時に、それらがアンドゥ(やり直し)履歴に残ってしまい、メモリ使用量がどんどん増えてしまう状態になっていました。ファイルオープン時、AppleScriptでのテキスト送信時ともに、アンドゥ履歴をクリアするように修正しています。

また、通常のアンドゥも最大16回までに変更しました。

お手数ですが、ファイルの差し変えをお願いします。

一定時間ごとに自動で枚数計算するスクリプトについて

 AppleScriptでは、「一定時間ごとに繰り返しスクリプトを実行する」ということもできます。

 それを利用して「テキストエディタの最前面で開いているファイルから5秒ごとにテキストを自動的に取得して枚数計算を行う」というPageCounter用スクリプトを組んでみました。

 が…。

 スクリプトがテキストを取得しに行った時に、テキストエディタ側がAppleScriptによる操作を受け付けない状態だったりすると、「エラーダイアログが表示され、ダイアログを閉じても閉じても繰り返し(5秒ごとに)エラーダイアログが表示される」という状況になってしまうことがわかりました。

 一応、AppleScriptのエラー処理機能(try 〜 on error)を使えば、エラーダイアログが出ることを抑制できるようなのですが、テキストエディタ側に何らかの負担をかけてしまう恐れがあるため、PageCounterの配布パッケージには含めないことにしました。

 ただ、「一定時間ごとに自動で枚数計算」というニーズはおそらくあると思いますので、興味のある方は以下のリンクよりダウンロードしてみてください。

危険性を理解した上でダウンロード

PageCounter ver.0.5 公開

PageCounter_Icon4_128x128

原稿用紙枚数換算を行ってくれるアプリで、Mac用のものが無いようだったので作ってみました。

バージョンが「0.5」になっていることからわかる通り、生まれたての赤ちゃんみたいなものなので、多少変な部分があってもご容赦下さい。

ちなみに、AppleScript対応は日本語での情報が少なくて想像以上に大変でしたが、気合いで頑張りました! ぜひお気に入りのテキストエディタと組み合わせてご利用下さい。

ver.1.00以前のChordTransにおいて、ご自身で正規表現を変更されていた方へ

 「ChordTrans ver1.10」では、[Am] <Am> {Am} 《Am》 のようなコード表記に対応するため、標準の正規表現がアップデートされています。

 ただ、ver.1.00以前のChordTransにおいて、ご自身で正規表現を変更されていた方は、「ChordTrans ver1.10」に更新しても、起動時には「カスタマイズした正規表現を使用」という設定が選ばれた状態になりますので、そのまま移調を行っても、[Am] <Am> {Am} 《Am》などのコードはうまく移調できません。(ようするに、標準の正規表現より、ユーザーさんの設定した正規表現が優先されるようになっています)

 ver1.10標準の正規表現を使った移調を行うには、環境設定パネルにて、「標準の正規表現を使用」という設定に切り替えていただく必要がありますので、ご注意下さい。

ChordTransSS02a_and_b


 なお、「カスタマイズした正規表現を使用」を選んだ状態で、正規表現入力欄下部のResetボタンを押しますと、ver1.10標準の正規表現が読み込まれますので、こちらの方法をご利用いただいても大丈夫です。

 ただし、Resetボタンを押した時点で、これまでご利用いただいていた正規表現は上書きされて消えてしまいますので、以前の正規表現は念のためテキストファイルなどにコピー&ペーストして保存しておくことをおすすめします。

ChordTrans ver.1.10 公開

「ChordTrans ver1.10」を公開しました。更新内容は次の通りです。

  • 標準の正規表現にて、[Am] <Am> {Am} 《Am》 のようなコード表記に対応
  • コードネーム抽出に使う正規表現を「標準」「カスタム」から選べるように変更
  • カスタム正規表現が空欄だと、移調処理の時フリーズしてしまう問題に対処

 [Am] のようなコード表記は、iPadなどのソングブック系アプリでよく使われているとのことで、さっそく対応してみました。

 《Am》は、青空文庫形式でコードネームを振っている方もいるかな…ということで対応。<Am> {Am} は、ついでに、という感じです。

 コードネーム抽出に使う正規表現が「標準」「カスタム」から選べるようになったのは、「アプリ本体を更新しても、起動時には初期設定ファイルに書き込まれた古い正規表現が読み込まれてしまい、環境設定でResetボタンを押すまで新しい正規表現が反映されない」という構造欠陥があったからです…。

「すいませーん、××みたいなコードがうまく移調できないんですけどー」
「ああ、なら、環境設定の正規表現をこんな風に書き換えれば移調できるようになりますよー」

 みたいな感じで、メールのやりとりだけで簡単に対応コードを増やせるように、「心臓部むき出し」な構造になっていたんですけど、標準の正規表現をアップデートする段になって、「あっ、やばい…! 本体アップデートしても、初期設定ファイルから古い正規表現が読み込まれちゃうじゃん!」と気付きました…。

 今回、内部的には結構じたばたともがいていますが(初期設定ファイル内の正規表現がver1.0標準のものと一致するかどうか判定したり…)、「本体をアップデートした後、環境設定パネル内の二つのResetボタンを順番に押してくださいね(はーと)」的なダメダメな状況はなんとか避けましたので、ご安心下さい。

 また、むき出しだった心臓部(正規表現入力欄)も、サランラップで包んだくらいにはなりましたので、これまでより若干信頼性が上がっているような気もします。ただ、「このサランラップ、なんか破けてるんですけど…?」とか、「サランラップが頑丈すぎて剥がせません!」みたいなバグがあったらすいません…。

ChordTrans ベータテスト終了

 ベータ版を公開後2週間たちましたが、特に不具合などは起こっていないようですので、「ChordTrans ver1.00」として正式公開させていただきました。

 正式版公開にあたって、一部のメニューの修正(CodeTransになっている部分がありました…)と、バージョン表記の変更( ver0.5 → ver1.00 )を行っています。

 今後も便利に使っていただければ幸いです。

 ※10/27 23:30 追記
 付属の書類に、OS X 10.8(Mountain Lion)をお使いの方に向けた案内、「For OS X 10.8 User.txt」を追加しました。

アンケートへのご協力ありがとうございます

 OS X 10.7Lion)とOS X 10.8Mountain Lion)におけるChordTransの動作状況ですが、「動作する」とのご報告をそれぞれ一件ずついただきまして、安心できました。

 これなら、より多くの人に使っていただけそうですね。

 また、ドキュメントの日本語ファイル名が文字化けしている、とのご報告を受けまして、Firefox15.0.1、Safari5.1.7でのダウンロードと、解凍を試してみましたが、こちらの環境(OS X 10.6.8)では文字化けは起こりませんでした…。
(解凍に使ったのは、OS10.6標準のZip解凍アプリ(おそらく
BOMArchiveHelper.app)と、StuffIt Expander13.0.3です)


 現在Zipファイルに含まれているドキュメントは次の3つです。

  • ReadMe.txt
  • ベータテスト版について.txt
  • 正規表現編集ガイド.rtf

 申し訳ありませんが、Zip解凍時に文字化けをしてしまった場合は、とりあえずこちらを参考にしてください。

 なお、今後もファイル名文字化けの報告があるようでしたら、配布ファイルを.dmg形式に変えようと思います。


 今回はご報告ありがとうございました。
 他にも、アプリの動作などでおかしな部分がありましたら、ご連絡お願いします。

実装しようとして挫折した機能など

 ChordTransについてですが、以下の機能は実装するのが難しそうだったので諦めました。

・テキストウインドウ内へのファイルドロップでテキストファイルを開く
・環境設定パネル内での操作取り消し(アンドゥ)


 また、テキストをコピー&ペーストした時にも、[A# or Bb]などの設定が即座に反映されるようにしたかったのですが、それをやろうとすると、「なにか文字を入力するたびに記号変換ルーチンが実行される」みたいな状況になって、重くなりそうだったのでやめました。

 プリント機能は、標準で用意されていたものを試したらうまく動いたので、そのまま残してあります。どういう仕組みで動いているのかは制作者にもわからないため、おまけ程度に思っていてください。

 それと、ChordTransでは、「ガベージコレクション」という、OS(?)が自動でメモリ管理をしてくれる機能を使っています。この機能、どうやらOS10.8を最後に廃止が決まってしまったようなので、ChordTransは今のままではOS10.9以降で動かない、という状況になりそうです…。

 その頃までにはOSを新しくして、Xcodeの最新版を導入しないとダメですね…。