ハッカソンというやつに行ってきた


@shu223さんに誘っていただいて、ちまたで噂のハッカソンというやつに参加してきました。

11:30くらいから始めて、18:00までやっていたので、6時間くらい?

できたもの

水滴が落ちるようなインタフェースのメトロノームです。
下の「ー」「+」でBPMを設定して、画面のどこかを押すと始まります。(止めるときも同じく、画面のどこかを押す)

触りたいのに触れてなかったWebAudioAPI周りなど、ごりごりやってました。

やったこと

午前

  • レポジトリつくる
  • grunt-initやknife soloなどを、ッターンする
  • サブドメイン切る
    • DNS書き換わるのが妙におそかったので不安になる。ムームーさん最近おそい?
  • github経由の自動デプロイしたかったので、そのあたりの準備

  • UIから始める

  • 前に作ったWinstatusを使おうと思ったら、バグがぼろぼろ出てきたのでなおす

    • ていうかREADMEもひどいから、だめだこいつはやくなんとかしないと
  • canvasで水滴っぽいグラフィックを描く

    • ベジェ曲線をぽちぽち描いてる
  • 水滴が落ちるところの動画とか見ると、やっぱりちゃんと再現するのは時間かかりそうだったので、ここはあんまり凝らないことに

  • メトロノームの基本機能っぽいところ実装

午後

  • WebAudioAPIしらべる
    • いいデモがけっこう見つかった
  • そのあたり実装
    • sourceは使い捨て、というあたりが最初わからなくて詰まりかけた
    • なんかchromeで音出ないけどcanaryでは鳴る、みたいなことが起きて辛かったけど、chrome再起動したら鳴った。なぞ。
  • メトロノームのbeatに合わせて鳴るようにする
  • BPMを速くするほど、音が高くなるようにした
    • filter的なことになるのかなーと思ったら、sourceのplaybackRate変えるだけだった
  • UIをいろいろ調整
    • 「ー」「+」のボタンをぐりぐりしてBPM変えられるようにしたら、音程がぎゅいーんと上がる効果が出て楽しかった
  • スタート/ストップができるように
    • 音系のアプリは、UI分かりづらい = 音が止められないと非常にめんどくさいなぁと痛感

さいご

  • 発表
  • アイデアもらったデザイナー先生に報告

ぜんたいてきに

  • 周りがiOSエンジニアばっかりだったので新鮮で楽しかった
  • のわりには、chefとかWAFとかnodeとかの話もぽろぽろしていて、出る幕あった
  • WebAudioAPI、iOSならけっこうちゃんと動くっぽいので、攻めがいありそう。近いうちwrapperとか書く。

そんなかんじで、よい日曜日の過ごし方でした。
また行きたい、というか企画しようかなぁ。
音の講座も週末型にきりかえてもいいかも,。