たとえば以下のような 数値 を格納するクラスがあって、それを継承した 整数 を格納するクラスを作る場合。 class NumberHolder { constructor(value) { this.value = value; } set value(value) { this._value = +value || 0; } get value() { return this._value; } } class IntHolder extends NumberHolder {}
2016.09.08 追記 AudioWorkerは編纂中の仕様から削除されました。Web Audio API先生の次回作AudioWorkletにご期待ください!! Web Audio API には ScriptProcessorNode という、JavaScript で信号処理を記述するための部品があります。Web Audio API で用意されている部品の組み合わせではやりようがない処理をしたいときに重宝するのですが、最新のドラフト仕様では DEPRECATED となっていて将来的には廃止されるようです。 そして廃止される ScriptProcessorNode に変わって提案されているのが AudioWorker という仕組みで、ScriptProcessorNode との大きな違いとしてメインスレッドで行っていた信号処理をワーカースレッドで行うようになります。また、任意の Aud
最初は引数の順番を気にしなくて良いとか、あとから雑な気持ちで引数を増やせて便利だなくらいに思っていたのだけど、最近はイベント発行側が受け取り側の変数名を束縛できるのでコードに一貫性を持たせられるというのが実はけっこう良いのではと思っている。 Symbol 2015/07/28 13:45 記述修正 外部からアクセスしにくい、もしくは重複しない変数を作るのに使っている。 import { EventEmitter } from "events"; export const EVENTS = typeof Symbol !== "undefined" ? Symbol("EVENTS") : "@mohayonao/${package-name}:EVENTS"; export default class SummerVacation extends EventEmitter { constr
Web Audio API の仕様は日々 GitHub上で議論 されていて、ある程度同意が得られたものは ドラフトページ で公開されています。仕様のブラッシュアップのほかに追加される API や変更のある API があり、それらはちらほらとブラウザに実装もされてきているので、簡単な説明とサポート状況、ポリフィルについてまとめました。 この記事に書いてあるポリフィルは下記のリポジトリにまとめてあります。 また、各API対応状況は下記のページでも確認できます。 http://mohayonao.github.io/web-audio-api-shim/test/impl.html http://compatibility.shwups-cms.ch/en/home Microsoft Edge / Safari 9 の対応状況が調べられていないので、どなたか情報ください!! 新しく追加されるA
WebWorker の作り方を4つ紹介するついでに、ライブラリ作るマンから見た それぞれの所感 と node.js でも動かせる & テストしやすい インラインワーカーの技法 について書きます。 1. 外部のワーカーファイルを読み込む 基本のやり方。 一番わかりやすいので良いけど、ライブラリとして配布することを考えると複数ファイルの管理をする/してもらうのが面倒い。ライブラリの中で書くならワーカーのパスは設定で変更できるようにしたほうが良い。 シンプルでわかりやすい 管理が面倒い var worker = new Worker("worker.js"); worker.onmessage = function(e) { console.log(e.data); // (3) hello!! }; worker.postMessage("hello"); // (1)
Taming the asynchronous beast with ES7 babel の experimental に ES7 の Async/Await が入ったというので、さっそく導入してみた。対象は画像を点字を変換するわりかしどうでも良いモジュール。 seurat - JavaScript utility to generate a braille text from an image 導入前 ファイル読み込みや画像の変換に非同期処理を多用しており、node.js スタイルの 非同期API(コールバックを渡すやつ) を prominence というユーティリティ関数で Promise 化していたが、行ごとに then が出てきたり、複数の値を渡すために Promise.all を使ったりと、あまり読みやすいとは言えないコードだった。(コールバック地獄になるよりはマシだと思うけど.
というのを考えたので紹介します。 2015.09.04 内容が古くなっていたので修正 リンティングツールを jshint から eslint に変更 テストでの power-assert 用のオプション指定方法の変更 概要 基本的にはこの記事 ライブラリをES6で書いて公開する所から始めよう (必読) と同じで、それにいくつかのタスクを追加しています。やることと使用しているライブラリは以下の通りです。 ES6のコードをES5ベースに変換する / babel ブラウザ用コードを生成する / browserify ミニファイする / UglifyJS テストする / mocha, power-assert カバレッジレポートを作る / isparta リンティング / eslint ディレクトリ構成 build: ブラウザ用にビルドされたコード bower install されたときに読み込ま
Web Audio API を中心に音を扱うライブラリや記事をざっとまとめました。 サウンドファイルの再生に特化したやつ ゲーム用途とかならこのあたりで十分っぽい howler.js SoundJS 簡単に演奏できるやつ beeplay / 記事 メソッドチェーンで音をつなげていく abeck ABC記譜法 で書ける テンプレート的なやつ TemplateSynth / 記事 ポリシンセ用のテンプレート mml-emitter MMLをイベントとして発火する 信号処理するやつ Tone.js 必要な機能がひととおり揃っている tuna Web Audio API 用のエフェクター flocking 音の構造をJSONで書く。node.jsでも動く。 neume.js jQueryっぽく書けるインターフェースが特徴だけど色々雑い。 pico.js Web Audio API, flash f
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く