<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/" />
    <link rel="self" type="application/atom+xml" href="http://txton.net/atom.xml" />
    <id>tag:txton.net,2011-05-01://1</id>
    <updated>2011-10-20T04:38:58Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 5.1rc2</generator>

<entry>
    <title>notitle - TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/days/2011/110731173337.html" />
    <id>tag:txton.net,2011:/days//2.236</id>

    <published>2011-07-31T08:33:37Z</published>
    <updated>2011-10-20T04:38:58Z</updated>

    <summary></summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/days/">
        <![CDATA[<img alt="notitle" src="http://txton.net/days/images/110731173337.jpg" width="1280" height="853" id="photosrc" />]]>
        
    </content>
</entry>

<entry>
    <title>notitle - TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/days/2011/110717190739.html" />
    <id>tag:txton.net,2011:/days//2.99</id>

    <published>2011-07-17T10:07:39Z</published>
    <updated>2011-08-22T20:37:32Z</updated>

    <summary></summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/days/">
        <![CDATA[<img alt="notitle" src="http://txton.net/days/images/110717190739.jpg" width="1280" height="853" id="photosrc" />]]>
        
    </content>
</entry>

<entry>
    <title>notitle - TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/days/2010/101127165158.html" />
    <id>tag:txton.net,2010:/days//2.98</id>

    <published>2010-11-27T07:51:58Z</published>
    <updated>2011-05-03T19:07:10Z</updated>

    <summary></summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/days/">
        <![CDATA[<img alt="notitle" src="http://txton.net/days/images/101127165158.jpg" width="1280" height="853" id="photosrc" />]]>
        
    </content>
</entry>

<entry>
    <title>notitle - TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/days/2010/101016102023.html" />
    <id>tag:txton.net,2010:/days//2.97</id>

    <published>2010-10-16T01:20:23Z</published>
    <updated>2011-05-03T18:47:00Z</updated>

    <summary></summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/days/">
        <![CDATA[<img alt="notitle" src="http://txton.net/days/images/101016102023.jpg" width="1280" height="853" id="photosrc" />]]>
        
    </content>
</entry>

<entry>
    <title>notitle - TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/days/2010/100829174930.html" />
    <id>tag:txton.net,2010:/days//2.96</id>

    <published>2010-08-29T08:49:30Z</published>
    <updated>2011-05-03T06:11:51Z</updated>

    <summary></summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/days/">
        <![CDATA[<img alt="notitle" src="http://txton.net/days/images/100829174930.jpg" width="1280" height="853" id="photosrc" />]]>
        
    </content>
</entry>

