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 

(Visited 15 times, 1 visits today)

More from my site

  • Window表示とMenu表示を切り替えるWindow表示とMenu表示を切り替える
  • アプリケーションが扱えるデータ拡張子を取得アプリケーションが扱えるデータ拡張子を取得
  • アラートダイアログ上にWebViewを表示アラートダイアログ上にWebViewを表示
  • Dockとメニューバーを隠す→戻すDockとメニューバーを隠す→戻す
  • MatRによる行列計算テスト v2MatRによる行列計算テスト v2
  • Pagesの座標系Pagesの座標系
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

  • AppleScriptによるWebブラウザ自動操縦ガイド
  • macOS 13, Ventura(継続更新)
  • ドラッグ&ドロップ機能の未来?
  • Intel MacとApple Silicon Macの速度差〜画像処理
  • macOS 12.x上のAppleScriptのトラブルまとめ
  • マウスの右クリックメニューをカスタマイズするService Station
  • macOS 12.3 beta 5、ASの障害が解消される(?)
  • PFiddlesoft UI Browserが製品終了に
  • CotEditorで選択範囲の行頭にある数字をリナンバーする v1
  • SF Symbolsを名称で指定してPNG画像化
  • 不可視プロセスで表示したNSAlertを最前面に表示
  • 与えられた自然言語テキストから言語を推測して、指定の性別で、TTSキャラクタを自動選択して読み上げ
  • 新刊発売:AppleScriptによるWebブラウザ自動操縦ガイド
  • macOS 12.3 beta4、まだ直らないASまわりの障害
  • Safariで表示中のYouTubeムービーのサムネイル画像を取得
  • Pixelmator Pro v2.4.1で新機能追加+AppleScriptコマンド追加
  • macOS 12のスクリプトエディタで、Context Menu機能にバグ
  • macOS 12.3上でFinder上で選択中のファイルをそのままオープンできない件
  • SafariでブックマークされたURL一覧を取得
  • 人類史上初、魔導書の観点から書かれたAppleScript入門書「7つの宝珠」シリーズ開始?!

Tags

10.11savvy (1102) 10.12savvy (1243) 10.13savvy (1391) 10.14savvy (586) 10.15savvy (434) 11.0savvy (274) 12.0savvy (166) 13.0savvy (21) CotEditor (60) Finder (47) iTunes (19) Keynote (97) NSAlert (60) NSArray (51) NSBezierPath (18) NSBitmapImageRep (21) NSBundle (20) NSButton (34) NSColor (51) NSDictionary (27) NSFileManager (23) NSFont (18) NSImage (42) NSJSONSerialization (21) NSMutableArray (62) NSMutableDictionary (21) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (118) NSURL (97) NSURLRequest (23) NSUTF8StringEncoding (30) NSUUID (18) NSView (33) NSWorkspace (20) Numbers (55) Pages (35) Safari (40) Script Editor (20) WKUserContentController (21) WKUserScript (20) WKWebView (22) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 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
  • 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年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