<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>mine</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/" />
    <link rel="self" type="application/atom+xml" href="http://big-band.sakura.ne.jp/mine/atom.xml" />
    <id>tag:big-band.sakura.ne.jp,2011-09-28:/mine//16</id>
    <updated>2011-06-12T13:20:40Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 5.0</generator>

<entry>
    <title>MacでPHP開発環境4 - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2011/06/macphp4.html" />
    <id>tag:big-band.sakura.ne.jp,2011:/super_bombers/myblog//11.82</id>

    <published>2011-06-12T12:37:07Z</published>
    <updated>2011-06-12T13:20:40Z</updated>

    <summary>CakePHPを使っていて疑問に思ったこともマトメ。あれれ？CakePHPのテン...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[<div>CakePHPを使っていて疑問に思ったこともマトメ。</div><div><br /></div><div>あれれ？</div><div><br /></div><div>CakePHPのテンプレートのデザインを変えても変更が反映されない？</div><div>以下の設定に秘密がありました。</div><div><br /></div><div>hoge_controller.phpファイル</div><div><br /></div><div>↓システムで用意されているレイアウトを使う</div><div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><span style="color: #a2006a">public </span>$autoLayout<span style="color: #000000"> = </span><span style="color: #a2006a">true</span><span style="color: #000000">;</span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><span style="color: #000000"><br /></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><font class="Apple-style-span" color="#000000">こいつをコメントして、こんな感じにすると</font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><font class="Apple-style-span" color="#000000"><br /></font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><font class="Apple-style-span" color="#000000"></font></p><font class="Apple-style-span" color="#000000"><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #589371"></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #589371"># 独自のレイアウトを使う</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><span style="color: #a2006a">public </span>$layout<span style="color: #000000"> = </span>"hoge"<span style="color: #000000">;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #589371"># システムのレイアウトを使う</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #589371"># public $autoLayout = true;</p><p></p></font><p></p></div><div><br /></div><div><br /></div><div>あれれ？</div><div><br /></div><div>XAMPP以外から起動したMySqlに接続できないぞー。</div><div>以下の設定に秘密がありました。</div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/環境設定-230.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/環境設定-230.html','popup','width=668,height=330,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/環境設定-thumb-240x118-230.jpg" width="240" height="118" alt="環境設定.jpg" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>もちろんmysqlを起動しておきます。</div><div><br /></div><div>そしてdatabase.phpに以下の設定。</div><div><br /></div><div><br /></div><div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #a2006a"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">	</span></span>var <span style="color: #1100d0">$default</span><span style="color: #000000"> = </span>array<span style="color: #000000">(</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">		</span></span>'driver' <span style="color: #000000">=&gt; </span>'mysql'<span style="color: #000000">,</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">		</span></span>'persistent' <span style="color: #000000">=&gt; </span><span style="color: #a2006a">false</span><span style="color: #000000">,</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">		</span></span>'host' <span style="color: #000000">=&gt; </span>'localhost'<span style="color: #000000">,</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">		</span></span>'login' <span style="color: #000000">=&gt; </span>'root'<span style="color: #000000">,</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">		</span></span>'password' <span style="color: #000000">=&gt; </span>'password'<span style="color: #000000">,</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">		</span></span>'database' <span style="color: #000000">=&gt; </span>'hoge'<span style="color: #000000">,</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">		</span></span>'prefix' <span style="color: #000000">=&gt; </span>''<span style="color: #000000">,</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">		</span></span>'port' <span style="color: #000000">=&gt; </span>'/tmp/mysql.sock'<span style="color: #000000">, &lt;&lt; ここがポイント</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>);</p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><br /></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco">あれれ</p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><br /></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco">せっかくDB接続できるようになったのに、テーブルにアクセスできなぞー。</p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco">以下の設定変更でアクセスできました。</p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><br /></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco">テーブル名って名称に依存してしまうのですが、以下のようにすると特定のテーブルを指定できるようです。</p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco">models/以下のphpファイルに<span class="Apple-style-span" style="color: rgb(17, 0, 208); ">$useTableを設定します。</span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-style-span" style="color: rgb(17, 0, 208); "><br /></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-style-span" style="color: rgb(17, 0, 208); "><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #ff0000">&lt;?php</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">class </span>Hoge&nbsp;<span style="color: #a2006a">extends </span>AppModel</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco">{</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><span style="color: #000000">&nbsp; &nbsp; </span><span style="color: #a2006a">var </span>$name<span style="color: #000000"> = </span>'Hoge'<span style="color: #000000">;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0"><span style="color: #000000">&nbsp; &nbsp; </span><span style="color: #a2006a">var </span>$useTable<span style="color: #000000"> = </span>'kokoni_tbl'<span style="color: #000000">;</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco">}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #ff0000">?&gt;</p></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-style-span" style="color: rgb(17, 0, 208); "><br /></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-style-span" style="color: rgb(17, 0, 208); "><br /></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-style-span" style="color: rgb(17, 0, 208); "><br /></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-style-span" style="color: rgb(17, 0, 208); "><br /></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><br /></p></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>subversion - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2011/06/subversion.html" />
    <id>tag:big-band.sakura.ne.jp,2011:/super_bombers/myblog//11.81</id>

    <published>2011-06-07T14:40:02Z</published>
    <updated>2011-06-07T14:44:16Z</updated>

    <summary> ...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[<a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/1-1-218.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/1-1-218.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/1-1-thumb-240x150-218.jpg" width="240" height="150" alt="1-1.jpg" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a> <div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/1-2-221.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/1-2-221.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/1-2-thumb-240x150-221.jpg" width="240" height="150" alt="1-2.jpg" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/1-3-224.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/1-3-224.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/1-3-thumb-240x150-224.jpg" width="240" height="150" alt="1-3.jpg" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/1-4-227.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/1-4-227.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/06/1-4-thumb-240x150-227.jpg" width="240" height="150" alt="1-4.jpg" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>android ソースメモ2 - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2011/05/android-2.html" />
    <id>tag:big-band.sakura.ne.jp,2011:/super_bombers/myblog//11.80</id>

    <published>2011-05-16T08:35:57Z</published>
    <updated>2011-05-16T08:40:52Z</updated>

    <summary> p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; ...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    <category term="androidprogram" label="android program" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
<meta name="Generator" content="Cocoa HTML Writer">
<meta name="CocoaVersion" content="1038.35">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #a2006a}
p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #466fce}
p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #777777}
p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2d9471}
p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #4400ff}
span.s1 {color: #a2006a}
span.s2 {color: #000000}
span.s3 {color: #1100d0}
span.s4 {color: #4400ff}
span.s5 {color: #89afcc}
span.Apple-tab-span {white-space:pre}
</style>


<p class="p1"><span class="s1"><meta charset="utf-8"><span class="Apple-style-span" style="color: rgb(51, 51, 51); ">AudioRecord 「</span></span><meta charset="utf-8">OnRecordPositionUpdateListener」インターフェースを使ってみた。</p><p class="p1"><span class="s1">イマイチうまく動かない。</span></p><p class="p1"><span class="s1"><br /></span></p><p class="p1"><span class="s1"><br /></span></p><p class="p1"><span class="s1">package</span> sakura.jp;</p>
<p class="p2"><br /></p>
<p class="p1"><span class="s1">import</span> java.util.Arrays;</p>
<p class="p2"><br /></p>
<p class="p1"><span class="s1">import</span> android.app.Activity;</p>
<p class="p1"><span class="s1">import</span> android.media.AudioFormat;</p>
<p class="p1"><span class="s1">import</span> android.media.AudioRecord;</p>
<p class="p1"><span class="s1">import</span> android.media.MediaRecorder;</p>
<p class="p1"><span class="s1">import</span> android.media.AudioRecord.OnRecordPositionUpdateListener;</p>
<p class="p1"><span class="s1">import</span> android.os.Bundle;</p>
<p class="p1"><span class="s1">import</span> android.os.Handler;</p>
<p class="p1"><span class="s1">import</span> android.util.Log;</p>
<p class="p1"><span class="s1">import</span> android.view.Gravity;</p>
<p class="p1"><span class="s1">import</span> android.view.ViewGroup.LayoutParams;</p>
<p class="p1"><span class="s1">import</span> android.widget.LinearLayout;</p>
<p class="p1"><span class="s1">import</span> android.widget.TextView;</p>
<p class="p2"><br /></p>
<p class="p1"><span class="s1">public</span> <span class="s1">class</span> MicTest <span class="s1">extends</span> Activity {</p>
<p class="p2"><br /></p>
<p class="p3"><span class="s2"><span class="Apple-tab-span">	</span></span>private<span class="s2"> </span>static<span class="s2"> </span>final<span class="s2"> </span>int<span class="s2"> </span><span class="s3">AUDIO_SAMPLE_FREQ</span><span class="s2"> = 8000;</span></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="s1">private</span> <span class="s1">static</span> <span class="s1">final</span> <span class="s1">int</span> <span class="s3">AUDIO_BUFFER_SIZE</span> = AudioRecord.getMinBufferSize(</p>
<p class="p4"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>AUDIO_SAMPLE_FREQ<span class="s2">, AudioFormat.</span>CHANNEL_CONFIGURATION_MONO<span class="s2">,</span></p>
<p class="p4"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>AudioFormat.</span>CHANNEL_CONFIGURATION_MONO<span class="s2">) * 2;</span></p>
<p class="p2"><br /></p>
<p class="p4"><span class="s2"><span class="Apple-tab-span">	</span></span><span class="s1">short</span><span class="s2">[] </span>BUFFER<span class="s2"> = </span><span class="s1">new</span><span class="s2"> </span><span class="s1">short</span><span class="s2">[</span>AUDIO_BUFFER_SIZE<span class="s2">];</span></p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span>AudioRecord <span class="s3">record</span>;</p>
<p class="p1"><span class="Apple-tab-span">	</span>Notification <span class="s3">mNotification</span>;</p>
<p class="p1"><span class="Apple-tab-span">	</span>TextView <span class="s3">mTextView</span>;</p>
<p class="p1"><span class="Apple-tab-span">	</span>Handler <span class="s3">mHandler</span> = <span class="s1">new</span> Handler();</p>
<p class="p2"><br /></p>
<p class="p5"><span class="s2"><span class="Apple-tab-span">	</span></span>/** Called when the activity is first created. */</p>
<p class="p6"><span class="s2"><span class="Apple-tab-span">	</span></span>@Override</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="s1">public</span> <span class="s1">void</span> onCreate(Bundle savedInstanceState) {</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">super</span>.onCreate(savedInstanceState);</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>LinearLayout linearLayout = <span class="s1">new</span> LinearLayout(<span class="s1">this</span>);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>linearLayout.setOrientation(LinearLayout.<span class="s3">VERTICAL</span>);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>linearLayout.setGravity(Gravity.<span class="s3">CENTER</span>);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>setContentView(linearLayout);</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">record</span> = <span class="s1">new</span> AudioRecord(MediaRecorder.AudioSource.<span class="s3">MIC</span>,</p>
<p class="p4"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>AUDIO_SAMPLE_FREQ<span class="s2">, AudioFormat.</span>CHANNEL_CONFIGURATION_MONO<span class="s2">,</span></p>
<p class="p4"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>AudioFormat.</span>ENCODING_PCM_16BIT<span class="s2">, </span>AUDIO_BUFFER_SIZE<span class="s2">);</span></p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">mNotification</span> = <span class="s1">new</span> Notification();</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">record</span>.setRecordPositionUpdateListener(<span class="s3">mNotification</span>);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">record</span>.setPositionNotificationPeriod(128);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">record</span>.setNotificationMarkerPosition(<span class="s3">AUDIO_BUFFER_SIZE</span> / 2);</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">record</span>.startRecording();</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">mNotification</span>.onPeriodicNotification(<span class="s3">record</span>);</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">mTextView</span> = <span class="s1">new</span> TextView(<span class="s1">this</span>);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>linearLayout.addView(<span class="s3">mTextView</span>, LayoutParams.<span class="s3">WRAP_CONTENT</span>);</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">mTextView</span>.setText(<span class="s4">"test start"</span>);</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span>}</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="s1">public</span> <span class="s1">class</span> Notification <span class="s1">implements</span> OnRecordPositionUpdateListener {</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">public</span> <span class="s1">void</span> onMarkerReached(AudioRecord recorder) {</p>
<p class="p7"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// <span class="s5">TODO</span> 自動生成されたメソッド・スタブ</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>}</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">public</span> <span class="s1">void</span> onPeriodicNotification(AudioRecord recorder) {</p>
<p class="p7"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// <span class="s5">TODO</span> 自動生成されたメソッド・スタブ</p>
<p class="p2"><br /></p>
<p class="p4"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>record<span class="s2">.read(</span>BUFFER<span class="s2">, 0, </span>AUDIO_BUFFER_SIZE<span class="s2">);</span></p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>Arrays.sort(<span class="s3">BUFFER</span>);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">short</span> volts = <span class="s3">BUFFER</span>[<span class="s3">BUFFER</span>.<span class="s3">length</span> - 1];</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">final</span> String msg = String.valueOf(volts);</p>
<p class="p8"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>Log.d(</span>"TEST"<span class="s2">, </span>"onPeridic : "<span class="s2"> + msg);</span></p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">mHandler</span>.post(<span class="s1">new</span> Runnable() {</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">public</span> <span class="s1">void</span> run() {</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">mTextView</span>.setText(<span class="s4">"onPeridic : "</span> + msg);</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">try</span> {</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>Thread.sleep(1000);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>} <span class="s1">catch</span> (InterruptedException e) {</p>
<p class="p7"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// <span class="s5">TODO</span> 自動生成された catch ブロック</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>e.printStackTrace();</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>}</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>}</p>
<p class="p2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>});</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>}</p>
<p class="p2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
<p class="p1"><span class="Apple-tab-span">	</span>}</p>
<p class="p2"><br /></p>
<p class="p1">}</p> ]]>
        
    </content>
</entry>

<entry>
    <title>java class interface  - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2011/05/java-class-interface.html" />
    <id>tag:big-band.sakura.ne.jp,2011:/super_bombers/myblog//11.79</id>

    <published>2011-05-15T13:31:41Z</published>
    <updated>2011-05-15T13:53:21Z</updated>

    <summary>自分用メモ。別のクラスファイルにスレッドを作り、その戻り値をメインのjavaで受...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><font class="Apple-style-span" color="#A2006A">自分用メモ。</font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><font class="Apple-style-span" color="#A2006A"><br /></font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><font class="Apple-style-span" color="#A2006A">別のクラスファイルにスレッドを作り、その戻り値をメインのjavaで受信する。</font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-style-span" style="color: rgb(24, 58, 123); font-family: 'trebuchet ms', arial, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; font-size: 22px; font-weight: bold; "><font class="Apple-style-span" style="font-size: 0.8em; "><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/2011/03/android2.html">androidに挑戦中2</a></font></span><span class="Apple-style-span" style="color: rgb(162, 0, 106); ">で使っている方法。</span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-style-span" style="color: rgb(162, 0, 106); "><br /></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-style-span" style="color: rgb(162, 0, 106); "><br /></span></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><font class="Apple-style-span" color="#A2006A">■ MeterAnima.java</font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-style-span" style="color: rgb(162, 0, 106); "><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">package</span> jp.sakura;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> jp.sakura.SoundSwitch.OnReachedVolumeListener;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">public</span> <span style="color: #a2006a">class</span> MeterAnima {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">	</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #a2006a">static</span> SoundSwitch <span style="color: #1100d0">mSoundSwitch</span>;<span class="Apple-tab-span" style="white-space:pre">	</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">	</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #a2006a">public</span> <span style="color: #a2006a">static</span> <span style="color: #a2006a">void</span> main(String[] args) {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2d9471"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">		</span></span>// <span style="color: #89afcc">TODO</span> 自動生成されたメソッド・スタブ</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">		</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #1100d0">mSoundSwitch</span> = <span style="color: #a2006a">new</span> SoundSwitch();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2d9471"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">		</span></span>// SoundSwitchクラスのsetOnVolumeReachedListenerメソッドを実行</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #1100d0">mSoundSwitch</span>.setOnVolumeReachedListener(</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">				</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2d9471"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">				</span></span>// SoundSwitch interface 実装</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">				</span><span style="color: #a2006a">new</span> OnReachedVolumeListener() {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">					</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2d9471"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">					</span></span>// OnReachedVolumeListenerのOnReachedVolumeメソッドを実装</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">					</span><span style="color: #a2006a">public</span> <span style="color: #a2006a">void</span> OnReachedVolume( <span style="color: #a2006a">final</span> <span style="color: #a2006a">short</span> volume ) {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">						</span>System.<span style="color: #1100d0">out</span>.println(<span style="color: #4400ff">"volume"</span> + volume);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">					</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">					</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">				</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">						</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #a2006a">new</span> Thread(<span style="color: #1100d0">mSoundSwitch</span>).start();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">					</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco">}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px">■ SoundSwitch.java</p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">package</span> jp.sakura;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">public</span> <span style="color: #a2006a">class</span> SoundSwitch <span style="color: #a2006a">implements</span> Runnable {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">		</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2d9471"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">	</span></span>// mListenerをOnReachedVolumeListener型で宣言</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #a2006a">private</span> OnReachedVolumeListener <span style="color: #1100d0">mListener</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">	</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2d9471"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">	</span></span>// メソッドに引数を指定する場合は型が必要なので「OnReachedVolumeListener listener」となる。</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #a2006a">public</span> <span style="color: #a2006a">void</span> setOnVolumeReachedListener( OnReachedVolumeListener listener ) {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">		</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #1100d0">mListener</span> = listener;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">		</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">	</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2d9471"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">	</span></span>// OnReachedVolumeListenerメソッドを宣言</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #a2006a">public</span> <span style="color: #a2006a">interface</span> OnReachedVolumeListener {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">		</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2d9471"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">		</span></span>// 抽象メソッド</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #a2006a">void</span> OnReachedVolume( <span style="color: #a2006a">short</span> volume );</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">		</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2d9471"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">	</span></span>// Runnableのrunメソッドを実装</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #777777"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">	</span></span>@Override</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #a2006a">public</span> <span style="color: #a2006a">void</span> run() {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">		</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #a2006a">short</span> max = 0;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #1100d0">mListener</span>.OnReachedVolume(max);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">		</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco">}</p><div><br /></div></p></span></p> ]]>
        
    </content>
</entry>

<entry>
    <title>android ソースメモ1 - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2011/05/android-1.html" />
    <id>tag:big-band.sakura.ne.jp,2011:/super_bombers/myblog//11.78</id>

    <published>2011-05-13T02:27:37Z</published>
    <updated>2011-05-16T08:40:10Z</updated>

    <summary>針を回すアニメーションです。メモとしてtimerTaskを使った定期実行と、sl...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    <category term="androidprogram" label="android program" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[針を回すアニメーションです。<div><br /></div><div>メモとしてtimerTaskを使った定期実行と、sleepを使った場合を掲載。</div><div><br /></div><div>■TimerTask</div><div><br /></div><div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">package</span> sakura.jp;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> java.util.Timer;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> java.util.TimerTask;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.app.Activity;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.content.Context;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.graphics.Canvas;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.graphics.Color;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.graphics.Paint;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.graphics.Path;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.os.Bundle;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.os.Handler;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.util.Log;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.view.View;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">public</span> <span style="color: #a2006a">class</span> Meter <span style="color: #a2006a">extends</span> Activity {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #466fce"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">	</span></span>/** Called when the activity is first created. */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #a2006a">int</span> <span style="color: #1100d0">rote</span> = 0;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>Timer <span style="color: #1100d0">timer</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>Handler <span style="color: #1100d0">handler</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>MeterView <span style="color: #1100d0">myView</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #777777"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">	</span></span>@Override</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #a2006a">public</span> <span style="color: #a2006a">void</span> onCreate(Bundle savedInstanceState) {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #a2006a">super</span>.onCreate(savedInstanceState);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #1100d0">myView</span> = <span style="color: #a2006a">new</span> MeterView(getApplication());</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>setContentView(<span style="color: #1100d0">myView</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">		</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #1100d0">timer</span> = <span style="color: #a2006a">new</span> Timer();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #1100d0">handler</span> = <span style="color: #a2006a">new</span> Handler();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #1100d0">timer</span>.schedule(<span style="color: #a2006a">new</span> TimerTask() {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #a2006a">public</span> <span style="color: #a2006a">void</span> run() {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">				</span><span style="color: #1100d0">handler</span>.post(<span style="color: #a2006a">new</span> Runnable() {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">					</span><span style="color: #a2006a">public</span> <span style="color: #a2006a">void</span> run() {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">						</span><span style="color: #1100d0">rote</span> = <span style="color: #1100d0">rote</span> + 1;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">						</span><span style="color: #1100d0">myView</span>.invalidate();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">					</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">				</span>});</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>}, 0, 1000);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #a2006a">class</span> MeterView <span style="color: #a2006a">extends</span> View {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>Paint <span style="color: #1100d0">paint</span> = <span style="color: #a2006a">new</span> Paint();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>Path <span style="color: #1100d0">path</span> = <span style="color: #a2006a">new</span> Path();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #a2006a">public</span> MeterView(Context context) {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #a2006a">super</span>(context);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #a2006a">protected</span> <span style="color: #a2006a">void</span> onDraw(Canvas canvas) {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">path</span>.moveTo(-100, -0);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">path</span>.lineTo(0, -3);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">path</span>.lineTo(0, 0);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">path</span>.lineTo(0, 3);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">path</span>.close();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #a2006a">int</span> w = canvas.getWidth();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #a2006a">int</span> h = canvas.getHeight();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #a2006a">int</span> cx = w / 2;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #a2006a">int</span> cy = h / 2;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>Log.d(<span style="color: #4400ff">"TEST"</span>, <span style="color: #4400ff">"ondraw:"</span> + <span style="color: #1100d0">rote</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>canvas.drawColor(Color.<span style="color: #1100d0">WHITE</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">paint</span>.setAntiAlias(<span style="color: #a2006a">true</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">paint</span>.setColor(Color.<span style="color: #1100d0">BLACK</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">paint</span>.setStyle(Paint.Style.<span style="color: #1100d0">FILL</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>canvas.drawCircle(cx, cy, 5, <span style="color: #1100d0">paint</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>canvas.translate(cx, cy);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>canvas.rotate(<span style="color: #1100d0">rote</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>canvas.drawPath(<span style="color: #1100d0">path</span>, <span style="color: #1100d0">paint</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco">}</p></div><div><br /></div><div>■sleep</div><div><br /></div><div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">package</span> sakura.jp;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> java.util.Timer;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.app.Activity;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.content.Context;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.graphics.Canvas;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.graphics.Color;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.graphics.Paint;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.graphics.Path;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.os.Bundle;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.os.Handler;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.util.Log;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">import</span> android.view.View;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span style="color: #a2006a">public</span> <span style="color: #a2006a">class</span> Meter <span style="color: #a2006a">extends</span> Activity <span style="color: #a2006a">implements</span> Runnable {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #466fce"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">	</span></span>/** Called when the activity is first created. */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #a2006a">int</span> <span style="color: #1100d0">rote</span> = 0;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>Timer <span style="color: #1100d0">timer</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>Handler <span style="color: #1100d0">handler</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>MeterView <span style="color: #1100d0">myView</span>;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #777777"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">	</span></span>@Override</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #a2006a">public</span> <span style="color: #a2006a">void</span> onCreate(Bundle savedInstanceState) {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #a2006a">super</span>.onCreate(savedInstanceState);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #1100d0">myView</span> = <span style="color: #a2006a">new</span> MeterView(getApplication());</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>setContentView(<span style="color: #1100d0">myView</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #1100d0">handler</span> = <span style="color: #a2006a">new</span> Handler();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>Thread thread = <span style="color: #a2006a">new</span> Thread(<span style="color: #a2006a">this</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>thread.start();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #a2006a">public</span> <span style="color: #a2006a">void</span> run() {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #a2006a">for</span> (<span style="color: #1100d0">rote</span> = 0; <span style="color: #1100d0">rote</span> &lt; 360; <span style="color: #1100d0">rote</span>++) {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>Log.d(<span style="color: #4400ff">"TEST"</span>, <span style="color: #4400ff">"rote 1:"</span> + <span style="color: #1100d0">rote</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">handler</span>.post(<span style="color: #a2006a">new</span> Runnable() {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">				</span><span style="color: #a2006a">public</span> <span style="color: #a2006a">void</span> run() {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">					</span>Log.d(<span style="color: #4400ff">"TEST"</span>, <span style="color: #4400ff">"rote 2:"</span> + <span style="color: #1100d0">rote</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">					</span><span style="color: #1100d0">myView</span>.invalidate();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">				</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>});</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #a2006a">try</span> {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">				</span>Thread.sleep(1000);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">				</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>} <span style="color: #a2006a">catch</span> (InterruptedException e) {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">				</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">				</span>e.printStackTrace();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><span class="Apple-tab-span" style="white-space:pre">				</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #a2006a">class</span> MeterView <span style="color: #a2006a">extends</span> View {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>Paint <span style="color: #1100d0">paint</span> = <span style="color: #a2006a">new</span> Paint();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>Path <span style="color: #1100d0">path</span> = <span style="color: #a2006a">new</span> Path();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #a2006a">public</span> MeterView(Context context) {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #a2006a">super</span>(context);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #a2006a">protected</span> <span style="color: #a2006a">void</span> onDraw(Canvas canvas) {</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">path</span>.moveTo(-100, -0);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">path</span>.lineTo(0, -3);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">path</span>.lineTo(0, 0);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">path</span>.lineTo(0, 3);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">path</span>.close();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #a2006a">int</span> w = canvas.getWidth();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #a2006a">int</span> h = canvas.getHeight();</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #a2006a">int</span> cx = w / 2;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #a2006a">int</span> cy = h / 2;</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>Log.d(<span style="color: #4400ff">"TEST"</span>, <span style="color: #4400ff">"ondraw:"</span> + <span style="color: #1100d0">rote</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>canvas.drawColor(Color.<span style="color: #1100d0">WHITE</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">paint</span>.setAntiAlias(<span style="color: #a2006a">true</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">paint</span>.setColor(Color.<span style="color: #1100d0">BLACK</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #1100d0">paint</span>.setStyle(Paint.Style.<span style="color: #1100d0">FILL</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>canvas.drawCircle(cx, cy, 5, <span style="color: #1100d0">paint</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>canvas.translate(cx, cy);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>canvas.rotate(<span style="color: #1100d0">rote</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">			</span>canvas.drawPath(<span style="color: #1100d0">path</span>, <span style="color: #1100d0">paint</span>);</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">		</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">	</span>}</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px"><br /></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco">}</p></div><div><br /></div><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>androidに挑戦中3 - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2011/04/android3.html" />
    <id>tag:big-band.sakura.ne.jp,2011:/super_bombers/myblog//11.74</id>

    <published>2011-04-19T12:22:12Z</published>
    <updated>2011-04-19T12:58:08Z</updated>

    <summary>「androidに挑戦中2」のソースをAudioメーターぽい感じにしてみました。...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[<div>「androidに挑戦中2」のソースをAudioメーターぽい感じにしてみました。</div><div><br /></div><div>android audiorecord vu meter</div><div><br /></div><iframe title="YouTube video player" width="240" height="150" src="http://www.youtube.com/embed/JEIbw5rvQic" frameborder="0" allowfullscreen=""></iframe> <div><br /></div><div><div><div><div>参考にした書籍。</div><div><br /></div></div></div><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=minetake-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4844327712&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" style="width: 120px; height: 240px; "></iframe>&nbsp;<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=minetake-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4798027049&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" style="width: 120px; height: 240px; "></iframe></div>]]>
        
    </content>
</entry>

<entry>
    <title>MacにInk2canvasを入れてみる - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2011/04/ink2canvas.html" />
    <id>tag:big-band.sakura.ne.jp,2011:/super_bombers/myblog//11.73</id>

    <published>2011-04-17T00:53:50Z</published>
    <updated>2011-04-17T13:25:55Z</updated>

    <summary>html5を試すためにInkscapeからcanvasに変換するライブラリーをイ...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[<div>html5を試すためにInkscapeからcanvasに変換するライブラリーをインストールしてみる。</div><div><br /></div><div>１、以下のURLからInkscapeをダウンロードしてインストール</div><div><br /></div><div><a href="http://inkscape.org/">http://inkscape.org/</a></div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape1-187.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape1-187.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape1-thumb-240x150-187.jpg" width="240" height="150" alt="inkscape1.jpg" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>２、gitでInk2canvasをインストール</div><div><br /></div><div>git clone https://github.com/karlisson/Ink2canvas.git</div><div><br /></div><div>Ink2canvasディレクトリに移動。</div><div>cd Ink2canvas</div><div><br /></div><div>git pull</div><div><br /></div><div>３、ink2canvas.inx、ink2canvas.py、libディレクトリを「extensions」にコピー</div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape2-190.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape2-190.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape2-thumb-240x150-190.jpg" width="240" height="150" alt="inkscape2.jpg" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>Contl + クリックでサブウィンドウを表示し、「パッケージ内容を表示」を選択。</div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape3-193.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape3-193.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape3-thumb-240x150-193.jpg" width="240" height="150" alt="inkscape3.jpg" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>ファイルディレクトリをコピー</div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape4-196.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape4-196.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape4-thumb-240x150-196.jpg" width="240" height="150" alt="inkscape4.jpg" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>４、Inkscapeを起動し、作成したイメージを「html５」で保存</div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape5-199.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape5-199.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/inkscape5-thumb-240x150-199.jpg" width="240" height="150" alt="inkscape5.jpg" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>以下がcanvasで作成したイメージです。</div><div><br /></div><div><br /></div><div><br /></div>

    <canvas id="canvas" width="400" height="120"></canvas>
    <script>
    var ctx = document.getElementById("canvas").getContext("2d");
    	
// #layer1
	ctx.save();
	ctx.transform(1.00, 0.00, 0.00, 1.00, 0.00, -932.36);
	ctx.restore();
	
// #layer5
	ctx.save();
	ctx.transform(1.00, 0.00, 0.00, 1.00, 0.00, -932.36);
	ctx.restore();
	
// #layer7
	ctx.save();
	ctx.transform(1.00, 0.00, 0.00, 1.00, 0.00, -932.36);
	
// #path2701
	ctx.beginPath();
	ctx.fillStyle = 'rgb(255, 0, 0)';
	ctx.moveTo(415.71, 497.72);
	ctx.bezierCurveTo(415.71, 498.43, 415.69, 499.13, 415.64, 499.84);
	ctx.fill();
	ctx.restore();
	
// #layer9
	ctx.save();
	ctx.transform(1.00, 0.00, 0.00, 1.00, 0.00, -932.36);
	
// #path2725
	ctx.beginPath();
	ctx.fillStyle = 'rgb(0, 0, 0)';
	ctx.moveTo(376.20, 543.91);
	ctx.lineTo(367.61, 535.99);
	ctx.lineTo(358.50, 540.26);
	ctx.bezierCurveTo(353.26, 542.71, 349.20, 545.99, 347.35, 545.08);
	ctx.bezierCurveTo(345.51, 544.17, 345.88, 539.06, 345.46, 533.82);
	ctx.lineTo(344.88, 526.51);
	ctx.lineTo(334.38, 526.72);
	ctx.bezierCurveTo(328.56, 526.84, 324.30, 528.78, 323.43, 527.84);
	ctx.bezierCurveTo(322.57, 526.90, 325.12, 523.08, 328.89, 520.74);
	ctx.bezierCurveTo(331.66, 519.03, 334.95, 516.38, 336.20, 514.86);
	ctx.bezierCurveTo(339.85, 510.46, 338.97, 502.38, 334.51, 499.26);
	ctx.bezierCurveTo(332.53, 497.87, 328.52, 496.66, 328.45, 495.51);
	ctx.bezierCurveTo(328.38, 494.36, 332.26, 493.27, 333.97, 490.10);
	ctx.bezierCurveTo(337.36, 483.80, 337.36, 483.62, 333.38, 474.02);
	ctx.bezierCurveTo(331.16, 468.67, 329.35, 462.57, 329.35, 460.45);
	ctx.bezierCurveTo(329.35, 455.18, 337.88, 451.66, 344.52, 454.18);
	ctx.bezierCurveTo(350.08, 456.30, 376.32, 454.97, 386.00, 452.09);
	ctx.bezierCurveTo(389.52, 451.04, 396.00, 447.78, 400.41, 444.84);
	ctx.bezierCurveTo(404.81, 441.90, 409.44, 439.89, 410.68, 440.37);
	ctx.bezierCurveTo(411.93, 440.85, 413.54, 445.21, 414.27, 450.07);
	ctx.bezierCurveTo(415.99, 461.63, 417.77, 463.46, 427.34, 463.46);
	ctx.bezierCurveTo(431.74, 463.46, 435.34, 463.73, 435.34, 464.06);
	ctx.bezierCurveTo(435.34, 464.38, 431.35, 475.28, 426.47, 488.27);
	ctx.bezierCurveTo(416.03, 516.10, 414.60, 521.33, 417.06, 522.85);
	ctx.bezierCurveTo(418.07, 523.47, 418.89, 527.63, 418.89, 532.10);
	ctx.bezierCurveTo(418.89, 536.66, 420.60, 540.85, 419.00, 541.60);
	ctx.bezierCurveTo(417.41, 542.34, 412.50, 539.64, 407.34, 537.49);
	ctx.bezierCurveTo(401.28, 534.96, 395.14, 535.31, 395.14, 538.19);
	ctx.bezierCurveTo(395.14, 538.88, 392.81, 542.22, 389.97, 545.63);
	ctx.lineTo(384.80, 551.83);
	ctx.lineTo(376.20, 543.91);
	ctx.fill();
	ctx.restore();
	
// #layer2
	ctx.save();
	ctx.transform(1.00, 0.00, 0.00, 1.00, 0.00, -932.36);
	
// #path2523
	ctx.beginPath();
	ctx.fillStyle = 'rgb(0, 0, 0)';
	ctx.moveTo(270.60, 521.76);
	ctx.bezierCurveTo(266.88, 516.48, 263.28, 512.16, 262.60, 512.16);
	ctx.bezierCurveTo(261.83, 512.16, 261.52, 515.03, 261.78, 519.66);
	ctx.lineTo(262.20, 527.16);
	ctx.lineTo(250.47, 527.16);
	ctx.lineTo(238.74, 527.16);
	ctx.lineTo(238.47, 495.66);
	ctx.lineTo(238.20, 464.16);
	ctx.lineTo(249.00, 464.17);
	ctx.bezierCurveTo(269.66, 464.19, 282.56, 467.92, 286.18, 474.91);
	ctx.bezierCurveTo(289.01, 480.40, 288.51, 488.28, 285.00, 493.45);
	ctx.bezierCurveTo(283.35, 495.88, 282.01, 498.52, 282.03, 499.32);
	ctx.bezierCurveTo(282.06, 501.13, 292.49, 512.16, 294.17, 512.16);
	ctx.bezierCurveTo(295.00, 512.16, 295.28, 504.17, 295.01, 488.16);
	ctx.lineTo(294.60, 464.16);
	ctx.lineTo(303.85, 464.16);
	ctx.bezierCurveTo(308.94, 464.16, 317.10, 464.76, 321.98, 465.48);
	ctx.bezierCurveTo(329.22, 466.56, 331.64, 467.51, 335.06, 470.58);
	ctx.bezierCurveTo(337.37, 472.66, 339.87, 475.54, 340.63, 476.98);
	ctx.bezierCurveTo(342.55, 480.66, 342.34, 486.39, 340.20, 488.16);
	ctx.bezierCurveTo(337.88, 490.09, 337.92, 493.83, 340.31, 498.36);
	ctx.bezierCurveTo(344.38, 506.08, 341.95, 515.87, 334.71, 520.99);
	ctx.bezierCurveTo(328.60, 525.31, 320.31, 527.55, 306.79, 528.55);
	ctx.bezierCurveTo(295.60, 529.38, 293.27, 528.50, 294.68, 523.96);
	ctx.bezierCurveTo(295.92, 519.95, 292.87, 520.68, 286.39, 525.96);
	ctx.bezierCurveTo(282.75, 528.93, 279.22, 531.36, 278.56, 531.36);
	ctx.bezierCurveTo(277.90, 531.36, 274.32, 527.04, 270.60, 521.76);
	ctx.moveTo(264.00, 486.36);
	ctx.bezierCurveTo(264.00, 485.37, 263.46, 484.56, 262.80, 484.56);
	ctx.bezierCurveTo(262.14, 484.56, 261.60, 485.37, 261.60, 486.36);
	ctx.bezierCurveTo(261.60, 487.35, 262.14, 488.16, 262.80, 488.16);
	ctx.bezierCurveTo(263.46, 488.16, 264.00, 487.35, 264.00, 486.36);
	ctx.moveTo(415.41, 528.11);
	ctx.bezierCurveTo(411.23, 526.44, 407.55, 524.39, 407.23, 523.54);
	ctx.bezierCurveTo(406.90, 522.69, 407.75, 519.54, 409.12, 516.55);
	ctx.bezierCurveTo(410.48, 513.55, 411.60, 510.39, 411.59, 509.53);
	ctx.bezierCurveTo(411.59, 507.73, 414.80, 497.74, 417.18, 492.18);
	ctx.bezierCurveTo(418.07, 490.10, 418.80, 487.37, 418.80, 486.12);
	ctx.bezierCurveTo(418.80, 484.87, 419.31, 483.33, 419.93, 482.70);
	ctx.bezierCurveTo(420.55, 482.08, 422.60, 477.51, 424.48, 472.56);
	ctx.bezierCurveTo(427.42, 464.83, 428.35, 463.51, 431.02, 463.19);
	ctx.bezierCurveTo(434.63, 462.77, 436.19, 464.66, 443.94, 478.86);
	ctx.bezierCurveTo(446.73, 483.98, 449.64, 488.16, 450.41, 488.15);
	ctx.bezierCurveTo(451.17, 488.14, 453.69, 484.82, 456.00, 480.77);
	ctx.bezierCurveTo(465.56, 464.01, 469.45, 460.97, 473.50, 467.15);
	ctx.bezierCurveTo(474.58, 468.80, 479.69, 480.27, 484.86, 492.65);
	ctx.bezierCurveTo(490.03, 505.03, 494.69, 515.02, 495.23, 514.85);
	ctx.bezierCurveTo(495.76, 514.68, 496.20, 503.21, 496.20, 489.35);
	ctx.lineTo(496.20, 464.16);
	ctx.lineTo(505.80, 464.17);
	ctx.bezierCurveTo(517.60, 464.18, 527.76, 465.76, 533.52, 468.50);
	ctx.bezierCurveTo(541.42, 472.25, 544.61, 481.60, 540.63, 489.30);
	ctx.bezierCurveTo(539.00, 492.46, 539.06, 492.97, 541.53, 496.11);
	ctx.bezierCurveTo(545.17, 500.73, 545.25, 510.57, 541.69, 515.37);
	ctx.bezierCurveTo(535.77, 523.36, 525.45, 527.41, 508.04, 528.57);
	ctx.bezierCurveTo(497.56, 529.27, 497.03, 529.19, 496.25, 526.73);
	ctx.bezierCurveTo(495.19, 523.39, 494.69, 523.45, 485.33, 528.06);
	ctx.bezierCurveTo(475.91, 532.70, 476.03, 532.78, 470.89, 518.34);
	ctx.bezierCurveTo(465.97, 504.50, 465.82, 504.47, 458.44, 515.70);
	ctx.bezierCurveTo(449.66, 529.08, 446.72, 528.60, 437.76, 512.28);
	ctx.bezierCurveTo(435.05, 507.35, 433.47, 507.59, 432.55, 513.06);
	ctx.bezierCurveTo(432.13, 515.54, 431.06, 519.19, 430.17, 521.18);
	ctx.bezierCurveTo(429.28, 523.17, 427.99, 526.28, 427.31, 528.08);
	ctx.bezierCurveTo(425.82, 532.00, 425.17, 532.00, 415.41, 528.11);
	ctx.moveTo(629.04, 525.06);
	ctx.bezierCurveTo(626.49, 521.60, 623.45, 517.28, 622.27, 515.46);
	ctx.bezierCurveTo(618.89, 510.26, 617.74, 511.45, 618.19, 519.66);
	ctx.lineTo(618.60, 527.16);
	ctx.lineTo(606.89, 527.16);
	ctx.lineTo(595.19, 527.16);
	ctx.lineTo(594.89, 495.50);
	ctx.lineTo(594.60, 463.84);
	ctx.lineTo(610.20, 464.52);
	ctx.bezierCurveTo(629.20, 465.35, 633.99, 466.67, 640.02, 472.70);
	ctx.bezierCurveTo(644.54, 477.21, 644.68, 477.60, 644.15, 484.01);
	ctx.bezierCurveTo(643.80, 488.24, 642.66, 491.91, 641.00, 494.15);
	ctx.bezierCurveTo(637.45, 498.96, 637.68, 500.17, 643.16, 505.52);
	ctx.lineTo(647.91, 510.16);
	ctx.lineTo(654.77, 509.06);
	ctx.bezierCurveTo(658.54, 508.46, 661.78, 507.42, 661.98, 506.76);
	ctx.bezierCurveTo(662.17, 506.10, 659.69, 503.77, 656.46, 501.58);
	ctx.bezierCurveTo(650.61, 497.61, 646.80, 491.88, 646.80, 487.04);
	ctx.bezierCurveTo(646.80, 475.74, 662.01, 464.28, 677.73, 463.75);
	ctx.lineTo(683.38, 463.56);
	ctx.lineTo(684.88, 470.76);
	ctx.bezierCurveTo(687.12, 481.58, 686.74, 482.66, 680.49, 483.36);
	ctx.bezierCurveTo(674.07, 484.09, 673.01, 486.10, 677.96, 488.15);
	ctx.bezierCurveTo(679.97, 488.98, 683.23, 491.50, 685.21, 493.75);
	ctx.bezierCurveTo(688.23, 497.20, 688.80, 498.85, 688.80, 504.22);
	ctx.bezierCurveTo(688.80, 513.05, 684.37, 519.06, 674.17, 524.04);
	ctx.bezierCurveTo(666.63, 527.73, 654.72, 530.75, 652.67, 529.48);
	ctx.bezierCurveTo(652.08, 529.12, 651.60, 527.49, 651.60, 525.85);
	ctx.bezierCurveTo(651.60, 521.05, 648.59, 521.24, 641.98, 526.47);
	ctx.bezierCurveTo(638.57, 529.16, 635.31, 531.36, 634.73, 531.36);
	ctx.bezierCurveTo(634.15, 531.36, 631.59, 528.53, 629.04, 525.06);
	ctx.moveTo(620.40, 485.69);
	ctx.bezierCurveTo(620.40, 485.07, 619.86, 484.56, 619.20, 484.56);
	ctx.bezierCurveTo(618.54, 484.56, 618.00, 485.40, 618.00, 486.43);
	ctx.bezierCurveTo(618.00, 487.46, 618.54, 487.97, 619.20, 487.56);
	ctx.bezierCurveTo(619.86, 487.15, 620.40, 486.31, 620.40, 485.69);
	ctx.moveTo(37.79, 528.68);
	ctx.bezierCurveTo(37.48, 527.85, 36.47, 523.48, 35.55, 518.98);
	ctx.bezierCurveTo(33.68, 509.94, 33.33, 510.49, 41.91, 508.90);
	ctx.bezierCurveTo(44.83, 508.36, 47.41, 507.32, 47.66, 506.59);
	ctx.bezierCurveTo(47.90, 505.85, 45.73, 503.86, 42.82, 502.16);
	ctx.bezierCurveTo(35.84, 498.06, 33.14, 493.76, 33.14, 486.69);
	ctx.bezierCurveTo(33.14, 479.58, 37.65, 473.45, 46.39, 468.70);
	ctx.bezierCurveTo(54.24, 464.42, 66.64, 461.44, 68.29, 463.43);
	ctx.bezierCurveTo(69.70, 465.13, 72.39, 480.98, 71.43, 481.94);
	ctx.bezierCurveTo(71.06, 482.31, 68.51, 482.91, 65.78, 483.28);
	ctx.bezierCurveTo(59.64, 484.12, 58.72, 486.14, 63.56, 488.15);
	ctx.bezierCurveTo(65.57, 488.98, 68.81, 491.48, 70.77, 493.71);
	ctx.bezierCurveTo(72.73, 495.94, 74.60, 497.76, 74.93, 497.76);
	ctx.bezierCurveTo(75.26, 497.76, 75.68, 490.34, 75.87, 481.26);
	ctx.lineTo(76.20, 464.76);
	ctx.lineTo(87.60, 464.76);
	ctx.lineTo(99.00, 464.76);
	ctx.lineTo(98.58, 480.40);
	ctx.bezierCurveTo(98.01, 502.07, 100.41, 509.82, 107.18, 508.12);
	ctx.bezierCurveTo(111.85, 506.95, 112.80, 502.68, 112.80, 482.83);
	ctx.bezierCurveTo(112.80, 467.15, 113.08, 464.31, 114.70, 463.69);
	ctx.bezierCurveTo(118.33, 462.30, 134.22, 462.89, 135.19, 464.46);
	ctx.bezierCurveTo(136.56, 466.66, 136.70, 494.87, 135.37, 502.59);
	ctx.bezierCurveTo(133.67, 512.55, 128.88, 520.41, 121.92, 524.71);
	ctx.bezierCurveTo(114.47, 529.30, 101.41, 530.44, 93.00, 527.23);
	ctx.bezierCurveTo(86.83, 524.87, 80.08, 517.87, 78.05, 511.71);
	ctx.bezierCurveTo(76.39, 506.69, 75.28, 506.94, 72.43, 512.95);
	ctx.bezierCurveTo(71.31, 515.31, 68.27, 518.78, 65.67, 520.66);
	ctx.bezierCurveTo(57.24, 526.77, 39.00, 532.02, 37.79, 528.68);
	ctx.moveTo(200.10, 528.08);
	ctx.lineTo(193.20, 527.64);
	ctx.lineTo(193.18, 509.40);
	ctx.bezierCurveTo(193.16, 488.82, 192.24, 485.24, 189.10, 493.46);
	ctx.bezierCurveTo(186.57, 500.08, 177.71, 508.39, 170.29, 511.09);
	ctx.lineTo(165.00, 513.02);
	ctx.lineTo(165.00, 520.09);
	ctx.lineTo(165.00, 527.16);
	ctx.lineTo(153.60, 527.16);
	ctx.lineTo(142.20, 527.16);
	ctx.lineTo(141.95, 495.49);
	ctx.lineTo(141.71, 463.82);
	ctx.lineTo(156.56, 464.46);
	ctx.bezierCurveTo(168.95, 464.99, 172.49, 465.59, 177.92, 468.08);
	ctx.bezierCurveTo(183.99, 470.86, 188.14, 475.00, 190.00, 480.14);
	ctx.bezierCurveTo(191.57, 484.50, 193.20, 480.62, 193.20, 472.49);
	ctx.lineTo(193.20, 464.16);
	ctx.lineTo(199.50, 464.11);
	ctx.bezierCurveTo(202.96, 464.08, 211.52, 463.76, 218.52, 463.40);
	ctx.lineTo(231.24, 462.74);
	ctx.lineTo(232.01, 469.15);
	ctx.bezierCurveTo(233.58, 482.23, 233.84, 481.75, 224.70, 482.92);
	ctx.bezierCurveTo(215.35, 484.12, 214.77, 486.36, 223.80, 486.36);
	ctx.lineTo(229.80, 486.36);
	ctx.lineTo(229.80, 495.96);
	ctx.lineTo(229.80, 505.56);
	ctx.lineTo(223.50, 505.92);
	ctx.bezierCurveTo(214.57, 506.44, 215.66, 508.56, 224.86, 508.56);
	ctx.bezierCurveTo(233.75, 508.56, 233.96, 508.86, 233.98, 521.46);
	ctx.lineTo(234.00, 528.96);
	ctx.lineTo(220.50, 528.74);
	ctx.bezierCurveTo(213.08, 528.61, 203.90, 528.31, 200.10, 528.08);
	ctx.moveTo(166.80, 487.56);
	ctx.bezierCurveTo(166.80, 486.57, 166.26, 485.76, 165.60, 485.76);
	ctx.bezierCurveTo(164.94, 485.76, 164.40, 486.57, 164.40, 487.56);
	ctx.bezierCurveTo(164.40, 488.55, 164.94, 489.36, 165.60, 489.36);
	ctx.bezierCurveTo(166.26, 489.36, 166.80, 488.55, 166.80, 487.56);
	ctx.moveTo(556.43, 527.86);
	ctx.lineTo(549.46, 527.16);
	ctx.lineTo(549.46, 496.13);
	ctx.bezierCurveTo(549.47, 479.06, 549.64, 464.94, 549.84, 464.76);
	ctx.bezierCurveTo(550.04, 464.58, 558.70, 464.05, 569.10, 463.58);
	ctx.lineTo(588.00, 462.74);
	ctx.lineTo(588.02, 469.75);
	ctx.bezierCurveTo(588.03, 473.61, 588.35, 477.94, 588.73, 479.38);
	ctx.bezierCurveTo(589.39, 481.84, 588.92, 482.04, 580.87, 482.84);
	ctx.bezierCurveTo(570.83, 483.83, 569.49, 486.60, 579.35, 485.98);
	ctx.bezierCurveTo(585.42, 485.61, 585.47, 485.63, 586.21, 489.59);
	ctx.bezierCurveTo(586.62, 491.78, 586.79, 496.27, 586.58, 499.57);
	ctx.lineTo(586.20, 505.56);
	ctx.lineTo(579.27, 505.92);
	ctx.bezierCurveTo(569.97, 506.41, 571.64, 508.56, 581.30, 508.56);
	ctx.lineTo(588.87, 508.56);
	ctx.lineTo(589.62, 514.86);
	ctx.bezierCurveTo(590.04, 518.33, 590.38, 522.92, 590.39, 525.06);
	ctx.lineTo(590.40, 528.96);
	ctx.lineTo(576.90, 528.76);
	ctx.bezierCurveTo(569.47, 528.65, 560.26, 528.24, 556.43, 527.86);
	ctx.moveTo(339.67, 457.96);
	ctx.bezierCurveTo(337.39, 455.51, 337.11, 455.48, 335.03, 457.36);
	ctx.bezierCurveTo(331.95, 460.14, 327.62, 459.85, 323.53, 456.58);
	ctx.lineTo(320.06, 453.80);
	ctx.lineTo(326.53, 442.48);
	ctx.bezierCurveTo(332.29, 432.42, 333.41, 431.12, 336.68, 430.80);
	ctx.bezierCurveTo(339.64, 430.51, 340.63, 431.04, 341.75, 433.50);
	ctx.bezierCurveTo(343.47, 437.27, 344.68, 437.37, 346.22, 433.86);
	ctx.bezierCurveTo(347.64, 430.62, 352.96, 429.66, 355.11, 432.26);
	ctx.bezierCurveTo(356.42, 433.84, 356.96, 433.85, 359.22, 432.37);
	ctx.bezierCurveTo(361.26, 431.03, 364.65, 430.82, 374.91, 431.41);
	ctx.bezierCurveTo(386.79, 432.08, 388.32, 432.44, 391.51, 435.29);
	ctx.bezierCurveTo(394.18, 437.68, 395.07, 439.58, 395.21, 443.20);
	ctx.bezierCurveTo(395.38, 447.40, 394.81, 448.48, 390.34, 452.37);
	ctx.bezierCurveTo(383.59, 458.23, 374.23, 460.50, 366.18, 458.21);
	ctx.bezierCurveTo(359.22, 456.23, 358.57, 456.25, 350.04, 458.62);
	ctx.bezierCurveTo(341.52, 461.00, 342.56, 461.06, 339.67, 457.96);
	ctx.moveTo(235.31, 423.90);
	ctx.bezierCurveTo(231.42, 419.47, 228.97, 419.22, 230.05, 423.36);
	ctx.bezierCurveTo(230.64, 425.62, 230.09, 425.76, 220.94, 425.76);
	ctx.lineTo(211.20, 425.76);
	ctx.lineTo(211.20, 402.31);
	ctx.lineTo(211.20, 378.86);
	ctx.lineTo(220.50, 379.21);
	ctx.bezierCurveTo(229.11, 379.54, 229.83, 379.76, 230.18, 382.26);
	ctx.bezierCurveTo(230.70, 385.92, 232.21, 385.66, 235.39, 381.36);
	ctx.bezierCurveTo(238.63, 376.98, 239.96, 376.88, 243.60, 380.76);
	ctx.bezierCurveTo(246.98, 384.36, 249.10, 384.59, 249.93, 381.43);
	ctx.bezierCurveTo(250.51, 379.20, 251.66, 379.10, 274.37, 379.33);
	ctx.lineTo(298.20, 379.56);
	ctx.lineTo(298.53, 402.66);
	ctx.lineTo(298.85, 425.76);
	ctx.lineTo(274.29, 425.76);
	ctx.bezierCurveTo(252.14, 425.76, 249.60, 425.56, 248.54, 423.66);
	ctx.bezierCurveTo(247.47, 421.74, 247.07, 421.84, 243.92, 424.86);
	ctx.bezierCurveTo(242.02, 426.68, 240.15, 428.16, 239.76, 428.16);
	ctx.bezierCurveTo(239.37, 428.16, 237.37, 426.24, 235.31, 423.90);
	ctx.moveTo(249.60, 402.49);
	ctx.bezierCurveTo(249.60, 395.74, 248.65, 395.07, 244.58, 398.97);
	ctx.lineTo(241.19, 402.22);
	ctx.lineTo(244.38, 405.55);
	ctx.bezierCurveTo(246.13, 407.38, 248.02, 408.59, 248.58, 408.25);
	ctx.bezierCurveTo(249.14, 407.90, 249.60, 405.31, 249.60, 402.49);
	ctx.moveTo(279.60, 402.36);
	ctx.bezierCurveTo(279.60, 399.39, 279.06, 396.96, 278.40, 396.96);
	ctx.bezierCurveTo(277.07, 396.96, 276.73, 405.69, 278.00, 406.96);
	ctx.bezierCurveTo(279.42, 408.38, 279.60, 407.86, 279.60, 402.36);
	ctx.moveTo(315.97, 425.33);
	ctx.bezierCurveTo(312.54, 423.88, 309.43, 422.39, 309.05, 422.02);
	ctx.bezierCurveTo(308.68, 421.64, 311.89, 411.96, 316.18, 400.51);
	ctx.bezierCurveTo(320.48, 389.06, 324.00, 379.50, 324.00, 379.25);
	ctx.bezierCurveTo(324.00, 379.01, 325.73, 378.98, 327.83, 379.19);
	ctx.bezierCurveTo(331.04, 379.50, 332.31, 380.63, 335.62, 386.16);
	ctx.bezierCurveTo(337.79, 389.78, 340.03, 392.91, 340.59, 393.09);
	ctx.bezierCurveTo(341.15, 393.28, 343.60, 390.45, 346.02, 386.80);
	ctx.bezierCurveTo(349.30, 381.86, 351.15, 380.16, 353.27, 380.16);
	ctx.bezierCurveTo(357.05, 380.16, 357.83, 381.29, 363.02, 394.27);
	ctx.bezierCurveTo(365.46, 400.38, 367.94, 405.68, 368.53, 406.04);
	ctx.bezierCurveTo(369.13, 406.41, 369.60, 400.91, 369.60, 393.46);
	ctx.bezierCurveTo(369.60, 377.47, 368.05, 378.42, 391.85, 379.79);
	ctx.lineTo(408.60, 380.76);
	ctx.lineTo(408.20, 391.56);
	ctx.bezierCurveTo(408.24, 409.34, 412.81, 416.50, 414.00, 393.87);
	ctx.lineTo(414.60, 379.56);
	ctx.lineTo(434.12, 379.71);
	ctx.bezierCurveTo(445.71, 379.80, 455.84, 380.48, 459.05, 381.38);
	ctx.bezierCurveTo(468.86, 384.12, 472.86, 392.32, 468.51, 400.73);
	ctx.bezierCurveTo(466.60, 404.42, 467.00, 408.30, 469.20, 407.56);
	ctx.bezierCurveTo(469.87, 407.34, 474.09, 400.68, 478.59, 392.76);
	ctx.bezierCurveTo(485.39, 380.81, 487.30, 378.30, 489.86, 378.00);
	ctx.bezierCurveTo(492.11, 377.73, 493.58, 378.53, 495.32, 381.00);
	ctx.bezierCurveTo(498.33, 385.27, 518.40, 418.28, 518.40, 418.97);
	ctx.bezierCurveTo(518.40, 420.24, 503.46, 428.21, 502.07, 427.68);
	ctx.bezierCurveTo(501.21, 427.35, 499.39, 424.89, 498.03, 422.22);
	ctx.bezierCurveTo(495.76, 417.77, 495.15, 417.36, 490.76, 417.36);
	ctx.bezierCurveTo(486.27, 417.36, 485.80, 417.70, 483.35, 422.76);
	ctx.bezierCurveTo(480.39, 428.84, 479.41, 429.15, 473.74, 425.80);
	ctx.bezierCurveTo(469.76, 423.46, 469.71, 423.46, 466.17, 425.79);
	ctx.bezierCurveTo(461.35, 428.97, 460.64, 428.81, 457.41, 423.83);
	ctx.bezierCurveTo(454.64, 419.55, 453.04, 419.31, 453.02, 423.15);
	ctx.bezierCurveTo(453.00, 424.84, 451.42, 425.22, 443.01, 425.51);
	ctx.lineTo(433.01, 425.86);
	ctx.lineTo(433.83, 419.36);
	ctx.bezierCurveTo(434.84, 411.24, 433.23, 409.96, 429.76, 416.13);
	ctx.bezierCurveTo(425.85, 423.10, 420.24, 426.06, 410.98, 426.06);
	ctx.bezierCurveTo(401.72, 426.06, 396.46, 423.41, 393.00, 417.01);
	ctx.bezierCurveTo(391.68, 414.57, 390.19, 412.57, 389.70, 412.57);
	ctx.bezierCurveTo(389.20, 412.56, 388.80, 415.57, 388.80, 419.24);
	ctx.lineTo(388.80, 425.91);
	ctx.lineTo(376.50, 425.61);
	ctx.bezierCurveTo(368.31, 425.41, 363.27, 425.81, 361.41, 426.83);
	ctx.bezierCurveTo(357.33, 429.05, 356.06, 428.03, 353.51, 420.51);
	ctx.bezierCurveTo(352.24, 416.80, 350.80, 413.76, 350.30, 413.76);
	ctx.bezierCurveTo(349.80, 413.76, 348.27, 415.59, 346.88, 417.83);
	ctx.bezierCurveTo(345.50, 420.06, 343.59, 422.54, 342.64, 423.33);
	ctx.bezierCurveTo(340.14, 425.40, 336.25, 423.73, 334.16, 419.68);
	ctx.bezierCurveTo(332.10, 415.70, 330.23, 415.16, 329.27, 418.26);
	ctx.bezierCurveTo(327.56, 423.80, 325.09, 428.15, 323.72, 428.06);
	ctx.bezierCurveTo(322.88, 428.00, 319.40, 426.77, 315.97, 425.33);
	ctx.fill();
	ctx.restore();
	
// #layer3
	ctx.save();
	ctx.transform(1.00, 0.00, 0.00, 1.00, 0.00, -932.36);
	
// #path2422
	ctx.beginPath();
	ctx.fillStyle = 'rgb(0, 0, 0)';
	ctx.moveTo(274.76, 947.08);
	ctx.bezierCurveTo(274.61, 947.08, 274.48, 947.10, 274.32, 947.12);
	ctx.bezierCurveTo(272.88, 947.29, 271.79, 948.70, 267.95, 955.44);
	ctx.bezierCurveTo(265.41, 959.91, 263.04, 963.68, 262.66, 963.80);
	ctx.bezierCurveTo(261.42, 964.22, 261.18, 962.02, 262.26, 959.94);
	ctx.bezierCurveTo(264.71, 955.19, 262.47, 950.57, 256.93, 949.02);
	ctx.bezierCurveTo(255.12, 948.52, 249.40, 948.14, 242.86, 948.09);
	ctx.lineTo(231.84, 948.00);
	ctx.lineTo(231.51, 956.08);
	ctx.bezierCurveTo(230.84, 968.85, 228.25, 964.81, 228.23, 954.77);
	ctx.lineTo(228.45, 948.67);
	ctx.lineTo(219.00, 948.12);
	ctx.bezierCurveTo(205.57, 947.35, 206.45, 946.83, 206.45, 955.85);
	ctx.bezierCurveTo(206.45, 960.06, 206.19, 963.15, 205.85, 962.94);
	ctx.bezierCurveTo(205.52, 962.73, 204.12, 959.75, 202.74, 956.31);
	ctx.bezierCurveTo(199.82, 948.98, 199.36, 948.34, 197.23, 948.34);
	ctx.bezierCurveTo(196.03, 948.34, 195.00, 949.31, 193.15, 952.09);
	ctx.bezierCurveTo(191.78, 954.15, 190.40, 955.74, 190.08, 955.64);
	ctx.bezierCurveTo(189.77, 955.53, 188.51, 953.77, 187.28, 951.72);
	ctx.bezierCurveTo(185.41, 948.61, 184.70, 947.97, 182.89, 947.79);
	ctx.bezierCurveTo(181.70, 947.67, 180.72, 947.69, 180.72, 947.82);
	ctx.bezierCurveTo(180.72, 947.96, 178.74, 953.35, 176.31, 959.82);
	ctx.bezierCurveTo(173.89, 966.28, 172.08, 971.75, 172.29, 971.97);
	ctx.bezierCurveTo(172.50, 972.18, 174.25, 973.00, 176.19, 973.82);
	ctx.bezierCurveTo(178.12, 974.63, 180.09, 975.34, 180.56, 975.37);
	ctx.bezierCurveTo(181.34, 975.42, 182.73, 972.96, 183.70, 969.83);
	ctx.bezierCurveTo(184.24, 968.08, 185.29, 968.40, 186.45, 970.64);
	ctx.bezierCurveTo(187.63, 972.93, 189.84, 973.86, 191.25, 972.69);
	ctx.bezierCurveTo(191.78, 972.24, 192.85, 970.85, 193.63, 969.58);
	ctx.bezierCurveTo(194.41, 968.32, 195.29, 967.29, 195.57, 967.29);
	ctx.bezierCurveTo(195.85, 967.29, 196.65, 969.01, 197.37, 971.10);
	ctx.bezierCurveTo(198.81, 975.34, 199.53, 975.92, 201.83, 974.66);
	ctx.bezierCurveTo(202.88, 974.09, 205.72, 973.86, 210.34, 973.98);
	ctx.lineTo(217.29, 974.15);
	ctx.lineTo(217.29, 970.40);
	ctx.bezierCurveTo(217.29, 968.32, 217.51, 966.62, 217.79, 966.62);
	ctx.bezierCurveTo(218.07, 966.62, 218.91, 967.75, 219.66, 969.13);
	ctx.bezierCurveTo(221.61, 972.74, 224.57, 974.24, 229.79, 974.24);
	ctx.bezierCurveTo(235.02, 974.24, 238.18, 972.56, 240.39, 968.63);
	ctx.bezierCurveTo(242.35, 965.15, 243.26, 965.87, 242.68, 970.45);
	ctx.lineTo(242.23, 974.13);
	ctx.lineTo(247.87, 973.92);
	ctx.bezierCurveTo(252.61, 973.76, 253.50, 973.56, 253.51, 972.60);
	ctx.bezierCurveTo(253.53, 970.43, 254.43, 970.57, 256.00, 972.99);
	ctx.bezierCurveTo(257.82, 975.80, 258.22, 975.87, 260.94, 974.08);
	ctx.bezierCurveTo(262.94, 972.76, 262.98, 972.78, 265.22, 974.10);
	ctx.bezierCurveTo(268.42, 975.99, 268.97, 975.80, 270.63, 972.37);
	ctx.bezierCurveTo(272.02, 969.52, 272.28, 969.34, 274.81, 969.34);
	ctx.bezierCurveTo(277.29, 969.34, 277.64, 969.56, 278.92, 972.07);
	ctx.bezierCurveTo(279.69, 973.58, 280.71, 974.97, 281.20, 975.16);
	ctx.bezierCurveTo(281.98, 975.46, 290.42, 970.96, 290.42, 970.24);
	ctx.bezierCurveTo(290.42, 969.85, 279.09, 951.22, 277.39, 948.81);
	ctx.bezierCurveTo(276.53, 947.60, 275.78, 947.09, 274.76, 947.08);
	ctx.moveTo(132.95, 947.10);
	ctx.bezierCurveTo(132.28, 947.15, 131.62, 947.79, 130.71, 949.02);
	ctx.bezierCurveTo(128.92, 951.45, 128.08, 951.58, 127.78, 949.52);
	ctx.bezierCurveTo(127.58, 948.11, 127.17, 947.99, 122.32, 947.81);
	ctx.lineTo(117.06, 947.61);
	ctx.lineTo(117.06, 960.84);
	ctx.lineTo(117.06, 974.06);
	ctx.lineTo(122.56, 974.06);
	ctx.bezierCurveTo(127.73, 974.06, 128.05, 973.99, 127.71, 972.72);
	ctx.bezierCurveTo(127.10, 970.39, 128.48, 970.52, 130.68, 973.02);
	ctx.bezierCurveTo(131.84, 974.35, 132.96, 975.42, 133.18, 975.42);
	ctx.bezierCurveTo(133.40, 975.42, 134.46, 974.59, 135.53, 973.57);
	ctx.bezierCurveTo(137.30, 971.87, 137.53, 971.80, 138.14, 972.88);
	ctx.bezierCurveTo(138.73, 973.95, 140.17, 974.06, 152.67, 974.06);
	ctx.lineTo(166.53, 974.06);
	ctx.lineTo(166.35, 961.03);
	ctx.lineTo(166.15, 948.00);
	ctx.lineTo(152.72, 947.86);
	ctx.bezierCurveTo(139.90, 947.73, 139.26, 947.80, 138.93, 949.06);
	ctx.bezierCurveTo(138.46, 950.84, 137.26, 950.70, 135.35, 948.67);
	ctx.bezierCurveTo(134.32, 947.58, 133.62, 947.05, 132.95, 947.10);
	ctx.moveTo(137.82, 957.61);
	ctx.bezierCurveTo(138.54, 957.52, 138.73, 958.56, 138.73, 960.94);
	ctx.bezierCurveTo(138.73, 962.54, 138.49, 963.99, 138.17, 964.19);
	ctx.bezierCurveTo(137.85, 964.38, 136.78, 963.71, 135.79, 962.67);
	ctx.lineTo(133.99, 960.79);
	ctx.lineTo(135.91, 958.95);
	ctx.bezierCurveTo(136.78, 958.13, 137.39, 957.67, 137.82, 957.61);
	ctx.moveTo(154.99, 957.82);
	ctx.bezierCurveTo(155.37, 957.82, 155.66, 959.20, 155.66, 960.87);
	ctx.bezierCurveTo(155.66, 963.97, 155.56, 964.27, 154.76, 963.47);
	ctx.bezierCurveTo(154.04, 962.75, 154.24, 957.82, 154.99, 957.82);
	ctx.moveTo(188.46, 976.88);
	ctx.bezierCurveTo(188.29, 976.89, 188.09, 976.90, 187.88, 976.92);
	ctx.bezierCurveTo(186.03, 977.10, 185.39, 977.82, 182.15, 983.50);
	ctx.lineTo(178.50, 989.90);
	ctx.lineTo(180.46, 991.45);
	ctx.bezierCurveTo(181.58, 992.35, 182.73, 992.85, 183.82, 992.95);
	ctx.bezierCurveTo(183.77, 993.17, 183.74, 993.40, 183.74, 993.64);
	ctx.bezierCurveTo(183.74, 994.37, 184.12, 995.97, 184.71, 997.78);
	ctx.bezierCurveTo(183.50, 997.19, 182.02, 996.84, 179.57, 996.48);
	ctx.bezierCurveTo(176.82, 996.07, 172.22, 995.74, 169.35, 995.74);
	ctx.lineTo(164.13, 995.74);
	ctx.lineTo(164.36, 1009.28);
	ctx.bezierCurveTo(164.51, 1018.31, 164.37, 1022.82, 163.90, 1022.82);
	ctx.bezierCurveTo(162.95, 1022.82, 157.06, 1016.60, 157.04, 1015.57);
	ctx.bezierCurveTo(157.03, 1015.12, 157.78, 1013.63, 158.71, 1012.26);
	ctx.bezierCurveTo(160.69, 1009.34, 160.98, 1004.89, 159.38, 1001.80);
	ctx.bezierCurveTo(157.34, 997.85, 150.06, 995.75, 138.40, 995.74);
	ctx.lineTo(132.30, 995.74);
	ctx.lineTo(132.46, 1013.51);
	ctx.lineTo(132.62, 1031.28);
	ctx.lineTo(139.23, 1031.28);
	ctx.lineTo(145.84, 1031.28);
	ctx.lineTo(145.61, 1027.05);
	ctx.bezierCurveTo(145.47, 1024.44, 145.64, 1022.82, 146.07, 1022.82);
	ctx.bezierCurveTo(146.45, 1022.82, 148.48, 1025.25, 150.58, 1028.23);
	ctx.bezierCurveTo(152.68, 1031.21, 154.71, 1033.67, 155.08, 1033.67);
	ctx.bezierCurveTo(155.45, 1033.67, 157.45, 1032.29, 159.51, 1030.61);
	ctx.bezierCurveTo(163.16, 1027.64, 164.88, 1027.22, 164.18, 1029.49);
	ctx.bezierCurveTo(163.38, 1032.04, 164.69, 1032.54, 171.00, 1032.08);
	ctx.bezierCurveTo(174.87, 1031.79, 177.99, 1031.32, 180.56, 1030.61);
	ctx.bezierCurveTo(180.31, 1031.10, 180.23, 1031.49, 180.40, 1031.67);
	ctx.bezierCurveTo(180.89, 1032.20, 183.30, 1031.10, 186.57, 1031.04);
	ctx.lineTo(192.50, 1030.91);
	ctx.lineTo(192.83, 1035.04);
	ctx.bezierCurveTo(193.07, 1038.00, 192.85, 1040.89, 193.89, 1041.41);
	ctx.bezierCurveTo(194.93, 1041.92, 197.23, 1040.06, 200.19, 1038.67);
	ctx.lineTo(205.34, 1036.28);
	ctx.lineTo(210.19, 1040.74);
	ctx.lineTo(215.02, 1045.20);
	ctx.lineTo(217.94, 1041.71);
	ctx.bezierCurveTo(219.55, 1039.78, 220.85, 1037.90, 220.85, 1037.51);
	ctx.bezierCurveTo(220.85, 1035.88, 224.33, 1035.69, 227.75, 1037.12);
	ctx.bezierCurveTo(230.66, 1038.34, 233.42, 1039.85, 234.33, 1039.43);
	ctx.bezierCurveTo(235.23, 1039.01, 234.27, 1036.64, 234.27, 1034.07);
	ctx.bezierCurveTo(234.27, 1033.56, 234.24, 1033.06, 234.20, 1032.57);
	ctx.bezierCurveTo(237.90, 1033.98, 238.29, 1033.74, 239.02, 1031.81);
	ctx.bezierCurveTo(239.40, 1030.80, 240.14, 1029.04, 240.64, 1027.92);
	ctx.bezierCurveTo(241.14, 1026.79, 241.74, 1024.73, 241.98, 1023.33);
	ctx.bezierCurveTo(242.50, 1020.24, 243.38, 1020.11, 244.91, 1022.89);
	ctx.bezierCurveTo(249.97, 1032.10, 251.62, 1032.37, 256.58, 1024.81);
	ctx.bezierCurveTo(260.74, 1018.48, 260.82, 1018.50, 263.60, 1026.31);
	ctx.bezierCurveTo(266.50, 1034.46, 266.45, 1034.41, 271.76, 1031.80);
	ctx.bezierCurveTo(277.04, 1029.19, 277.32, 1029.15, 277.92, 1031.04);
	ctx.bezierCurveTo(278.36, 1032.42, 278.66, 1032.47, 284.56, 1032.08);
	ctx.bezierCurveTo(294.39, 1031.42, 300.22, 1029.14, 303.56, 1024.64);
	ctx.bezierCurveTo(305.56, 1021.93, 305.52, 1016.38, 303.47, 1013.77);
	ctx.bezierCurveTo(302.07, 1012.00, 302.03, 1011.72, 302.96, 1009.93);
	ctx.bezierCurveTo(305.20, 1005.59, 303.41, 1000.30, 298.95, 998.19);
	ctx.bezierCurveTo(295.70, 996.64, 289.97, 995.74, 283.31, 995.74);
	ctx.lineTo(277.88, 995.74);
	ctx.lineTo(277.88, 1009.95);
	ctx.bezierCurveTo(277.88, 1017.77, 277.64, 1024.24, 277.33, 1024.34);
	ctx.bezierCurveTo(277.03, 1024.43, 274.40, 1018.80, 271.48, 1011.82);
	ctx.bezierCurveTo(268.56, 1004.83, 265.69, 998.36, 265.08, 997.43);
	ctx.bezierCurveTo(262.80, 993.94, 260.60, 995.66, 255.20, 1005.12);
	ctx.bezierCurveTo(253.90, 1007.40, 252.48, 1009.27, 252.05, 1009.28);
	ctx.bezierCurveTo(251.62, 1009.28, 249.97, 1006.93, 248.40, 1004.04);
	ctx.bezierCurveTo(245.88, 999.43, 244.53, 997.12, 243.44, 996.04);
	ctx.bezierCurveTo(243.47, 995.96, 243.55, 995.70, 243.55, 995.68);
	ctx.bezierCurveTo(243.55, 995.62, 243.22, 995.54, 242.77, 995.49);
	ctx.bezierCurveTo(242.24, 995.17, 241.73, 995.12, 241.12, 995.19);
	ctx.bezierCurveTo(240.84, 995.22, 240.60, 995.28, 240.37, 995.37);
	ctx.bezierCurveTo(240.37, 995.36, 240.36, 995.37, 240.36, 995.37);
	ctx.bezierCurveTo(239.93, 995.36, 239.50, 995.35, 239.03, 995.35);
	ctx.bezierCurveTo(233.63, 995.35, 232.64, 994.31, 231.66, 987.78);
	ctx.bezierCurveTo(231.26, 985.04, 230.34, 982.59, 229.64, 982.32);
	ctx.bezierCurveTo(228.93, 982.05, 226.32, 983.18, 223.83, 984.84);
	ctx.bezierCurveTo(222.78, 985.54, 221.53, 986.26, 220.27, 986.92);
	ctx.bezierCurveTo(220.85, 986.07, 220.96, 985.28, 220.91, 983.90);
	ctx.bezierCurveTo(220.83, 981.86, 220.32, 980.79, 218.81, 979.44);
	ctx.bezierCurveTo(217.01, 977.83, 216.15, 977.63, 209.45, 977.26);
	ctx.bezierCurveTo(203.66, 976.93, 201.74, 977.05, 200.59, 977.80);
	ctx.bezierCurveTo(199.32, 978.64, 199.02, 978.62, 198.28, 977.73);
	ctx.bezierCurveTo(197.07, 976.26, 194.06, 976.82, 193.26, 978.65);
	ctx.bezierCurveTo(192.39, 980.63, 191.71, 980.56, 190.74, 978.44);
	ctx.bezierCurveTo(190.18, 977.22, 189.70, 976.85, 188.46, 976.89);
	ctx.moveTo(128.38, 994.94);
	ctx.lineTo(121.21, 995.31);
	ctx.bezierCurveTo(117.26, 995.52, 112.42, 995.68, 110.47, 995.70);
	ctx.lineTo(106.91, 995.74);
	ctx.lineTo(106.91, 1000.44);
	ctx.bezierCurveTo(106.91, 1005.03, 106.00, 1007.21, 105.11, 1004.75);
	ctx.bezierCurveTo(104.06, 1001.85, 101.71, 999.51, 98.28, 997.94);
	ctx.bezierCurveTo(95.22, 996.54, 93.23, 996.21, 86.24, 995.91);
	ctx.lineTo(77.86, 995.54);
	ctx.lineTo(78.00, 1013.42);
	ctx.lineTo(78.13, 1031.28);
	ctx.lineTo(84.56, 1031.28);
	ctx.lineTo(91.00, 1031.28);
	ctx.lineTo(91.00, 1027.30);
	ctx.lineTo(91.00, 1023.31);
	ctx.lineTo(93.98, 1022.22);
	ctx.bezierCurveTo(98.17, 1020.70, 103.17, 1016.01, 104.60, 1012.28);
	ctx.bezierCurveTo(106.37, 1007.63, 106.89, 1009.66, 106.91, 1021.27);
	ctx.lineTo(106.91, 1031.57);
	ctx.lineTo(110.80, 1031.80);
	ctx.bezierCurveTo(112.94, 1031.93, 118.13, 1032.11, 122.32, 1032.18);
	ctx.lineTo(129.94, 1032.31);
	ctx.lineTo(129.92, 1028.08);
	ctx.bezierCurveTo(129.90, 1020.96, 129.80, 1020.79, 124.79, 1020.79);
	ctx.bezierCurveTo(119.60, 1020.79, 118.97, 1019.60, 124.01, 1019.31);
	ctx.lineTo(127.57, 1019.10);
	ctx.lineTo(127.57, 1013.69);
	ctx.lineTo(127.57, 1008.27);
	ctx.lineTo(124.19, 1008.27);
	ctx.bezierCurveTo(119.09, 1008.27, 119.41, 1006.99, 124.68, 1006.32);
	ctx.bezierCurveTo(129.84, 1005.65, 129.69, 1005.94, 128.81, 998.56);
	ctx.lineTo(128.38, 994.94);
	ctx.moveTo(329.69, 994.94);
	ctx.lineTo(319.02, 995.42);
	ctx.bezierCurveTo(313.16, 995.68, 308.27, 995.97, 308.16, 996.07);
	ctx.bezierCurveTo(308.05, 996.17, 307.95, 1004.14, 307.95, 1013.77);
	ctx.lineTo(307.95, 1031.28);
	ctx.lineTo(311.88, 1031.69);
	ctx.bezierCurveTo(314.04, 1031.91, 319.24, 1032.12, 323.43, 1032.18);
	ctx.lineTo(331.05, 1032.31);
	ctx.lineTo(331.03, 1030.10);
	ctx.bezierCurveTo(331.03, 1028.89, 330.84, 1026.31, 330.61, 1024.35);
	ctx.lineTo(330.18, 1020.79);
	ctx.lineTo(325.92, 1020.79);
	ctx.bezierCurveTo(320.46, 1020.79, 319.53, 1019.58, 324.77, 1019.31);
	ctx.lineTo(328.67, 1019.10);
	ctx.lineTo(328.88, 1015.71);
	ctx.bezierCurveTo(329.00, 1013.85, 328.92, 1011.32, 328.68, 1010.09);
	ctx.bezierCurveTo(328.27, 1007.86, 328.23, 1007.83, 324.80, 1008.04);
	ctx.bezierCurveTo(319.24, 1008.39, 320.00, 1006.84, 325.67, 1006.28);
	ctx.bezierCurveTo(330.21, 1005.83, 330.47, 1005.71, 330.09, 1004.32);
	ctx.bezierCurveTo(329.88, 1003.51, 329.71, 1001.07, 329.71, 998.89);
	ctx.lineTo(329.69, 994.94);
	ctx.moveTo(34.73, 994.98);
	ctx.bezierCurveTo(32.16, 995.09, 27.39, 996.48, 24.06, 998.29);
	ctx.bezierCurveTo(19.13, 1000.98, 16.60, 1004.44, 16.60, 1008.45);
	ctx.bezierCurveTo(16.61, 1012.44, 18.11, 1014.87, 22.05, 1017.18);
	ctx.bezierCurveTo(23.69, 1018.14, 24.92, 1019.27, 24.79, 1019.68);
	ctx.bezierCurveTo(24.65, 1020.10, 23.19, 1020.68, 21.54, 1020.99);
	ctx.bezierCurveTo(16.70, 1021.88, 16.89, 1021.57, 17.94, 1026.66);
	ctx.bezierCurveTo(18.47, 1029.21, 19.04, 1031.68, 19.21, 1032.15);
	ctx.bezierCurveTo(19.90, 1034.03, 30.18, 1031.06, 34.94, 1027.62);
	ctx.bezierCurveTo(36.41, 1026.56, 38.14, 1024.59, 38.77, 1023.26);
	ctx.bezierCurveTo(40.38, 1019.87, 41.01, 1019.74, 41.94, 1022.57);
	ctx.bezierCurveTo(43.09, 1026.05, 46.89, 1029.99, 50.37, 1031.32);
	ctx.bezierCurveTo(55.11, 1033.13, 62.48, 1032.50, 66.68, 1029.91);
	ctx.bezierCurveTo(70.62, 1027.49, 73.32, 1023.04, 74.28, 1017.42);
	ctx.bezierCurveTo(75.03, 1013.07, 74.95, 997.15, 74.18, 995.91);
	ctx.bezierCurveTo(73.63, 995.03, 64.66, 994.68, 62.61, 995.47);
	ctx.bezierCurveTo(61.70, 995.82, 61.55, 997.43, 61.55, 1006.28);
	ctx.bezierCurveTo(61.55, 1017.48, 61.01, 1019.88, 58.38, 1020.55);
	ctx.bezierCurveTo(54.56, 1021.50, 53.20, 1017.13, 53.53, 1004.90);
	ctx.lineTo(53.76, 996.07);
	ctx.lineTo(47.32, 996.07);
	ctx.lineTo(40.89, 996.07);
	ctx.lineTo(40.71, 1005.38);
	ctx.bezierCurveTo(40.61, 1010.50, 40.37, 1014.69, 40.18, 1014.69);
	ctx.bezierCurveTo(39.99, 1014.69, 38.94, 1013.67, 37.83, 1012.42);
	ctx.bezierCurveTo(36.73, 1011.16, 34.89, 1009.75, 33.76, 1009.28);
	ctx.bezierCurveTo(31.03, 1008.15, 31.55, 1007.00, 35.01, 1006.53);
	ctx.bezierCurveTo(36.56, 1006.32, 38.00, 1005.98, 38.21, 1005.77);
	ctx.bezierCurveTo(38.75, 1005.23, 37.22, 996.29, 36.42, 995.33);
	ctx.bezierCurveTo(36.19, 995.05, 35.59, 994.94, 34.73, 994.98);
	ctx.moveTo(383.51, 995.40);
	ctx.lineTo(380.32, 995.51);
	ctx.bezierCurveTo(371.44, 995.81, 362.88, 1002.26, 362.88, 1008.64);
	ctx.bezierCurveTo(362.88, 1011.37, 365.02, 1014.62, 368.32, 1016.86);
	ctx.bezierCurveTo(370.15, 1018.10, 371.54, 1019.40, 371.43, 1019.77);
	ctx.bezierCurveTo(371.32, 1020.14, 369.50, 1020.73, 367.37, 1021.07);
	ctx.lineTo(363.49, 1021.69);
	ctx.lineTo(360.81, 1019.08);
	ctx.bezierCurveTo(357.72, 1016.06, 357.59, 1015.37, 359.60, 1012.66);
	ctx.bezierCurveTo(360.53, 1011.40, 361.18, 1009.32, 361.38, 1006.93);
	ctx.bezierCurveTo(361.68, 1003.32, 361.60, 1003.10, 359.05, 1000.55);
	ctx.bezierCurveTo(355.64, 997.14, 352.93, 996.42, 342.21, 995.95);
	ctx.lineTo(333.41, 995.56);
	ctx.lineTo(333.59, 1013.42);
	ctx.lineTo(333.74, 1031.28);
	ctx.lineTo(340.36, 1031.28);
	ctx.lineTo(346.95, 1031.28);
	ctx.lineTo(346.72, 1027.05);
	ctx.bezierCurveTo(346.47, 1022.42, 347.13, 1021.76, 349.03, 1024.69);
	ctx.bezierCurveTo(349.70, 1025.71, 351.40, 1028.15, 352.84, 1030.10);
	ctx.bezierCurveTo(354.28, 1032.06, 355.72, 1033.67, 356.05, 1033.67);
	ctx.bezierCurveTo(356.38, 1033.67, 358.22, 1032.42, 360.14, 1030.90);
	ctx.bezierCurveTo(363.87, 1027.95, 365.57, 1027.83, 365.57, 1030.54);
	ctx.bezierCurveTo(365.57, 1031.46, 365.86, 1032.38, 366.19, 1032.59);
	ctx.bezierCurveTo(367.34, 1033.30, 374.07, 1031.60, 378.32, 1029.52);
	ctx.bezierCurveTo(384.08, 1026.71, 386.58, 1023.32, 386.58, 1018.34);
	ctx.bezierCurveTo(386.58, 1015.31, 386.26, 1014.38, 384.55, 1012.43);
	ctx.bezierCurveTo(383.43, 1011.16, 381.59, 1009.75, 380.46, 1009.28);
	ctx.bezierCurveTo(377.66, 1008.12, 378.26, 1006.99, 381.88, 1006.58);
	ctx.bezierCurveTo(385.41, 1006.18, 385.62, 1005.56, 384.35, 999.46);
	ctx.lineTo(383.51, 995.40);
	ctx.moveTo(146.19, 1007.25);
	ctx.bezierCurveTo(146.57, 1007.25, 146.86, 1007.71, 146.86, 1008.27);
	ctx.bezierCurveTo(146.86, 1008.83, 146.57, 1009.28, 146.19, 1009.28);
	ctx.bezierCurveTo(145.82, 1009.28, 145.51, 1008.83, 145.51, 1008.27);
	ctx.bezierCurveTo(145.51, 1007.71, 145.82, 1007.25, 146.19, 1007.25);
	ctx.moveTo(347.29, 1007.25);
	ctx.bezierCurveTo(347.66, 1007.25, 347.98, 1007.53, 347.98, 1007.88);
	ctx.bezierCurveTo(347.98, 1008.24, 347.66, 1008.71, 347.29, 1008.94);
	ctx.bezierCurveTo(346.92, 1009.17, 346.62, 1008.89, 346.62, 1008.31);
	ctx.bezierCurveTo(346.62, 1007.73, 346.92, 1007.25, 347.29, 1007.25);
	ctx.moveTo(91.34, 1007.92);
	ctx.bezierCurveTo(91.71, 1007.92, 92.02, 1008.38, 92.02, 1008.94);
	ctx.bezierCurveTo(92.02, 1009.50, 91.71, 1009.97, 91.34, 1009.97);
	ctx.bezierCurveTo(90.96, 1009.97, 90.67, 1009.50, 90.67, 1008.94);
	ctx.bezierCurveTo(90.67, 1008.38, 90.96, 1007.92, 91.34, 1007.92);
	ctx.fill();
	ctx.restore();
	
// #layer10
	ctx.save();
	ctx.transform(1.00, 0.00, 0.00, 1.00, 0.00, -932.36);
	
// #path2750
	ctx.beginPath();
	ctx.fillStyle = 'rgb(255, 0, 0)';
	ctx.moveTo(210.54, 1038.33);
	ctx.lineTo(206.28, 1034.31);
	ctx.lineTo(201.76, 1036.48);
	ctx.bezierCurveTo(199.16, 1037.72, 197.15, 1039.38, 196.23, 1038.92);
	ctx.bezierCurveTo(195.32, 1038.46, 195.50, 1035.87, 195.29, 1033.21);
	ctx.lineTo(195.01, 1029.51);
	ctx.lineTo(189.79, 1029.62);
	ctx.bezierCurveTo(186.91, 1029.68, 184.79, 1030.66, 184.37, 1030.19);
	ctx.bezierCurveTo(183.94, 1029.71, 185.20, 1027.77, 187.07, 1026.59);
	ctx.bezierCurveTo(188.44, 1025.72, 190.08, 1024.38, 190.70, 1023.61);
	ctx.bezierCurveTo(192.51, 1021.38, 192.07, 1017.28, 189.86, 1015.70);
	ctx.bezierCurveTo(188.88, 1015.00, 186.89, 1014.39, 186.85, 1013.80);
	ctx.bezierCurveTo(186.82, 1013.22, 188.74, 1012.67, 189.59, 1011.06);
	ctx.bezierCurveTo(191.27, 1007.87, 191.27, 1007.78, 189.30, 1002.91);
	ctx.bezierCurveTo(188.20, 1000.20, 187.30, 997.11, 187.30, 996.03);
	ctx.bezierCurveTo(187.30, 993.36, 191.53, 991.58, 194.83, 992.86);
	ctx.bezierCurveTo(197.58, 993.93, 210.60, 993.26, 215.40, 991.80);
	ctx.bezierCurveTo(217.15, 991.26, 220.36, 989.61, 222.55, 988.12);
	ctx.bezierCurveTo(224.73, 986.63, 227.03, 985.61, 227.65, 985.86);
	ctx.bezierCurveTo(228.27, 986.10, 229.07, 988.31, 229.42, 990.77);
	ctx.bezierCurveTo(230.28, 996.63, 231.16, 997.56, 235.91, 997.56);
	ctx.bezierCurveTo(238.09, 997.56, 239.88, 997.69, 239.88, 997.86);
	ctx.bezierCurveTo(239.88, 998.03, 237.90, 1003.55, 235.48, 1010.13);
	ctx.bezierCurveTo(230.30, 1024.23, 229.59, 1026.88, 230.81, 1027.65);
	ctx.bezierCurveTo(231.31, 1027.97, 231.72, 1030.08, 231.72, 1032.34);
	ctx.bezierCurveTo(231.72, 1034.65, 232.57, 1036.78, 231.77, 1037.16);
	ctx.bezierCurveTo(230.98, 1037.53, 228.55, 1036.17, 225.99, 1035.07);
	ctx.bezierCurveTo(222.98, 1033.79, 219.93, 1033.97, 219.93, 1035.43);
	ctx.bezierCurveTo(219.93, 1035.78, 218.78, 1037.47, 217.37, 1039.20);
	ctx.lineTo(214.80, 1042.34);
	ctx.lineTo(210.54, 1038.33);
	ctx.fill();
	ctx.restore();
	
// #layer8
	ctx.save();
	ctx.transform(1.00, 0.00, 0.00, 1.00, 0.00, -932.36);
	
// #path2712
	ctx.beginPath();
	ctx.fillStyle = 'rgb(36, 28, 28)';
	ctx.moveTo(221.60, 994.38);
	ctx.lineTo(219.27, 997.87);
	ctx.bezierCurveTo(216.68, 996.53, 213.75, 995.75, 210.64, 995.75);
	ctx.bezierCurveTo(200.26, 995.75, 191.85, 1004.18, 191.85, 1014.57);
	ctx.bezierCurveTo(191.85, 1024.95, 200.26, 1033.38, 210.64, 1033.38);
	ctx.bezierCurveTo(221.03, 1033.38, 229.46, 1024.95, 229.46, 1014.57);
	ctx.lineTo(210.64, 1014.57);
	ctx.lineTo(229.46, 1014.55);
	ctx.bezierCurveTo(229.45, 1009.04, 227.07, 1004.07, 223.29, 1000.64);
	ctx.lineTo(225.74, 996.99);
	ctx.lineTo(221.60, 994.38);
	ctx.fill();
	
// #rect2723
	ctx.save();
	ctx.beginPath();
	ctx.transform(0.80, 0.60, -0.56, 0.83, 0.00, 0.00);
	ctx.fillStyle = 'rgb(255, 170, 170)';
	ctx.rect(743.93, 656.68, 3.35, 6.86);
	ctx.fill();
	ctx.restore();
	ctx.restore();
	
// #layer4
	ctx.save();
	ctx.transform(1.00, 0.00, 0.00, 1.00, 0.00, -932.36);
	
// #path2449
	ctx.beginPath();
	ctx.fillStyle = 'rgb(242, 242, 242)';
	ctx.moveTo(158.70, 1028.52);
	ctx.bezierCurveTo(159.98, 1027.50, 161.03, 1026.36, 161.02, 1025.99);
	ctx.bezierCurveTo(161.01, 1025.61, 159.18, 1023.22, 156.94, 1020.68);
	ctx.lineTo(152.87, 1016.05);
	ctx.lineTo(154.78, 1013.87);
	ctx.bezierCurveTo(155.83, 1012.67, 157.11, 1010.70, 157.61, 1009.48);
	ctx.bezierCurveTo(158.40, 1007.56, 158.38, 1006.96, 157.43, 1004.98);
	ctx.bezierCurveTo(156.83, 1003.72, 155.42, 1002.21, 154.30, 1001.63);
	ctx.bezierCurveTo(152.09, 1000.49, 138.71, 998.82, 137.00, 999.48);
	ctx.bezierCurveTo(136.09, 999.83, 135.97, 1001.82, 136.13, 1014.63);
	ctx.lineTo(136.32, 1029.37);
	ctx.lineTo(139.30, 1029.58);
	ctx.bezierCurveTo(141.22, 1029.72, 142.48, 1029.48, 142.84, 1028.91);
	ctx.bezierCurveTo(143.15, 1028.42, 143.41, 1022.76, 143.41, 1016.34);
	ctx.lineTo(143.43, 1004.66);
	ctx.lineTo(145.31, 1004.66);
	ctx.bezierCurveTo(150.49, 1004.66, 151.82, 1009.26, 147.80, 1013.28);
	ctx.bezierCurveTo(146.48, 1014.60, 145.49, 1015.93, 145.60, 1016.25);
	ctx.bezierCurveTo(146.04, 1017.53, 155.32, 1030.35, 155.82, 1030.37);
	ctx.bezierCurveTo(156.12, 1030.38, 157.41, 1029.55, 158.70, 1028.52);
	ctx.moveTo(183.07, 1027.35);
	ctx.bezierCurveTo(185.13, 1026.35, 187.32, 1024.75, 187.94, 1023.80);
	ctx.bezierCurveTo(190.29, 1020.21, 188.79, 1015.56, 184.78, 1014.03);
	ctx.lineTo(183.14, 1013.40);
	ctx.lineTo(185.26, 1011.46);
	ctx.bezierCurveTo(191.81, 1005.48, 186.80, 1000.33, 173.90, 999.81);
	ctx.lineTo(168.14, 999.58);
	ctx.lineTo(167.96, 1014.74);
	ctx.lineTo(167.78, 1029.90);
	ctx.lineTo(173.55, 1029.54);
	ctx.bezierCurveTo(177.95, 1029.27, 180.23, 1028.74, 183.07, 1027.35);
	ctx.moveTo(174.71, 1020.74);
	ctx.bezierCurveTo(174.90, 1016.69, 174.99, 1016.50, 176.76, 1016.29);
	ctx.bezierCurveTo(178.64, 1016.08, 182.02, 1018.62, 182.02, 1020.25);
	ctx.bezierCurveTo(182.02, 1021.73, 178.08, 1024.97, 176.29, 1024.97);
	ctx.bezierCurveTo(174.54, 1024.97, 174.51, 1024.91, 174.71, 1020.74);
	ctx.moveTo(175.02, 1011.65);
	ctx.bezierCurveTo(174.78, 1011.40, 174.57, 1009.72, 174.57, 1007.91);
	ctx.bezierCurveTo(174.57, 1004.21, 175.54, 1003.35, 178.55, 1004.40);
	ctx.bezierCurveTo(181.18, 1005.32, 181.38, 1008.74, 178.92, 1010.67);
	ctx.bezierCurveTo(177.05, 1012.14, 175.82, 1012.45, 175.02, 1011.65);
	ctx.moveTo(239.97, 1022.26);
	ctx.bezierCurveTo(241.38, 1017.79, 242.77, 1014.14, 243.07, 1014.14);
	ctx.bezierCurveTo(243.68, 1014.14, 244.27, 1015.05, 248.40, 1022.43);
	ctx.bezierCurveTo(250.01, 1025.32, 251.55, 1027.68, 251.81, 1027.68);
	ctx.bezierCurveTo(252.08, 1027.68, 254.34, 1024.48, 256.83, 1020.57);
	ctx.bezierCurveTo(259.32, 1016.66, 261.56, 1013.46, 261.81, 1013.47);
	ctx.bezierCurveTo(262.06, 1013.48, 262.97, 1015.38, 263.83, 1017.70);
	ctx.bezierCurveTo(267.30, 1027.04, 268.25, 1029.40, 268.76, 1029.98);
	ctx.bezierCurveTo(269.28, 1030.57, 272.91, 1029.46, 274.56, 1028.21);
	ctx.bezierCurveTo(275.33, 1027.63, 274.40, 1024.78, 270.75, 1016.51);
	ctx.bezierCurveTo(270.09, 1015.02, 268.24, 1010.67, 266.64, 1006.86);
	ctx.bezierCurveTo(265.03, 1003.04, 263.49, 999.92, 263.21, 999.92);
	ctx.bezierCurveTo(262.94, 999.92, 260.51, 1003.57, 257.83, 1008.04);
	ctx.bezierCurveTo(255.15, 1012.51, 252.85, 1016.17, 252.71, 1016.17);
	ctx.bezierCurveTo(252.32, 1016.17, 249.53, 1011.56, 246.37, 1005.67);
	ctx.bezierCurveTo(242.93, 999.26, 242.52, 998.74, 241.61, 999.64);
	ctx.bezierCurveTo(241.02, 1000.23, 238.68, 1006.32, 233.18, 1021.58);
	ctx.bezierCurveTo(232.31, 1024.01, 231.38, 1026.51, 231.12, 1027.14);
	ctx.bezierCurveTo(230.77, 1028.02, 231.20, 1028.54, 232.91, 1029.29);
	ctx.bezierCurveTo(237.13, 1031.13, 237.20, 1031.06, 239.97, 1022.26);
	ctx.moveTo(296.74, 1027.40);
	ctx.bezierCurveTo(300.93, 1025.35, 302.69, 1023.09, 302.69, 1019.77);
	ctx.bezierCurveTo(302.69, 1017.20, 301.10, 1015.01, 298.54, 1014.03);
	ctx.lineTo(296.90, 1013.40);
	ctx.lineTo(298.96, 1011.51);
	ctx.bezierCurveTo(300.10, 1010.47, 301.25, 1008.94, 301.52, 1008.10);
	ctx.bezierCurveTo(302.25, 1005.81, 300.68, 1002.86, 298.08, 1001.62);
	ctx.bezierCurveTo(295.63, 1000.46, 284.11, 998.90, 282.51, 999.51);
	ctx.bezierCurveTo(281.74, 999.81, 281.56, 1002.66, 281.56, 1014.89);
	ctx.lineTo(281.56, 1029.90);
	ctx.lineTo(287.33, 1029.54);
	ctx.bezierCurveTo(291.66, 1029.27, 294.00, 1028.74, 296.74, 1027.40);
	ctx.moveTo(288.33, 1020.57);
	ctx.bezierCurveTo(288.33, 1016.21, 288.35, 1016.17, 290.21, 1016.17);
	ctx.bezierCurveTo(294.87, 1016.17, 296.82, 1020.81, 293.32, 1023.57);
	ctx.bezierCurveTo(292.34, 1024.34, 290.81, 1024.97, 289.93, 1024.97);
	ctx.bezierCurveTo(288.41, 1024.97, 288.33, 1024.74, 288.33, 1020.57);
	ctx.moveTo(288.33, 1008.04);
	ctx.bezierCurveTo(288.33, 1004.03, 288.35, 1003.98, 290.26, 1003.98);
	ctx.bezierCurveTo(292.36, 1003.98, 294.43, 1005.78, 294.43, 1007.62);
	ctx.bezierCurveTo(294.43, 1009.22, 291.40, 1012.10, 289.72, 1012.10);
	ctx.bezierCurveTo(288.48, 1012.10, 288.33, 1011.68, 288.33, 1008.04);
	ctx.moveTo(359.81, 1028.61);
	ctx.bezierCurveTo(361.09, 1027.64, 362.14, 1026.50, 362.14, 1026.07);
	ctx.bezierCurveTo(362.14, 1025.65, 360.31, 1023.21, 358.09, 1020.63);
	ctx.lineTo(354.04, 1015.96);
	ctx.lineTo(356.33, 1013.43);
	ctx.bezierCurveTo(360.39, 1008.94, 360.09, 1004.40, 355.55, 1001.76);
	ctx.bezierCurveTo(353.28, 1000.44, 340.08, 998.72, 338.08, 999.49);
	ctx.bezierCurveTo(337.20, 999.83, 337.08, 1001.98, 337.24, 1014.63);
	ctx.lineTo(337.42, 1029.37);
	ctx.lineTo(340.81, 1029.37);
	ctx.lineTo(344.19, 1029.37);
	ctx.lineTo(344.38, 1017.01);
	ctx.lineTo(344.56, 1004.66);
	ctx.lineTo(346.43, 1004.66);
	ctx.bezierCurveTo(351.59, 1004.66, 352.92, 1009.27, 348.91, 1013.28);
	ctx.bezierCurveTo(347.59, 1014.60, 346.60, 1015.90, 346.71, 1016.16);
	ctx.bezierCurveTo(347.29, 1017.62, 356.47, 1030.38, 356.94, 1030.38);
	ctx.bezierCurveTo(357.24, 1030.38, 358.54, 1029.59, 359.81, 1028.61);
	ctx.moveTo(377.59, 1027.61);
	ctx.bezierCurveTo(382.42, 1025.25, 384.48, 1022.62, 384.48, 1018.83);
	ctx.bezierCurveTo(384.48, 1016.05, 382.46, 1013.78, 377.97, 1011.53);
	ctx.bezierCurveTo(374.46, 1009.77, 373.73, 1008.13, 375.73, 1006.52);
	ctx.bezierCurveTo(376.54, 1005.86, 378.01, 1005.14, 378.98, 1004.93);
	ctx.bezierCurveTo(382.23, 1004.22, 382.45, 1004.03, 382.45, 1002.01);
	ctx.bezierCurveTo(382.45, 998.52, 380.09, 998.20, 374.03, 1000.89);
	ctx.bezierCurveTo(370.31, 1002.53, 366.20, 1006.63, 366.20, 1008.71);
	ctx.bezierCurveTo(366.20, 1011.38, 367.93, 1013.61, 372.08, 1016.30);
	ctx.bezierCurveTo(374.83, 1018.08, 376.36, 1019.52, 376.36, 1020.33);
	ctx.bezierCurveTo(376.36, 1021.89, 372.61, 1024.29, 370.17, 1024.29);
	ctx.bezierCurveTo(368.31, 1024.29, 367.37, 1025.58, 367.92, 1027.34);
	ctx.bezierCurveTo(368.09, 1027.90, 368.39, 1028.85, 368.58, 1029.45);
	ctx.bezierCurveTo(369.05, 1030.94, 372.03, 1030.33, 377.59, 1027.61);
	ctx.moveTo(30.81, 1027.65);
	ctx.bezierCurveTo(35.81, 1025.21, 37.99, 1022.28, 37.67, 1018.42);
	ctx.bezierCurveTo(37.49, 1016.30, 36.95, 1015.53, 34.41, 1013.69);
	ctx.bezierCurveTo(32.73, 1012.48, 30.45, 1010.72, 29.33, 1009.77);
	ctx.lineTo(27.30, 1008.03);
	ctx.lineTo(28.91, 1006.68);
	ctx.bezierCurveTo(29.79, 1005.93, 31.31, 1005.14, 32.29, 1004.93);
	ctx.bezierCurveTo(35.53, 1004.23, 35.76, 1004.04, 35.76, 1002.10);
	ctx.bezierCurveTo(35.76, 999.28, 34.77, 998.62, 31.59, 999.34);
	ctx.bezierCurveTo(27.89, 1000.17, 24.27, 1002.12, 22.13, 1004.43);
	ctx.bezierCurveTo(18.09, 1008.77, 18.99, 1012.08, 25.33, 1016.21);
	ctx.bezierCurveTo(30.52, 1019.59, 31.02, 1021.37, 27.27, 1023.15);
	ctx.bezierCurveTo(25.96, 1023.78, 24.30, 1024.29, 23.59, 1024.29);
	ctx.bezierCurveTo(22.88, 1024.29, 22.06, 1024.67, 21.77, 1025.14);
	ctx.bezierCurveTo(21.24, 1026.00, 21.39, 1028.90, 22.03, 1029.95);
	ctx.bezierCurveTo(22.58, 1030.85, 26.22, 1029.89, 30.81, 1027.65);
	ctx.moveTo(63.90, 1028.96);
	ctx.bezierCurveTo(66.99, 1027.80, 68.07, 1026.97, 69.64, 1024.49);
	ctx.bezierCurveTo(70.82, 1022.62, 71.72, 1020.10, 71.96, 1017.96);
	ctx.bezierCurveTo(72.68, 1011.46, 72.85, 1000.94, 72.25, 999.79);
	ctx.bezierCurveTo(71.58, 998.52, 66.53, 998.21, 65.80, 999.39);
	ctx.bezierCurveTo(65.58, 999.75, 65.44, 1003.29, 65.51, 1007.26);
	ctx.bezierCurveTo(65.66, 1017.09, 64.70, 1021.30, 61.93, 1022.99);
	ctx.bezierCurveTo(58.34, 1025.18, 55.61, 1024.49, 52.66, 1020.63);
	ctx.bezierCurveTo(51.94, 1019.70, 51.58, 1016.65, 51.34, 1009.46);
	ctx.lineTo(51.00, 999.58);
	ctx.lineTo(47.61, 999.58);
	ctx.lineTo(44.23, 999.58);
	ctx.lineTo(44.27, 1009.06);
	ctx.bezierCurveTo(44.32, 1020.26, 45.12, 1023.72, 48.39, 1026.81);
	ctx.bezierCurveTo(52.38, 1030.57, 57.65, 1031.30, 63.90, 1028.96);
	ctx.moveTo(127.31, 1029.64);
	ctx.bezierCurveTo(127.45, 1029.22, 127.44, 1027.85, 127.29, 1026.59);
	ctx.lineTo(127.03, 1024.29);
	ctx.lineTo(122.32, 1024.29);
	ctx.lineTo(117.62, 1024.29);
	ctx.lineTo(117.83, 1020.74);
	ctx.lineTo(118.03, 1017.18);
	ctx.lineTo(121.31, 1017.09);
	ctx.bezierCurveTo(125.28, 1016.97, 125.95, 1016.41, 125.24, 1013.78);
	ctx.bezierCurveTo(124.73, 1011.89, 124.49, 1011.77, 121.37, 1011.77);
	ctx.lineTo(118.03, 1011.77);
	ctx.lineTo(117.82, 1008.80);
	ctx.bezierCurveTo(117.70, 1007.16, 117.92, 1005.51, 118.30, 1005.13);
	ctx.bezierCurveTo(118.68, 1004.75, 120.38, 1004.46, 122.08, 1004.49);
	ctx.bezierCurveTo(123.83, 1004.51, 125.56, 1004.14, 126.08, 1003.62);
	ctx.bezierCurveTo(127.11, 1002.59, 126.77, 999.48, 125.58, 999.05);
	ctx.bezierCurveTo(125.15, 998.90, 121.60, 998.95, 117.69, 999.17);
	ctx.lineTo(110.58, 999.58);
	ctx.lineTo(110.58, 1014.47);
	ctx.lineTo(110.58, 1029.37);
	ctx.lineTo(116.68, 1029.75);
	ctx.bezierCurveTo(120.03, 1029.96, 123.74, 1030.19, 124.92, 1030.26);
	ctx.bezierCurveTo(126.10, 1030.33, 127.17, 1030.05, 127.31, 1029.64);
	ctx.moveTo(88.58, 1025.72);
	ctx.bezierCurveTo(88.94, 1021.77, 89.04, 1021.67, 94.20, 1019.83);
	ctx.bezierCurveTo(98.10, 1018.43, 102.45, 1013.84, 103.09, 1010.44);
	ctx.bezierCurveTo(103.68, 1007.25, 102.12, 1003.83, 99.25, 1002.06);
	ctx.bezierCurveTo(96.18, 1000.16, 83.74, 998.59, 82.16, 999.91);
	ctx.bezierCurveTo(81.30, 1000.62, 81.13, 1003.02, 81.13, 1014.42);
	ctx.bezierCurveTo(81.13, 1024.42, 81.36, 1028.31, 81.97, 1028.93);
	ctx.bezierCurveTo(82.45, 1029.40, 84.00, 1029.68, 85.53, 1029.57);
	ctx.lineTo(88.24, 1029.37);
	ctx.lineTo(88.58, 1025.72);
	ctx.moveTo(88.86, 1015.25);
	ctx.bezierCurveTo(88.67, 1014.75, 88.60, 1012.24, 88.71, 1009.67);
	ctx.bezierCurveTo(88.91, 1005.14, 88.97, 1004.99, 90.77, 1004.78);
	ctx.bezierCurveTo(92.03, 1004.64, 93.15, 1005.11, 94.32, 1006.27);
	ctx.bezierCurveTo(96.71, 1008.66, 96.52, 1011.07, 93.72, 1013.87);
	ctx.bezierCurveTo(91.32, 1016.27, 89.46, 1016.80, 88.86, 1015.25);
	ctx.moveTo(327.94, 1027.34);
	ctx.lineTo(327.94, 1024.63);
	ctx.lineTo(323.56, 1024.43);
	ctx.bezierCurveTo(321.15, 1024.31, 319.01, 1023.95, 318.81, 1023.63);
	ctx.bezierCurveTo(318.61, 1023.31, 318.56, 1021.61, 318.70, 1019.86);
	ctx.lineTo(318.95, 1016.69);
	ctx.lineTo(321.86, 1017.01);
	ctx.bezierCurveTo(325.60, 1017.44, 326.40, 1016.89, 326.13, 1014.07);
	ctx.bezierCurveTo(325.91, 1011.78, 325.90, 1011.77, 322.77, 1011.98);
	ctx.bezierCurveTo(321.01, 1012.11, 319.42, 1011.88, 319.17, 1011.47);
	ctx.bezierCurveTo(318.60, 1010.56, 318.50, 1005.41, 319.04, 1004.87);
	ctx.bezierCurveTo(319.26, 1004.65, 321.04, 1004.40, 323.01, 1004.32);
	ctx.bezierCurveTo(324.98, 1004.23, 326.82, 1004.12, 327.10, 1004.07);
	ctx.bezierCurveTo(327.96, 1003.92, 327.66, 999.40, 326.76, 999.08);
	ctx.bezierCurveTo(326.29, 998.91, 322.71, 998.95, 318.80, 999.17);
	ctx.lineTo(311.69, 999.58);
	ctx.lineTo(311.51, 1014.62);
	ctx.lineTo(311.33, 1029.66);
	ctx.lineTo(317.27, 1029.90);
	ctx.bezierCurveTo(328.37, 1030.35, 327.94, 1030.45, 327.94, 1027.34);
	ctx.moveTo(185.65, 989.42);
	ctx.bezierCurveTo(185.90, 988.78, 186.93, 988.40, 188.45, 988.40);
	ctx.bezierCurveTo(189.97, 988.40, 191.01, 988.78, 191.26, 989.42);
	ctx.bezierCurveTo(191.78, 990.78, 193.53, 990.72, 193.53, 989.35);
	ctx.bezierCurveTo(193.53, 987.84, 189.30, 981.00, 188.35, 980.98);
	ctx.bezierCurveTo(187.45, 980.95, 183.38, 987.87, 183.38, 989.41);
	ctx.bezierCurveTo(183.38, 990.74, 185.14, 990.75, 185.65, 989.42);
	ctx.moveTo(187.44, 985.70);
	ctx.bezierCurveTo(187.44, 985.32, 187.74, 985.02, 188.12, 985.02);
	ctx.bezierCurveTo(188.49, 985.02, 188.79, 985.32, 188.79, 985.70);
	ctx.bezierCurveTo(188.79, 986.07, 188.49, 986.37, 188.12, 986.37);
	ctx.bezierCurveTo(187.74, 986.37, 187.44, 986.07, 187.44, 985.70);
	ctx.moveTo(198.27, 988.07);
	ctx.bezierCurveTo(198.27, 986.76, 198.52, 985.70, 198.83, 985.70);
	ctx.bezierCurveTo(199.13, 985.70, 200.67, 986.80, 202.25, 988.15);
	ctx.bezierCurveTo(203.82, 989.49, 205.21, 990.48, 205.34, 990.35);
	ctx.bezierCurveTo(205.47, 990.21, 205.69, 987.96, 205.82, 985.36);
	ctx.bezierCurveTo(206.02, 981.49, 205.87, 980.62, 205.04, 980.62);
	ctx.bezierCurveTo(204.39, 980.62, 203.95, 981.41, 203.82, 982.82);
	ctx.bezierCurveTo(203.55, 985.56, 202.47, 985.60, 199.97, 982.99);
	ctx.bezierCurveTo(197.06, 979.96, 196.24, 980.32, 196.24, 984.63);
	ctx.bezierCurveTo(196.24, 986.64, 196.06, 988.78, 195.83, 989.37);
	ctx.bezierCurveTo(195.54, 990.13, 195.82, 990.44, 196.85, 990.44);
	ctx.bezierCurveTo(198.03, 990.44, 198.27, 990.02, 198.27, 988.07);
	ctx.moveTo(214.08, 989.80);
	ctx.bezierCurveTo(215.00, 989.45, 216.39, 988.48, 217.17, 987.64);
	ctx.bezierCurveTo(220.29, 984.29, 217.98, 980.73, 212.64, 980.66);
	ctx.lineTo(209.45, 980.62);
	ctx.lineTo(209.25, 985.53);
	ctx.bezierCurveTo(209.05, 990.35, 209.08, 990.44, 210.73, 990.44);
	ctx.bezierCurveTo(211.65, 990.44, 213.16, 990.15, 214.08, 989.80);
	ctx.moveTo(212.24, 987.93);
	ctx.bezierCurveTo(211.40, 987.09, 211.79, 982.31, 212.70, 982.31);
	ctx.bezierCurveTo(214.53, 982.31, 216.06, 984.05, 215.58, 985.58);
	ctx.bezierCurveTo(215.08, 987.15, 212.96, 988.64, 212.24, 987.93);
	ctx.moveTo(125.01, 967.58);
	ctx.bezierCurveTo(125.12, 965.26, 125.45, 963.35, 125.75, 963.35);
	ctx.bezierCurveTo(126.04, 963.35, 127.75, 965.18, 129.54, 967.41);
	ctx.bezierCurveTo(132.99, 971.71, 133.28, 971.88, 135.34, 970.78);
	ctx.bezierCurveTo(137.40, 969.68, 136.91, 968.06, 133.46, 964.56);
	ctx.lineTo(130.27, 961.32);
	ctx.lineTo(133.13, 958.42);
	ctx.bezierCurveTo(136.33, 955.16, 136.50, 954.56, 134.74, 952.96);
	ctx.bezierCurveTo(133.57, 951.90, 133.28, 952.07, 129.49, 956.02);
	ctx.lineTo(125.48, 960.20);
	ctx.lineTo(125.27, 956.19);
	ctx.bezierCurveTo(125.04, 951.56, 124.55, 950.82, 122.15, 951.43);
	ctx.lineTo(120.40, 951.87);
	ctx.lineTo(120.40, 962.05);
	ctx.lineTo(120.40, 972.24);
	ctx.lineTo(122.60, 972.03);
	ctx.bezierCurveTo(124.80, 971.82, 124.80, 971.81, 125.01, 967.58);
	ctx.moveTo(153.34, 971.13);
	ctx.bezierCurveTo(153.97, 969.50, 152.21, 967.93, 150.20, 968.33);
	ctx.bezierCurveTo(147.74, 968.82, 146.66, 967.94, 146.93, 965.65);
	ctx.bezierCurveTo(147.12, 963.92, 147.45, 963.66, 149.73, 963.48);
	ctx.bezierCurveTo(151.95, 963.29, 152.28, 963.06, 152.10, 961.78);
	ctx.bezierCurveTo(151.94, 960.67, 151.31, 960.22, 149.52, 959.97);
	ctx.bezierCurveTo(147.41, 959.66, 147.15, 959.40, 147.15, 957.60);
	ctx.bezierCurveTo(147.15, 955.73, 147.38, 955.54, 149.86, 955.23);
	ctx.bezierCurveTo(151.99, 954.96, 152.61, 954.57, 152.78, 953.42);
	ctx.bezierCurveTo(153.01, 951.80, 151.64, 951.12, 148.84, 951.46);
	ctx.bezierCurveTo(147.91, 951.57, 146.01, 951.71, 144.61, 951.75);
	ctx.lineTo(142.07, 951.84);
	ctx.lineTo(142.07, 961.55);
	ctx.bezierCurveTo(142.07, 966.88, 142.27, 971.45, 142.52, 971.70);
	ctx.bezierCurveTo(142.77, 971.95, 145.22, 972.15, 147.96, 972.15);
	ctx.bezierCurveTo(151.79, 972.15, 153.04, 971.92, 153.34, 971.13);
	ctx.moveTo(163.60, 971.34);
	ctx.bezierCurveTo(164.55, 970.39, 164.74, 954.08, 163.82, 952.63);
	ctx.bezierCurveTo(163.50, 952.12, 162.41, 951.83, 161.30, 951.95);
	ctx.lineTo(159.34, 952.18);
	ctx.lineTo(159.15, 961.61);
	ctx.bezierCurveTo(158.95, 971.31, 159.15, 972.12, 161.74, 972.14);
	ctx.bezierCurveTo(162.32, 972.15, 163.16, 971.79, 163.60, 971.34);
	ctx.moveTo(182.17, 967.08);
	ctx.bezierCurveTo(183.02, 964.29, 183.93, 962.01, 184.19, 962.00);
	ctx.bezierCurveTo(184.45, 962.00, 185.68, 963.73, 186.91, 965.84);
	ctx.bezierCurveTo(188.15, 967.95, 189.49, 969.79, 189.90, 969.93);
	ctx.bezierCurveTo(190.31, 970.06, 191.83, 968.34, 193.27, 966.09);
	ctx.bezierCurveTo(194.72, 963.85, 196.22, 962.01, 196.60, 962.00);
	ctx.bezierCurveTo(196.99, 962.00, 198.06, 964.17, 198.97, 966.82);
	ctx.bezierCurveTo(200.78, 972.03, 201.53, 972.74, 204.06, 971.58);
	ctx.bezierCurveTo(205.94, 970.73, 206.16, 971.64, 201.33, 960.13);
	ctx.bezierCurveTo(199.57, 955.94, 197.87, 952.52, 197.54, 952.52);
	ctx.bezierCurveTo(197.21, 952.52, 195.64, 954.80, 194.05, 957.59);
	ctx.bezierCurveTo(192.46, 960.38, 190.94, 962.66, 190.67, 962.67);
	ctx.bezierCurveTo(190.40, 962.67, 188.77, 960.21, 187.03, 957.21);
	ctx.bezierCurveTo(184.84, 953.41, 183.66, 951.96, 183.17, 952.45);
	ctx.bezierCurveTo(182.78, 952.84, 181.03, 957.05, 179.27, 961.81);
	ctx.bezierCurveTo(175.92, 970.90, 175.89, 972.15, 179.04, 972.15);
	ctx.bezierCurveTo(180.44, 972.15, 180.83, 971.52, 182.17, 967.08);
	ctx.moveTo(214.19, 962.00);
	ctx.lineTo(214.19, 952.18);
	ctx.lineTo(211.98, 951.97);
	ctx.lineTo(209.78, 951.75);
	ctx.lineTo(209.78, 961.56);
	ctx.bezierCurveTo(209.78, 971.80, 209.91, 972.22, 212.83, 971.94);
	ctx.bezierCurveTo(214.12, 971.82, 214.19, 971.32, 214.19, 962.00);
	ctx.moveTo(235.31, 970.83);
	ctx.bezierCurveTo(238.71, 968.75, 239.80, 965.95, 240.13, 958.44);
	ctx.lineTo(240.41, 951.84);
	ctx.lineTo(237.96, 951.84);
	ctx.lineTo(235.52, 951.84);
	ctx.lineTo(235.51, 956.75);
	ctx.bezierCurveTo(235.51, 964.73, 234.00, 968.09, 230.45, 968.09);
	ctx.bezierCurveTo(229.85, 968.09, 228.61, 967.34, 227.70, 966.43);
	ctx.bezierCurveTo(226.16, 964.90, 226.04, 964.26, 226.04, 958.30);
	ctx.lineTo(226.04, 951.84);
	ctx.lineTo(223.67, 951.84);
	ctx.lineTo(221.30, 951.84);
	ctx.lineTo(221.30, 958.85);
	ctx.bezierCurveTo(221.30, 965.02, 221.48, 966.13, 222.84, 968.15);
	ctx.bezierCurveTo(223.69, 969.41, 225.14, 970.82, 226.06, 971.29);
	ctx.bezierCurveTo(228.54, 972.54, 232.85, 972.33, 235.31, 970.83);
	ctx.moveTo(250.41, 963.69);
	ctx.bezierCurveTo(250.73, 956.14, 250.85, 955.55, 252.14, 955.36);
	ctx.bezierCurveTo(252.91, 955.26, 254.09, 955.78, 254.77, 956.53);
	ctx.bezierCurveTo(256.10, 958.00, 256.11, 957.94, 252.85, 962.33);
	ctx.bezierCurveTo(252.44, 962.88, 253.29, 964.64, 255.45, 967.65);
	ctx.bezierCurveTo(257.21, 970.13, 258.87, 972.15, 259.12, 972.15);
	ctx.bezierCurveTo(259.95, 972.15, 262.60, 970.06, 262.60, 969.41);
	ctx.bezierCurveTo(262.60, 969.06, 261.53, 967.59, 260.23, 966.15);
	ctx.bezierCurveTo(258.93, 964.71, 257.86, 963.32, 257.86, 963.07);
	ctx.bezierCurveTo(257.86, 962.82, 258.49, 961.76, 259.27, 960.71);
	ctx.bezierCurveTo(260.12, 959.56, 260.59, 958.06, 260.45, 956.91);
	ctx.bezierCurveTo(260.10, 953.91, 257.49, 952.49, 251.55, 952.04);
	ctx.lineTo(246.35, 951.64);
	ctx.lineTo(246.29, 957.33);
	ctx.bezierCurveTo(246.12, 972.35, 246.12, 972.38, 248.61, 972.02);
	ctx.bezierCurveTo(249.99, 971.83, 250.09, 971.37, 250.41, 963.69);
	ctx.moveTo(269.57, 969.78);
	ctx.bezierCurveTo(270.20, 968.48, 271.09, 967.40, 271.56, 967.37);
	ctx.bezierCurveTo(280.08, 966.97, 279.76, 966.89, 281.22, 969.61);
	ctx.bezierCurveTo(282.75, 972.47, 283.27, 972.63, 285.51, 970.90);
	ctx.lineTo(287.10, 969.69);
	ctx.lineTo(281.45, 960.43);
	ctx.bezierCurveTo(278.35, 955.34, 275.49, 951.17, 275.12, 951.17);
	ctx.bezierCurveTo(274.38, 951.16, 264.63, 968.23, 264.63, 969.53);
	ctx.bezierCurveTo(264.63, 970.42, 266.63, 972.10, 267.72, 972.13);
	ctx.bezierCurveTo(268.12, 972.14, 268.95, 971.09, 269.57, 969.78);
	ctx.moveTo(273.11, 963.37);
	ctx.bezierCurveTo(272.72, 962.75, 274.48, 958.61, 275.13, 958.61);
	ctx.bezierCurveTo(275.53, 958.61, 277.66, 962.75, 277.38, 962.98);
	ctx.bezierCurveTo(276.59, 963.63, 273.45, 963.92, 273.11, 963.37);
	ctx.fill();
	
// #path3054
	ctx.save();
	ctx.beginPath();
	ctx.transform(0.69, 0.00, 0.00, 0.77, 148.59, 878.28);
	ctx.fillStyle = 'rgb(249, 249, 249)';
	ctx.moveTo(93.94, 166.66);
	ctx.translate(85.36, 166.66);
	ctx.rotate(0.00);
	ctx.scale(1.00, 0.82);
	ctx.arc(0.00, 0.00, 8.59, 0.00, 3.14159265, 0);
	ctx.scale(1.00, 1.21);
	ctx.rotate(-0.00);
	ctx.translate(-85.36, -166.66);
	ctx.translate(85.36, 166.66);
	ctx.rotate(0.00);
	ctx.scale(1.00, 0.82);
	ctx.arc(0.00, 0.00, 8.59, 3.14, 6.28318531, 0);
	ctx.scale(1.00, 1.21);
	ctx.rotate(-0.00);
	ctx.translate(-85.36, -166.66);
	ctx.fill();
	ctx.restore();
	ctx.restore();

    </script>]]>
        
    </content>
</entry>

<entry>
    <title>スマートフォン対応 - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2011/04/post-2.html" />
    <id>tag:big-band.sakura.ne.jp,2011:/super_bombers/myblog//11.72</id>

    <published>2011-04-15T15:59:50Z</published>
    <updated>2011-04-15T16:14:15Z</updated>

    <summary>サイトをスマートフォンに合わせてみました。スマートフォン用にCSSを作って、ja...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[サイトをスマートフォンに合わせてみました。<div>スマートフォン用にCSSを作って、javascriptで切り替えています。</div><div><br /></div><div><br /></div><div><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-keyword" style="color: rgb(119, 0, 136); ">function&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-variable" style="color: black; ">is_mobile&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">(</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">)&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">{</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-keyword" style="color: rgb(119, 0, 136); ">var&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-variabledef" style="color: rgb(0, 0, 255); ">useragents&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-operator" style="color: rgb(102, 102, 102); ">=&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">[</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'iPhone'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-comment" style="color: rgb(170, 119, 0); ">// Apple iPhone</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'iPod'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-comment" style="color: rgb(170, 119, 0); ">// Apple iPod touch</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'Android'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">,&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-comment" style="color: rgb(170, 119, 0); ">// 1.5+ Android</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'dream'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-comment" style="color: rgb(170, 119, 0); ">// Pre 1.5 Android</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'CUPCAKE'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">,&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-comment" style="color: rgb(170, 119, 0); ">// 1.5+ Android</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'blackberry9500'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">,&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-comment" style="color: rgb(170, 119, 0); ">// Storm</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'blackberry9530'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">,&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-comment" style="color: rgb(170, 119, 0); ">// Storm</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'blackberry9520'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">,&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-comment" style="color: rgb(170, 119, 0); ">// Storm v2</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'blackberry9550'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">,&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-comment" style="color: rgb(170, 119, 0); ">// Storm v2</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'blackberry9800'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">,&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-comment" style="color: rgb(170, 119, 0); ">// Torch</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'webOS'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-comment" style="color: rgb(170, 119, 0); ">// Palm Pre Experimental</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'incognito'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">,&nbsp; &nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-comment" style="color: rgb(170, 119, 0); ">// Other iPhone browser</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'webmate'&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-comment" style="color: rgb(170, 119, 0); ">// Other iPhone browser</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">]</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-keyword" style="color: rgb(119, 0, 136); ">var&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-variabledef" style="color: rgb(0, 0, 255); ">pattern&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-operator" style="color: rgb(102, 102, 102); ">=&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-keyword" style="color: rgb(119, 0, 136); ">new&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-variable" style="color: black; ">RegExp</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">(</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-localvariable" style="color: rgb(0, 68, 153); ">useragents</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">.</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-property" style="color: black; ">join</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">(</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'|'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">)</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">,&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'i'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">)</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-keyword" style="color: rgb(119, 0, 136); ">return&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-localvariable" style="color: rgb(0, 68, 153); ">pattern</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">.</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-property" style="color: black; ">test</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">(</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-variable" style="color: black; ">navigator</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">.</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-property" style="color: black; ">userAgent</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">)</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">}</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-variable" style="color: black; ">$</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">(</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-keyword" style="color: rgb(119, 0, 136); ">function&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">(</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">)&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">{</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-keyword" style="color: rgb(119, 0, 136); ">if&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">(</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-variable" style="color: black; ">is_mobile</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">(</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">)</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">)&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">{</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp; &nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-variable" style="color: black; ">document</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">.</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-property" style="color: black; ">getElementById</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">(</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">'mystyle'</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">)</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">.</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-property" style="color: black; ">href&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-operator" style="color: rgb(102, 102, 102); ">=&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-string" style="color: rgb(170, 34, 34); ">"http://big-band.sakura.ne.jp/super_bombers/s-styles.css"</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="whitespace">&nbsp;&nbsp;</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">}</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><br /></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">}</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">)</span></span><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">;</span></span></div><div><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); "><br /></span></span></div><div><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); ">詳しくはこちらサイトを参照して下さい。</span></span></div><div><span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: monospace; line-height: 16px; white-space: nowrap; "><span class="js-punctuation" style="color: rgb(102, 102, 102); "><span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: arial, helvetica, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; line-height: normal; white-space: normal; ">http://terkel.jp/archives/2010/08/optimizing-websites-for-smartphones-with-ua-detection/</span></span></span></div>]]>
        
    </content>
</entry>

<entry>
    <title>MacでPHP開発環境3 - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2011/04/macphp3.html" />
    <id>tag:big-band.sakura.ne.jp,2011:/super_bombers/myblog//11.70</id>

    <published>2011-04-13T07:07:37Z</published>
    <updated>2011-04-13T07:23:10Z</updated>

    <summary>早速、以下のサイトを参考にしてCakePHPを試してみました。http://li...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[<div>早速、以下のサイトを参考にしてCakePHPを試してみました。</div><div><br /></div><a href="http://libro99.appspot.com/index2?id=8002">http://libro99.appspot.com/index2?id=8002</a> <div><br /></div><div>げーすげー簡単。</div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/Scaffold-184.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/Scaffold-184.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/Scaffold-thumb-320x200-184.tif" width="320" height="200" alt="Scaffold.tif" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>あっという間にDBアプリケーションが出来てしまった！</div><div>Railsの時は環境まわりにも苦労したけど、PHPはラクチン。</div><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>MacでPHP開発環境2 - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2011/04/macphp2.html" />
    <id>tag:big-band.sakura.ne.jp,2011:/super_bombers/myblog//11.69</id>

    <published>2011-04-13T00:41:39Z</published>
    <updated>2011-04-13T07:07:16Z</updated>

    <summary>フレームワークを試してみる。PHPのフレームワークは幾つか存在しているので、今回...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[<a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/htdocsフォルダ-164.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/htdocsフォルダ-164.html','popup','width=948,height=419,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><br /></a>フレームワークを試してみる。<div><br /></div><div>PHPのフレームワークは幾つか存在しているので、今回、どれを試してみるか決定することから始めます。</div><div><a href="http://www.google.co.jp/trends?q=zend+framework%2Csymfony%2Ccakephp%2CEthna&amp;ctab=0&amp;geo=jp&amp;date=all&amp;sort=0">google</a>で調べてみると「cakephp」が人気が高いようなので、cakephpを試してみることにしました。</div><div><br /></div><div>１、<span class="Apple-style-span" style="font-family: 'Hiragino Kaku Gothic Pro'; line-height: 24px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">CakePHPのサイト（</span><span class="Apple-style-span" style="font-family: 'Hiragino Kaku Gothic Pro'; line-height: 24px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><a href="http://cakephp.jp/" target="_blank">http://cakephp.jp/</a></span><span class="Apple-style-span" style="font-family: 'Hiragino Kaku Gothic Pro'; line-height: 24px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">）からソースをダウンロード</span></div><div><span class="Apple-style-span" style="font-family: 'Hiragino Kaku Gothic Pro'; line-height: 24px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">今回ダウンロードしたのは、最新安定版の「cakephp-cakephp-1.3.8-0-g33afe21.zip」です。</span></div><div><span class="Apple-style-span" style="font-family: 'Hiragino Kaku Gothic Pro'; line-height: 24px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">２、ダウンロードしたファイルを解凍し、前回インストールしたXAMPPディレクトリのhtdocsディレクトリにコピーする。フォルダ名を「cakesample」に変更。</span></div><div><span class="Apple-style-span" style="font-family: 'Hiragino Kaku Gothic Pro'; line-height: 24px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/htdocsフォルダ-thumb-320x141-164-165.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/htdocsフォルダ-thumb-320x141-164-165.html','popup','width=320,height=141,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/htdocsフォルダ-thumb-320x141-164-thumb-320x141-165.tif" width="320" height="141" alt="htdocsフォルダ.tifのサムネール画像" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></span></div><div><span class="Apple-style-span" style="font-family: 'Hiragino Kaku Gothic Pro'; line-height: 24px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br /></span></div><div><span class="Apple-style-span" style="font-family: 'Hiragino Kaku Gothic Pro'; line-height: 24px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br /></span></div><meta charset="utf-8"><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>３、XAMPPのWEBサーバを起動し、動作を確認する。</div><div>「XAMPP Control』をクリックしApacheをスタートする。</div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/apache起動-169.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/apache起動-169.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/apache起動-thumb-320x200-169.tif" width="320" height="200" alt="apache起動.tif" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>４、ブラウザよりアクセス</div><div>「<a href="http://localhost/cakesample/">http://localhost/cakesample/</a>」にブラウザにてアクセス</div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/ブラウザアクセス-172.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/ブラウザアクセス-172.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/ブラウザアクセス-thumb-320x200-172.tif" width="320" height="200" alt="ブラウザアクセス.tif" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>５、「Warning(512)」を解決する。</div><div><br /></div><div>cacheディレクトリに書き込みパーミッションが無いので警告が出ているようなので、パーミッションを変更します。</div><div><br /></div><div>「/Applications/XAMPP/xamppfiles/htdocs/cakesample/app/tmp/cache/」まで移動して各ディレクトリのパーミッションを変更します。</div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/パーミッション変更-175.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/パーミッション変更-175.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/パーミッション変更-thumb-320x200-175.tif" width="320" height="200" alt="パーミッション変更.tif" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div>１）該当するディレクトリを選択。</div><div>２）コマンド+Iで情報を開く</div><div>３）共有とアクセス件を全て読み／書きに変更する。</div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>６、ブラウザを更新して警告が出ないことを確認する。</div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/警告無し確認-178.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/警告無し確認-178.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/警告無し確認-thumb-320x200-178.tif" width="320" height="200" alt="警告無し確認.tif" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>7、eclipseに「aptana php」がインストールされていればeclipse環境で開発できる。</div><div><br /></div><div>ワークスペースを「Applications/XAMPP/xamppfiles/htdocs」に変更。</div><div>インポート→その他→新規プロジェクトとして既存フォルダーを使用を選択。</div><div>「cakesample」を指定。</div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/eclipse-181.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/eclipse-181.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2011/04/eclipse-thumb-320x200-181.tif" width="320" height="200" alt="eclipse.tif" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>MacでPHP開発環境1 - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2011/04/macphpeclipsexampphttpwwwapachefriendsorgjpxampp-macosxhtml2702terminal-shellsudo-suxamppapplication.html" />
    <id>tag:big-band.sakura.ne.jp,2011:/super_bombers/myblog//11.68</id>

    <published>2011-04-07T01:26:51Z</published>
    <updated>2011-04-13T00:41:09Z</updated>

    <summary>MacでPHPを勉強するための開発環境構築メモ１、eclipseインストール私の...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[MacでPHPを勉強するための開発環境構築メモ<div><br /></div><div>１、eclipseインストール</div><div><br /></div><div>私の場合、既にインストール済み</div><div><br /></div><div>２、xamppのインストール</div><div><br /></div><div>以下がインストール手順</div><div><a href="http://www.apachefriends.org/jp/xampp-macosx.html#2702">http://www.apachefriends.org/jp/xampp-macosx.html#2702</a></div><div><br /></div><div>３、起動手順</div><div><br /></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: verdana, helvetica; font-size: 12px; line-height: 16px; "><p style="font-family: verdana, helvetica; font-size: 12px; line-height: 16px; "></p><ol style="font-family: verdana, helvetica; font-size: 12px; line-height: 16px; "><li>Terminal shellに行って、システム管理者ルートでログイン。<p style="font-family: verdana, helvetica; font-size: 12px; line-height: 16px; "><tt style="font-family: courier; line-height: 14px; font-size: 12px; ">sudo su</tt></p><p style="font-family: verdana, helvetica; font-size: 12px; line-height: 16px; "></p></li><li>XAMPPをスタートするには、以下を実行する。<p style="font-family: verdana, helvetica; font-size: 12px; line-height: 16px; "><tt style="font-family: courier; line-height: 14px; font-size: 12px; ">/Applications/XAMPP/xamppfiles/xampp start</tt></p><p style="font-family: verdana, helvetica; font-size: 12px; line-height: 16px; ">以下のような画面になります:</p><p style="font-family: verdana, helvetica; font-size: 12px; line-height: 16px; "><tt style="font-family: courier; line-height: 14px; font-size: 12px; ">Starting XAMPP for MacOS X 1.7.3...<br />XAMPP: Starting Apache with SSL (and PHP5)...<br />XAMPP: Starting MySQL...<br />XAMPP: Starting ProFTPD...<br />XAMPP for MacOS X started.<br /></tt></p><p style="font-family: verdana, helvetica; font-size: 12px; line-height: 16px; "></p></li></ol>準備ができました。ApacheとMySQLが稼動しています。<p style="font-family: verdana, helvetica; font-size: 12px; line-height: 16px; ">エラーメッセージを受け取った場合は<a href="http://www.apachefriends.org/en/faq-xampp-macosx.html#start" style="color: rgb(92, 92, 121); text-decoration: none; "><img src="data:image/gif;base64,R0lGODlhCwAKAIAAAOhsIP///yH5BAEAAAEALAAAAAALAAoAAAIWjB+ggL3PUoooKlezYZRKn4EHBz1BAQA7" border="0" />&nbsp;MacOS X FAQ&nbsp;</a>を確認してください。 MacOS X FAQ.</p></span></div><div>インストールした場所に<img src="webkit-fake-url://34A435BA-B0F2-4ED7-813A-A1A216DE924D/image.tiff" />「XAMPP Control」というアイコンがあるので、こちらでもスタート、ストップが制御できます。</div><div><br /></div><div><div>/Applications/XAMPP/xamppfiles/etc/extra</div></div><div>vi httpd-xampp.conf</div><div><br /></div><div>XAMPP以外の場所で開発する場合、以下を追加</div><div><br /></div><div><div>Alias /FastPHP "/Users/hoge/Sites/FastPHP"</div><div>&lt;Location /FastPHP&gt;</div><div>&nbsp;&nbsp; &nbsp;Order deny,allow</div><div>&nbsp;&nbsp; &nbsp;Allow from all</div><div>&lt;/Location&gt;</div></div><div><br /></div><div>以下にアクセス</div><div><a href="http://localhost/FastPHP/simple.php">http://localhost/FastPHP/simple.php</a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>androidに挑戦中2 - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2011/03/android2.html" />
    <id>tag:big-band.sakura.ne.jp,2011:/super_bombers/myblog//11.67</id>

    <published>2011-03-28T14:00:07Z</published>
    <updated>2011-03-28T14:13:25Z</updated>

    <summary>しばらく更新していませんでしたが、少し進展したのでソースを公開します。ソースは２...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    <category term="android" label="android" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[しばらく更新していませんでしたが、少し進展したのでソースを公開します。<div>ソースは２つに分かれています。</div><div><br /></div><div>まず、マイクから音を受け取るスレッドです。</div><div>SoundSwitch.java</div><div><div><br /></div><div><div>package jp.sakura;</div><div><br /></div><div>import java.util.Arrays;</div><div><br /></div><div>import android.media.AudioFormat;</div><div>import android.media.AudioRecord;</div><div>import android.media.MediaRecorder;</div><div><br /></div><div>public class SoundSwitch implements Runnable {</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>private OnReachedVolumeListener mListener;</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>private boolean isRecording = true;</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>private static final int SAMPLE_RATE = 8000; //8000, 11025, 22050</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// graxyだと44100がちょうどいい感じです。なぜかは不明調査中です。</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>int bufferSize = AudioRecord.getMinBufferSize(SAMPLE_RATE,</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>AudioFormat.CHANNEL_CONFIGURATION_MONO,</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>AudioFormat.ENCODING_PCM_16BIT);</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>SAMPLE_RATE,</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>AudioFormat.CHANNEL_CONFIGURATION_MONO,</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>AudioFormat.ENCODING_PCM_16BIT, bufferSize * 4);</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>short[] buffer = new short[bufferSize];</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>public void stop(){</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>isRecording = false;</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>audioRecord.stop();</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>audioRecord.release();</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>public void setOnVolumeReachedListener(OnReachedVolumeListener listener){</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>mListener = listener;</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>public interface OnReachedVolumeListener {</div><div><span class="Apple-tab-span" style="white-space:pre">		</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>void OnReachedVolum( short volume );</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>public void run() {</div><div><span class="Apple-tab-span" style="white-space:pre">	</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>synchronized (this) {</div><div><span class="Apple-tab-span" style="white-space:pre">		</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>audioRecord.startRecording();</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>int bufferCnt = 0;</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>while(isRecording){</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">			</span>bufferCnt += audioRecord.read(buffer, 0, bufferSize);</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>//audioRecord.read(buffer, 0, bufferSize);</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>short max = 0;<span class="Apple-tab-span" style="white-space:pre">	</span></div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">			</span>Arrays.sort(buffer);</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>short volts = buffer[buffer.length-1];</div><div><span class="Apple-tab-span" style="white-space:pre">			</span></div><div><span class="Apple-tab-span" style="white-space:pre">			</span>if( mListener != null){</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">				</span>// MeterAnima 37行目へ</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>// -30db 〜 0db</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>if( volts &gt; 1000 ){</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>max = volts;</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">				</span></div><div><span class="Apple-tab-span" style="white-space:pre">				</span>mListener.OnReachedVolum(max);</div><div><span class="Apple-tab-span" style="white-space:pre">				</span></div><div><span class="Apple-tab-span" style="white-space:pre">			</span>}<span class="Apple-tab-span" style="white-space:pre">					</span></div><div><span class="Apple-tab-span" style="white-space:pre">			</span></div><div><span class="Apple-tab-span" style="white-space:pre">			</span>try {</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>Thread.sleep(50);</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>} catch (InterruptedException e) {</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>// TODO 自動生成された catch ブロック</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>e.printStackTrace();</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">		</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">		</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">		</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>audioRecord.stop();</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>audioRecord.release();</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">	</span></div><div>}</div><div><br /></div></div></div><div>次は画面側のソースです。</div><div>MeterAnima.java</div><div><br /></div><div><div>package jp.sakura;</div><div><br /></div><div>import android.app.Activity;</div><div>import android.content.Context;</div><div>import android.graphics.Canvas;</div><div>import android.graphics.Color;</div><div>import android.graphics.Paint;</div><div>import android.graphics.Path;</div><div>import android.graphics.RectF;</div><div>import android.os.Bundle;</div><div>import android.os.Handler;</div><div>import android.util.Log;</div><div>import android.view.SurfaceHolder;</div><div>import android.view.SurfaceView;</div><div><br /></div><div>public class MeterAnima extends Activity {</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>// 最大値</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>float max;</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>// ハンドラー</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>Handler handler = new Handler();</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>// マイクからの入力</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>public float inputVolts;</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>private SoundSwitch mSoundSwitch;</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>// private CanvasView view;</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>private MySurfaceView view;</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>// 針の長さ</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>int needle = 150;</div><div><span class="Apple-tab-span" style="white-space:pre">	</span></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>Thread mainLoop;</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>@Override</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>public void onCreate(Bundle savedInstanceState) {</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>super.onCreate(savedInstanceState);</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>// Canvasインスタンス</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>view = new MySurfaceView(this);</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>setContentView(view);</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>mSoundSwitch = new SoundSwitch();</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>mSoundSwitch</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>.setOnVolumeReachedListener(new SoundSwitch.OnReachedVolumeListener() {</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>public void OnReachedVolum(final short volume) {</div><div><span class="Apple-tab-span" style="white-space:pre">						</span>handler.post(new Runnable() {</div><div><span class="Apple-tab-span" style="white-space:pre">							</span>public void run() {</div><div><span class="Apple-tab-span" style="white-space:pre">								</span>inputVolts = volume;</div><div><span class="Apple-tab-span" style="white-space:pre">								</span>view.doDraw();</div><div><span class="Apple-tab-span" style="white-space:pre">							</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">						</span>});</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>});</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>new Thread(mSoundSwitch).start();</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback {</div><div><span class="Apple-tab-span" style="white-space:pre">		</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>private static final int LAYER_FLAGS = Canvas.MATRIX_SAVE_FLAG |</div><div><span class="Apple-tab-span" style="white-space:pre">												</span>Canvas.CLIP_SAVE_FLAG |</div><div><span class="Apple-tab-span" style="white-space:pre">												</span>Canvas.HAS_ALPHA_LAYER_SAVE_FLAG |</div><div><span class="Apple-tab-span" style="white-space:pre">												</span>Canvas.FULL_COLOR_LAYER_SAVE_FLAG |</div><div><span class="Apple-tab-span" style="white-space:pre">												</span>Canvas.CLIP_TO_LAYER_SAVE_FLAG;</div><div><span class="Apple-tab-span" style="white-space:pre">		</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>public MySurfaceView(Context context) {</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>super(context);</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>getHolder().addCallback(this);</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>public void surfaceChanged(SurfaceHolder holder, int format, int width,</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>int height) {</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>Log.d("TEST", "surfaceChanged");</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>public void surfaceCreated(SurfaceHolder holder) {</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">			</span>// Log.d("TEST", "surfaceCreated");</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>Canvas canvas = holder.lockCanvas();</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>Path Path = new Path();</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">			</span>Path.moveTo(-needle, -0);</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>Path.lineTo(0, -3);</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>Path.lineTo(0, 0);</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>Path.lineTo(0, 3);</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>Path.close();</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">			</span>holder.unlockCanvasAndPost(canvas);</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>void doDraw() {</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">			</span>synchronized (this) {</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">				</span>Canvas canvas = getHolder().lockCanvas();</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>Paint paint = new Paint();</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">				</span>Path Path = new Path();</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">				</span>Path.moveTo(-needle, -0);</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>Path.lineTo(0, -3);</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>Path.lineTo(0, 0);</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>Path.lineTo(0, 3);</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>Path.close();</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">				</span>if (canvas != null) {</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>int w = canvas.getWidth();</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>int h = canvas.getHeight();</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>int cx = w / 2;</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>int cy = h / 2;</div><div><span class="Apple-tab-span" style="white-space:pre">					</span></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>canvas.drawColor(Color.WHITE);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>canvas.saveLayerAlpha(0, 0, w, h, 0x88, LAYER_FLAGS);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>paint.setColor(Color.BLUE);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>paint.setAntiAlias(true);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>paint.setTextSize(20);</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>max = inputVolts;</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>// 　db(デシベルを求める）ウィキペディア「デシベル」参照</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>float val = (float) (20.0 * Math.log10(max / 32767.0));</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>// 180度　-30db 〜 0db</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>//float angle = 180 + val * (180 / 30);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>float angle = 120 + val * (120 / 30);</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>paint.setStrokeWidth(5);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>canvas.drawPoint(0, 0, paint);</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>canvas.drawText("inputVolts : " + inputVolts, 0, paint</div><div><span class="Apple-tab-span" style="white-space:pre">							</span>.getTextSize(), paint);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>canvas.drawText("val : " + val, 0, paint.getTextSize() * 2,</div><div><span class="Apple-tab-span" style="white-space:pre">							</span>paint);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>canvas.drawText("angle : " + angle, 0,</div><div><span class="Apple-tab-span" style="white-space:pre">							</span>paint.getTextSize() * 3, paint);</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>float leftArc = cx - 160;</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>float topArc = cy - 160;</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>float rightArc = cx + 160;</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>float bottomArc = cy + 160;</div><div><span class="Apple-tab-span" style="white-space:pre">					</span></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>paint.setColor(Color.RED);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>RectF rect = new RectF(leftArc, topArc, rightArc, bottomArc);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>canvas.drawArc(rect, 180, 180, true, paint);</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>float leftArcB = cx - needle;</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>float topArcB = cy - needle;</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>float rightArcB = cx + needle;</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>float bottomArcB = cy + needle;</div><div><span class="Apple-tab-span" style="white-space:pre">					</span></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>paint.setColor(Color.BLUE);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>RectF rectB = new RectF(leftArcB, topArcB, rightArcB, bottomArcB);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>canvas.drawArc(rectB, 200, 140, true, paint);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span></div><div><span class="Apple-tab-span" style="white-space:pre">					</span></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>// Paint paint = Paint;</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>paint.setAntiAlias(true);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>paint.setColor(Color.BLACK);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>paint.setStyle(Paint.Style.FILL);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>canvas.drawCircle(cx, cy, 5, paint);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>canvas.translate(cx, cy);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>if (inputVolts != 0) {</div><div><span class="Apple-tab-span" style="white-space:pre">						</span>canvas.rotate(angle + 30);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>}else{</div><div><span class="Apple-tab-span" style="white-space:pre">						</span>canvas.rotate(30);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>canvas.drawPath(Path, paint);</div><div><span class="Apple-tab-span" style="white-space:pre">					</span></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>getHolder().unlockCanvasAndPost(canvas);</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">			</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>public void surfaceDestroyed(SurfaceHolder holder) {</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>Log.d("TEST", "surfaceDestroyed");</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>public void onPause() {</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>super.onPause();</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>mSoundSwitch.stop();</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>}// onpause</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>public void onStop() {</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>super.onStop();</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>mSoundSwitch.stop();</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>}// onstop</div><div>}</div></div><div><br /></div><div><br /></div><div>一応、それっぽい動きをするのですが、スムーズが動きにするのが次の課題ですかね。</div>]]>
        
    </content>
</entry>

<entry>
    <title>androidに挑戦中 - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2010/12/android.html" />
    <id>tag:big-band.sakura.ne.jp,2010:/super_bombers/myblog//11.65</id>

    <published>2010-12-06T13:29:14Z</published>
    <updated>2010-12-06T13:45:52Z</updated>

    <summary>android携帯を購入して、早速プログラミングに挑戦をしています。取りあえずV...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[android携帯を購入して、早速プログラミングに挑戦をしています。<div>取りあえずVUメータを作れないかとおもって作ったのですが、イマイチ動作が重い感じ。。。。</div><div>描画が間に合ってないのかな？</div><div><br /></div><div>以下ソースです。</div><div><br /></div><div>１、音データを受け取ってメータを表示する</div><div><br /></div><div><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
<meta name="Generator" content="Cocoa HTML Writer">
<meta name="CocoaVersion" content="1038.35">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2d9471}
p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #a2006a}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #777777}
p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1100d0}
span.s1 {color: #a2006a}
span.s2 {color: #000000}
span.s3 {color: #1100d0}
span.s4 {text-decoration: underline}
span.s5 {color: #4400ff}
span.Apple-tab-span {white-space:pre}
</style>


<p class="p1"><span class="s1">package</span> jp.sakura;</p>
<p class="p2"><br /></p>
<p class="p1"><span class="s1">import</span> android.app.Activity;</p>
<p class="p1"><span class="s1">import</span> android.content.Context;</p>
<p class="p1"><span class="s1">import</span> android.graphics.Canvas;</p>
<p class="p1"><span class="s1">import</span> android.graphics.Color;</p>
<p class="p1"><span class="s1">import</span> android.graphics.Paint;</p>
<p class="p1"><span class="s1">import</span> android.graphics.Path;</p>
<p class="p1"><span class="s1">import</span> android.os.Bundle;</p>
<p class="p1"><span class="s1">import</span> android.os.Handler;</p>
<p class="p1"><span class="s1">import</span> android.view.View;</p>
<p class="p2"><br /></p>
<p class="p1"><span class="s1">public</span> <span class="s1">class</span> MeterAnima <span class="s1">extends</span> Activity {</p>
<p class="p2"><br /></p>
<p class="p3"><span class="s2"><span class="Apple-tab-span">	</span></span>// 最大値</p>
<p class="p4"><span class="s2"><span class="Apple-tab-span">	</span></span>float<span class="s2"> </span><span class="s3">max</span><span class="s2">;</span></p>
<p class="p3"><span class="s2"><span class="Apple-tab-span">	</span></span>// ハンドラー</p>
<p class="p1"><span class="Apple-tab-span">	</span>Handler <span class="s3">handler</span> = <span class="s1">new</span> Handler();</p>
<p class="p3"><span class="s2"><span class="Apple-tab-span">	</span></span>// マイクからの入力</p>
<p class="p4"><span class="s2"><span class="Apple-tab-span">	</span></span>public<span class="s2"> </span>float<span class="s2"> </span><span class="s3">inputVolts</span><span class="s2">;</span></p>
<p class="p2"><span class="Apple-tab-span">	</span></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="s1">private</span> SoundSwitch <span class="s3">mSoundSwitch</span>;</p>
<p class="p2"><span class="Apple-tab-span">	</span></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="s1">private</span> CanvasView <span class="s3">view</span>;</p>
<p class="p2"><br /></p>
<p class="p5"><span class="s2"><span class="Apple-tab-span">	</span></span>@Override</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="s1">public</span> <span class="s1">void</span> onCreate(Bundle savedInstanceState) {</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">super</span>.onCreate(savedInstanceState);</p>
<p class="p2"><br /></p>
<p class="p3"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// Canvasインスタンス</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">view</span> = <span class="s1">new</span> CanvasView(<span class="s1">this</span>);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>setContentView(<span class="s3">view</span>);</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">mSoundSwitch</span> = <span class="s1">new</span> SoundSwitch();</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">mSoundSwitch</span>.setOnVolumeReachedListener(<span class="s1">new</span> SoundSwitch.OnReachedVolumeListener() {</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">public</span> <span class="s1">void</span> OnReachedVolum(<span class="s1">final</span> <span class="s1">short</span> volume) {</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">handler</span>.post(<span class="s1">new</span> Runnable() {</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">public</span> <span class="s1">void</span> run() {</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">inputVolts</span> = volume;</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">if</span>( <span class="s3">inputVolts</span> != 0 ){</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s3">view</span>.invalidate();</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>}</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>}</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>});</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>}</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>});</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">new</span> Thread(<span class="s3">mSoundSwitch</span>).start();</p>
<p class="p1"><span class="Apple-tab-span">	</span>}</p>
<p class="p2"><br /></p>
<p class="p3"><span class="s2"><span class="Apple-tab-span">	</span></span>// Viewクラスを継承しCanvasViewクラスを作成</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="s1">public</span> <span class="s1">class</span> CanvasView <span class="s1">extends</span> View {</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">private</span> Paint <span class="s3">mPaint</span> = <span class="s1">new</span> Paint();</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">private</span> Path <span class="s3">mPath</span> = <span class="s1">new</span> Path();</p>
<p class="p2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">public</span> CanvasView(Context context) {</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">super</span>(context);</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="s3">mPath</span>.moveTo(-200, -0);</p>
<p class="p1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="s3">mPath</span>.lineTo(0, -3);</p>
<p class="p1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="s3">mPath</span>.lineTo(0, 0);</p>
<p class="p1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="s3">mPath</span>.lineTo(0, 3);</p>
<p class="p1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="s3">mPath</span>.close();</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>}</p>
<p class="p2"><br /></p>
<p class="p5"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>@Override</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">protected</span> <span class="s1">void</span> onDraw(Canvas canvas) {</p>
<p class="p2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
<p class="p3"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// 16ビット　-32767〜32767　スピカーを考えると０の間で正負が逆転するということ。</p>
<p class="p3"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// 絶対値を求める</p>
<p class="p3"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>//max = Math.abs(inputVolts);</p>
<p class="p6"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>max<span class="s2"> = </span>inputVolts<span class="s2">;</span></p>
<p class="p2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
<p class="p3"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>//　<span class="s4">db</span>(デシベルを求める）ウィキペディア「デシベル」参照</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">float</span> val = (<span class="s1">float</span>) (20.0 * Math.log10(<span class="s3">max</span> / 32767.0));<span class="Apple-tab-span">	</span></p>
<p class="p2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
<p class="p3"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// 180度　-30db 〜 0db</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">float</span> angle = 180 + val * ( 180 / 30 );</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">int</span> w = canvas.getWidth();</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">int</span> h = canvas.getHeight();</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">int</span> cx = w / 2;</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">int</span> cy = h / 2;<span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
<p class="p2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>Paint painttext = <span class="s3">mPaint</span>;</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>canvas.drawColor(Color.<span class="s3">WHITE</span>);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>painttext.setColor(Color.<span class="s3">BLACK</span>);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>painttext.setStyle(Paint.Style.<span class="s3">FILL</span>);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>canvas.drawText(<span class="s5">"inputVolts "</span> + <span class="s3">inputVolts</span>, 20, 20, painttext);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>canvas.drawText(<span class="s5">"max "</span> + <span class="s3">max</span>, 20, 40, painttext);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>canvas.drawText(<span class="s5">"val "</span> + val, 20, 60, painttext);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>canvas.drawText(<span class="s5">"angle "</span> + angle, 20, 80, painttext);</p>
<p class="p2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>Paint paint = <span class="s3">mPaint</span>;<span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>paint.setAntiAlias(<span class="s1">true</span>);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>paint.setColor(Color.<span class="s3">BLACK</span>);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>paint.setStyle(Paint.Style.<span class="s3">FILL</span>);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>canvas.drawCircle(cx, cy, 5, paint);</p>
<p class="p2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>canvas.translate(cx, cy);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">if</span> ( <span class="s3">inputVolts</span> != 0 ) {</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>canvas.rotate(angle);</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>}</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>canvas.drawPath(<span class="s3">mPath</span>, <span class="s3">mPaint</span>);</p>
<p class="p2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>}</p>
<p class="p1"><span class="Apple-tab-span">	</span>}</p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="s1">public</span> <span class="s1">void</span> onPause() {</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">super</span>.onPause();</p>
<p class="p6"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>mSoundSwitch<span class="s2">.stop();</span></p>
<p class="p3"><span class="s2"><span class="Apple-tab-span">	</span>}</span>// <span class="s4">onpause</span></p>
<p class="p2"><br /></p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="s1">public</span> <span class="s1">void</span> onStop() {</p>
<p class="p1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s1">super</span>.onStop();</p>
<p class="p6"><span class="s2"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>mSoundSwitch<span class="s2">.stop();</span></p>
<p class="p3"><span class="s2"><span class="Apple-tab-span">	</span>}</span>// <span class="s4">onstop</span></p>
<p class="p1">}</p></div><div><br /></div><div>２、マイクからの入力を取得する。</div><div><br /></div><div><div><div>package jp.sakura;</div><div><br /></div><div>import android.media.AudioFormat;</div><div>import android.media.AudioRecord;</div><div>import android.media.MediaRecorder;</div><div><br /></div><div>public class SoundSwitch implements Runnable {</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>private OnReachedVolumeListener mListener;</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>private boolean isRecording = true;</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>private static final int SAMPLE_RATE = 8000;</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>int bufferSize = AudioRecord.getMinBufferSize(SAMPLE_RATE,</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>AudioFormat.CHANNEL_CONFIGURATION_MONO,</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>AudioFormat.ENCODING_PCM_16BIT);</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>SAMPLE_RATE,</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>AudioFormat.CHANNEL_CONFIGURATION_MONO,</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>AudioFormat.ENCODING_PCM_16BIT, bufferSize * 4);</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>short[] buffer = new short[bufferSize];</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>public void stop(){</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>isRecording = false;</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>audioRecord.stop();</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>audioRecord.release();</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>public void setOnVolumeReachedListener(OnReachedVolumeListener listener){</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>mListener = listener;</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>public interface OnReachedVolumeListener {</div><div><span class="Apple-tab-span" style="white-space:pre">		</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>void OnReachedVolum( short volume );</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>public void run() {</div><div><span class="Apple-tab-span" style="white-space:pre">	</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_AUDIO);</div><div><span class="Apple-tab-span" style="white-space:pre">		</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>audioRecord.startRecording();</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>int bufferCnt = 0;</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>while(isRecording){</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">			</span>bufferCnt += audioRecord.read(buffer, 0, bufferSize);</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>//audioRecord.read(buffer, 0, bufferSize);</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>short max = 0;</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>for ( int i=0; i&lt;bufferSize; i++){</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">				</span>//max buffer[i]のうち大きい方の値を返す。</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>//max = (short)Math.max(max, buffer[i]);</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>//max = buffer[i];</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>// 16ビット　-32767〜32767　スピカーを考えると０の間で正負が逆転するということ。</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>// 絶対値を求める</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>max = (short) Math.abs(buffer[i]);</div><div><span class="Apple-tab-span" style="white-space:pre">				</span></div><div><span class="Apple-tab-span" style="white-space:pre">				</span>if( mListener != null){</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">					</span>// MeterAnima 37行目へ</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>// -30db 〜 0db</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>if( max &gt; 1000 )</div><div><span class="Apple-tab-span" style="white-space:pre">					</span>mListener.OnReachedVolum(max);</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">				</span>}</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">			</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">			</span></div><div><span class="Apple-tab-span" style="white-space:pre">			</span>try {</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>Thread.sleep(200);</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>} catch (InterruptedException e) {</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>// TODO 自動生成された catch ブロック</div><div><span class="Apple-tab-span" style="white-space:pre">				</span>e.printStackTrace();</div><div><span class="Apple-tab-span" style="white-space:pre">			</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">			</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">		</span></div><div><span class="Apple-tab-span" style="white-space:pre">		</span>audioRecord.stop();</div><div><span class="Apple-tab-span" style="white-space:pre">		</span>audioRecord.release();</div><div><br /></div><div><span class="Apple-tab-span" style="white-space:pre">	</span>}</div><div><span class="Apple-tab-span" style="white-space:pre">	</span></div><div>}</div><div><br /></div><div>次は高速化かな〜。</div><div><br /></div><div>参考にした書籍。</div><div><br /></div></div></div>


<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=minetake-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4844327712&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>


<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=minetake-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4798027049&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
]]>
        
    </content>
</entry>

<entry>
    <title>id3lib インストール rails - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2010/10/id3lib.html" />
    <id>tag:big-band.sakura.ne.jp,2010:/super_bombers/myblog//11.62</id>

    <published>2010-10-08T14:25:42Z</published>
    <updated>2010-10-09T06:22:23Z</updated>

    <summary><![CDATA[１、Cライブラリーのインストール# cd src# wget&nbsp;http...]]></summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[<div>１、Cライブラリーのインストール</div><div><br /></div><div># cd src</div># wget&nbsp;http://downloads.sourceforge.net/id3lib/id3lib-3.8.3.tar.gz<div># tar zxf&nbsp;id3lib-3.8.3.tar.gz</div><div># cd&nbsp;id3lib-3.8.3</div><div># sh&nbsp;./configure&nbsp;--prefix=/home/xxxx/local</div><div># make; make install</div><div><br /></div><div>２、GEMのインストール</div><div>gemのインストールをする前に以下のおまじない。</div><div>#&nbsp;<span class="Apple-style-span" style="font-family: 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', Osaka, Verdana, sans-serif; font-size: small; line-height: 19px; ">setenv RB_USER_INSTALL true</span></div><div><div># gem install id3lib-ruby -- --build-flags --with-opt-dir=/home/xxxxx/local</div></div><div><br /></div><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>gateway.cgi rails - myblog</title>
    <link rel="alternate" type="text/html" href="http://big-band.sakura.ne.jp/mine/myblog/2010/10/gatewaycgi.html" />
    <id>tag:big-band.sakura.ne.jp,2010:/super_bombers/myblog//11.61</id>

    <published>2010-10-06T02:12:27Z</published>
    <updated>2010-10-09T06:26:09Z</updated>

    <summary>railsはそのままではとても遅くて使えないのですが、使っている「さくらインター...</summary>
    <author>
        <name>minetake</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://big-band.sakura.ne.jp/mine/myblog/">
        <![CDATA[railsはそのままではとても遅くて使えないのですが、使っている「さくらインターネット」のサーバは常駐プログラムを使えないので「gateway.cgi」を使います。<div><br /></div><div>条件</div><div>gateway.cgiをインストールしている事。</div><div>rails 2.2.2 です。</div><div><br /></div><div>１、logディレクトリにgateway用のディレクトリを作成する。</div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">%mkdir log/drb_gateway<br />%chmod 777 log/drb_gateway<br /><br /></span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">２、gateway.cgiをpublicディレクトリにコピー<br />%</span>cp /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rails-2.2.2/dispatches/gateway.cgi ./public</div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><br /></span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">%cp&nbsp;</span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rails-2.2.2</span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">/lib/commands/ncgi/listener script/</span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">%cp&nbsp;/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/commands/ncgi/tracker script/</span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><br /></span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">%chmod 755 public/gateway.cgi</span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><br /></span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><br /></span></div><div><font class="Apple-style-span" color="#000000" face="sans-serif" size="3"><span class="Apple-style-span" style="font-size: 12px; line-height: 18px;">３、scriptを修正</span></font></div><div><font class="Apple-style-span" color="#000000" face="sans-serif" size="3"><span class="Apple-style-span" style="font-size: 12px; line-height: 18px;">listenerの</span></font><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">require 'fcgi_handler'の前に以下を追加。</span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><div>require 'rubygems'</div><div>gem 'fcgi'</div><div><br /></div><div><div>listenerのself.stdoutput = output || StringIO.newの後ろに以下を追加。</div></div></span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><div>$stdin = self.stdinput</div><div>$stdout = self.stdoutput</div></span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><br /></span></div><div><font class="Apple-style-span" color="#000000" face="sans-serif" size="3"><span class="Apple-style-span" style="font-size: 12px; line-height: 18px;">４、.htaccessをプロジェクト以下に作成</span></font></div><div><font class="Apple-style-span" color="#000000" face="sans-serif" size="3"><span class="Apple-style-span" style="font-size: 12px; line-height: 18px;"><div>ewriteEngine On</div><div>RewriteRule ^$ /ワークスペース/プロジェクト/public/index.html [L]</div><div>RewriteCond %{REQUEST_URI} !^/ワークスペース/プロジェクト/public</div><div>RewriteRule ^(.*)$ /ワークスペース/プロジェクト/public/$1 [L]</div><div>RewriteCond %{REQUEST_FILENAME} !-f</div><div>RewriteRule ^(.*)$ /ワークスペース/プロジェクト/public/gateway.cgi/$1 [QSA,L]</div><div><br /></div></span></font></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">５、config/environment.rbに以下を追加する。</span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><br /></span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "></span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><br /></span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">ENV['RAILS_RELATIVE_URL_ROOT']="/ワークスペース/プロジェクト"</span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><br /></span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><br /></span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">さくらインターネットでgateway.cgiを使用する場合は必ずパーミッションを755に変更する事。</span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><br /></span><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">後、gateway.cgiが設置してあるpublicディレクトリも755に変更する事。</span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><br /></span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">６、apacheを起動しサイトにアクセス</span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; ">http://localhost/ワークスペース/プロジェクト</span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><br /></span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 12px; line-height: 18px; "><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2010/10/gateway.cgi1-154.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2010/10/gateway.cgi1-154.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2010/10/gateway.cgi1-thumb-320x200-154.tif" width="320" height="200" alt="gateway.cgi1" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></span></div><div><br /></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: verdana; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><h3><a href="http://localhost/super_bombers/SpabomTool/rails/info/properties">About your application's environment</a>をクリック</h3><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><a href="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2010/10/gateway.cgi2-157.html" onclick="window.open('http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2010/10/gateway.cgi2-157.html','popup','width=1440,height=900,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://big-band.sakura.ne.jp/super_bombers/myblog/assets_c/2010/10/gateway.cgi2-thumb-320x200-157.tif" width="320" height="200" alt="gateway.cgi2" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></a></div></span></div><div><br /></div><div>こうなれば成功！</div>]]>
        
    </content>
</entry>

</feed>

