タグ

ブックマーク / yanagia.hatenadiary.org (8)

  • Ruby1.9のlambdaをアロー演算子に。Hash#perlish! - Yanagi Entertainment

    Ruby1.9ではlambdaを->で書けるようになりました。 lambda { |x| x+1 } # これと -> x { x+1 } # これは等価 lambdaと->は文法上の扱いが異なります。 p(lambda{}) # => <Proc:0x9696dc@(irb):1 (lambda)> plambda{} # NoMethodError p(->{}) # => <Proc:0x95e29c@(irb):2 (lambda)> p->{} # => <Proc:0x95bea0@(irb):3 (lambda)> 要するに->{}はデリミタ不要ということです。楽しいですね。 ところで、p->{}なんて形はPerlのリファレンスにしか見えません。なのでPerl風のアクセスができるようにしてみましょう。 $binding = binding class Hash def per

    Ruby1.9のlambdaをアロー演算子に。Hash#perlish! - Yanagi Entertainment
  • WebブラウザとGoogle Waveで動くシーケンサ、Anzutoneリリース! - Yanagi Entertainment

    http://anzutone.appspot.com/ 読み方は「あんずとーん」です。 これはなに? SafariとFirefoxで動くミュージックシーケンサです*1。 非常にシンプルな機能しか備えていませんが、「みんなで作曲できます」。 みんなで作曲できる 上記サイトのAnzutoneは通常版ですが、Google Waveで動くバージョンもあります。 テンプレートは以下に。 Anzutone Gadgetのテンプレート このガジェットはAnzutoneをGoogle Waveでも動くようにしたものです。 通常版との違いは「みんなで作曲できる」ことです。ぜひお試しください。 ただ、非常に横幅の広いガジェットなので取り扱いには注意してください。 ソースとか オープンソースです。MITライセンス。 Githubにホスティングしてます。 今後の展望 ノープランです。 いくつか追加したい機能はあ

    WebブラウザとGoogle Waveで動くシーケンサ、Anzutoneリリース! - Yanagi Entertainment
    tarchan
    tarchan 2010/04/07
    Google Wave久しぶりに聞いた
  • JavaScriptで波をつくろう。リアルタイム波形生成&再生 - Yanagi Entertainment

    前のエントリでこんなことを書きました。 JavaScriptで波形データを読み書きすることができる。しかし再生するのは難しい。 HTML5のaudioタグとData URIを組み合わせればできないこともないが、コストが大きすぎる。 コストが大きいのは音声ファイルが大きいからです。50MBある波形をいちいち変換してられません。 でも小さい波形ならできるかもしれない! ということでやってみました。 基的なアイディア 波形データをつくる(数値の配列) 波形をバイナリ列に変換する バイナリ列にWAVヘッダを付加する Base64エンコード audioタグのsrc属性に指定 audioを再生 つくったもの http://yanagiatool.appspot.com/jsaudio/mmltest.html シンプルなMMLプレイヤーです。JavaScript + HTML5。 ベロシティとかルー

    JavaScriptで波をつくろう。リアルタイム波形生成&再生 - Yanagi Entertainment
  • JavaScriptでwavファイルを読み込んで波形表示するサンプル - Yanagi Entertainment

    動画でリッチなことできるんなら音声でもできるんじゃね? と思ったので書いてみました。 http://yanagiatool.appspot.com/jsaudio/load.html (FireFox3.6系列のみ) ローカルからwavファイルを画面にドラッグアンドドロップしてみてください。ゆっくり波形が表示されます。 読み込めるwavファイルの形式は16bitステレオのみです。 仕組み File APIを使ってます。 FileReaderでファイルの中身をStringとして読み込んで、ヘッダをチェックして、データ部を適当にエンディアン変換しながら表示してます。 File APIの使い方やバイナリの扱い方などは W3C File APIを使ってJavaScriptでファイル加工 - しばそんノート http://d.hatena.ne.jp/shibason/20100111/126319

    JavaScriptでwavファイルを読み込んで波形表示するサンプル - Yanagi Entertainment
  • Webブラウザで動画編集! - Yanagi Entertainment

    html5で videoの任意のフレームをcanvasに描画するメモ - 超自己満足プログラミング http://d.hatena.ne.jp/favril/20100225/1267099197 昨日この記事を見て、これはすごい! すごいすごい! ってなって、これができるんならWebブラウザだけで動画編集できるんじゃね? と思ったりしたので、ざっくり作ってみました。 http://yanagiatool.appspot.com/jsvideo/player.html (MacのSafari4で動作確認。QuickTime + ChromeならWindowsでもいけるかも?) あそびかた 「動画を読み込む」ボタンを押すと、テキストボックスに入ってるurlの動画を読み込みます。「state」って書いてあるところが「stand by」になったら「再生 / 停止」ボタンを押してください。 あとは

    Webブラウザで動画編集! - Yanagi Entertainment
  • Elis Colors α版の動作報告まとめエントリ - Yanagi Entertainment

    Elis Colorsは使用感・動作報告・機能要望・バグ修正パッチ・暖かい声援を募集しています。 基的にElis Colorsについて書かれたwebの文章は全てエゴサしますが、たまに漏れこともあります。 僕へ確実に届けたい人は、下のいずれかの方法を使って下さい。 twitterでのつぶやき #eliscolors を呟く内容に含める。 ブログでの記事 この記事をトラバする。idコールする。 その他 この記事に直接コメントする。この記事のはてブコメントに書く。 動作報告について 使用しているMacのスペック(CPUGPU、メモリ。型番直接とか、"iMac early 2009 松"とかでもOK)と主観で重いか軽いかを書いて下さい。 他のツールと比較できる方は「何と比較して重いor軽い」でも構いません。 thanks

    Elis Colors α版の動作報告まとめエントリ - Yanagi Entertainment
    tarchan
    tarchan 2009/09/30
    α版期待!
  • Elis α版の機能まとめ - Yanagi Entertainment

    自分でも何ができるのか忘れてしまいそうなので書いておきます。α版は明日か明後日にリリースします。 Elis Colors version 0.1 (alpha) 機能まとめ 動画のトリミング 動画の再生速度変更 何でも入るマルチタイムライン (詳細は後述) ピクチャインピクチャ アンドゥ・リドゥ (不完全) リアルタイムエフェクトプレビュー (詳細は後述) キーフレームアニメーション キーフレームのグラフ表示 テキストレイヤー (アンチエイリアスなし) Quartz Composerとの連携 ハイパフォーマンスモード (詳細は後述) まだできないこと コピー&ペースト トランジション適用 カット編集 (できるけど面倒。ワンアクションでできるようにする) Elis Colors (alpha) 特有の機能 あくまでα版の話です。 何でも入るマルチタイムライン 16のタイムラインが使えます。

    Elis α版の機能まとめ - Yanagi Entertainment
    tarchan
    tarchan 2009/09/29
    非常に楽しみなエディタ
  • QTMovieのaddImage:forDuration: withAttributes:で使えるコーデック - Yanagi Entertainment

    QTKitを使うと簡単に動画を書き出せるよ! とQTKitのリファレンスに書いてあるけど、書き出しに使えるコーデックの記述がどこにもない。 なんでだろう? Appleはプログラマに動画ソフトウェアを書かせたくないのかな? ドキュメント作らなければみんなQuickTime Proを買うと思ってるのかな? まあなんでもいいけど。 addImage:forDuration:withAttributesの概要 使い方はこんな感じ。 QTMovie* movie = [[QTMovie alloc] initToWritableFile:path error:nil]; NSDictionary* attrs = [NSDictionary dictionaryWithObjectsAndKeys: imageCodec, QTAddImageCodecType, // imageCodecはNSS

    QTMovieのaddImage:forDuration: withAttributes:で使えるコーデック - Yanagi Entertainment
  • 1