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

SHARP MZ MML再生_アルハンブラ_mono

Posted on 1月 11 by Takaaki Naganoya

はるかかなた昔の、MZ-80Bが採用していた単音3オクターブの範囲の音楽再生を行うPLAY文、それに準拠したポケットコンピュータ用の音楽再生プログラムのデータ「アルハンブラの想い出」の再生を行うため「だけ」に、そのMML再生プログラムをAppleScriptで作ってみたものです(2時間ぐらいだったか)。

音階再生用に、オープンソースの「MPSoundEngine」フレームワークをUniversal Binaryでビルドし直して、これを用いて音階データと音の長さのデータのテーブルを作って再生しています。

–> Download mpSoundKit_univ.framework(To ~/Library/Frameworks)

オリジナルのMZにしてもポケットコンピュータのMML再生プログラムにしても、単音しか出ない仕様ですが、このデータの原作者が楽譜を細切れにしてアルペジオ奏法で演奏させているかのような効果を生み出しています。これは、当時も腰を抜かしましたが、普通こんなものはやらない狂気の産物、人類レベルの遺産といえます。

→ 本AppleScriptの再生ムービー

MPSoundEngineをフレームワーク化したものを呼び出しているため、実行にはScript Debuggerが必要です。macOS 11よりも古い環境では以前に掲載したFramework(Intelバイナリのみ)がそのまま利用できるはずです。

まだ、いまひとつ休符(R)の処理などがうまく行っていないようで、この曲以外のデータを再生させると、首をひねってしまう演奏をしてしまうものの、それはオリジナルのデータの出来がよくなかったのか、あるいはこのプログラムの再現度が高くないためかは不明です。

AppleScript名:SHARP MZ MML再生_アルハンブラ_mono.scptd
—
–  Created by: Takaaki Naganoya
–  Created on: 2022/12/22
—
–  Copyright © 2022 Piyomaru Software, All Rights Reserved
—
use AppleScript version "2.4" — Yosemite (10.10) or later
use framework "Foundation"
use framework "mpSoundKit" –https://github.com/matthiasplappert/MPSoundEngine
use scripting additions

script spd
  property musStr : ""
  
property musList : {}
  
property mmlList : {}
end script

set octL to {"-C", "-#C", "-D", "-#D", "-E", "-F", "-#F", "-G", "-#G", "-A", "-#A", "-B", "C", "#C", "D", "#D", "E", "F", "#F", "G", "#G", "A", "#A", "B", "+C", "+#C", "+D", "+#D", "+E", "+F", "+#F", "+G", "+#G", "+A", "+#A", "+B"}

set lenL to {130.81, 138.59, 146.83, 155.56, 164.81, 174.61, 185.0, 196.0, 207.65, 220.0, 233.08, 246.94, 261.63, 277.18, 293.66, 311.13, 329.63, 349.23, 369.99, 392.0, 415.3, 440.0, 466.16, 493.88, 523.25, 554.37, 587.33, 622.25, 659.25, 698.46, 739.99, 783.99, 830.61, 880.0, 932.33, 987.77}

set noteList to {"9", "8", "7", "6", "5", "4", "3", "2", "1", "0"}
set noteTime to {4, 3, 2, 1.5, 1, 0.75, 0.5, 0.375, 0.25, 0.125}

set aDict to current application’s NSMutableDictionary’s dictionaryWithObjects:(lenL) forKeys:(octL)
set bDict to current application’s NSMutableDictionary’s dictionaryWithObjects:(noteTime) forKeys:(noteList)

