2007年 03月 23日

とても君は綺麗に笑うのに

ミナソコだよなぁやっぱ……バーガーは中学のときからホントにほとんど毎日聴いてるのに飽きないよなぁ
不思議だ。なんでまわりに最初っからバーガー知ってる人がぜんぜんいないんだろ。大学の音楽系の人でも一人しか発見できなかった。どういうことだ……

なんか今日はやたら人にぶつかられる。
新宿でパスネットを使い切ろうと思ってたのに、現金しか使えない精算機だった。

長く喋りすぎた。前よりは緊張しなかったけど、かなりテンパってた……
長さの調節できないとなぁ……

irc はいいなぁ。どういうところを聞いているのかわかるのが、面白い。

それにしても、ガッツリ聴いて帰ろうって感じじゃなく、楽しんでって感じがあるのが、素敵だ。

RubyCocoa で AppleRemote リッスンして Safari のプレゼンツールうごかす

http://rubycocoa.com/appleremote/1 にあるとおりに framework をビルドして配置

require "osx/cocoa"
include OSX
OSX.require_framework "AppleRemote"
OSX.ns_import :AppleRemote

class AppleRemoteDelegate < NSObject

	addRubyMethod_withType('appleRemoteButton:pressedDown:', 'v@:ii')

	def appleRemoteButton_pressedDown(buttonIdentifier, pressedDown)
		puts "button #{buttonIdentifier}, pressed #{pressedDown}"
		return if pressedDown == 0
		case buttonIdentifier
		when 1 # down
			call_safari_js "$presentation.fold($presentation.page);$presentation.scrollTo($presentation.pages[$presentation.page]);"
		when 3, 4 # middle, right
			call_safari_js "$presentation.next();"
		when 5 # left
			call_safari_js "$presentation.prev();"
		end
	end
	
	def call_safari_js(script)
		errinfo = NSDictionary.alloc.init
		NSAppleScript.alloc.initWithSource(<<-EOS).executeAndReturnError(errinfo)
			tell application "Safari"
				do JavaScript "#{script.gsub(/¥n/, ";")}" in document 1
			end tell
		EOS
	end
end


a = AppleRemote.alloc.init
d = AppleRemoteDelegate.alloc.init
a.setDelegate d
a.startListening 0
trap (:INT) { exit }
NSApplication.sharedApplication.run

rbosa で JS 送ろうとおもったけど、in document の書きかたがわからなかったので NSAppleScript を読んでる。一応ストレスなしにうごくっぽい