<entry>
    <title>HTML5 : iPad用のUstreamViewerを作ってみた - hoelog</title>
    <link rel="alternate" type="text/html" href="http://txton.net/hoehoe/2010/100810165217.html" />
    <id>tag:txton.net,2010:/hoehoe//3.234</id>

    <published>2010-08-10T07:52:17Z</published>
    <updated>2011-08-29T08:25:14Z</updated>

    <summary> Ustreamがいつの間にかFlash無しでもライブ配信が見れるようになってた...</summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
        <category term="HTML5" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="jQuery" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/hoehoe/">
        <![CDATA[<p><img alt="100805_ustream1" src="/hoehoe/images/100805_ustream1.jpg" width="700" height="546" /></p>

<p>Ustreamがいつの間にかFlash無しでもライブ配信が見れるようになってたんで、HTML5のVideoプレーヤーをカスタマイズしてiPad用のオレオレUstreamViewerを作ってみたよ。小ネタ。</p>]]>
        <![CDATA[<h3>Ustream Data APIからチャンネル情報を取得</h3>
<p>Ustream Data APIを使うと、配信中の動画、ユーザー、チャンネルとかの情報が取得できます。例えばチャンネル情報だと<a href="http://api.ustream.tv/html/channel/spacevidcast/getInfo" target="_blank">こんな感じ</a>。</p>

<p>
<pre class="brush: js; auto-links: false;">http://api.ustream.tv/json/channel/<span style="color:#FF0000">チャンネル名</span>/getInfo</pre>
</p>

<p>APIからはXML、JSON、PHP、HTMLの形式から取得できます。今回はJSONで取得します。必要なのは、「チャンネルのID」「Twitterのハッシュタグ」「チャンネルのサムネイル画像」クロスドメインな環境になるので、JSONPで取ってきます。jQueryでやるならこんな感じ。callback=?は忘れずに。</p>

<p>
<pre class="brush: js; auto-links: false;">$.getJSON(
&nbsp;&nbsp;&quot;http://api.ustream.tv/json/channel/&quot;&nbsp;+&nbsp;<span style="color:#FF0000">チャンネル名</span>&nbsp;+&nbsp;&quot;/getInfo?callback=?&quot;,
&nbsp;&nbsp;function(data,&nbsp;status){
&nbsp;&nbsp;&nbsp;&nbsp;cid&nbsp;=&nbsp;data.id;
&nbsp;&nbsp;&nbsp;&nbsp;cimg&nbsp;=&nbsp;data.imageUrl.medium;
&nbsp;&nbsp;&nbsp;&nbsp;hashtag&nbsp;=&nbsp;data.socialStream.hashtag;
});</pre>
</p>



<h3>ストリーミングを配置</h3>
<p>ストリーミングは（今んとこ）こんな感じのURLから直に取ってこれるようです。</p>

<p>
<pre class="brush: js; auto-links: false;">http://iphone-streaming.ustream.tv/ustreamVideo/<span style="color:#FF0000">チャンネルのID</span>/streams/live/playlist.m3u8</pre>
</p>

<p>これをVideoのソースに指定してあげると再生してくれます。かんたんですねー。デフォルトのUIだと寂しいんで<strike>CSSでカスタマイズできるVideo.jsを使って、Vimeo風なUIにしてみました。</strike></p>

<p><strike><a href="http://videojs.com/" target="_blank">Video JS | HTML5 Video Player</a></strike></p>

<p>
<pre class="brush: js; auto-links: false;">&lt;div&nbsp;id=&quot;player&quot;&nbsp;class=&quot;video-js-box&nbsp;vim-css&quot;&gt;
&nbsp;&nbsp;&lt;video&nbsp;id=&quot;video&quot;&nbsp;class=&quot;video-js&quot;&nbsp;width=&quot;1024&quot;&nbsp;height=&quot;516&quot;controls&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;source&nbsp;src=&quot;http://iphone-streaming.ustream.tv/ustreamVideo/http://api.ustream.tv/json/channel/<span style="color:#FF0000">チャンネルのID</span>/streams/live/playlist.m3u8&quot;&nbsp;type=&quot;video/mp4&quot;&gt;
&nbsp;&nbsp;&lt;/video&gt;
&lt;/div&gt;</pre>
</p>


<p><strike>こんな感じでHTMLを用意して、JSとCSSを読み込んで初期化時にVideoJS.setup();を叩けばいいだけです。</strike><br/>
<br/>
ただ、iPadのvideoは本体のplayerに依存してるのか、vdeoタグの領域上にレイヤーを重ねると、表示がおかしかったり、フォームにフォーカスがいかななかったりするんで、コントローラーは外側に出されるようになっているよーなんで。PC上で確認する時には注意。</p>



<p><strong>（追記100819）</strong><br />
Video.jsだと動的な読み込みがうまくいかないんで、
「<a href="http://blog.steveheffernan.com/2010/04/how-to-build-an-html5-video-player/" target="_blank">Tutorial: How to Build an HTML5 Video Player</a>」
を参考にCSSとJSで直に実装するように修正しました。やってることは同じなんですが。。詳しくはソースを見て。</p>



<h3>TwitterのTLを取得</h3>

<p>これだけじゃさびしいんで、SocialstreamのチャンネルTLを流すようにしてみます。極力JSで解決したかったんで、<br />
<br />
<a href="http://d.hatena.ne.jp/stealthinu/20100531/p2" target="_blank">・ハッシュタグなどでtwitter検索した結果を表示して自動更新するjavascript</a><br />
<br />
この記事を参考、とうかそのままを使って、ハッシュタグを検索したTLを読み込みます。TLは横にしてフリックでスクロールさせたいんで、jQuery.flickableを使って実装します。</p>

<p><a href="http://lagoscript.org/jquery/flickable">jQuery.flickable</a></p>

<p>こんな感じにスクロールさせたいブロックのIDを指定するだけ。</p>

<p>
<pre class="brush: js; auto-links: false;">$('#flickable1').flickable();</pre>
</p>



<h3>できたできた。</h3>

<p>チャンネル名を入力するフォームとかを追加。iPadだけで動けばいいんでCSS3の手習いも兼ねて、角丸とかグラデはCSSにまかせてみますｗ。詳しくはソース見れ。できたのはこつら↓</p>

<p><img alt="ustview" src="/hoehoe/sample/ustplayer02/icon_ustview.png" width="72" height="72" /></a><br />
<a href="http://txton.net/hoehoe/sample/ustplayer02/" target="_blank">USTView for iPad 02 (iPadで見てね)</a></p>

<p>チャンネル名を入力してPLAY。iPhoneだとインラインで再生できないんで、ムービープレーヤーの方に飛ばされる。ちなみに動画がiPhone/iPad対応されてないとそもそも再生されません。<strike>なんかホーム画面に登録すると動画が再生されぬ。Video JS使わない方がいいのかも。。</strike></p>

<p><strong>（追記100819）</strong><br />
ホームに登録しても再生できるようになりました。でもSafariからはボリュームは操作できない様子。んー。</p>



<h3>まとめ</h3>
<p>もっといろいろ機能を足したいけど、わかんないとこがいっぱい出てきたから止め。JS勉強して出直してきます。。</p>]]>
    </content>