set (musStr of spd) to "-A0+E+E+EE+E+E+E+C0+E+E+EE+E+E+EB0+D+D+DE+D+D+D-A0+C+C+CE+C+C+CA0+C+C+CE+C+C+CB0+D+D+DE+D+D+D-A0+E+E+EE+E+E+E+C0+E+E+EE+E+E+E+C0+E+E+EE+E+E+E-A0+E+E+EE+E+E+E+C0+E+E+EE+E+E+E+D0+F+F+FG+F+F+FC0+G+G+GG+G+G+G+E0+G+G+GG+G+G+G+E0+F+F+FG+F+F+FC0+E+E+EG+E+E+E+C0+E+E+EG+E+E+E+D0+F+F+FG+F+F+FC0+G+G+GG+G+G+G+E0+G+G+GG+G+G+G+E0+G+G+GG+G+G+GC0+G+G+GG+G+G+G+E0+G+G+GG+G+G+G+E0+G+G+GG+G+G+G-F0+C+C+CC+C+C+CA0+C+C+CC+C+C+CG0+B+B+BC+B+B+B-F0+A+A+AC+A+A+A+F0+A+A+AC+A+A+A-D0+B+B+BF+B+B+B-E0+A+A+AB+A+A+A+E0+#G+#G+#GB0+#G+#G+#G+E0+#G+#G+#GB0+#G+#G+#G-E0+#G+#G+#G+D0+#G+#G+#G+E0+#G+#G+#G+D0+#G+#G+#G+E0+#G+#G+#G+D0+#G+#G+#G-A0+#A+#A+#A+#C0+#A+#A+#A+E0+#A+#A+#A+#C0+#A+#A+#A+E0+A+A+A+#C0+A+A+A#C0+G+G+GA+G+G+G+E0+G+G+GA+G+G+G+F0+A+A+AA+A+A+AD0+G+G+G+E+G+G+G+D0+F+F+FA+F+F+F+D0+F+F+FA+F+F+FD0+F+F+FA+F+F+F+D0+F+F+FA+F+F+F+D0+F+F+FA+F+F+FD0+E+E+EA+E+E+E+B0+E+E+EA+E+E+E+B0+D+D+DA+D+D+D-F0+C+C+C#D+C+C+CA0+C+C+C#D+C+C+CA0+D+D+DD+D+D+D-E0+C+C+CE+C+C+C#G0BBBEBBB#G0BBBEBBB-E0BBBEBBB#G0BBBEBBB#G0BBBEBBB-A0+E+E+EE+E+E+E+C0+E+E+EE+E+E+EB0+D+D+DE+D+D+D-A0+C+C+CE+C+C+CA0+C+C+CE+C+C+CB0+D+D+DE+D+D+D-A0+E+E+EE+E+E+E+C0+E+E+EE+E+E+E+C0+E+E+EE+E+E+E-A0+E+E+EE+E+E+E+C0+E+E+EE+E+E+E+D0+F+F+FG+F+F+FC0+G+G+GG+G+GE0+G+G+GG+G+G+G+E0+F+F+FG+F+F+FC0+E+E+EG+E+E+E+C0+E+E+EG+E+E+E+D0+F+F+FG+F+F+FC0+G+G+GG+G+G+G+E0+G+G+GG+G+G+G+E0+G+G+GG+G+G+GC0+G+G+GG+G+G+G+E0+G+G+GG+G+G+G+E0+G+G+GG+G+G+G-F0+C+C+CC+C+C+CA0+C+C+CC+C+C+CG0+B+B+BC+B+B+B-F0+A+A+AC+A+A+A+F0+A+A+AC+A+A+A-D0+B+B+BF+B+B+B-E0+A+A+AB+A+A+A+E0+#G+#G+#GB0+#G+#G+#G+E0+#G+#G+#GB0+#G+#G+#G-E0+#G+#G+#GD0+#G+#G+#G+E0+#G+#G+#G+D0+#G+#G+#G+E0+#G+#G+#GD0+#G+#G+#G-A0+#A+#A+#A+#C0+#A+#A+#A+E0+#A+#A+#A+#C0+#A+#A+#A+E0+A+A+A+#C+A+A+A#C0+G+G+GA+G+G+G+E0+G+G+GA+G+G+G+F0+A+A+AA+A+A+AD0+G+G+G+E+G+G+G+D0+F+F+FA+F+F+F+D0+F+F+FA+F+F+FD0+F+F+FA+F+F+F+D0+F+F+FA+F+F+F+D0+F+F+FA+F+F+FD0+E+E+EA+E+E+E+B0+E+E+EA+E+E+E+B0+D+D+DA+D+D+D-F0+C+C+C#D+C+C+CA0+C+C+C#D+C+C+CA0+D+D+DD+D+D+D-E0+C+C+CE+C+C+C#G0BBBEBBB#G0BBBEBBB-E0BBBEBBB#G0BBBEBBB#G0BBBEBBB-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+EB0+D+D+DE+D+D+D-A0+#C+#C+#CE0+#C+#C+#CA0+#C+#C+#CE0+#C+#C+#CB0+D+D+DE+D+D+D-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-A0+#F+#F+#F#F0+#F+#F+#F+D0+#F+#F+#F#F0+#F+#F+#F+D0+#F+#F+#F#F0+#F+#F+#F-A0+D+D+DD+D+D+DB0+D+D+DD+D+D+DD0+#F+#F+#F#F0+#F+#F+#F-A0+#F+#F+#F-D0+#F+#F+#G+#F+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-#F0+A+A+A#F+A+A+AA0+A+A+A+#C+A+A+AA0+A+A+A#F+A+A+A#G0+#G+#G+#G#G0+#G+#G+#G#B0+#G+#G+#G#D0+#G+#G+#G#B0+#D+#D+#D#G0+#D+#D+#D#C0+#F+#F+#F#G0+#F+#F+#F+#C0+E+E+E#G+E+E+E+#C0+E+E+E#G+E+E+E#C0+E+E+E#G0+E+E+E+#C0+E+E+E#G+E+E+E+#C0+E+E+E#G+E+E+E-B0+D+D+DF+D+D+DF0+D+D+DD+D+D+DE0+D+D+DF+D+D+D-E0+#C+#C+#CE0+#C+#C+#CE0+#C+#C+#CE0+#C+#C+#C-E0BBBDBBB-A0BBBEBBBE0AAAEAAA#F0AAAGAAA-A0AAAEAAA#C0AAAEBBBA0+#C+#C+#CB0+D+D+D-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+EB0+D+D+DE+D+D+D-A0+#C+#C+#CE0+#C+#C+#CA0+#C+#C+#CE0+#C+#C+#CB0+D+D+DE+D+D+D-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-A0+#F+#F+#F#F0+#F+#F+#F+D0+#F+#F+#F#F0+#F+#F+#F+D0+#F+#F+#F#F0+#F+#F+#F-A0+D+D+DD+D+D+DB0+D+D+DD+D+D+DD0+#F+#F+#F#F0+#F+#F+#F-A0+#F+#F+#F-D0+#F+#F+#F+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-#F0+A+A+A#F+A+A+AA0+A+A+A+#C+A+A+AA0+A+A+A#F+A+A+A#G0+#G+#G+#G#G0+#G+#G+#G#B0+#G+#G+#G#D0+#G+#G+#G#B0+#D+#D+#D#G0+#D+#D+#D#C0+#F+#F+#F#G0+#F+#F+#F+#C0+E+E+E#G+E+E+E+#C0+E+E+E#G+E+E+E#C0+E+E+E#G+E+E+E+#C0+E+E+E#G+E+E+E+#C0+E+E+E#G+E+E+E-B0+D+D+DF+D+D+DF0+D+D+DD+D+D+DE0+D+D+DF+D+D+D-E0+#C+#C+#CE0+#C+#C+#CE0+#C+#C+#CE0+#C+#C+#C-E0BBBDBBB-A0AAAEAAAE0AAAEBBBA0+C+C+CB+D+D+D-A0+E+E+EE+E+E+E+C0+E+E+EE+E+E+EB0+D+D+DE+D+D+D-A0+C+C+CE+C+C+CA0+C+C+CE+C+C+CB0+D+D+DE+D+D+D-A0+E+E+EE+E+E+E+C0+E+E+EE+E+E+E+C0+E+E+EE+E+E+E-A0+E+E+EE+E+E+E+C0+E+E+EE+E+E+E+D0+F+F+FG+F+F+FC0+G+G+GG+G+G+G+E0+G+G+GG+G+G+G+E0+F+F+FG+F+F+FC0+E+E+EG+E+E+E+C0+E+E+EG+E+E+ED0+F+F+FG+F+F+FC0+G+G+GG+G+G+G+E0+G+G+GG+G+G+G+E0+G+G+GG+G+G+GC0+G+G+GG+G+G+G+E0+G+G+GG+G+G+G+E0+G+G+GG+G+G+G-F0+C+C+CC+C+C+CA0+C+C+CC+C+C+CG0+B+B+BC+B+B+B-F0+A+A+AC+A+A+A+F0+A+A+AC+A+A+A-D0+B+B+BF+B+B+B-E0+A+A+AB+A+A+A+E0+#G+#G+#GB0+#G+#G+#G+E0+#G+#G+#GB0+#G+#G+#G-E0+#G+#G+#GD0+#G+#G+#G+E0+#G+#G+#G+D0+#G+#G+#G+E0+#G+#G+#G+D0+#G+#G+#G-A0+#A+#A+#A+#C0+#A+#A+#A+E0+#A+#A+#A+#C0+#A+#A+#A+E0+A+A+A+#C+A+A+A#C0+G+G+GA+G+G+G+E0+G+G+GA+G+G+G+F0+A+A+AA+A+A+AD0+G+G+G+E+G+G+G+D0+F+F+FA+F+F+F+D0+F+F+FA+F+F+FD0+F+F+FA+F+F+F+D0+F+F+FA+F+F+F+D0+F+F+FA+F+F+FD0+E+E+EA+E+E+E+B0+E+E+EA+E+E+E+B0+D+D+DA+D+D+D-F0+C+C+C#D+C+C+CA0+C+C+C#D+C+C+CA0+D+D+DD+D+D+D-E0+C+C+CE+C+C+C#G0BBBEBBB#G0BBBEBBB-E0BBBEBBB#G0BBBEBBB#G0BBBEBBB-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+EB0+D+D+DE+D+D+D-A0+#C+#C+#CE0+#C+#C+#CA0+#C+#C+#CE0+#C+#C+#CB0+D+D+DE+D+D+D-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-A0+#F+#F+#F#F0+#F+#F+#F+D0+#F+#F+#F#F0+#F+#F+#F+D0+#F+#F+#F#F0+#F+#F+#F-A0+D+D+DD+D+D+DB0+D+D+DD+D+D+DD0+#F+#F+#F#F0+#F+#F+#F-A0+#F+#F+#F-D0+#F+#F+#F+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-#F0+A+A+A#F+A+A+AA0+A+A+A+#C+A+A+AA0+A+A+A#F+A+A+A#G0+#G+#G+#G#G0+#G+#G+#G#B0+#G+#G+#G#D0+#G+#G+#G#B0+#D+#D+#D#G0+#D+#D+#D#C0+#F+#F+#F#G0+#F+#F+#F+#C0+E+E+E#G0+E+E+E+#C0+E+E+E#G0+E+E+E#C0+E+E+E#G0+E+E+E+#C0+E+E+E#G+E+E+E+#C0+E+E+E#G+E+E+E-B0+D+D+DF+D+D+DF0+D+D+DD+D+D+DE0+D+D+DF+D+D+D-E0+#C+#C+#CE0+#C+#C+#CE0+#C+#C+#CE0+#C+#C+#C-E0BBBDBBB-A0BBBEBBBE0AAAEAAA#F0AAAGAAA-A0AAAEAAAE0AAAEAAAE0AAAEAAA-A0AAAFAAAF0AAAFAAAF0AAAFAAA-A0BBBFBBBA0+C+C+CF+C+C+CA0+D+D+DF+D+D+D-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-E0+E+E+E#G+E+E+E#G0+E+E+E#G+E+E+E#G0+E+E+E#G+E+E+E-E0+D+D+D#F+D+D+DE0+C+C+CE+C+C+C-E0BBBDBBB-A0AAAEAAAE0AAA#EAAAF0AAA#EAAA-A0AAAEAAAE0AAAEAAAE0AAAEAAA-A0AAAFAAAF0AAAFAAAF0AAAFAAA-A0BBBFBBBA0+C+C+CF+C+C+CA0+B+B+BF+B+B+B-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-A0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E+#C0+E+E+EE+E+E+E-E0+#G+#G+#GE0+#G+#G+#G+E0+#G+#G+#GE0+#G+#G+#G+E0+#G+#G+#GE0+#G+#G+#G-E0+#F+#F+#FE0+#F+#F+#F+#C0+E+E+EE+E+E+EB0+D+D+DE+D+D+D-A0+#C+#C+#CE0+#C+#C+#CA0+#C+#C+#CE0+#C+#C+#C#F0+#C+#C+#CA0+#C+#C+#C-A0+#C+#C+#CE0+#C+#C+#CA0+#C+#C+#C-E0+#C+#C+#C-#B0+#C+#C+#C#C0+#C+#C+#C-A0+#C+#C+#CE0+#C+#C+#CA0+#C+#C+#C-E0+#C+#C+#C-#B0+#C+#C+#C#C0+#C+#C+#C-A3EA+#C+E+A+E8A7R7"

