Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

ミュージック.app scripting book with AppleScript販売開始

Posted on 5月 25, 2021 by Takaaki Naganoya

iTunesの後継ソフトウェア「ミュージック」をmacOS標準搭載のスクリプティング言語「AppleScript」からコントロールするときの記述について、基礎を重視しつつ網羅的に説明する電子ブック「ミュージック.app scripting book with AppleScript」の販売を開始しました。

→ 販売ページ

252ページ+特別付録 AppleScript予約語リファレンス(124ページ)という構成で、もともとは376ページ。大きくなりすぎたので分冊化しました。

ミュージック.appのAppleScript用語辞書をくまなく解説し、印刷の指定からCDにプレイリストを焼くためにCD再生時間ごとにプレイリストを分割したり、iTunes REST APIを利用して指定の曲がApple Musicで配信されているかを調べたり、購入年ごとの集計結果をKeynote上にグラフ作成したりと、おおよそ考えつく内容をすべてまとめています。

さらに、執筆中に見つかった「多階層のフォルダプレイリストを階層指定してアクセス」「曲名が検索で探せない場合の手当て」などさまざまな奥義のかずかずを披露しています。

目次

初級

■スクリプトエディタを起動しよう

スクリプトエディタを起動しよう!
スクリプトエディタのヘルプ
色設定を変えてみよう!
スクリプトを入力してみよう
スクリプトを保存しよう
スクリプトを実行しよう
セキュリティとプライバシー
セキュリティとプライバシー>プライバシー

■ミュージックを起動しよう

ミュージック(Music.app)を指定
Music.appを起動
Music.appを終了
Music.appのAppleScript用語辞書の調べ方
メニュー項目や画面強制操作の調べ方
Music.appの詳細仕様について
Music.appの機能の方向性
Music.appの情報を取得しよう
Musicの名前を取得
mute(消音状態)を取得
mute(消音状態)を設定
volume(音量)を取得
volume(音量)を設定
シャッフルモードを取得
シャッフルモードを設定
リピートモードを取得
リピートモードを設定
current trackを取得
Music.appの情報を一括取得
Music.appのプロパティ項目と内容

■再生コントロールを行おう

Musicの再生コントロール機能
対応するAppleScriptのコマンド
再生/停止(トグル切り替え)
次へ
前へ

■再生ウィンドウの切り替え

Musicのウィンドウ表示状態
Musicのウィンドウ表示切り替え
ウィンドウ表示操作
ミニプレーヤー・ウィンドウ表示操作
その他のウィンドウ表示操作

■選択中のトラックを取得しよう

selection=選択中のもの
current playlist=再生中のプレイリスト

■表示の切り替え

アルバムを表示
ミュージックビデオを表示
カラムブラウザを表示

■エンコーダ情報の取得/設定変更

GUIでエンコーダ情報にアクセス
AppleScriptでエンコーダ情報にアクセス

■AirPlay情報の取得/設定変更

GUIでAirPlay出力先情報にアクセス
AppleScriptでAirPlay情報にアクセス
AppleScriptでAirPlay出力先デバイスを指定
AppleScriptでAirPlay出力先設定

■イコライザ設定

GUIでイコライザにアクセス
AppleScriptでイコライザにアクセス
AppleScriptでイコライザを切り替え

■ビジュアライザ設定

GUIでビジュアライザにアクセス
AppleScriptでビジュアライザにアクセス

■URL上のファイルをオープン

指定URLの音声ファイルをオープン

■Music.appの2つのスクリプトメニュー環境

2つのScript Menu環境
Music.app内蔵スクリプトメニュー

中級

■ソース、ライブラリ情報の取得

ソースの情報を取得

■プレイリストから情報を取得

プレイリスト、フォルダプレイリスト自体の情報
プレイリスト、フォルダプレイリスト内の曲にアクセス
共有プレイリスト

■トラックから情報を取得

トラック(曲)の名前を取得
トラック(曲)の詳細情報を取得
曲プロパティの項目と内容(1/3)
曲プロパティの項目と内容(2/3)
曲プロパティの項目と内容(3/3)

■Apple Musicからダウンロードした曲(トラック)の情報を取得

ダウンロードしたApple Musicの曲の情報
サブスク曲と通常購入曲の属性情報の違い
サブスク曲はMusic/TV.appでしか開けない