</entry>

<entry>
    <title>notitle - TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/days/2010/100807182815.html" />
    <id>tag:txton.net,2010:/days//2.95</id>

    <published>2010-08-07T09:28:15Z</published>
    <updated>2011-05-03T06:13:15Z</updated>

    <summary></summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/days/">
        <![CDATA[<img alt="notitle" src="http://txton.net/days/images/100807182815.jpg" width="1280" height="853" id="photosrc" />]]>
        
    </content>
</entry>

<entry>
    <title>notitle - TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/days/2010/100620145404.html" />
    <id>tag:txton.net,2010:/days//2.93</id>

    <published>2010-06-20T05:54:04Z</published>
    <updated>2011-05-03T06:13:59Z</updated>

    <summary></summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/days/">
        <![CDATA[<img alt="notitle" src="http://txton.net/days/images/100620145404.jpg" width="1280" height="853" id="photosrc" />]]>
        
    </content>
</entry>

<entry>
    <title>notitle - TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/days/2010/100530171556.html" />
    <id>tag:txton.net,2010:/days//2.92</id>

    <published>2010-05-30T08:15:56Z</published>
    <updated>2011-05-03T06:15:08Z</updated>

    <summary></summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/days/">
        <![CDATA[<img alt="notitle" src="http://txton.net/days/images/100530171556.jpg" width="1280" height="853" id="photosrc" />]]>
        
    </content>
</entry>

<entry>
    <title>notitle - TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/days/2010/100530170235.html" />
    <id>tag:txton.net,2010:/days//2.94</id>

    <published>2010-05-30T08:02:35Z</published>
    <updated>2011-05-03T06:15:59Z</updated>

    <summary></summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/days/">
        <![CDATA[<img alt="notitle" src="http://txton.net/days/images/100530170235.jpg" width="1280" height="853" id="photosrc" />]]>
        
    </content>
</entry>

<entry>
    <title>notitle - TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/days/2010/100523195000.html" />
    <id>tag:txton.net,2010:/days//2.91</id>

    <published>2010-05-23T10:50:00Z</published>
    <updated>2011-05-03T06:16:43Z</updated>

    <summary></summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/days/">
        <![CDATA[<img alt="notitle" src="http://txton.net/days/images/100523195000.jpg" width="1280" height="853" id="photosrc" />]]>
        
    </content>
</entry>

