問題タブ [scripting-bridge]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocoa - Scripting Bridge と NSPredicate を使用して、いくつかの基準で CPU をペグします。
Scripting Bridge 経由で iTunes からトラックのリストを取得しようとしています。それが推奨される方法なNSPredicate
ので、私は使用しています。これは場合によっては非常にうまく機能しますが、他の場合には使用できないほど遅くなります。たとえば、これは非常に迅速に実行されます。
(libraryPlaylist
他の場所で作成された iTunesLibraryPlaylist オブジェクトです。)
しかし、ミックスに または のいずれかを追加するkind
とvideoKind
、iTunes は 100% の CPU に 1 分以上かかります。
しかし、それは最終的にうまくいくでしょう。本当の失敗はalbumArtist
. 私が試したら
iTunes は 100% の CPU になり、どれくらいの時間かわかりません。(私は 3 ~ 4 分後にあきらめました。) 何か足りないのでしょうか、それとも iTunes のバグですか?
追加情報
私のコードは結果のトラックを取得し、別のメソッドを呼び出してそれらをプレイリストに追加します (スクリプト ブリッジも使用します)。種類でフィルタリングしようとすると、iTunes が CPU を叩いている間、トラックが 1 つずつゆっくりとリストに表示されることに気付きました。filteredArrayUsingPredicate
これは、がすでに結果を返していることを意味するにすぎません。
python - ScriptingBridgeとPythonを使用して、現在再生中のトラックからどのようなプロパティを取得できますか?
この例をベースとして使用しており、現在のトラックに関するもう少し情報を取得したいと思います。たとえば、トラックの現在の時刻(「再生ヘッド」はどこか)やトラックの合計の長さなどです。
macruby - ScriptingBridgeを使用するMacRubyスクリプトの起動時間を短縮することは可能ですか?
AppleScriptをサポートするMacアプリケーションを制御するために、AppleScriptの代わりにScriptingBridgeでMacRubyを使用したいと思います。以前はappscriptを使用してこれを行っていましたが、これは事実上非推奨であるため、MacRubyとスクリプトブリッジを移動します。
私が抱えている唯一の問題は、高速SSDを搭載した高速マシンでも、ScriptingBridgeフレームワークのロードに約1秒かかることです。たとえば、この単純なスクリプトの実行には約0.9秒かかり、ほとんどの時間はScriptingBridgeフレームワークのロードに費やされます。
同等のosascriptの実行には約70ミリ秒かかり、py-appscriptは同様の時間を与えるために使用されます。
MacRuby / ScriptingBridgeスクリプトをより迅速に起動するものにバンドル/コンパイル/縮小する簡単な方法はありますか?
macrubycを使用してスクリプトをスタンドアロンの実行可能ファイルにバンドルしようとしましたが、結果の実行可能ファイルは、通常の実行時にスクリプトよりもはるかに高速に実行されず、実行に約1秒かかります。
(macrubycのようなコンパイル手順では、スクリプトがフレームワークのどの部分にアクセスするかを簡単に確認できず、最適化が困難になるため、私の勘は違います。)
python - wxPython と ScriptingBridge が終了時に Seg Fault を引き起こす
これは非常に奇妙な状況であり、私には理解できないようです。OSX Lion (wxpython バージョン 2,9,3,1) で wxPython を使用してアプリケーションを作成しています。
ScriptingBridge からインポートし、フレームを作成して閉じるなどの単純なことを行うと、フレームがきれいに閉じず、閉じるときにエラーが発生します。このコードを試してください:
このコードを実行したら、単純に閉じてください。セグメント障害になるはずです。ここで、ScriptingBridge インポートをコメント アウトし、再度実行して閉じます。ノーセグフォルト。
これをさらに奇妙にしているのは、ScriptingBridge をインポートし、wxPython をインポートしないスクリプトを作成しただけの場合、スクリプトが終了すると、セグメント障害が発生しないことです... 2 つの組み合わせのようです。
誰かがこれを見て、回避策を見つけましたか? 可能であれば、アプリを正常に終了させたいです。
objective-c - 下書き(Mail.app)から添付ファイルを送信できません
Mail.appで作成したドラフトを送信しようとしています。
下書きには送信方法がないため、下書きからすべてのコンテンツを取得し、それを使用して新しい電子メールを作成する必要があります。それは大丈夫なはずですが...添付ファイルが通っていません。
私はこれを使用しています:
発信は私が作成しているメッセージであり、メッセージは私が読んでいるドラフトです。
メッセージの添付ファイルをループして手動で追加しようとしましたが、常に次のように表示されます。
これは私がそれらをループしている方法です:
ファイルパスNSLogは、何があっても常に(null)として出力されることに注意してください。
ここで助けていただければ幸いです。
macruby - MacRubyScriptingBridgeの読み込み速度
MacRubyからスクリプトブリッジアプリケーションをロードするより速い方法はありますか?
Adobe InDesign用のSBApplicationオブジェクトを作成すると、ロードに10秒以上かかります。これが私が使用しているコードです:
もちろん、生成されたヘッダーファイルはInDesignにとって巨大です...サポートファイルの使用を強制する方法はありますか?
ruby - MacTypes::FileURLをappscript-rubyからMacRubyScriptingBridgeに書き換える
特定のPDFをBibDeskのパブリケーションに自動的に添付するスクリプトがあります。appscript-rbを使用すると、次のスニペットが完全に機能します。
MacRuby用に書き直そうとして、私は次のことを思いついた。
ただし、これによりMacRubyがクラッシュします(これも間違っているためだと思います)。私はただ得る:
appscript-rubyを適切なMacRubyScriptingBridge形式に書き直すにはどうすればよいですか?
objective-c - Applescriptを使用してデスクトップで選択/クリックされたアイテムを取得する
デスクトップで現在選択されている項目または右クリックされたデスクトップ項目を取得する必要があります。このアイテムのパスに応じて、何らかのアクションを実行する必要があります。これはapplescriptを使用して実行できますか???
現在、ここに記載されているロジックを使用しています(スクリプト ブリッジを使用)
しかし、これはデスクトップビューだけでなく、ファインダーウィンドウのいずれかから選択を取得しているようです。誰でも代替案を提供できますか??
objective-c - ScriptingBridge を介して iTunes で特定のタイトルを再生する
ScriptingBridge 経由で iTunes と対話するアプリケーションを作成しようとしています。これまでのところうまく機能していますが、この方法のオプションは非常に限られているようです。
特定の名前の曲を再生したいのですが、これを行う方法がないようです。iTunes.h に似たようなものは見つかりませんでした…</p>
AppleScript では、わずか 3 行のコードです。
すると、iTunes がクラシック ビートルズの曲の再生を開始します。ScriptingBridge でこれを行うことができますか、それともアプリからこの AppleScript を実行する必要がありますか?
macos - MacRuby で NSPopUpButton を ITunesPlaylist オブジェクトにバインドするにはどうすればよいですか?
NSPopUpButton に ITunesPlaylist オブジェクトの配列を設定しようとしています。NSArrayController を NSPopUpButton にバインドしました
すべてのプレイリストは NSPopUpButton に表示されますが、すべての名前には
私がやりたいことは、ITunesPlaylist.name を NSPopUpButton のコンテンツ値にバインドすることですが、それを機能させることができないようです。
また、Scripting Bridge API 呼び出し (ITunesPlaylist、ITunesTrack など) によって返されるオブジェクトのクラス定義に関するドキュメントはほとんどないようです。
誰かが私にいくつかの指針を与えることができますか? 最終的には、ユーザーの iTunes プレイリストを階層形式で表示するドロップダウン メニューを作成したいと考えています。