タグ

asynchronous-ioとelispに関するnabinnoのブックマーク (5)

  • emacs-w3mからリンク先の動画をストリーミング再生する、みたいな

    emacs-w3mでWebブラウジングしてて 「あー、リンク先の動画を、せめて生ファイルぐらいはそのままストリーミングで再生したいなー」 とか思っちゃったのでとりあえず以下のようなコマンド用意した。 (defun w3m-play-movie () (interactive) (let ((url (w3m-anchor))) (if (string-match "^http.*\\.\\(mpg\\|wmv\\|avi\\|flv\\)$" url) (call-process "mplayer" nil nil nil "-fs" url) (message "not movie.")))) (define-key w3m-mode-map "m" 'w3m-play-movie) 非常に単純なので読めばわかると思うけど、 m を叩いた時にカーソルがある位置のリンクのアドレスを見て も

    emacs-w3mからリンク先の動画をストリーミング再生する、みたいな
  • emacs-deferred/README.ja.markdown at master · kiwanami/emacs-deferred

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    emacs-deferred/README.ja.markdown at master · kiwanami/emacs-deferred
  • deferred.el リリース - 技術日記@kiwanami

    先日の関西Emacsの会で発表しました deferred.el です。 deferred.el はEmacs Lispでの非同期処理を書きやすくするためのライブラリです。 (2010/10/08 追記:コンパイルできないバグがありますので修正中です。コンパイルしなければとりあえず動きます。。。) (2010/10/08 追記:コンパイル出来るようになりました。毎回ミスばっかりですみません。) 入手・ドキュメント 以下のGutHubの日語ドキュメントの方に一通り書いてみました。 deferred.el 日語ドキュメント そのうち頑張って英語に直したいと思っています。(手伝ってもらえると助かります><) ドキュメント目次 インストール 使い方例 インタフェース解説 関数 実行・接続 ポイント deferred.el デモ:慣性スクロール ライブラリなのでdeferred.elを単体でインス

    deferred.el リリース - 技術日記@kiwanami
  • deferred.el の出来るまで:Emacsでの非同期処理 - 技術日記@kiwanami

    Emacsでの非同期処理は大変 これまでEmacsのGUIアプリをいくつか書いてみて、非同期の処理を何とかしたいと思ったことが deferred.el を書こうと思った動機です。 Emacs Lisp上でコマンドを非同期で処理しようと思うと、コールバックをつなげたり、正しくエラー処理を行うために、かなり長いコードを書く必要があります。また、最近はWebにアクセスする機会も多いのですが、これも非同期で処理するとなるとまた面倒です。非同期をやめて、ブロックする(Emacs全体が固まる)コードで書けば楽なのですが、それではユーザー体験としてマイナスになってしまいます。 特に大変だったのが cacoo.el を作っているときでした。 cacoo.el では、以下のような流れで画像を表示します。 Webから画像取得(wget) 画像サイズ取得(identify) 画像リサイズ(convert) 表示

    deferred.el の出来るまで:Emacsでの非同期処理 - 技術日記@kiwanami
  • 2010-10-08

    Emacsでの非同期処理は大変 これまでEmacsのGUIアプリをいくつか書いてみて、非同期の処理を何とかしたいと思ったことが deferred.el を書こうと思った動機です。 Emacs Lisp上でコマンドを非同期で処理しようと思うと、コールバックをつなげたり、正しくエラー処理を行うために、かなり長いコードを書く必要があります。また、最近はWebにアクセスする機会も多いのですが、これも非同期で処理するとなるとまた面倒です。非同期をやめて、ブロックする(Emacs全体が固まる)コードで書けば楽なのですが、それではユーザー体験としてマイナスになってしまいます。 特に大変だったのが cacoo.el を作っているときでした。 cacoo.el では、以下のような流れで画像を表示します。 Webから画像取得(wget) 画像サイズ取得(identify) 画像リサイズ(convert) 表示

    2010-10-08
  • 1