■手元にファイルが存在していないトラックをダウンロード

選択中のトラックをダウンロード

■属性情報を書き換えよう

name(曲名)を書き換え
name(曲名)を書き換え(グループ置換)
played count(再生回数)を書き換え
bpm(beat per minute)の情報を書き換え
曲プロパティの項目と内容(1/3)
曲プロパティの項目と内容(2/3)
曲プロパティの項目と内容(3/3)

■曲のアートワークを書き換えよう

トラック(曲)のアートワークを指定
参考資料:Image Eventsの設定変更
トラック(曲)のアートワークを削除

■曲を検索しよう

Music.appで曲を検索する方法

■指定の曲を再生しよう

最もよく聴く曲を再生
指定の曲を再生

■プレイリストの新規作成、名称変更、削除

プレイリストの新規作成
プレイリストの名称変更
プレイリストの削除
プレイリストをCD書き出しのために分割(1/2)
プレイリストをCD書き出しのために分割(2/2)

■フォルダプレイリストの新規作成、名称変更、削除

フォルダプレイリストの制約
多階層フォルダを指定してフォルダプレイリストを特定
フォルダプレイリストの操作
フォルダプレイリスト+プレイリスト作成(1/2)
フォルダプレイリスト+プレイリスト作成(2/2)

■音声ファイルの追加、削除、プレイリストへの登録

音声ファイルのMusicライブラリへの追加
トラック(曲)の指定プレイリストへの登録
選択中のトラックの削除
選択中のトラックの完全削除

■CDにアクセス

CDドライブの存在確認
音楽CD(メディア)の存在確認
CDの情報を取得
CDトラックにアクセス
CDトラックを読み込み
プレイリストからオーディオCD作成
オーディオCDのイジェクト

■プリントアウト

ミュージックから印刷出力
「CDジャケット」形式のプリントアウト内容一覧
「曲」「アルバム」のリスト形式のプリントアウト内容一覧
AppleScriptによるプリントアウト形式指定
AppleScriptによるプリントアウトフロー
AppleScriptによるプリントアウト

上級

■iTunes向けのScriptをMusic.app用に書き換えよう

iTunes向けScriptの書き換え
iTunes向けScriptの書き換え
コラム「Music.appが使用するパス表現」

■曲名の文字コード(Normalize方式)が異なる問題

track(曲)の名称について
track(曲)の名称の文字コードについて
track(曲)の名称をhexdumpするScript
対処方法:インポートした曲名をつけかえる

■音声ファイルの変換

Music.appの機能を用いてオーディオファイル形式変換
音声ファイルのMusicライブラリへの追加

■shared trackとtrackのちがい

shared trackとtrackの違い
shared trackとtrackの違い
ファイルの所在によるclassの違い

■各種playlistのちがい

各種playlistの定義の違い
トラック(曲)にアクセスするための経路

■LAN上の共有Musicライブラリを検出

ミュージックの共有ライブラリ
LAN上の共有Musicライブラリをリストアップ
LAN上の共有Musicライブラリに手動アクセス
LAN上の共有Musicライブラリを指定

■iTunes StoreにREST API経由でアクセス

iTunes REST APIにアクセス
選択中の曲がApple Musicで配信されているか確認
自分のライブラリ中の作曲者のサブスク配信率
(参考)サブスク配信率計算結果

■高度なサンプル集

AppleScriptで操作可能な範囲
ライブラリ中の全トラックのアーティスト名をリストアップ
ライブラリ中のファイルをファイル種別ごとに集計
ライブラリ中の各trackをメディア種別ごとに集計
ライブラリ中の各trackのジャンル集計
ジャンル名簡易名寄せ
ライブラリ中のアートワークをすべてJPGで書き出し
ライブラリ中のアートワークの画像種別集計
ライブラリ中の曲タイトルをアルバムごとにまとめて出力
再生曲が変わったら通知
ライブラリへの追加年(購入年)で集計してグラフ表示
最終再生時を集計してKeynoteで縦棒グラフ表示

■便利な他のプログラムや周辺機器

さまざまなAppleScript呼び出しプログラムから操作①
さまざまなAppleScript呼び出しプログラムから操作②
さまざまなAppleScript呼び出しプログラムから操作③
さまざまなAppleScript呼び出しプログラムから操作④
Mac用AirPlay Serverソフトウェア

資料集

■Music.appのAppleScript用語辞書解説