set baseTime to 0.25
set (musList of spd) to characters of (musStr of spd)
set octV to 0 –Ave Octave

set defaultNote to {octave:0, noteStr:missing value, sharpF:missing value, flatF:missing value, noteLength:missing value}
copy defaultNote to curNote

set prevNoteLength to -1
set (mmlList of spd) to {}

repeat with i in (musList of spd)
  set j to contents of i
  
  
considering case
    if j = "-" then
      if noteStr of curNote is not equal to missing value then
        set the end of (mmlList of spd) to curNote
        
set prevNoteLength to noteLength of curNote
        
        
copy defaultNote to curNote
        
set (noteLength of curNote) to prevNoteLength
        
set octave of curNote to -1
      else
        set octave of curNote to -1
      end if
      
    else if j = "+" then
      if noteStr of curNote is not equal to missing value then
        set the end of (mmlList of spd) to curNote
        
set prevNoteLength to noteLength of curNote
        
        
copy defaultNote to curNote
        
set (noteLength of curNote) to prevNoteLength
        
set octave of curNote to 1
      else
        set octave of curNote to 1
      end if
      
      
(*
    else if j = "b" then –Flat
      if noteStr of curNote is not equal to missing value then
        set the end of mmlList to curNote
        set prevNoteLength to noteLength of curNote
        
        copy defaultNote to curNote
        set (noteLength of curNote) to prevNoteLength
      else
        set flatF of curNote to true
      end if
      *)

    else if j = "#" then –Sharp
      if noteStr of curNote is not equal to missing value then
        set the end of (mmlList of spd) to curNote
        