<entry>
    <title>Arduino : ArduinoboyでGameBoyのLSDj、Nanoloop、mGBをMIDIで繋げてみた - hoelog</title>
    <link rel="alternate" type="text/html" href="http://txton.net/hoehoe/2010/100511030849.html" />
    <id>tag:txton.net,2010:/hoehoe//3.233</id>

    <published>2010-05-10T18:08:49Z</published>
    <updated>2011-09-08T06:06:16Z</updated>

    <summary> ゲームボーイの音楽制作ソフトLittle Sound DJやNanoloopの...</summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
        <category term="Arduino" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Max/MSP" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/hoehoe/">
        <![CDATA[<p><img alt="100401_arduinoboy1" src="/hoehoe/images/100401_arduinoboy1.jpg" width="700" class="tumb-image" /></p>

<p>ゲームボーイの音楽制作ソフトLittle Sound DJやNanoloopのMIDIケーブルを、Arduinoで作るライブラリArduinoboyで、Max/MSP(Live)を同期させてみたよ。</p>

<p>Max/MSPを始めた記念になんかMIDIで鳴らしたい。でもそんな機材持ってないし。んーじゃ代わりにMIDI同期できるLSDjでゲームボーイでも鳴らすかー。たしかArduino使って同期できるライブラリかシールドがあったはずだし。。とガラクタ箱を漁ること半日、ゲームボーイとその一式を発掘して繋げてみた。</p>]]>
        <![CDATA[<h3>Arduinoboyで実装</h3>

<p><img alt="100401_arduinoboy2" src="/hoehoe/images/100401_arduinoboy2.gif" width="530" height="370" class="tumb-image" /></p>

<p>構成はこんな感じ。実装にはArduinoとGB上のLSDjやNanoloopを通信させるMIDI I/Oシールドを実装するスケッチ「<a href="http://code.google.com/p/arduinoboy/" target="_blank">Arduinoboy</a>」を使います。<a href="http://www.flickr.com/photos/trash80/2316803721/in/set-72157604068871573/" target="_blank">こんな感じ</a>にMIDIインターフェースの回路を作るか、USBを繋げてMIDIメッセージを送受信します。今回はMAX/MSPからMIDIメッセージを送信させたいのでUSBで繋げます。以下いるもの。<p />

<p><pre>・ゲームボーイ（初代、ポケット、カラー等）
・LSDj、Nanoloop、mGB
・ゲームボーイ通信ケーブル（DMG-004等）
・Arduino
・LED × 5（任意）
・抵抗 330Ω × 5（任意）
</pre></p>

<p>通信ケーブルはGEOとかゲーム探偵団とかの中古屋を回るとショーウィンドウの片隅に転がってたりしますｗ（￥200～￥500くらい）。LEDは状態のモニタ用なんで必要なければいりませんが、雰囲気も大事なんで付けてみます。</p>



<h3>GameBoyとArduinoを接続</h3>

<h4>通信ケーブルを加工</h4>
<p>通信ケーブルを剥いて中のラインを出します。今回は初代GB用のDMG-004を使います。<a href="http://www.flickr.com/photos/trash80/sets/72157608324137185/" target="_blank">ケーブルの解体方法</a>も公開されてるんで参考に。中にはDATA IN（橙）、DATA OUT（赤）、GND（青）、CLOCK（緑）の４本がまとめられています。<a href="http://www.hardwarebook.info/Game_Boy_Link#Pinout" target="_blank">ケーブルによって仕様が違う</a>んでよく確認してください。ブレッドボードで使うんで端子とかも付けておきましょう。</p>



<h4>Arduinoと接続</h4>
<p>通信ケーブルとArduinoは<a href="http://trash80.net/arduinoboy/arduinoboy_schematic_1_1_0.png" target="_blank">回路図を参考</a>に次のように接続。</p>

<p>
CLOCK（緑）→Analog 0<br />
DATA IN（橙）→Analog 1<br />
DATA OUT（赤）→Analog 2<br />
GND（青）→GND<br />
<br />
DIGITAL 8～12 →LED<br />
</p>

<p><img alt="100401_arduinoboy5" src="/hoehoe/images/100401_arduinoboy5.jpg" width="530" height="335" class="tumb-image" /></p>

<p><img alt="100401_arduinoboy3" src="/hoehoe/images/100401_arduinoboy3.gif" width="530" height="335" class="tumb-image" /></p>

<p>Arduinoboyのライブラリを修正していきます。動作モードを4（Midi Input to mGB）、USBモードをON、回路上のボタンは使わないんでメモリ機能をONにしてアップロードします。<br />
<br />
<strong>Arduinoboy1_1_0.pde を編集</strong></p>

<p><pre>
boolean forceMode = true;
int mode = 4;
int numberOfModes = 5;
boolean usbMode = true;
</pre></p>



<h3>MAX/MSPとArduinoを接続</h3>


<p><img alt="100401_arduinoboy4" src="/hoehoe/images/100401_arduinoboy4.gif" width="530" height="423" class="tumb-image" /></p>

<p>前回はArduinoとの通信にMaxduinoを使いましたが、今回はスタンドアローンのArduinoと通信させたいので、Serialオブジェクトを使って直接シリアルポートを叩くパッチを組んでみます。後はコントローラーか、曲を再生させてMIDIメッセージをシリアルに送ってあげれば、GBから音が出てくれるはず。</p>



<h3>動かしてみた</h3>

<object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/3Lyhp77ob6M&hl=ja_JP&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/3Lyhp77ob6M&hl=ja_JP&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object>

<p>鳴ったー。ちなみにデモではフルMIDIコントロールできるArduinoboy付属のmGBを使ってます。曲を流す場合には若干BPMを落としてあげた方がいいです。タイトルに偽りありになっちゃたけど、Arduinoboyのモードを変えるとLSDjやNanoloopと同期させることもできるよーですよ。</p>



<h3>まとめ</h3>

<p>パースとか必要なOSCよりもMIDIの方が単純な構造な分、楽に変換できてよいですね。１トラックがモノフォリックで鳴ってるんで、曲全部ならそうとすると結構大変？。いっぱいGB並べるのも楽しそうだけど。。</p>



<h4>参考資料：</h4>
<ul class="reflink">
<li><a href="http://code.google.com/p/arduinoboy/" target="_blank">Arduinoboy</a></li>
<li><a href="http://www.littlesounddj.com/lsd/" target="_blank">Little Sound DJ</a></li>
<li><a href="http://www.meditations.jp/nanoloop2.0/nanoloop2.html" target="_blank">Nanoloop</a></li>
<li><a href="http://www.hardwarebook.info/Game_Boy_Link#Pinout" target="_blank">通信ケーブルのPINの仕様</a></li>
</ul>]]>
    </content>
