Archive for the 'SBApplication' Category

2016/04/07 Scripting Bridge経由でアプリケーションを操作

通常のAppleScriptによるアプリケーションのコントロールのほかに、Scripting Bridge経由でアプリケーションにアクセスが可能です。

そこで、AppleScriptからScripting Bridge経由でアプリケーションを操作して、メリットがあるかどうか確認してみることにしました。

同じ内容を5回実行して平均時間をとると、Scripting Bridge経由でアクセスを行うと通常のAppleScriptの2.5倍遅いという結果が出ました。何事も実験が大事なので、一度このように実験しておけば、間違ってもScripting Bridge経由で操作しようとは思わないことでしょう。

compare.png

bridge.png

AppleScript名:普通にiTunesで選択中のトラック情報にアクセス
– Created 2016-04-07 by Takaaki Naganoya
– 2016 Piyomaru Software
use AppleScript version “2.4″
use scripting additions
use framework “Foundation”

tell application “iTunes”
  set aSel to current track
  
properties of aSel
  
–>  {id:40845, index:4, name:”エリザベス はじめてのおつかい”, persistent ID:”80F94D62BDF434F7″, database ID:21177, date added:date “2016年3月10日木曜日 14:28:11″, time:”3:35″, duration:215.052993774414, artist:”銀魂”, album artist:”銀魂”, composer:”Audio Highs”, album:”銀魂 オリジナル・サウンドトラック 4″, genre:”アニメ”, bit rate:256, sample rate:44100, track count:32, track number:2, disc count:1, disc number:1, size:7484506, volume adjustment:0, year:2012, comment:”(エリザベスハジメテノオツカイ)”, EQ:”", kind:”購入した AAC オーディオファイル”, video kind:none, modification date:date “2016年3月10日木曜日 14:28:33″, enabled:true, start:0.0, finish:215.052993774414, played count:12, played date:date “2016年3月28日月曜日 18:13:37″, skipped count:3, skipped date:date “2016年3月28日月曜日 15:57:23″, compilation:false, gapless:missing value, rating:100, bpm:0, grouping:”", podcast:false, iTunesU:false, bookmarkable:false, bookmark:0.0, shufflable:true, lyrics:”", category:”", description:”", long description:missing value, show:”", season number:0, episode ID:”", episode number:0, unplayed:false, sort name:”えりざべすはじめてのおつかい”, sort album:”ぎんたまおりじなるさうんどとらっくふぉー”, sort artist:”銀魂”, sort composer:”", sort album artist:”", sort show:”", release date:date “2012年3月21日水曜日 16:00:00″, loved:false, album loved:false}
end tell

★Click Here to Open This Script 

AppleScript名:Scripting Bridge経由でiTunesの選択中のトラック情報にアクセス
– Created 2016-04-07 by Takaaki Naganoya
– 2016 Piyomaru Software
use AppleScript version “2.4″
use scripting additions
use framework “Foundation”
use framework “ScriptingBridge”

set iTunes to current application’s SBApplication’s applicationWithBundleIdentifier:“com.apple.iTunes”
if iTunes’s isRunning() then
  set aSel to iTunes’s |currentTrack|()
  
aSel’s |properties|()
  
–>  (NSDictionary) {bitRate:256, year:2012, artist:”銀魂”, dateAdded:(NSDate) 2016-03-10 05:28:11 +0000, videoKind:(AppleScript) «constant ****kNon», objectClass:(AppleScript) «class cFlT», id:40845, albumArtist:”銀魂”, EQ:”", playedCount:12, sortAlbumArtist:”", genre:”アニメ”, discCount:1, releaseDate:(NSDate) 2012-03-21 07:00:00 +0000, rating:100, bookmarkable:0, show:”", episodeID:”", trackNumber:2, longDescription:missing value, album:”銀魂 オリジナル・サウンドトラック 4″, sortComposer:”", playedDate:(NSDate) 2016-03-28 09:13:37 +0000, bookmark:0.0, episodeNumber:0, size:7484506, iTunesU:0, start:0.0, sortArtist:”銀魂”, discNumber:1, skippedDate:(NSDate) 2016-03-28 06:57:23 +0000, gapless:missing value, objectDescription:”", name:”エリザベス はじめてのおつかい”, comment:”(エリザベスハジメテノオツカイ)”, compilation:0, sortName:”えりざべすはじめてのおつかい”, shufflable:1, lyrics:”", kind:”購入した AAC オーディオファイル”, trackCount:32, composer:”Audio Highs”, category:”", podcast:0, duration:215.052993774414, sampleRate:44100, finish:215.052993774414, grouping:”", unplayed:0, albumLoved:0, sortShow:”", bpm:0, seasonNumber:0, sortAlbum:”ぎんたまおりじなるさうんどとらっくふぉー”, index:4, time:”3:35″, loved:0, modificationDate:(NSDate) 2016-03-10 05:28:33 +0000, databaseID:21177, skippedCount:3, persistentID:”80F94D62BDF434F7″, volumeAdjustment:0, enabled:1}
end if

★Click Here to Open This Script