set prevNoteLength to noteLength of curNote
        
        
copy defaultNote to curNote
        
set (noteLength of curNote) to prevNoteLength
      else
        set sharpF of curNote to true
      end if
      
    else if j is in {"C", "D", "E", "F", "G", "A", "B", "R"} then
      if noteStr of curNote is not equal to missing value then
        set the end of (mmlList of spd) to curNote
        
set prevNoteLength to noteLength of curNote
        
        
copy defaultNote to curNote
        
set (noteLength of curNote) to prevNoteLength
        
      end if
      
      
set (noteStr of curNote) to j
      
    else if j is in noteList then
      set noteLength of curNote to j
      
if noteStr of curNote is not equal to missing value then
        set the end of (mmlList of spd) to curNote
        
set prevNoteLength to noteLength of curNote
        
        
copy defaultNote to curNote
        
set (noteLength of curNote) to prevNoteLength
      else
        set the end of (mmlList of spd) to curNote
      end if
      
    end if
  end considering
  
end repeat

if noteStr of curNote is not equal to missing value then set the end of (mmlList of spd) to curNote –Append Last Item
–return mmlList

–Play
set engine to current application’s MPMonoSoundEngine’s alloc()’s init()
engine’s start()

repeat with i in (mmlList of spd)
  set j to contents of i
  
  