Music.app用語辞書

■iTunes/MusicのAppleScript用語の変遷

iTunes.app/Music.app用語辞書の変遷

■サードパーティ製FrameworkやAppleScript Librariesを呼ぶ

Script BundleにFramework / AppleScript Librariesを入れる
Shane StanleyのScript Toolの変遷
Shane StanleyのScript Libraries
Piyomaru SoftwareのScript Libraries

■AppleScript mini Reference

macOS搭載 AppleScript関連ドキュメント
AppleScript関連の情報源
macOSバージョンとAppleScriptの動向
macOSとAppleScriptの要素技術史
各macOSごとのAppleScript解説(1/4)
各macOSごとのAppleScript解説(2/4)
各macOSごとのAppleScript解説(3/4)
各macOSごとのAppleScript解説(4/4)
macOS内AppleScript補助ツールの歴史
System EventsのAppleScript用語辞書変更点
AppleScript 各ランタイム環境情報
AppleScript 関連ツール
Cocoa Scripting 関連ツール

■ミュージック&AppleScript Q&A

AppleScriptに関するQ&A❶
AppleScriptに関するQ&A❷
AppleScriptに関するQ&A❸

あとがき
奥付

More from my site

  • Apple Musicが2021年6月から高音質化、空間オーディオ対応Apple Musicが2021年6月から高音質化、空間オーディオ対応
  • Music Control with AppleScriptが再始動Music Control with AppleScriptが再始動
  • UI Browserがgithub上でソース公開され、オープンソースにUI Browserがgithub上でソース公開され、オープンソースに
  • AS関連データの取り扱いを容易にする(はずの)privateDataTypeLibAS関連データの取り扱いを容易にする(はずの)privateDataTypeLib
  • カギカッコのペア検出+エラーチェックカギカッコのペア検出+エラーチェック
  • Bundle IDで指定したアプリケーションのSDEFからコマンドを抽出テスト(指定コマンドのコマンド属性取り出し)Bundle IDで指定したアプリケーションのSDEFからコマンドを抽出テスト(指定コマンドのコマンド属性取り出し)
(Visited 90 times, 1 visits today)
Posted in Books PRODUCTS | Tagged 10.15savvy 11.0savvy Music | Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • macOS 13, Ventura(継続更新)
  • アラートダイアログ上にWebViewで3Dコンテンツを表示(WebGL+three.js)v3
  • UI Browserがgithub上でソース公開され、オープンソースに
  • Xcode 14.2でAppleScript App Templateを復活させる
  • macOS 13 TTS Voice環境に変更
  • 2022年に書いた価値あるAppleScript
  • ChatGPTで文章のベクトル化(Embedding)
  • 新発売:AppleScriptからSiriを呼び出そう!
  • iWork 12.2がリリースされた
  • 従来と異なるmacOS 13の性格?
  • 新発売:CotEditor Scripting Book with AppleScript
  • macOS 13対応アップデート:AppleScript実践的テクニック集(1)GUI Scripting
  • AS関連データの取り扱いを容易にする(はずの)privateDataTypeLib
  • macOS 12.5.1、11.6.8でFinderのselectionでスクリーンショット画像をopenできない問題
  • macOS 13でNSNotFoundバグふたたび
  • ChatGPTでchatに対する応答文を取得
  • 新発売:iWork Scripting Book with AppleScript
  • Finderの隠し命令openVirtualLocationが発見される
  • macOS 13.1アップデートでスクリプトエディタの挙動がようやくまともに
  • あのコン過去ログビューワー(暫定版)

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1390) 10.14savvy (586) 10.15savvy (434) 11.0savvy (277) 12.0savvy (185) 13.0savvy (55) CotEditor (60) Finder (47) iTunes (19) Keynote (98) NSAlert (60) NSArray (51) NSBezierPath (18) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (51) NSDictionary (27) NSFileManager (23) NSFont (18) NSImage (41) NSJSONSerialization (21) NSMutableArray (62) NSMutableDictionary (21) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (117) NSURL (97) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (56) Pages (37) Safari (41) Script Editor (20) WKUserContentController (21) WKUserScript (20) WKUserScriptInjectionTimeAtDocumentEnd (18) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • Clipboard
  • Code Sign
  • Color
  • Custom Class
  • dialog
  • drive
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • PDF
  • Peripheral
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC