Archive for » 6月, 2014 «

OSX Mavericks システム環境設定:サウンド:バランス をセンターにする、だけのアプレット

メインに使っているパソコンのシステム、今はOSX Mavericksなのだけど、Mac OS X 10.4.x の頃から再起動する度に「サウンドの設定:左右のバランスがズレる(右寄りになる)」なるという現象が起こるようになっていて、セオリー通りのトラブル・シューティングをひと通り・・・~/ユーザ/Mome 以下の初期設定ファイルを削除、更新、、、etc・・・試していってセーフ・ブート下での新規アカウントでも同じ状態になったので、これしかないと思ったOSの再インストールでも問題は解消せず。 OSの再インストールでも解消しないということは、OSをメジャー・アップグレードしても解消しないとご推察の通りで。。。御存知の通り、Mac OS X 10.7 から基本的に上書きインストールでしか再インストールはできない、やろうと思えば新規インストールする方法もあるにはあるが正直あとの設定、アプリケーションのインストールし直し等面倒くさいのと、長らく使って他の動作に影響を及ぼしている様子も全然ないので「ま、いいか」と今に至るまで放置していた [1]
そうこまめに電源を落とす方ではないのだけど、起動し直すたんびに システム環境設定:サウンド を開いてバランサーをセンターにドラッグ操作をするのは、やはり煩わしい。

と、先日ふと、「今まで問題を根本的に解決することばかり考えていたけど、手動でセンターに調節し直す操作をApple Script(またはAutomator)で自動化してログイン項目に入れておけばいいんじゃね?」と、、、何でもっと早くに気付かなかったのか?! 気が付いてみれば何ということもないコロンブスの卵である。

OSインストール時にデフォルトでインストールされるAppleが用意してくれているサンプル(Apple Script、Automator のいずれも)には、音量を調節するものはあってもバランスにアクセスするものはない。
仕方ないのでググってみると参考になりそうなページが日本語では案外とない。もっと複雑で高度な操作を処理するスクリプトの解説ページは結構あるのだが、単純すぎて案外と盲点なのかも知れない。こういう時は、日本語を含まず英語のキーワードだけでググると英語のページが上位に出てくるというTipsを実行。具体的には「Apple Script Sound L/R Balance Fix」というキーワードで検索。
すると二番目にヒットした

L/R Audio Balance Menulet? – MacNN Forums

というページ。Mac Users の情報交換の場のひとつのようだ。内容的にそのまんま、私と同じ問題に遭遇している人が居るみたいで、その回答の中に

tell application "System Preferences"
	activate
	set current pane to pane "com.apple.preference.sound"
	reveal (first anchor of current pane whose name is "output")
end tell

tell application "System Events"
	launch
	tell process "System Preferences" to tell slider 1 of group 1 of tab group 1 of window 1 to set value to 0
end tell

quit application "System Preferences"

という Apple Script の例文がある。これを元に(その他調べて得られた情報を加味して)以下のコードでアプリケーション形式で保存した(アプレットにする)。保存場所はアプリケーション・フォルダ。

tell application "System Preferences"
	activate
	set current pane to pane "com.apple.preference.sound"
	reveal (first anchor of current pane whose name is "output")
end tell

tell application "System Events"
	launch
	tell process "System Preferences" to tell slider 1 of group 1 of tab group 1 of window 1 to set value to 0.5
end tell