set curOctave to octave of j
  
set curOctaveStr to encodeOctave(curOctave) of me
  
  
set sharpFlag to sharpF of j
  
set flatFlag to flatF of j
  
set sfStr to encodeSharpAndFlat(sharpFlag, flatFlag) of me
  
  
set noteLenStr to noteLength of j
  
set noteLenTime to (bDict’s valueForKey:noteLenStr) as real
  
  
set noteString to noteStr of j
  
if noteString = "R" then
    engine’s |stop|()
    (
current application’s NSThread’s sleepForTimeInterval:(((noteLenTime * baseTime)) as real))
    
–delay (noteLenTime * baseTime) / 2
    
engine’s start()
  else
    set noteKey to curOctaveStr & sfStr & noteString
    
try
      set noteFreq to (aDict’s valueForKey:noteKey) as real
    on error
      engine’s |stop|()
      
return
    end try
    
    (
engine’s channel’s setFrequency:noteFreq)
    
–(engine’s rightChannel()’s setFrequency:noteFreq)
    
    (
current application’s NSThread’s sleepForTimeInterval:(((noteLenTime * baseTime)) as real))
    
  end if
end repeat

engine’s |stop|()

on encodeSharpAndFlat(sharpF, flatF)
  if {sharpF, flatF} = {missing value, missing value} then return ""
  
if {sharpF, flatF} = {true, missing value} then return "#"
  
if {sharpF, flatF} = {missing value, true} then return "b"
  
if {sharpF, flatF} = {true, true} then error "Sharp and Flat in one note"
end encodeSharpAndFlat

on encodeOctave(curOctave)
  if curOctave = 0 then
    set curOctaveStr to ""
  else if curOctave = 1 then
    set curOctaveStr to "+"
  else if curOctave = -1 then
    set curOctaveStr to "-"
  end if
  
return curOctaveStr
end encodeOctave

★Click Here to Open This Script 

More from my site

  • 指定画像をJPG形式で保存指定画像をJPG形式で保存
  • FM-1グランプリにFileMaker PowerPackを出品FM-1グランプリにFileMaker PowerPackを出品
  • 自分を最前面に移動させてAbout表示自分を最前面に移動させてAbout表示
  • ChatGPTで文章のベクトル化(Embedding)ChatGPTで文章のベクトル化(Embedding)
  • Numbersの表でセル連結箇所が存在しているかどうかチェックNumbersの表でセル連結箇所が存在しているかどうかチェック
  • PDFから本文テキストを抽出して配列にストアして文字列検索 v2PDFから本文テキストを抽出して配列にストアして文字列検索 v2
(Visited 43 times, 1 visits today)
Posted in Sound | 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 13でNSNotFoundバグふたたび
  • macOS 12.5.1、11.6.8でFinderのselectionでスクリーンショット画像をopenできない問題
  • 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