« [NSRunningApplication]起動中か確認 | トップページ | [spotify]再生中の曲名とアーティスト名で検索 »

再生中の曲名とアーティスト名で検索

【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use framework "AppKit"
use scripting additions

property refMe : a reference to current application
set ocidPasteboard to refMe's NSPasteboard's generalPasteboard()


tell application "Music"
  set objNowTrack to current track
  tell objNowTrack
    properties
  end tell
  set strArtist to (artist of objNowTrack) as text
  set strTitle to (name of objNowTrack) as text
  
end tell
set strSeachText to ("\"" & strArtist & "\"+\"" & strTitle & "\"") as text
set strText to ("" & strArtist & "\t" & strTitle & "") as text


###可変テキストに格納しておく
set ocidSeachText to refMe's NSString's stringWithString:(strSeachText)
set ocidSeachString to refMe's NSMutableString's alloc()'s initWithCapacity:0
ocidSeachString's setString:ocidSeachText
######## %エンコードする
##キャラクタセットを指定
set ocidChrSet to refMe's NSCharacterSet's URLQueryAllowedCharacterSet
###ペーストボードの内容をキャラクタセットで変換
set ocidSeachStringEnc to ocidSeachString's stringByAddingPercentEncodingWithAllowedCharacters:(ocidChrSet)

######## 置換 %エンコードの追加処理
###置換レコード
set recordPercentMap to {|+|:"%2B", |=|:"%3D", |&|:"%26"} as record
###ディクショナリにして
set ocidPercentMap to refMe's NSDictionary's alloc()'s initWithDictionary:recordPercentMap
###キーの一覧を取り出します
set ocidAllKeys to ocidPercentMap's allKeys()

###取り出したキー一覧を順番に処理
repeat with itemAllKey in ocidAllKeys
  ##キーの値を取り出して
  set ocidMapValue to (ocidPercentMap's valueForKey:itemAllKey)
  ##置換
  set ocidEncodedText to (ocidSeachStringEnc's stringByReplacingOccurrencesOfString:(itemAllKey) withString:(ocidMapValue))
  ##次の変換に備える
  set ocidTextToEncode to ocidEncodedText
end repeat

set strSeachText to ocidTextToEncode as text


set ocidText to refMe's NSString's alloc()'s initWithString:(strText)
ocidPasteboard's setString:ocidText forType:(refMe's NSPasteboardTypeString)

set strBaseUrl to "https://www.google.com/search?q="

set strOpenURL to (strBaseUrl & strSeachText) as text

tell application "Google Chrome"
  set numCntWindow to (count of every window) as integer
  if numCntWindow ≠ 0 then
    tell front window
set objNewTab to make new tab
tell objNewTab to set URL to strOpenURL
    end tell
  else
make new window
    tell front window
set objNewTab to make new tab
tell objNewTab to set URL to strOpenURL
    end tell
    
  end if
end tell


|

« [NSRunningApplication]起動中か確認 | トップページ | [spotify]再生中の曲名とアーティスト名で検索 »

AppleScript Music」カテゴリの記事