quit application "System Preferences"
変更点:
  • Mac OS X 10.7 Lion からL/Rバランスのパラメータが「0 = only left output」「0.5 = centered output」「1 = only right output」と変わっているらしいので「value to 0.5」とした。
  • Mac OS X 10.6.x までは「-1 = only left output」「0 = centered output」「1 = only right output」参照:http://macscripter.net/viewtopic.php?id=25553
  • Mac OS X 10.7.x Lion までは、システム環境設定:アクセシビリティ:「補助装置にアクセスできるようにする」をオンにし、システム環境設定:アカウント:ログイン項目 に登録するだけで良かったのだが、Mac OS X 10.8.x Moutain Lion からセキュリティ強化の一環で App Stpre で配布されている以外のアプリケーションの実行はシステムから基本的に拒否される、これに加えて OSX Mavericks からはGUIにアクセスしに来るアプリケーションの場合、アプリケーション毎に システム環境設定:セキュリティ:アクセシビリティ から許可を与えないと実行できない。更にプロパティを保存しながらGUIスクリプティングを実行するアプリケーション(アプレット)の場合、CodeSigin(識別子:Bundle Identifier)がシステムに登録されていない場合、実行する度に異なるアプリケーションからのメソッドだと認知され「許可を与えている筈なのに実行を拒否される」という目に遭遇する。
    この問題の解決策は以下。

    OSX10.9におけるGUIスクリプティングとセキュリティとの戦い – ザリガニが見ていた…。

    要点だけを知りたい方は、zariganitoshさんが参照している以下を参照。

    Stardust from cometheart: AppleScript や Automator の CodeSign

    AudioBalance-center.app.tar
  • システム環境設定を起動して、サウンド項目は開いて、バランスをセンターにする、だけのアプレットです。
  • ご自由にダウンロードしてお使いください。改変、再配布、転載はご自由に。
  • ダウンロード後(このまま使う場合)起動前にターミナルで $ codesign -s - -i com.apple.ScriptEditor.id.AudioBalance-center -f /[current_directory]/gui_scripting.app を実行して下さい。([current_directory]はアプレットの置き場所の絶対パス。改行されて表示されているかもしれませんが実行時は改行なしで)
  • ——–[ 脚注 ]—————-
    1. 実際一度新規インストールはしてみたのだが、クローン・バックアップから差分を書き戻したら症状再発した。このことからシステムの基幹部(/Private/etc/ とか /usr/bin/ とか)に入っているファイルが鍵を握っているのだろうとは推測できても、半可な知識で触るとシステムの挙動自体を怪しくしてしまう危険性のある領域だけに迂闊に触れないので放置状態

    いやぁ〜、かっこいい! もう、この一言 Dirty Loops – Hit Me

    音楽を聴いて血が沸いたのはほんとにひさびさ! 久々にその勢いで iTunes Store で即買いしてしまった。

    いやぁ〜、かっこいい! もう、この一言。
    本人達も言っているように TOTO の影響は小さくない、特にドラムがポーカロしてる。キーボードのサウンドも含むアレンジがスティーヴ・ポーカロのセンスに溢れているのが僕的には一番グッと来るところ。

    でも、単純に TOTO の影響だけでなくフュージョン、ジャズ、ソウル、ファンク、、、雑多な音楽の影響を吸収している。良い意味でなんでもあり。
    ボーカルの節回しは随所随所でスティーヴィー・ワンダーの顔が垣間見えるし、「えっ!これCASSIOPEIA?」と思うアレンジがブリッジで出てきたり(ドラムは神保彰っぽくもある)。。。ベースのあんちゃんはパンキッシュな出で立ちなのに凄くオシャレなベース弾くし。




    Loopified (Deluxe Edition)

    2,100円
    (2014.06.12時点)
    posted with ポチレバ


    騙されたと思って買ってみ! iTunes Store なら試聴できるから聴くだけ聴いてみ!

    解決編:iPhoneユーザ辞書の中身が消える>iOS7(またはiCloud)の極悪仕様

    以前のエントリーの解決編なのですが、、、
    結論的なことを先に書きますと、Appleのデフォルト環境つまりAppleが用意している手段のみ、での解決はできない(現段階)ので、これを解決と言って良いのかどうかは微妙です。

    iPhoneユーザ辞書の中身が消える>iOS7(またはiCloud)の極悪仕様 « Macネタ | 物語研究所 “夢前案内人”

    前回エントリーを上梓した段階ではウェブ検索しても手掛かりになる情報は見付かりませんでした。より正確に言えば、iPhone上の同期したユーザ辞書が消える、リセットしても新規登録できないという症状は同じだが、iCloudの同期を一旦オフにしてとか、入力補助機能をゴニョゴニョすると治るという記事ばかりで、当環境で発生している現象には該当しない情報ばかりだった。それでも、駄目で元々で一応実行してみたが、案の定治りはしなかった。

    注釈:以下はiPhoneのユーザ辞書をMacのことえりユーザ辞書とiCloud経由で同期している人向けの情報で、iPhone単独使用でユーザ辞書のトラブルに見舞われている人には役立たない情報です。

    半年以上を経過して改めて検索してみると以下の記事を見付けた。

    直った!iOS 7でユーザー辞書が使えない人必見の治療方法!

    この記事で紹介されているリンク先

    iOS7のユーザ辞書をリセットするスクリプト – ザリガニが見ていた…。

    にアクセスして、ここから更に顛末のそもそもの記事

    徹底的にユーザ辞書を同期してみる – ザリガニが見ていた…。

    を読んでみると “ザリガニが見ていた…。” 管理人:zariganitoshさんも全く同じだと言える現象に遭遇してる! これでビンゴに違いない! なるほど、書いてある「いつの間にか膨れ上がってしまったユーザ辞書」というのも該当する。 なので示されている手順を実行する前に、ことえりのユーザ辞書を大々的にダイエットすることに。 ユーザ辞書のダイエット、編集の仕方および、バックアップの取り方は別エントリーにしましたので、こちらを参照してください。
    OSX Mavericks ことえりユーザ辞書の編集と、そしてバックアップ方法 « Macネタ | 物語研究所 “夢前案内人”

    ユーザ辞書同期不全 [1] の状態を解消する手順そのものは “徹底的にユーザ辞書を同期してみる – ザリガニが見ていた…。” を参照して頂くとして、要点、注意点、また私の環境では挙動が少し違った故に違った対応をした部分などを附記しておきます。

    • 件の「iOS7のユーザ辞書をリセットするスクリプト」は、iTunesでiPhoneのバックアップを実行してコンピュータ上に出来たバックアップ・ファイル(~/Library/Application Support/MobileSync/ に生成される)を読み取りに行って、この中のユーザ辞書に該当する部分のデータだけを取り除いたデータを別ファイルとして保存してくれる(ユーザ辞書部分だけ無くなったバックアップ・ファイルが出来る)。という動作をするものです。ので、このバックアップ・ファイルを作ってからiPhoneを初期化した後に、このバックアップ・ファイルから復元するとユーザ辞書が空っぽになった(その他の状態は元通りの)iPhoneになるということです。(下の画像参照)スクリーンショット iPhoneバックアップ-reset-user-dictionary
      理屈的には、バックアップを取る直前にiPhone上の操作でユーザ辞書をリセットしたもののバックアップを取れば同じになると思えるのですが、実際実行してみるとこの方法は上手くいかない。少なくとも私がやった限りでは上手くいかなかった。 後述する別件でもこのスクリプトが有効だったことを考え合わせると、単にユーザ辞書のサイズが膨大だったのだけでなく、辞書の内容ではなく辞書ファイルの容れ物(つまりはフォーマッティング)が破損していたのではないか?と推測します。だから辞書の登録削除の操作をしても正常に削除処理はされずに辞書データは残ったままだったのだと。ユーザ辞書が或る閾値を超えて大きくなるとフォーマットの整合性が損なわれる可能性も考えられます。そういえば確かにiPhone上で文字変換操作をしても候補に出てこないのに、iTunesに接続して表示されるステータスを見ると容量は減っていなかったので、ユーザ辞書の内容が消えたのではなく、データにアクセス出来なくなっていただけと考える方が辻褄が合います。


    • iCloud書類のリセットの作業を行うMac一台(以下「メイン機」)だけを残して、同じApple ID でiCloudにサインインしている全てのディバイスをサインアウトすると共にユーザ辞書を削除。
      ここで実は私はハマッてしまったのだが、デスクトップ機は内蔵HDDのクローンをバックアップとして外付けHDDに保存していて、時々内蔵HDD上のシステムのメンテがてら外付けのシステム(サブのシステム)から起動するのだが、こちらのアカウントでもiCloudにサインインしている状態だったのに加えて、メイン機に於いてもMacの動作に問題が起こった時の動作確認トラブル・シューティング用の別アカウントが作ってあって、こちらでもiCloudにサインイン状態だった等々を失念していて「https://www.icloud.com にアクセスして、アカウント設定 >> 詳細設定 >> 書類とデータのリセット」を実行。 見かけの操作上はリセット出来たように見える(そう表示される)も、ユーザ辞書がリセットされずに、リセットされていると思って一連の操作を済ませてiCloud同期を再開させると古い辞書が同期されて挙句 iPhoneのユーザ辞書が(見かけ上)消えてしまうという元の木阿弥に。 一台でもサインアウトしていないものが残っているとリセットは実行されないみたい(あくまで挙動からの推定)。


    • ここまで徹底しないといけないのかな?と半信半疑ですが「実際自環境ではこうしないと上手くリセットされなかった」ということで書いておきます。
      1. メイン機のメインのアカウント一つだけ残して(この段階ではメイン機メイン・アカウントはまだ触らない)、その他の全て・・・サブのアカウント、サブ機の過去に一回でもiCloudを利用したことのあるアカウント全て、Windows機で利用したこともあるなら当然これも、iCloudからサインアウト、より徹底したいならiCloudアカウント自体を削除した上で、ユーザ辞書を削除。当然iPhoneに於いてもiCloudアカウントを削除。メイン機メイン・アカウントはiCoud環境設定で「書類とデータ」の同期だけオフにする。
      2. ユーザ辞書の削除の仕方もより完璧を期する方法がありまして、以下の通りします。
        ~/Library/Dictionaries を開き、この中の「CoreDataUbiquitySupport」と「ユーザ辞書」を削除。(下の画像参照) ユーザ辞書の本体は「CoreDataUbiquitySupport」の方で「ユーザ辞書」はこれのコピー。OSX Mavericks からこういう仕様に変更になっていて、「ユーザ辞書」も残したのは下位バージョンからの移行を考慮に入れてのことだと思われます。なので将来的には「CoreDataUbiquitySupport」一本になっていく気がします。スクリーンショット ~/Library/Dictionaries の中の「CoreDataUbiquitySupport」と「ユーザ辞書」
      3. メイン機のメイン・アカウントで(まだ、このアカウントではiCloud同期は有効である点に注意されたし) ~/Library/Mobile Documents/com~apple~TextInput フォルダを削除 → しようとすると「“com~apple~TextInput”を iCloud から削除してもよろしいですか?」とアラートが出る。(下の画像参照)スクリーンショット Mobile Documents 内のものを削除しようとすると現れるアラートこの挙動から ~/Library/Mobile Documents/ 以下はDropBoxと同じ、このフォルダ以下の構成を触るとそれがそのままiCloudサーバに反映されるという機能の仕方をしていると分かる(だから、この時点でiCloudサーバとのリンクを切らないでおく必要があるのです)。削除後、念の為に https://www.icloud.com にアクセスして確認してみると com~apple~TextInput フォルダ自体は自動で再生成されていたが中身は空になっていた。
      4. ここでメイン機メイン・アカウントのiCloud同期をオフに(iCloudアカウントを削除)する。このうえで上記と同じ要領でユーザ辞書を削除する。(この段階でユーザ辞書のバックアップは確保できていること。まだならバックアップを先に済ませてください)
      5. 多分しなくても大丈夫なように思いますが念の為にコンピュータを再起動し、更に念には念を入れ(私の場合、先の失敗で懲りているので)全てのディバイスで「iCloud がオフの状態が維持されているか」「ユーザ辞書の中身は間違いなく空か」を確認した上で、メイン機メイン・アカウントにてバックアップからユーザ辞書を登録し直しました。
      6. メイン機のメイン・アカウントでテキスト・エディタを起動してことえりにて文字入力&変換を実行してみて登録単語が候補に現れてくるのを確認して、あとは順次iPhone、その他のディバイスのiCloud同期を(「書類とデータ」も)オンにし、文字入力&変換が正しく行えているかを確認して終わりです。

    おまけの後日談:

    本件とは別に後日、iPhoneの同期をiTunesから行おうとすると「空き容量不足です」という警告が出て同期が正常完了できない状態に陥った。新しいアプリを増やしたとか、同期する音楽、動画ファイルを増やしたとかは一切ないのにです。よく見るとiPhoneの容量表示インジケーターで「その他」の領域が異常に大きくなっていて、これ以前に同期してあった「音楽」「動画」「書類とデータ」の合計と数値的に一致するので、何らかの誤動作でフォーマットが壊れて何のファイルか正しく認識されなくなって「その他」扱いになっているのだろうと推測されました。こうなるとこれは最早「容量を無駄に使っているだけのゴミ」なのでiTunesから復元を実行するしかない。
    最初、普通に復元・・・復元実行プロセスの最初の段階でバックアップが実行されるバックアップからの復元・・・を実行したら、データ破損したそのままの「その他が大容量を占めている」状態で復元されてしまった。
    「ありゃりゃ、こりゃ困ったね」と思い、、、ここで閃いた。「もしかしたら(先述の)ユーザ辞書をリセットするスクリプト で処理したバックアップ・ファイルから復元を実行したら解決するのではないか?」と。
    これは勘である。根拠などない。やってみて駄目だったら他の手を考えれば良いだけ。と考え実行してみたら問題はクリアされた。
    このことから帰納的に考えるに、iPhoneのユーザ辞書のフォーマットが破損することが他の領域も巻き込んで正しく認識されなくなる事態を引き起こす場合があるのだろう。と。 もちろん、誤認識され「その他」の領域が異常に大きくなって「空き容量不足です」警告が出るトラブルの全てがこれに該当すると、たった一つのケースで言えるわけはありませんが、このトラブルに遭遇した方は「物は試し」と「やってみるだけやってみて上手く行ったらラッキー」くらいに考えて参考にして下されば幸いです。


    2014年6月10日 5:46 追記
    zariganitoshさんのページの片方、スマートフォン用のページのURLと気付かずにリンクしていたのでパソコン版の方のURLへ修正。

    ——–[ 脚注 ]—————-
    1. 辞書が表示されない、変換候補に出てこない、削除、追加、登録ができない、Mac上のことえりユーザ辞書とiPhoneのユーザ辞書の内容が一致しない

    OSX Mavericks ことえりユーザ辞書の編集と、そしてバックアップ方法

    OSX Mavericks になってからことえりユーザ辞書の編集の仕様が変わっていて、システム環境設定:キーボード:ユーザ辞書 からの操作になるのだが、一単語削除するのに30秒〜10分掛かるという激重の状態 [1] で「こんなのやってられない!」ので、

    何か方法はないかと調べていてこういうアプリケーションを発見した。


    因みにこの作者さんのページ、htmlのタイトルを付けていなかったりで一般的に考えられる「ことえりユーザ辞書 登録 Mavericks」でGoogle検索しても24番目(2014/6/5現在)で上位の方に表示されない上に、タイトルを付けていないので記事のサマリーまで目を通してはじめてMavericks用のことえりユーザ辞書登録アシスト・アプリを配布しているようだとわかる状態。 折角こういう皆の役に立つ良い物を作ってくれているのに、これじゃ気付く人は少ないですよ > 作者さん。と思うのだが、それとは裏腹にプロの手によるものと感じる実に垢抜けたページのデザインになっている。なんか訳ありな感じがしないでもない。

    Marvericks 専用 ことえりユーザ辞書単語登録/削除アプリ:FineWordRegister
    http://www.tk2.nmt.ne.jp/~underwood/finewordregister/

    %d人のブロガーが「いいね」をつけました。