</entry>

<entry>
    <title>notitle - TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/days/2010/100503171726.html" />
    <id>tag:txton.net,2010:/days//2.90</id>

    <published>2010-05-03T08:17:26Z</published>
    <updated>2011-05-03T06:17:26Z</updated>

    <summary></summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/days/">
        <![CDATA[<img alt="notitle" src="http://txton.net/days/images/100503171726.jpg" width="1280" height="853" id="photosrc" />]]>
        
    </content>
</entry>

<entry>
    <title>notitle - TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/days/2010/100410181701.html" />
    <id>tag:txton.net,2010:/days//2.89</id>

    <published>2010-04-10T09:17:01Z</published>
    <updated>2011-05-03T06:17:58Z</updated>

    <summary></summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/days/">
        <![CDATA[<img alt="notitle" src="http://txton.net/days/images/100410181701.jpg" width="1280" height="853" id="photosrc" />]]>
        
    </content>
</entry>

<entry>
    <title>notitle - TXTON.NET</title>
    <link rel="alternate" type="text/html" href="http://txton.net/days/2010/100321170816.html" />
    <id>tag:txton.net,2010:/days//2.88</id>

    <published>2010-03-21T08:08:16Z</published>
    <updated>2011-05-03T06:18:31Z</updated>

    <summary></summary>
    <author>
        <name>hoehoe3</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://txton.net/days/">
        <![CDATA[<img alt="notitle" src="http://txton.net/days/images/100321170816.jpg" width="1280" height="853" id="photosrc" />]]>
        
    </content>
</entry>

</feed>

