Skip to content

Instantly share code, notes, and snippets.

<?xml version="1.0" encoding="UTF-8"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<!-- nsIUpdateItem type for a Multiple Item Package -->
<em:type>32</em:type>
<em:id>[email protected]</em:id>
var storage = navigator.getDeviceStorage("music");
window.addEventListener("load", function() {
var cursor = storage.enumerate();
cursor.onsuccess = function(){
var file = this.result;
console.log(file);
var reader = new FileReader();
reader.onload = function(){
var bytes = this.result;
console.log(bytes);
var max = {
};
var elm = {
freq: document.querySelector("#freq"),
attack: document.querySelector("#attack"),
decay: document.querySelector("#decay"),
sustain: document.querySelector("#sustain"),
release: document.querySelector("#release"),
play: document.querySelector("#play")
@chikoski
chikoski / app.js
Created August 21, 2015 09:36
echo server for Firefox OS
window.addEventListener("load", function() {
console.log("Hello World!");
var serverSocket = navigator.mozTCPSocket.listen(23451);
var connections = [];
serverSocket.onconnect = function(socket){
console.log(socket);
connections.push(socket);
socket.ondata = function(event){
var data = event.data;
@chikoski
chikoski / index.html
Created July 4, 2015 08:02
シーケンサーのサンプル
var slot = [1, 2, 3, 4];
var snare = slot.map(function(i){
return document.querySelector("#snare" + i);
});
var cymbal = slot.map(function(i){
return document.querySelector("#cymbal" + i);
});
var id;
var current = 0;
@chikoski
chikoski / app.css
Created July 4, 2015 07:22
クリックした範囲の色の平均値を表示するプログラム
#preview{
display: none;
}
@chikoski
chikoski / app.js
Created July 4, 2015 05:10
リアルタイムに周波数領域分析をして、それぞれの音の強さを可視化するサンプル
// アニメーションの各フレームを描画する関数
function draw(){
// 全画面を黒で塗りつぶし、リセット
ctx.fillStyle = "rgb(0, 0, 0)";
ctx.fillRect(0, 0, canvas.width, canvas.height);
var data = getData(); //その時点での曲の解析結果を取得
var i = 0;
var offset = 5;
var width = (canvas.width - offset * (data.length + 1)) / data.length;
@chikoski
chikoski / app.js
Created July 4, 2015 03:18
クロスフェーダ
var playerA = document.querySelector("#player_a");
var playerB = document.querySelector("#player_b");
var fader = document.querySelector("#fader");
fader.addEventListener("change", changeVolumes);
fader.value = 50;
changeVolumes();
function changeVolumes(){
var position = Number(fader.value);
@chikoski
chikoski / 20150704-hackathon.md
Last active August 29, 2015 14:24
音を出す Firefox OS アプリを作るには

Firefox OS アプリ作成入門

開発環境の構築と Hello World から、センサーを利用したアプリの作成を解説したスライドです:

<iframe src="//www.slideshare.net/slideshow/embed_code/key/f1MZoTzNlcIm0L" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>

Audio 要素についてのドキュメント

var app = {
preview: document.querySelector("video"),
shoot: document.querySelector("#shoot"),
canvas: document.querySelector("canvas"),
sliderX: document.querySelector("#width"),
sliderY: document.querySelector("#height"),
stream: null
};
//(中略)