このブログを検索

大文字小文字を区別する 正規表現

Atelierで“gt”が含まれるブログ記事

2017年2月22日

隠居の散策:泉北ニュータウン栂地区 2月厳寒期のいきもの(2)

今回は、泉北ニュータウン栂地区にある自宅から南部の方向に歩いてみた。
 今まで撮った写真のピントが、どうも甘いので、この日は手ブレ予防のために、シャッター速度を上げてみた。鳥を撮っていると被写体もブレることも多い。ISO感度の数値が大きくなるが、ブログに載せる程度の写真では、かなり大きな数値になってみても、大丈夫である。「ISO感度って何?」というページの解説では、センサーサイズがフルサイズの場合の上限は、ISO6400くらいとなっている。ただし、私の場合、デジタルズームを使ったり、トリミングをしたりしているので、条件は違うのだが。

;クリックすると大きな写真になります。 2017/2/15 和田川(堺市)
コガモ♂
コガモはこのあたりでは和田川が好きである。羽は完全に繁殖羽となっている。やはり、メスよりオスの方が多い。
SONY α7?+SEL24240 zoom
APS-Cモード240mm(360mm 35mm相当)crop 中央重点測光 TV f6.3 1/2000s ISO3200 EV0
;クリックすると大きな写真になります。 2017/2/15 和田川(堺市)
コガモ♀
メスとオスの比率が皆さん気になるらしく、「カモの性比調査」が行われているようである。この和田川では、下に添付した拙い動画のように、♂3:♀1のような気がするのだが、次回でもじっくり観察してみたいと思う。
SONY α7?+SEL24240 zoom
APS-Cモード240mm(360mm 35mm相当)crop 中央重点測光 TV f6.3 1/2000s ISO4000 EV0
;クリックすると大きな写真になります。 2017/2/15 和田川(堺市)
ジョウビタキ飛翔
シャッタースピードが早いとこのような写真も撮れる。
SONY α7?+SEL24240 zoom
APS-Cモード240mm(360mm 35mm相当)crop 中央重点測光 TV f6.3 1/2000s ISO2500 EV0
;クリックすると大きな写真になります。 2017/2/15 和田川(堺市)
イソシギ
名前通り普段は海岸に生息しているらしいが、繁殖期には河川にも姿を現すとのことだ。ただ、いつも単独行動をしているように思う。
SONY α7?+SEL24240 zoom
APS-Cモード240mm(360mm 35mm相当)digitalzoomX2 crop マトリックス測光 TV f6.3 1/2000s ISO1250 EV0
;クリックすると大きな写真になります。 2017/2/15 和田川(堺市)
キセキレイ
この時期には、キセキレイ・セグロセキレイ・ハクセキレイの3種が同じ場所で見られる。キセキレイは流れのあるところでしか見られないように思う。
SONY α7?+SEL24240 zoom
APS-Cモード240mm(360mm 35mm相当)digitalzoomX2 crop マトリックス測光 TV f6.3 1/2000s ISO1600 EV0
;クリックすると大きな写真になります。 2017/2/15 和田川(堺市)
セグロセキレイ
セキレイ類は、縄張り意識が強いそうで、多種のセキレイや仲間でも繁殖期は別にして仲良くしていることはない。
SONY α7?+SEL24240 zoom
APS-Cモード240mm(360mm 35mm相当)digitalzoomX2 crop マトリックス測光 TV f6.3 1/2000s ISO2500 EV0
;クリックすると大きな写真になります。 2017/2/15 和田川(堺市)
ハクセキレイ
セットをシャッター優先(TV)で連写するとこのような写真が撮れた。
SONY α7?+SEL24240 zoom
APS-Cモード240mm(360mm 35mm相当)digitalzoomX2 crop マトリックス測光 TV f6.3 1/2000s ISO2000 EV0
;クリックすると大きな写真になります。 2017/2/15 和田川(堺市)
バン
この鳥が飛んでいるのを見たことがない。人の姿を見ると泳いで萱の茂みにすぐに隠れる。これが割合素早い。
SONY α7?+SEL24240 zoom
APS-Cモード240mm(360mm 35mm相当)digitalzoomX2 crop マトリックス測光 TV f6.3 1/2000s ISO1250 EV0
;クリックすると大きな写真になります。 2017/2/15 檜尾(堺市)
ヒバリ
鳴き声を頼りにまだ田起こしが始まっていない田んぼに眼を凝らすと2羽動いているのが見えた。超トリミングである。
SONY α7?+SEL24240 zoom
APS-Cモード163mm(244mm 35mm相当)digitalzoomX2 crop マトリックス測光 TV f5.6 1/2000s ISO1000 EV0
;クリックすると大きな写真になります。 2017/2/15 檜尾(堺市)
スズメ
この時期、スズメは特に群れている。
SONY α7?+SEL24240 zoom
APS-Cモード240mm(360mm 35mm相当)digitalzoomX2 crop マトリックス測光 TV f6.3 1/2000s ISO2500 EV0
;
2017/2/15 長池(堺市)
ホシハジロ
潜水して水生植物の茎や根、甲殻類や、貝類を採食するらしい。
SONY α7?+SEL24240 zoom
APS-Cモード240mm(360mm 35mm相当)crop 中央重点測光 TV f6.3 1/2000s ISO1000 EV0
;クリックすると大きな写真になります。 2017/2/15 西松尾池(堺市)
シジュウカラ
良い構図だったのだが、残念ながらピントが甘い。食事をしている時は、警戒心が少し薄くなるようだ。
SONY α7?+SEL24240 zoom
APS-Cモード240mm(360mm 35mm相当)digitalzoomX2 crop マトリックス測光 TV f6.3 1/2000s ISO2000 EV0
;クリックすると大きな写真になります。 2017/2/15 西松尾池(堺市)
シロハラ
池の浅瀬に生えている木に、見慣れない鳥が水を飲みに来ていた。撮った写真を見るとどうやらシロハラのようだ。
SONY α7?+SEL24240 zoom
APS-Cモード134mm(201mm 35mm相当)digitalzoomX2 crop マトリックス測光 TV f5.6 1/2000s ISO2500 EV0
;クリックすると大きな写真になります。 2017/2/15 東谷池(堺市)
マガモ
マガモも、オスの比率が高いようだ。
SONY α7?+SEL24240 zoom
APS-Cモード240mm(360mm 35mm相当)digitalzoomX2 crop マトリックス測光 TV f6.3 1/2000s ISO5000 EV0

和田川で遊泳するコガモたち

2016年8月10日

隠居の散策:真夏のひまわり畑、和泉リサイクル環境公園

梅雨が空けてから関西では酷暑の日が続いている。コミュニティ誌に、近くの和泉リサイクル環境公園のひまわりが満開になっているとの記事がでていた。満開のひまわりはTVではよく見るが実際にこの目でみたことはない。
 それに、ちょっと前に新聞か何かに紹介されていた「ヒマワリはなぜ東を向くか」を中公新書を読んだので、書かれていることを実際に確かめたかったこともある。(この中公新書は、Amazon で1円の中古本として(実質は送料257円がかかる)で求めたものだ。)
 詳しいことは、本を読んでいただくことにして、春にはチューリップが咲いていた日当たりの良い畑に植えられたひまわりは、見事に東に向いて花を咲かせていた。

;クリックすると大きな写真になります。 2016/8/3 和泉市リサイクル環境公園
ひまわり畑 -1
花は見事に太陽の方向(朝なので東)を向いていた。手前はサンスポットという種。背の高いのは一般種。
SONY α7?+FE24-240mm zoom
62.0mm 絞り優先AE 1/90s f22.0 ISO400 露出補正 0
160803_011.jpg 2016/8/3 和泉市リサイクル環境公園
ひまわり畑 -2
背の高い一般種では、花はほとんど東を向いているが、反対を向いているのもある。
SONY α7?+FE24-240mm zoom
100.0mm 絞り優先AE 1/100s f22.0 ISO320 露出補正 +0.7
;クリックすると大きな写真になります。 2016/8/3 和泉市リサイクル環境公園
シオカラトンボ♂
ひまわり畑に生える雑草に留まっていた。
SONY α7?+FE24-240mm zoom
219.0mm 絞り優先AE 1/250s f6.7 ISO200 露出補正 0
;クリックすると大きな写真になります。 2016/8/3 和泉市リサイクル環境公園
モンキチョウ
黄色い花びらに留まっているので、焦点が合わせにくい。
SONY α7?+FE24-240mm zoom
240.0mm 絞り優先AE 1/250s f16.0 ISO640 露出補正 0
;クリックすると大きな写真になります。 2016/8/3 和泉市リサイクル環境公園
ヒバリ
花がついてないバラの根本で餌を探していた。ここにはヒバリが年中いる。
SONY α7?+FE24-240mm zoom
240.0mm 絞り優先AE 1/250s f6.3 ISO250 露出補正 +0.7
;クリックすると大きな写真になります。 2016/8/3 和泉市リサイクル環境公園
スズメ
種を啄みに来ているのだろうか。ひまわりの種は、シジュウカラ・ヤマガラが好きなのだが。
SONY α7?+FE24-240mm zoom
144.0mm デジタルズーム3倍 絞り優先AE 1/160s f16.0 ISO250 露出補正 -0.7
;クリックすると大きな写真になります。 2016/8/3 和泉市リサイクル環境公園
アメリカフヨウ?
植わっていたハチには「モミジアオイ」との名札があったが、多分間違いだろう。
SONY α7?+FE24-240mm zoom
163.0mm 絞り優先AE 1/200s f16.0 ISO100 露出補正 +0.3
;クリックすると大きな写真になります。
2016/8/3 和泉市リサイクル環境公園
ハイビスカス
売店の前の鉢に植わっている。
SONY α7?+FE24-240mm zoom
120.0mm 絞り優先AE 1/250s f5.6 ISO100 露出補正 0


  
ヒマワリはなぜ東を向くか―植物の不思議な生活 (中公新書 (798))
滝本 敦
中央公論社
売り上げランキング: 386,785

2016年7月18日

隠居のパソコン備忘録:Windows10 を使う:新しいブラウザ Microsft Edge で Google IME ユーザ辞書を使う

6月になって、しばらく無視していた Windows10 へのアップグレードへの誘いで、無料アップグレードは7月一杯で打ち切ると言ってきた。パソコンのOSは、Windows にしているから、いずれアップグレードはしなければと思っていたので、暇を見てアップグレードを実行した。なにやかやと支障は出るだろうと覚悟はしていたが、今回はいつものアップグレード(例えば、XP から 7 に)に比べて、何事も無くすんなりと終わった。
 Windows10 には、Windows7 にはない(ちなみに私は、Windows8 は経験していない)機能が多くあるが、Windows7 でしていたことは、少々手順は異なるもののできるようだった。
 例えば、見失ったファイルの検索は、Win7 では、スタートメニューの下に表示される検索ボックスにファイル名(フォルダー名)の一部を入れて探していたが、Win10 では検索ボックスはパソコン画面下にツールバーに表示され、検索対象も Web も含まれる広範囲になっている。自分のPC内を検索するには、エクスプローラを開いて、目指す場所(例えば PC ドライブ ) を選択して、画面右上部に表示される検索枠にファイル名(フォルダー名)の一部を入力しすると検索を始めてくれる。実は、Win10にアップグレード時に見失ったフォルダーはこのようにして発見した。(実は、Win7 でも同様の方法で検索できることを今になって知ったのだが。)
詳細な方法については、「Windows 10で、フォルダー内のファイルを検索する方法について教えてください。」を参照。

 Win10 になって最も大きな変化は、インターネットのブラウザが、従来の Internet Explorer に変わる Microsoft Edge が出現したことである。もちろん、InternetExplorer(11) も動くのであるが、どうやら Microsoft は Edge に移行していこうとしているようだ。
  早速、Microsoft Edge でネットサーフィンを始めた。操作方法は、Google Chrome とほぼ同じである。新しいタグページを開くと、Chrome と同じように画面中央に検索ボックスが表示される。検索エンジンは、マイクロソフトのBingということである。(新しいタブページでの検索エンジンを Google に変更することを試みたが、現在のところ上手くいっていない。)
 ネットサーチするときには、この検索ボックスに検索ワードを入力して目標とするページを探すのであるが、 MS Edge では Google IME による日本語入力ができない。
 Movable Type でのブログ記事作成は、ブラウザ Chrome で行う。 Chrome の作成画面の方が、Internet Explorer より何かと便利がいいからだ。それに、メールは専ら Gmail をつかっている。その結果として、Google IME のユーザー辞書にかなりの単語登録がされている。例えば、"さんくす"と入力し変換すると"ありがとうございます。"と表示される。また、ブログ作成では、しばしば HTML コードを入力するが、あまり使わないコード、例えば、フォントを青色にするときに使うコード "<font color="#0000ff">" は、"あお"と入力して変換すれば出てくるようにしておけば、6桁の番号を覚えていなくてもいい。だが、Microsoft Edge ではこの辞書が使えない。
 Google IME には、MS IME のユーザ辞書をインポートする機能はあるのだが、その逆はない。それで、ネットで方法を探ってみると次の方法で、できることが分かったので備忘録として記録しておきたい。

Google IME ユーザ辞書をMS IME にインポートする方法

  1. Google日本語入力の辞書をエクスポートする
    • Google Chrome を開き、使用辞書をGoogle IME にすると下のように画面下段ツールバー右に、Google IME のアイコンと文字種(ここでは"あ")が表示される。

      IME-01.JPG

    • この文字種"あ"(小文字の場合は"A")を右クリックして出るセレクトボックスから「辞書ツール」を選択すると出る画面で、上の「管理」タブをクリックすると、下のような画面になる。

      IME-02.JPG

    • このセレクトボックスから、ユーザ辞書1を選んで「選択した辞書をエクスポート」をクリックすると名前をつけて保存することを要求してくるので、デスクトップにでも、"Google-IME" とでも名前をつけて保存する。

  2. 辞書の文字コードを変更する
        
    • Google-IMEの辞書コードは、UTF-8 なので、MS IME の辞書コードである ANSI に変換する必要がある。この変換方法は、このエントリーを書くにあたって参考にさせてもらったTanweb.net というサイトの「Google日本語入力の辞書をMicrosoft IMEへ引き継ぐ方法」では、辞書保存の画面下部には、文字コードを示すボックスがあるが、私の環境では表示されない。表示する何か方法があるのかもしれないが、見つけられなかった。
       それで、愛用しているテキストエディターの「秀丸」で、UTF-8 を Shift-JIS に変換した。Microsoft の ANSI というコードは、Shift-JIS をベースにMicrsoft 独自の加工をしている。
    • Shift-JIS に変換したファイルは、同じくデスクトップに保存する。

  3. Microsoft IME ユーザー辞書へインポートする
    • 今度は、MS Edge を開いて、日本語入力を Microsft IME にすると下のように画面下段ツールバー右に、Microsoft IME のアイコンと文字種(ここでは"あ")が表示される。

      IME-03.JPG

    • この文字種"あ"(小文字の場合は"A")を右クリックして出るセレクトボックスから「ユーザ辞書ツール」を選択すると出る画面で、上の「ツール」タブをクリックすると、下のような画面になる。

      IME-04.JPG

    • ここで、「テキストファイルからの登録」をクリックし、さきほどコード変換したテキストファイルを読み込むとユーザ辞書に Google IME の辞書が読み込まれている。


このように、Microsft IME と Google IME に同じユーザ辞書を登録しておけば、ブラウザが Google Chrome でも、Microsft Edge でも同じユーザ辞書を使うことができる。 ただし、MicrosoftEdge では、Google IME 日本語入力はできない。 

2016年7月15日

隠居のパソコン備忘録:全ブログ記事リストを表示する

私と同じサイトでブログ投稿を続けている YAMAKOさんから、今まで投稿したブログ記事のタイトル一覧 があれば便利ではないかとの提案があった。
 このようなときには、このサイトのブログを立ち上げるのに導入した MovableType を Version3 から Version4 にアップグレードした時に採用した「小粋空間」さんのテンプレート一式を老人のわずかばかりの知識を総動員して、エキスパートのコードをコピペするなどして対応してきた。
 今回も、いつもの様にネットで解決策を求めたが、うまくヒットしない。ようやく 「小粋空間」さんのサイトで、「ブログ記事に同一カテゴリーのブログ記事リストを表示(MT4版)」というページを探し当てた。ここに示されているコードをコピペしょうとしたが、どのテンプレートに挿入するかの記載はない。試行錯誤で、テンプレート・モジュールである「サイドバー」のここではないかと思われる個所に挿入すると、メインに表示している記事を分類したカテゴリーと同じカテゴリーを持つ記事タイトル一覧が、サイドバーに表示された。

 だが、どうもすっきりしない。いろいろなブログサイトを見ても、過去記事の一覧を簡単に見るページはたくさんある。
 いろいろと試行錯誤してみると、私のサイト環境で望む表示を実現できる方法が分かったので、老人の備忘録として記録しておきたい。

 方法は意外に簡単なことであった。私のサイトでも、最新の10投稿リストを表示するボタンがあった。(現在は、「過去記事タイトルリスト」に置き換えている) これを表示するコードは、次のようになっていた。


<!-- 最新の10投稿  -->
<div class="sidetitle2" id="entryname">
 最新の10投稿
</div>

<div class="side" id="entrylist">
<MTEntries lastn="10">

<MTDateHeader><ul><$MTEntryDate format="%y/%m/%d"$>
</MTDateHeader>
<li><a href="<$MTEntryPermalink$>" title="<$MTEntryTitle$>"><$MTEntryTitle$></a></li>
<MTDateFooter>
</ul>
</MTDateFooter>
</MTEntries>
</div>

<script type="text/javascript">
<!--
FoldNavigation('entry','off',false);
//-->
</script>
<script type=\"text/javascript">
<!--
generateNormalTree("entrylist");
//-->
</script>

 このコードの青字部分 lastn="10" は、参考書などによると出力する記事の件数を制限するモディファイア(HTML でいう属性)である。これが、表示する件数に関係していると思われたので、10 から 0 に変えてみると、見事に、この11年間に投稿した全記事のリストが表示された。
 (上のコードで使用されている JavaScript は、小粋空間さんが作成された「Movable Type サイドバー・メニューの折りたたみ」を応用したものである。)

 乏しい知識で、これを応用してサイドバーのテンプレートなどの表示部分をいじってみた。これによって、投稿全記事リストを表示することができるようになり、おまけに副産物があることが分かった。
 副産物は、理屈はよく分かっていないのだが、サイドバーの「Category」ボタンをクリックすると展開されるカテゴリーの一つ(サブカテゴリーを含めて)を選択すると、そのカテゴリーに該当する過去記事のすべてのタイトルリストが、「過去記事タイトルリスト」ボタンをクリックすることで表示されることであった。
今までは、左メイン枠に、該当する記事の最新の10記事(表示するブログ記事の数は、ブログ管理画面ー設定ーブログ記事設定ーブログ記事の表示数 で増減できる)全文が表示されるだけであったので、修正によってタイトルを見て古い過去の記事全文を表示できるようになったので大変便利となった。
 要するに、Movable Type 固有のファンクション・タグなどが十分に理解できていないことが、色々の対応を困難にしている原因であるが、もうこの歳になっての学習は困難となっている。痴呆予防には、助けになるかもしれないが。

2014年11月 3日

隠居のスマホ備忘録:山旅ロガーを使う。(2)測定結果を Google Map に表示する


 前回、スマホのアプリ山旅ロガーを使う方法について記録した。
 このトラッキング測定結果は、GPX というファイルとKML という形式のファイルでPC に送信することができる。GPX ファイルについては、ネットにあまり自分がやりたいことにぴったり来る情報がない。KMLファイルは、XML ファイルの一種のようなので、多少馴染みがあるので、こちらでトライしてみることにした。
 PC への送信方法は、メールにファイルを添付する方法と Bluetooh で送信する方法がある。PC の近くでの作業では、どちらをとっても大差はない。

測定結果をPCに送信する
測定結果ファイルの機能ボタンをタップすると 左の画面で「共有・出力」ボタンをタップすると;クリックすると大きな写真になります。 ファイル送信方法の選択画面;クリックすると大きな写真になります。"
測定結果一覧で該当ファイルの機能ボタンをタップすると、上のような画面になる。 左の画面で「共有・出力」ボタンをタップすると右の画面になる。 上の画面で Gmail または Bluetooth を選択して、指示に従いPC に送信する。


上の真ん中のスクリーンショットにあるように、KMLファイルを出力するときには、3つの形式から選択できる。
  • ?トラッキングしたルート(ライン)のみを表示する。
  • ? ?に時刻をつける
  • ? 測定地点にマーカーを立て、時刻と text を表示する

 このような KMLファイルをPC に取り込んで、Google Maps API 表示するサンプルを見つけた。
 このサンプルコードを参考に、自宅から栂・美木多駅までの測定結果の ? の形式KMLファイルを取り込んだHTMLページを作成すると次のように表示された。


 上の地図は、Google Map の機能を持っているので、ストリートビューが見られるなど、駅から自宅までの道案内に有用かもしれない。

 同じトラッキングデータを上の ? の形式で取り込んで、上のサンプルコードの kml アドレスを変更して Google Map に表示してみると、測定地点のマーカが連なって表示される。
 この時のKMLファイルの中身を覗く方法がわからなかったが、KMLがXMLファイルの一種であることにヒントを得て、XML notepadで開いてみると、これで編集できることが分かった。(もちろん、秀丸のようなテキスト・エディタでもできる)
 だが、固有のタグについては、かなりの学習が必要なようだ。とりあえず、分かりそうなタグに見当をつけて、試行錯誤を繰り返して見た。

 そのようにして作ってみた地図を下に表示する。


  この地図では、もともと38個あったマーカーを間引きして9個にし、
  • 地点1を"自宅"の文字に置き換え、
  • 駅への通り道にある風邪を引いた時などにお世話になる清水内科近く(15の地点)にはGoogle サーチの結果リンクを、
  • 24の地点(池のそば)のマーカ(24の地点)には、その地点で撮った水鳥の写真を表示するリンクを、
  • 終点の栂・美木多駅には、泉北高速鉄道のサイトで表示される栂・美木多駅ページヘのリンク
を挿入してみた。
  写真表示には、撮った写真をかっこ良く表示させる、Google Maps API を使って地図を作成する時に使っている、lightbox のコードを追加してみると上手く動いてくれた。

 上の地図のためのコードは、以下である。

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:v=\"urn:schemas-microsoft-com:vml\">
<head> 
<meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\" />

<!-- jQuery lightbox2.51 -->
<script type=\"text/javascript\" src=\"http://n-shuhei.net/atelier/Jquery2.51/js/jquery-1.7.2.min.js\"></script>
<script type=\"text/javascript\" src=\"http://n-shuhei.net/atelier/Jquery2.51/js/lightbox.js\"></script>
<link rel=\"stylesheet\" type=\"text/css\" href=\"http://n-shuhei.net/atelier/Jquery2.51/css/lightbox.css\" media=\"screen\" />

<script type=\"text/javascript\" src=\"http://maps.googleapis.com/maps/api/js?sensor=false&hl=ja\"></script>
<script type=\"text/javascript\">
  function initialize() {
    var initPos = new google.maps.LatLng(34.490435, 135.482852);
    var myOptions = {
      noClear : true,
      center : initPos,
      zoom : 15,
      mapTypeId : google.maps.MapTypeId.ROADMAP
    };
    var map_canvas = new google.maps.Map(document.getElementById(\"map_canvas\"), myOptions);
    
    var kmlUrl = \"http://n-shuhei.net/atelier/maps/KML-test/141025P.kml\";
    var kmlLayer = new google.maps.KmlLayer(kmlUrl);
    kmlLayer.setMap(map_canvas);
  }

</script>
  </head>

<body onload=\"initialize()\">
  <div id=\"map_canvas\" style=\"width:100%; height:500px\"></div>
</body>
</html>


 ここで、指定しているKMLファイルは、テキストコードは以下である。実際の編集は、XML notepad で作業している。


<?xml version=\"1.0\" encoding=\"utf-8\"?>
<kml xmlns=\"http://www.opengis.net/kml/2.2\">
  <Document>
    <name><![CDATA[2014-10-25 09:15:02]]></name>
    <description><![CDATA[自宅ー駅:2014-10-25 09:15?2014-10-25 09:33]]></description>
    <Placemark>
      <name>自宅</name>
      <description>2014-10-25 09:15:02:</description>
      <TimeStamp>
        <when>2014-10-25T00:15:02.000Z</when>
      </TimeStamp>
      <Point>
        <coordinates>135.48277,34.490517,30</coordinates>
      </Point>
    </Placemark>
    <Placemark>
      <name>5</name>
      <description>2014-10-25 09:16:44</description>
      <TimeStamp>
        <when>2014-10-25T00:16:44.000Z</when>
      </TimeStamp>
      <Point>
        <coordinates>135.48332,34.49017,37</coordinates>
      </Point>
    </Placemark>
    <Placemark>
      <name>10</name>
      <description>2014-10-25 09:18:55</description>
      <TimeStamp>
        <when>2014-10-25T00:18:55.000Z</when>
      </TimeStamp>
      <Point>
        <coordinates>135.48485,34.489635,33</coordinates>
      </Point>
    </Placemark>
    <Placemark>
      <name>15</name>
      <description><![CDATA[<a href=\"https://plus.google.com/104149416183172006475/about?gl=jp&hl=ja\">清水内科</a>]]></description>
      <TimeStamp>
        <when>2014-10-25T00:21:05.000Z</when>
      </TimeStamp>
      <Point>
        <coordinates>135.48608,34.488583,45</coordinates>
      </Point>
    </Placemark>
    <Placemark>
      <name>20</name>
      <description>2014-10-25 09:23:15</description>
      <TimeStamp>
        <when>2014-10-25T00:23:15.000Z</when>
      </TimeStamp>
      <Point>
        <coordinates>135.48712,34.487377,48</coordinates>
      </Point>
    </Placemark>
    <Placemark>
      <name>24</name>
      <description><![CDATA[<a href=\"http://n-shuhei.net/atelier/photo_birds/DSC04864.JPG\" title=\"\" rel=\"lightbox[]\">マガモ交雑種</a>]]></description>
      <TimeStamp>
        <when>2014-10-25T00:25:00.000Z</when>
      </TimeStamp>
      <Point>
        <coordinates>135.48792,34.486824,46</coordinates>
      </Point>
    </Placemark>
    <Placemark>
      <name>29</name>
      <description>2014-10-25 09:27:12</description>
      <TimeStamp>
        <when>2014-10-25T00:27:12.000Z</when>
      </TimeStamp>
      <Point>
        <coordinates>135.48877,34.48632,54</coordinates>
      </Point>
    </Placemark>
    <Placemark>
      <name>35</name>
      <description>2014-10-25 09:30:48</description>
      <TimeStamp>
        <when>2014-10-25T00:30:48.000Z</when>
      </TimeStamp>
      <Point>
        <coordinates>135.49054,34.485283,53</coordinates>
      </Point>
    </Placemark>
    <Placemark>
      <name>38</name>
      <description><![CDATA[<a href=\"http://www.semboku.jp/station/toga_mikita/outline/\">栂・美木多駅</a>]]></description>
      <TimeStamp>
        <when>2014-10-25T00:33:30.000Z</when>
      </TimeStamp>
      <Point>
        <coordinates>135.48999,34.484875,61</coordinates>
      </Point>
    </Placemark>
  </Document>
</kml>


 もう少し高度な加工ができそうであるが、一段の学習が必要のようだ。痴呆予防には役立つかもしれないので、もうちょっと遊んでみたいと思っている。

2014年10月20日

隠居のパソコン備忘録:mp3ファイルをWebページ内で再生する


 以前は、同じページ内で、Yahoo! のMedia Playerを使って、mp3ファイルをコントロールすることができた。
 ところが、最近になって、再生ボタンをクリックすると、QuickTime Player が別ページ(別ウインドウ)に立ち上がり再生が始まるようになった。(Windows Media Playerでも再生できるようにできるんだろうが、設定方法がわからない。)

 なんとか、同一ページ内で MP3ファイルを再生できるようにできないかとネットサーチをしてみると、いくつかの方法がみつかった。いずれもFlash Player を使う。
 その中で、Flash-mp3-player.net が提供している MP3 Player は、いくつかのパターンが用意されており、ページの body 部に下のような数行のコードを挿入することで、実現することができる。
 例えば、ツクツクボウシの鳴き声を録音した MP3 ファイルを配置すると次のようになり、再生ボタンをクリックすると、鳴き声が聞こえるようになる。再生中に表示されているポーズ・ボタンをクリックすると、再生が停止する。

  sample
  ツクツクボウシの鳴き声
sample の Flash MP3 player のコード

<object type="application/x-shockwave-flash" data="http://flash-mp3-player.net/medias/player_mp3_maxi.swf" width="25" height="20">
                    <param name="movie" value="http://flash-mp3-player.net/medias/player_mp3_maxi.swf" />
                    <param name="FlashVars" value="mp3=http%3A//n-shuhei.net/atelier/photo_insects/110923_tukutukuhousi.mp3&amp;showslider=0&amp;width=25" />
</object> ツクツクボウシの鳴き声
 再生をしたい MP3 ファイルは、青色文字で表示している。
 このコードは、Flash-mp3-player.net が提供している mini の MP3 Player の Generator で作成したコードを、一部修正したものである。今後は、少々面倒であるが、その都度記載することにしたいと思う。

 先日の和泉の国ジャズストリートで録音した飯田宗雪のライブ録音 MP3 ファイルを、同じように、ページ内で再生できるようにしてみた。

2014年10月17日

隠居のパソコン備忘録:Youtubeをページ内で再生させるYouTube Player API を試してみる


 9月の終わりにあった和泉の国ジャズストリートで録画した Videoをブログにアップした。その時、ブログのページ内で再生できるようにしたかったが、方法が見つからず、YouTube にリンクするしかなかった。YouTube の画面はかなり noisy である。

 最近、ひょんなことで、ブログのページ内で録画を YouTube の機能を使って再生できることが分かった。私的な旅行地図などを作るときに使っている Google Maps API(Application Program Interface) と同じように、Javascript を使う。Codeを自ら作り出す能力はないから、他人様のコードのパクリである。Javascript だから少しぐらいは自分で改訂することが出来る。
 今回は、YoheiM.netYoutubeをサイト内で再生させるYoutube APIの使い方を参考にさせていただいた。

YouTube Player API で表示する動画


 上の YouTube 埋め込みプレーヤは、次のような Javascript コードで実現している。
 青太字部分は、YouTube に登録されたファイル名である。

<div id="player"></div>
<script>

    var tag = document.createElement('script');
   tag.src = "https://www.youtube.com/iframe_api";
  var firstScriptTag = document.getElementsByTagName('script')[0];
   firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

   var player;
   function onYouTubeIframeAPIReady() {

  player = new YT.Player('player', {
    height: '390',
    width: '640',
    videoId: 'rL--g6q7zu4',
    events: {
      'onReady': onPlayerReady,
      'onStateChange': onPlayerStateChange
    }
  });
}

function onPlayerReady(event) {
}


function onPlayerStateChange(event) {
    if (event.data == YT.PlayerState.ENDED) {
    alert('finish');
  }
}
</script>

追記(2015/10/26): Youtube の Webページヘ内で再生させるのに、上のコードでは、Internet Explorer では表示されないことが、最近になって分かった。現在では Yutube が iframe を使ったコードを提供しており、更に便利にWebページ内に埋め込むことが可能になっている。方法など詳細については、別に記録したいと思う。
 現在は、新しい埋め込みコードで、表示している。



2013年8月25日

相対パス テスト


 いまさらになって、必要に迫られ、パソコンの基本中の基本、相対パスの学習をしている。 今までは、考えるのが邪魔くさくて、すべて絶対パスで書いてきたのだ。
何故か、相対パスで書いたものは、ブログを公開しなければ、確認できない。 老人の備忘録です。ご容赦を。

絶対パス
<img src="http://n-shuhei.net/atelier/images/Bar_br1.gif">

相対パス
<img src="./images/Bar_br1.gif">


絶対パス
<img src="http://n-shuhei.net/atelier/Bar_br1.gif">


相対パス
<img src="./Bar_br1.gif">


絶対パス
<img src="http://n-shuhei.net/studio_yamako/080901_005-thumb-200x134.jpg">


相対パス
<img src="../studio_yamako/080901_005-thumb-200x134.jpg">


ちなみに、このブログの絶対パスは、
http://n-shuhei.net/atelier/ である。

2013年8月23日

隠居のMT備忘録: テーブル作成時に上部に発生する意図しないスペースを削除する(IEの場合)


 2,012年3月に、【隠居のMT 備忘録:IE で表示した時に出現する意図しないスペースを削除する】で記録した同じ現象が、【24節気・七十二候】の Web page を作成していて発生した。
 この現象は、【隠居のMT 備忘録:テーブル(表)の形式を工夫してみる】で落着したと思っていたのだが、どうも間違っていたことが分かったので、改めて備忘録として記録しておきたと思う。

 起こった現象は、次のようなものである。
space-2_edited-1.jpg

 ネットで再度サーチしてみると、HTMLで table 記述するときに、Internet Explorerでは全角スペースが、<table>?</table> の表記のうち、</tr> や </td> の後ろに挿入されていると、これを認識してはじき出され、table 上部に表現されるためらしい。
 それで、現象を引き起こしたコードを、エディタの「秀丸」で、全角スペースの検索をしてみると、下のように、黄色く表示された。これは、コードを見やすくするために形を整えたときに、挿入したものだった。
space-1.JPG

 この黄色の部分すなわち全角スペースを削除すると、下のようにテーブル上部の余分なスペースはなくなった。ブラウザによって見え方が異なるのは困ったものだ。ページ作成のプロの人達は、いろいろと苦労をされているようだが。
space-3.JPG


2013年4月12日

Greeting e-cards presented by Jacquie Lawson


 【Rustle of Spring】というタイトルのGreeting E-card が、契約している Jacquie Lawson という E-cards 制作サイトから、新たに提供された。
 birds watcher には、たまらない E-card なので紹介したい。下の画面をクリックするとアニメが始まる。BGM として流れているピアノ曲は、ノルウェーの Christian Sinding が作曲した、"The Rustle of Spring" である。

JL_130412birds-O.jpg


 ちなみに、終わりのシーンに出てくる鳥図鑑をクリックし、画面上の鳥にカーソルを合わせると現れるポップアップ画面に鳥の名前と説明が英語ででてくる。
Kingfisherカワセミ
Dipperカワガラス 残念ながら、まだ見たことがない。
Grey Wagtailキセキレイ
Blue Titアオガラ  日本にはいない?
Mallard マガモ
Robin  コマドリ 絵から推定して Europian Robin とおもわれる。
Great Spotted Woodpeckerアカゲラ


2013年3月28日

隠居のドライブ:南紀の私的観光地図とその作成方法。


 南紀をドライブしたときの訪問地点を地図にプロットしてみた。地図作成に使ったのは、【隠居のパソコン備忘録: Google Maps API JS V3 で、番号付きマーカーを表示する】で記録した方法である。この地図は、右メニューの観光地図一覧に【初春の南紀私的観光地図】として追加した。



 この地図を作るためには、Google Map を表示するための HTML ファイルと、このページに呼び込んでくる XML ファイルを記述する必要がある。いずれも、宍道湖周辺を旅行した時の地図を作ったファイルをコピーして作成した。
 html ファイルはテキスト編集ソフト【秀丸】で、xml ファイルは Microsoft が提供する【XML Notepad】で修正をした。XML ファイルは、秀丸でも編集できるが、このXML Notepad は、XMLファイル編集に特化しており、文法の間違いも指摘してくれるので助かる。

 html ファイルで修正・追加する箇所は次の青字部分である。

90行目あたり、
     case "num05": num = "05";
                break;
     case "num06": num = "06";
                break;
--------------------------------------------------------------------------
に、次を追加する。番号マークは、7番目まで設定したので。
    case "num07": num = "07";
                break;  

103行目あたり
    gicons["num05"] = getMarkerImage(category2num("num05"));
      gicons["num06"] = getMarkerImage(category2num("num06"));
-----------------------------------------------------------------------------------
 に、次を追加する。
      gicons["num07"] = getMarkerImage(category2num("num06"));

184行目あたり、
zoom: 10,
      center: new google.maps.LatLng(35.430603,133.012136),   //松江
      zoom: 10,
--------------------------------------------------------------------------------------------------
を、次の地点の経度・緯度に変更する。もう少し、拡大したい場合は、zoom を11と大きくする。

   center: new google.maps.LatLng(33.676354,135.677032),   //熊野古道中辺路道の駅
   zoom: 10,     

193行目あたりの 読み込む xml ファイルを新しい xml ファイルに変更する。
      downloadUrl("http://n-shuhei.net/atelier/maps/V3_sinnjiko_num.xml", function(doc) {
----------------------------------------------------------------------------------------------------------------
      downloadUrl("http://n-shuhei.net/atelier/maps/V3_kisyuu_num.xml", function(doc) {  

221行目あたり、
<tr><td align="center"style="width:1000px; background-color: #ffffe0;" ><br /><h2>晩秋の宍道湖私的観光地図</h2></td></tr>
--------------------------------------------------------------------------------------------------------------
地図のタイトルおよび大きさを指定する。地図の幅を指定する箇所はもう一箇所ある。
<tr><td align="center"style="width:700px; background-color: #ffffe0;" ><h2>初春の南紀州観光地図</h2></td></tr>      
<tr><td><div id="map" style="width: 700px; height: 500px"></div></td></tr><tr>


読み込む XML ファイルは、XML Notepad を使って、宍道湖の地図を作った時のファイルをもとに、番号マークをプロットする地点の経度・緯度とプロット地点の名前や紹介する写真リンク先を 入力すればよい。リンク先のURL などは、ブログのソースを使えば簡単である。参考までに、作成した XMLファイルは次のようなものである。


<?xml version="1.0" encoding="utf-8"?>
<markers>
 <marker name="1:志原海岸" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_024.jpg" title="志原海岸" rel="lightbox[nanki]">志原海岸</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_003.jpg" title="ハマダイコン:志原海岸" rel="lightbox[nanki]">ハマダイコン</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_004.jpg" title="イソヒヨドリ:志原海岸" rel="lightbox[nanki]">イソヒヨドリ</a>" lng="135.431213" lat="33.570291" category="num01"/>
 <marker name="2:串本海中公園" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_020.jpg" title="水中トンネル:海中公園" rel="lightbox[nanki]">水中トンネル</a>" lng="135.745783" lat="33.481639" category="num02"/>
 <marker name="3:串本ロイヤルホテル" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_023.jpg" title="露天風呂:串本ロイヤルホテル" rel="lightbox[nanki]">露天風呂:串本ロイヤルホテル</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_021.jpg" title="日の出:串本ロイヤルホテル" rel="lightbox[nanki]">日の出</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130322_028.jpg" title="小雨にけぶる橋杭岩:串本ロイヤルホテル" rel="lightbox[nanki]">小雨にけぶる橋杭岩</a>" lng="135.784836" lat="33.481281" category="num03"/>
 <marker name="4:潮岬" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_009.jpg" title="潮岬灯台" rel="lightbox[nanki]">潮岬灯台</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130322_027.jpg" title="潮岬から太平洋を望む" rel="lightbox[nanki]">潮岬から太平洋を望む</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_007.jpg" title="ジョウビタキ雌:潮岬" rel="lightbox[nanki]">ジョウビタキ雌</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_008.jpg" title="トビ:潮岬" rel="lightbox[nanki]">トビ</a>" lng="135.762500" lat="33.433055" category="num04"/>
 <marker name="5:樫野崎灯台" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_010.jpg" title="樫野崎灯台" rel="lightbox[nanki]">樫野崎灯台</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_025.jpg" title="樫野崎から潮岬の眺望" rel="lightbox[nanki]">樫野崎から潮岬の眺望</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_013.jpg" title="樫野崎から太平洋の眺望" rel="lightbox[nanki]">樫野崎から太平洋の眺望</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_012.jpg" title="内海側の定置網" rel="lightbox[nanki]">内海側の定置網</a>" lng="135.86259" lat="33.473263" category="num05"/>
 <marker name="6:那智の滝" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_018.jpg" title="那智の滝" rel="lightbox[nanki]">那智の滝</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_014.jpg" title="那智の滝への石段" rel="lightbox[nanki]">那智の滝への石段</a>" lng="135.887704" lat="33.675069" category="num06"/>
 <marker name="7:熊野那智大社" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_016.jpg" title="熊野那智大社" rel="lightbox[nanki]">熊野那智大社</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_015.jpg" title="イソヒヨドリ:熊野那智大社" rel="lightbox[nanki]">イソヒヨドリ</a>" lng="135.890236" lat="33.668533" category="num07"/>
 </markers>


なお、地図作成と直接関連していないが、Internet Explorer 9 では、ページを編集・更新して、サーバーにアップロードしてもも反映されないことが起こった。(Google Chrome ではすぐに反映される) IE8 のときと違って更新されるタイミングが異なるようだ。
 このようなときは、IE9 で ツール⇒インターネットオプション⇒全般タグ⇒閲覧の履歴の設定で、出てくるポップアップ画面で、インターネット一時ファイルの選択を【Web サイトを表示するたびに確認する】(default では 自動的に確認する となっている)を選択すれば治るようだ。

 

2013年3月10日

隠居のパソコン備忘録:Windows 7 パソコンから、Windows XP パソコンをリモートに動かす


 新しいPC にして、OS が Windows XP から Windows 7 に変わった。いろいろと改良されているのだが、古い周辺機器には Windows 7 用のドライバーがない場合がある。
 私も本などのページの文書を引用するときなど、Epson GT8700 というスキャナーを使ってきたが、Windows 7 にはこのスキャナーのドライバーが提供されていない。

 新しい Windows 7 のパソコンは、DELL に頼んだのだが、発注してから配達されるまでの期間が長かったことについては、2月13日のブログで記録した。この間に、「XPユーザーのための Windows 7 乗り換えガイド」という本を Amazon で買って、パソコンが到着したらスムーズに動くようにと少々学習した。
 この参考書には、Windows XP マシーンを Windows 7 マシーンからリモートで動かす方法が書かれている。これを使えば、古いスキャナーも使えるようだ。
 参考書通り実行してみたがうまくいかず少々てこづったが、いろいろといじっているうちにほぼ諦めかけていた古いスキャナーも無事動くようになったので、備忘録を残しておきたい。
<cfbr /> 構築したいのは、先の参考書に載っていた下の図のようなものである。なお、この図は WinXP 上で動く GT8700 でスキャンしたものである。
図?1:一台のモニターで XP マシンを管理
win7 001.jpg
  1. 準備:
    • モニターへの接続ケーブル
      新しいパソコンは、本体だけ買った(マウスとキーボードは付属している)ので、モニターは今まで使っていた iiyama の液晶モニター1台である。XP マシンとつなぐケーブルが必要である。幸い、Win 7マシンに変えた時に、MIDI ー DVI ケーブルを買ったので、DVI ー DVI ケーブルが残っていた。
       ただ、モニターへのケーブルを差し替えるのが手間である。軽量の液晶モニターにしておいてよかった。
    • XP マシーン用のマウスとキーボードはつないでおく。最終構築が終わるまでは必要である。
    • ルータとの接続は保持しておく。私の場合、Win7マシンは無線接続で、XPマシンはイーサネット・ケーブル接続だが、問題はない。
  2. Window XP マシーンでのセットアップなど。
    • この設定をするためには、XPは home edtion ではだめで XP professional 版ででなければならない。幸い、professional をインストールしていた。
    • パソコン名とログイン・ユーザー名が必要である。ログインをパスワードなしで設定していた場合は、「アカウントの制限によってログインできません」というエラーになる。改めて、XP 上でのコントロールパネル⇒ユーザーアカウントで、ログイン・パスワードを設定しておく必要がある。これらは、必ずメモをしておいたほうがよい。
    • XP マシンで、「コントロールパネル」⇒「システム」⇒「リモート」タブ「リモートデスクトップ」で、「このコンピュータにユーザーがリモートで接続することを許可する」にチェックを入れておく。
    • XPマシンの電源は入れたまま、ログイン画面をたちあげておく。
  3. Window 7 マシンでの設定
    • 「スタート」⇒「すべてのプログラム」⇒「アクセサリー」⇒「リモートデスクトップ接続」を選択。
    • 下のスクリーンショットのようなダイアログが表示されるので、メモしていたコンピュター名を入力して接続ボタンをクリックする。

      RemoteXP-1.JPG
    • 接続がうまくいくと、パスワードを求められるので、先に設定しメモしていたパスワードを入力する。すると、下のスクリーンショットのように、Windows 7 の画面上に Windows XP の画面が表示される。

      RemoteXP-43.JPG
  4. この Windows 7 の画面にある Windows XP の画面で、今まで XP でしていた作業が行える。例えば、GT8700 で参考書のページをスキャンし、画像を XP マシンのフォルダーに保存しておく。
    Windows 7 画面のエクスプローラの「ネットワーク」に表示される XP マシン名をクリックすると展開されるフォルダーの下に先ほど保存した画像ファイルがある。これをコピーして(または切り取って)、Win 7 のフォルダーに貼り付ければ、Win 7 で動くソフトで処理することができる。
    図?1は、このようにして処理した画像ファイルでである。


 なお、スキャナー GT8700 とセットで、よく使っていた OCR ソフト「読んdeココ!!」は、作っていた Aiソフトという会社が EPSON に合併されたせいか、Windows 7 で動くという Ver.13 が販売中止となってしまった。Windows XP なら、古いバージョンで機能するので重宝している。
 今回、このような設定を構築したので、古いスキャナーともども、まだまだ使えそうである。今後、XP でないと動かないデバイスやソフトも出てきそうであるが、そんなに慌てなくて済むだろう。ただし、机上に大きなデスクトップ本体が2台乗っているので、家内にはなかなか片付かないと不評であるが。

参考書
XPユーザーのためのWindows 7乗り換えガイド
橋本 和則
翔泳社
売り上げランキング: 59,958
 

2013年2月17日

隠居のパソコン備忘録:メインのPCをWindows7 のDELL ディスクトップに変える


 マザーボードを変え、システム・デスクATX電源も入れ替えるなどして10年以上にもわたって使ってきた自作パソコンの動きが、おそくなってきていた。年初の e-Tax の作業では、Windows XP の Service Pack 3 へのグレードアップを求められたが、長年のゴミが溜まっていたせいか、インストールができなかった。それで、毎日長時間使う道具でストレスが溜まるのも嫌なので、思い切って新しいパソコンに変えることにした。

 部品を買ってきて、自分で組み上げる楽しみ(苦しみ)を感じる歳でもなくなったきたので、DELL にディスクトップ本体を発注した。DELL は、部品を自分で選べるところがいいところである。それに一般メーカー製のように、余計なソフトが入っていないのがいい。
 ところが、発注した時期が悪かった。2月1日に、DELL のウェブページから発注したのであるが、当初配送予定日が 2月9日となっていたのが、2月9日になって諸般の事情により配送が遅れる見込みであるとのメッセージが現れた。(DELL では、発注毎の進捗状況が表示される) 
 1日、2日たっても、メッセージは変わらない。どうやら、春節休暇にかかってしまったらしい。(DELL は、日本向け製品を中国東南部の福建省・厦門の工場で製品を組み上げている) 製品は春節明けの16日土曜日に配送されてきた。

   新しいパソコンは、私のブログ・サイトを訪問される方の多くが使われているOS の Windows7(35%) 、ブラウザは Internet Explorer 9 (45% IE53%中)にした。(アクセス解析サービスResearch Artizan での結果) 早速、立ち上げた。
 新しいパソコンには、無線LANのカードが組み込まれているので、自動的に無線LAN ルーターを探しに行き、ルーターに記載されている keyコードを入力するだけで、インターネットに繋がった。インターネットに繋ぐのに、四苦八苦した昔のことを思えば夢のようである。
 Microsoft の更新プログラムのインストールに少々の時間(2時間ほど)を要したが、まことにサクサクと動くようになった。

 旧のパソコンでは、システム・ディスク以外は、外付けのHDDにしていた。(1TB(テラバイト)でも、一万円を切っている。)これらの外付けHDDにあらたにパーティションを切って、C:ドライブにあったプログラム・ファイルなどを、事前にコピーしておいた。これらの外付けHDDのデータはほとんど写真と音楽であり、ファイルシステムは NTFS なので、Windows7 64bit でも問題なく読み込むことができた。

 このごろパソコンに向かって作業するアプリケーションのほとんどは、クラウド型である。メールは、Gmail を使っているので、Google Chrome をダウンロードして、自分のアカウントでログインすれば、Gmail を立ち上げるだけで表示してくれるし、ブックマークの表示なども、旧のパソコンと同じように表示される。
 パソコンで音楽を聴くのは、専ら Web Radio であるから、インターネットにつながっておれば問題はない。オーディオにつないでいるケーブルを古いPCから、つなぎ変えて、Radio Senbokuを聴くとなかなかいい音がするし、途中で息をつくというようなことはない。
 音楽を聞きながらのウェブページの表示もはやく、リンクもスムースに動くので、ストレスは感じなくなり、パソコンに向かうのがますます楽しくなってきた。

2012年9月30日

隠居のパソコン備忘録: ブログ(MT4)に、動画(You tube)をアップロードする


 ブログに動画を載せたい場合がある。Jazz street での楽団演奏の録画や水鳥の動きなどである。このごろのデジタルカメラは、動画撮影機能がついているのが普通である。
 今年も開催された和泉の国ジャズストリートでは、Nikon Coolpix P510 で、SLMC(泉陽高校軽音楽部)の演奏を録画した。設定は、初期設定のままである。初期設定では、HD 1080p(1920x1080) となっている。それ以外のファイルに関する情報は取説には記載されていない。
 デジカメで撮った写真や動画は、Picasa3 でパソコンにとり込む。取り込んだファイルの拡張子は、写真の場合 .jpg であるが、動画は .MOV となっている。ファイルの種類は、Quick Time ムービーとなっている。
 これでは、Microsoft のWindows Media Player では再生できない。Quick Time ムービーは、Apple が開発したソフトだから無理もない。撮影した動画をタイトルをつけたりして編集するのは、フリーのソフト(Windows XP service pack2 に付属している)である moviemaker を使っている。
 デジカメで撮った動画の最初は、Canon IXY900IS であった。これでの動画の形式は、Microsoft の AVI ファイルだったので、moviemaker で編集することができた
どうやら、Canon と Nikon はこんなところでも張り合っているらしい。

 使い慣れた moviemaker で編集するためには、MOV を AVI に形式変換しなければならない。今年の冬に、ハシビロガモの集団採餌行動を NikonD7000 で録画編集した時には、ファイルの形式変換は、AVS video converter を使用した。今回も、AVI に形式変換し、moviemaker に読み込んで見ると、次のようなメッセージが出てファイルを読み込めない。
ファイルの再生に必要なコーデックがコンピュータにインストールされていないため、aviファイルを読み込むことができません。必要なコーデックを既にダウンロードしてインストールしている場合は、Windows ムービー メーカーを閉じてから再度開始し、もう一度ファイルを読み込んでください。

 必要なコーデックというのを探すソフトを導入して、探してみたが要領がよく分からない。AVS video converter の最新バージョンをインストールして動かそうとしたが、確か以前は無料(お試し期間中?)だったのが有料になっている。しかも、結構高い。それで、試行錯誤してみると FREESTUDIO というパッケージの中に、Free AVI Video Converterというソフトがあるのがわかった。
 このソフトで MOV を AVI に形式変換してみると、今度は moviemaker で変換後のファイルを読み込むことができた。タイトルをつけるなどの簡単な編集をして、レンタルサーバーにアップロードし、ブログ本文からリンクすると再生するようになった。

 和泉の国ジャズストリートでのランブリンフェローズという楽団のデキシーを、Sanyo(現在、この会社名はなくなっている) の PCM レコーダーで録音した .mp3ファイル を Yahoo Media Playerを使ってブログに記載しようと再調査していると、Yahoo Media Player は Yahoo webplayer と名前が変わって、動画(You Tube)も簡単にアップロードできるようになっている。
アップロードの方法は簡単である。Yahoo が提供するつぎのような JavaScript を、ブログのHTML <head> 部に置く。Instruction では、<body>部の下部におけとあるが、Movable Typeでは、 上手くいかなかった。 
<script type="text/javascript"> var YWPParams = { theme: "silver" }; </script>
<script type="text/javascript" src="http://webplayer.yahooapis.com/player.js"></script> 
上の行は、ブログで表示するときに、枠を黒ではなく、灰色にするために入れたスクリプトである。なくても問題はない。
 YouTubeの動画をブログで表示するには、次のようなコードを挿入したい場所に、記述するだけでよい。
<a href="http://www.youtube.com/watch?v=elg9OjDJIB8&feature=youtu.be"><img alt="DSCN0641.jpg" src="http://n-shuhei.net/atelier/photo_senboku/DSCN0641.jpg" width="200" height="133" /></a>

イメージファイル部分をテキストにしても問題はない。イメージ写真にすると、真ん中に再生アイコンが表示される。

 ブログ上にYouTube の動画を表示するには、もちろんYouTube に動画をアップロードしておく必要がある。今まで、YouTube に動画をアップロードした経験はないが、それほど難しい作業ではない。
  YouTube にアクセスすると YouTube は Google の一部になっているので、すでにGoogle にアカウント(普通は、gmailのアドレスがID )を持っておれば、マイチャネル(登録チャネル)が表示されるようだ。

upload00.JPG


 右上のツールタグの【アップロード】をクリックすると下のスクリーンショットようになる。
upload01.JPG

 PC にある動画(この場合、hashibiro.wmv というファイル:形式は、ほとんどOK のようだ)を選んで、アップロードすると、下のような画面となり、YouTube のファイル名(URL)が右上に表示される。
upload03.JPG
 下の Sample画像は、ブログの中に、次のように上のURL 組み込んで表記している。
<a href="http://www.youtube.com/watch?v=v4kdwpAnmGM&feature=context-gau"><img alt="ハシビロガモ動画" src="http://n-shuhei.net/atelier/photo_birds/120208_0181-thumb-150x100.jpg" width="200" height="133" /></a>

Sample 動画(YouTube)
ハシビロガモ動画

2012年9月22日

隠居のパソコン備忘録: Google Maps API JS V3 で、番号付きマーカーを表示する

 
 従来、右フレームの【晩秋の宍道湖私的観光地図】は、Google Maps API のV2版で作成したものを置いていた。V2 でかいた地図はまだ動くが、2010年5月に廃止されており、V3 へ移行することが奬められている。
 この地図では、必要性はあまりないが、マーカーに番号を表示させていた。新しく V3 で作りなおすときにも、学習も兼ねて番号を表示させたかった。

 ところが、番号入りマーカーを表示するサンプルコードが見つからない。V2 で作成したコードを V3 に置き換えることも試みたが、悲しいかな十分な知識がないし、一から勉強する意欲もないので、うまく行きそうにない。
 今までに成功した V3 のコードを眺めていると【Google Maps API JS V3 で、カテゴリー別に色違いマーカーを表示する】 で使ったコードを、わかる範囲でいじってみれば、なんとかなるのではないかと思われた。色違いのマーカーを、番号付きマーカーに置き換えるのである。この地図では、category 別に赤・青・黄色・緑などのマーカーにしているが、これを番号つきのマーカーに置き換えるのである。また、また、一つずつのマークを、一つのカテゴリーと考えるのである。
 このコードでは、マーカーを立てる地点の経度・緯度や吹きだしに表示するHTMLなどは、XML ファイルを読み込んでくることになっている。V2 で作成した地図では、HTMLの中に直接入力されていた。

 とりあえずうまく表示できるようなので、自分用の備忘録として、XML ファイルおよびHTML コードを記録しておきたい。よくわかった人から見れば、へんてこなコードとなっていると思うが、古希を超えるとほとんど羞恥心はなくなっている。

使用したXML ファイル。項目 category は num01, num02・・・のようになっている。
<?xml version="1.0" encoding="utf-8" ?> 
- <markers>
  <marker name="1:宍道湖温泉" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4820-1.JPG" title="宍道湖の夕焼け" rel="lightbox[sinjiko]">宍道湖の夕焼け</a><br/>   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4831.JPG" title="宍道湖の朝" rel="lightbox[sinjiko]">宍道湖の朝</a>" lng="133.053875" lat="35.469199" category="num01" /> 
  <marker name="2:米子水鳥公園" address="   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01539.JPG" title="コハクチョウ" rel="lightbox[sinjiko]" >コハクチョウ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01510.JPG" title="オナガガモ:♀を追いかける♂たち" rel="lightbox[sinjiko]" >オナガガモ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01529.JPG" title="マガンの群れ:沖の州" rel="lightbox[sinjiko]" >マガンの群れ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01591.JPG" title="キンクロハジロ?" rel="lightbox[sinjiko]" >キンクロハジロ</a>" lng="133.284674" lat="35.44333" category="num02" /> 
  <marker name="3:宍道湖グリーンパーク" address="   <a href="http://n-shuhei.net/atelier/video/digisco_1.wmv" target="_blank">コハクチョウ(video)</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01620.JPG" title="セグロセキレイ" rel="lightbox[sinjiko]" >セグロセキレイ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01632.JPG" title="トビ?" rel="lightbox[sinjiko]" >トビ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_birds/0911211.jpg" title="ジョウビダキ?" rel="lightbox[sinjiko]" >ジョウビダキ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4872.JPG" title="ゴビウスにある水槽" rel="lightbox[sinjiko]">ゴビウスにある水槽</a>" lng="132.866077" lat="35.444729" category="num03" /> 
  <marker name="4:出雲大社" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4886.JPG" title="出雲大社にて" rel="lightbox[sinjiko]">出雲大社にて</a>" lng="132.685919" lat="35.401434" category="num04" /> 
  <marker name="5:足立美術館" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4908.JPG" title="足立美術館の紅葉" rel="lightbox[drive]">足立美術館の紅葉</a><br/>   <a href="http://n-shuhei.net/atelier/photo_drive/Stitched_003.JPG" title="枯山水の庭:3枚の合成写真" rel="lightbox[drive]">枯山水の庭</a><br/>   <a href="http://n-shuhei.net/atelier/DSC_4932.JPG" title="足立美術館:絵画を観ているように" rel="lightbox[drive]">仏間から庭を望む</a>" lng="133.198242" lat="35.377854" category="num05" /> 
  <marker name="6:米子自動車道大山PA" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4720-1.JPG" title="雪化粧した大山:大山PAより" rel="lightbox[sinjiko]">大山の紅葉</a>" lng="133.419342" lat="35.386531" category="num06" /> 
  </markers>


 作成した地図作成の稚拙なHTMLコード(Google Maps API V3 のJavaScript を含む)は、右フレームに掲載している【晩秋の宍道湖私的観光地図】のソース・コードを見ていただければ、わかると思うが、参考までに下に記載し、少しのコメントを加えたいと思う。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 

<title>Google Maps Javascript API v3 Example: Marker Categories</title> 

<!-- jQuery lightbox2.51 -->
<script type="text/javascript" src="http://n-shuhei.net/atelier/Jquery2.51/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="http://n-shuhei.net/atelier/Jquery2.51/js/lightbox.js"></script>
<link rel="stylesheet" type="text/css" href="http://n-shuhei.net/atelier/Jquery2.51/css/lightbox.css" media="screen" />

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="http://n-shuhei.net/atelier/maps/V3test/downloadxml.js"></script>
    <title>Google Maps</title>
<style type="text/css">
html, body { height: 100%; } 
</style>
    <script type="text/javascript">
    //<![CDATA[
      // this variable will collect the html which will eventually be placed in the side_bar 
      var side_bar_html = ""; 
      var gmarkers = [];
      var gicons = [];
      var map = null;
var infowindow = new google.maps.InfoWindow(
  { 
    size: new google.maps.Size(150,50)
  });

gicons["01"] = new google.maps.MarkerImage("http://n-shuhei.net/Googlemaps/Markers/marker_01.png",
      // This marker is 20 pixels wide by 34 pixels tall.
      new google.maps.Size(20, 34),
      // The origin for this image is 0,0.
      new google.maps.Point(0,0),
      // The anchor for this image is at 9,34.
      new google.maps.Point(9, 34));
  // Marker sizes are expressed as a Size of X,Y
  // where the origin of the image (0,0) is located
  // in the top left of the image.
  // Origins, anchor positions and coordinates of the marker
  // increase in the X direction to the right and in
  // the Y direction down.

  var iconImage = new google.maps.MarkerImage('http://n-shuhei.net/Googlemaps/Markers/marker_01.png',
      // This marker is 20 pixels wide by 34 pixels tall.
      new google.maps.Size(20, 34),
      // The origin for this image is 0,0.
      new google.maps.Point(0,0),
      // The anchor for this image is at 9,34.
      new google.maps.Point(9, 34));
  var iconShadow = new google.maps.MarkerImage('http://n-shuhei.net/atelier/maps/V3test/msmarker.shadow.png',
      // The shadow image is larger in the horizontal dimension
      // while the position and offset are the same as for the main image.
      new google.maps.Size(37, 34),
      new google.maps.Point(0,0),
      new google.maps.Point(9, 34));
 
function getMarkerImage(iconNum) {
   if ((typeof(iconNum)=="undefined") || (iconNum==null)) { 
      iconNum = "01"; 
   }
   if (!gicons[iconNum]) {
      gicons[iconNum] = new google.maps.MarkerImage("http://n-shuhei.net/Googlemaps/Markers/marker_"+ iconNum +".png",
      // This marker is 20 pixels wide by 34 pixels tall.
      new google.maps.Size(20, 34),
      // The origin for this image is 0,0.
      new google.maps.Point(0,0),
      // The anchor for this image is at 6,20.
      new google.maps.Point(9, 34));
   } 
   return gicons[iconNum];
}

function category2num(category) {
   var num = "01";       
   switch(category) {
     case "num01": num = "01";
                break;
     case "num02": num = "02";
                break;
     case "num03": num = "03";
                break;
     case "num04": num = "04";
                break;
     case "num05": num = "05";
                break;
     case "num06": num = "06";
                break;
     default:   num = "01";
                break;
   }

   return num;
}

      gicons["num01"] = getMarkerImage(category2num("num01"));
      gicons["num02"] = getMarkerImage(category2num("num02"));
      gicons["num03"] = getMarkerImage(category2num("num03"));
      gicons["num04"] = getMarkerImage(category2num("num04"));
      gicons["num05"] = getMarkerImage(category2num("num05"));
      gicons["num06"] = getMarkerImage(category2num("num06"));
      // A function to create the marker and set up the event window
function createMarker(latlng,name,html,category) {
    var contentString = html;
    var marker = new google.maps.Marker({
        position: latlng,
        icon: gicons[category],
        shadow: iconShadow,
        map: map,
        title: name,
        zIndex: Math.round(latlng.lat()*-100000)<<5
        });

        // === Store the category and name info as a marker properties ===
        marker.mycategory = category;                                 
        marker.myname = name;
        gmarkers.push(marker);

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString); 
        infowindow.open(map,marker);
        });
}

      // == shows all markers of a particular category, and ensures the checkbox is checked ==
      function show(category) {
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].mycategory == category) {
            gmarkers[i].setVisible(true);
          }
        }

        // == check the checkbox ==
        document.getElementById(category+"box").checked = true;
      }

      // == hides all markers of a particular category, and ensures the checkbox is cleared ==
      function hide(category) {
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].mycategory == category) {
            gmarkers[i].setVisible(false);
          }
        }

        // == clear the checkbox ==
        document.getElementById(category+"box").checked = false;
        // == close the info window, in case its open on a marker that we just hid
        infowindow.close();
      }

      // == a checkbox has been clicked ==
      function boxclick(box,category) {
        if (box.checked) {
          show(category);
        } else {
          hide(category);
        }

        // == rebuild the side bar
        makeSidebar();
      }

      function myclick(i) {
        google.maps.event.trigger(gmarkers[i],"click");
      }

      // == rebuilds the sidebar to match the markers currently displayed ==
      function makeSidebar() {
        var html = "";
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].getVisible()) {
            html += '<a href="javascript:myclick(' + i + ')">' + gmarkers[i].myname + '<\/a>' + ' ' ;
          }
        }

        document.getElementById("side_bar").innerHTML = html;
      }

  function initialize() {
    var myOptions = {
      zoom: 10,
      center: new google.maps.LatLng(35.430603,133.012136),   //松江
      mapTypeId: google.maps.MapTypeId.HYBRID
    }
    map = new google.maps.Map(document.getElementById("map"), myOptions);
    google.maps.event.addListener(map, 'click', function() {
        infowindow.close();
        });

      // Read the data
      downloadUrl("http://n-shuhei.net/atelier/maps/V3_sinnjiko_num.xml", function(doc) {
  var xml = xmlParse(doc);
  var markers = xml.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {
          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new google.maps.LatLng(lat,lng);
          var address = markers[i].getAttribute("address");
          var name = markers[i].getAttribute("name");
          var html = "<b>"+name+"<\/b><p>"+address;
          var category = markers[i].getAttribute("category");
          // create the marker
          var marker = createMarker(point,name,html,category);
        }

        // == create the initial sidebar ==
        makeSidebar();
      });
    }

    //]]>
    </script>
  </head>

<body style="margin:0px; padding:0px;" onload="initialize()"> 
    <!-- you can use tables or divs for the overall layout -->
    <table border=1 >
<tr><td align="center"style="width:1000px; background-color: #ffffe0;" ><br /><h2>晩秋の宍道湖私的観光地図</h2></td></tr>      
<tr><td>
           <div id="map" style="width: 1000px; height: 500px"></div>
        </td></tr><tr>
<td valign="top" style="width:1000px; background-color: #ffffe0; font-size: small;"> 
 上の地図は、Google Mapsの機能を持っています。拡大・縮小・移動ができます。下の該当番号をクリックすると該当番号マーカーに吹きだしが出てきます。その吹き出しにある青文字をクリックすると写真(一部 動画)がでてきます。</td></tr><tr>
        <td valign="top" style="width:1000px; background-color: #ffffe0; font-size: small;"> 
           <div id="side_bar"></div>
        </td>
      </tr>
    </table>


    <noscript><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
      However, it seems JavaScript is either disabled or not supported by your browser. 
      To view Google Maps, enable JavaScript by changing your browser options, and then 
      try again.
    </noscript>

<br /><br />
<!-- Google AdSense -->
<script type="text/javascript"><!--
google_ad_client = "pub-8556873278052332";
/* AdSense foot ad */
google_ad_slot = "1589991765";
google_ad_width = 728;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
  </body>
</html>


  • 番号付きマーカーは、dLINKbRING というサイトからダウンロードできる
  • 表示する地図を、ラベル付き航空写真とするには、mapTypeId: google.maps.MapTypeId.HYBRID とすればよい。通常は、HYBRID の部分が、ROADMAP となっている。
  • マーカーをクリックしてでる吹きだしの中に表示される写真リンクをクリックして出てくる写真を、同一画面の中央に表示するJavaScript ソフト lightbox は機能する。 jQuerylightbox2.51 を使った。


2012年8月26日

隠居のパソコン備忘録: Google Maps API JS V3 での地図でマーカー地点をズームイン・アウトする


 V3 にバージョンアップした Google Maps JS API で旅行地図などを作成することをいろいろとトライしている。
 当サイト内の Studio YAMAKO のオーナーは、お住まいの横浜近郊はもちろんのこと、海外をも含めて様々なところを旅行され、それぞれの地点での綺麗な写真をブログにUPされている。
 旅行先を一枚の地図で表示することは無理なので、海外旅行については、その都度旅行先の地図を作って表示させてもらっているが、国内旅行については、年度別に、一枚の日本地図にプロットしている。(例:2011年旅行地図) だが、これでは地図が大まかすぎて、訪問先地点毎に、コントロールを使って、ズームインと地図の移動をする必要がある。

 それで何か良いサンプルはないかと探ってみると、Google Maps API links に、V2 で作成されたMike Williams' tutorial の The Basics - Part 3: Loading the data from an XML file with added "Zoom To, Zoom In, Zoom Out links in infowindow V3 に書き換えたサンプルコードが見つかった。
 2011年旅行地図では、隠居のパソコン備忘録: Google Maps API JS V3 でXML ファイルを読み込むに記録したサンプルコードを使った。今回のコードは、そのコードに、Zoom in・out の機能を付け加えたものである。呼び込んでくる XML ファイルは、同じ形式である。サンプルコードには、XML ファイルに zoom というタグが組み込まれていたが、なしでも機能するようである。
 2012年の旅行地図では、このコードを使った。見た目は、2011年旅行地図と変わらないが、地点をクリックして出てくる吹きだし(infowindow)に、表示される Zoom to [+] [-] をクリックすると、その地点が地図の中心となる。 さらに、[+] をクリックしていくと、Zoom が一段ずつUPする。2011年旅行地図に比べれば、少し改良された。
 下は、そのコードである。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps Javascript API v3 Example: Loading the data from an XML</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="http://xxxxxxxxxx/JSlibrary/downloadxml.js"></script>
<style type="text/css">
html, body { height: 100%; } 
</style>
<script type="text/javascript"> 
//<![CDATA[
      // this variable will collect the html which will eventually be placed in the side_bar 
      var side_bar_html = ""; 
      // arrays to hold copies of the markers and html used by the side_bar 
      // because the function closure trick doesnt work there 
      var gmarkers = []; 
     // global "map" variable
      var map = null;
// A function to create the marker and set up the event window function 
function createMarker(latlng, name, html, zoom) {
    var contentString = html;
    // add the zoom links
    contentString += '<br><a  href="javascript:map.setCenter(new google.maps.LatLng('+latlng.toUrlValue(6)+')); map.setZoom('+zoom+');">Zoom To</a>';
    contentString += ' - <a  href="javascript:map.setCenter(new google.maps.LatLng('+latlng.toUrlValue(6)+')); map.setZoom(parseInt(map.getZoom())+1);">[+]</a>';
    contentString += ' - <a  href="javascript:map.setCenter(new google.maps.LatLng('+latlng.toUrlValue(6)+')); map.setZoom(parseInt(map.getZoom())-1);">[-]</a>';

    var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        icon: new google.maps.MarkerImage('http://labs.google.com/ridefinder/images/mm_20_blue.png'),         
        zIndex: Math.round(latlng.lat()*-100000)<<5
        });
    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString); 
        infowindow.open(map,marker);
        });
    marker.MyZoom = zoom;
    // save the info we need to use later for the side_bar
    gmarkers.push(marker);
    // add a line to the side_bar html
    side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br>';
}
// This function picks up the click and opens the corresponding info window
function myclick(i) {
  google.maps.event.trigger(gmarkers[i], "click");
}
function initialize() {
  // create the map
  var myOptions = {
    zoom: 8,
    center: new google.maps.LatLng(34.717876,137.851424),
    mapTypeControl: true,
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
    navigationControl: true,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  map = new google.maps.Map(document.getElementById("map_canvas"),
                                myOptions);
  google.maps.event.addListener(map, 'click', function() {
        infowindow.close();
        });
      // Read the data from example.xml
      downloadUrl("http://xxxxxxxx/xxxxxxxxx/xxxx/V3_yamako_2012.xml", function(doc) {
        var xmlDoc = xmlParse(doc);
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {
          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new google.maps.LatLng(lat,lng);
          var html = markers[i].getAttribute("html");
          var label = markers[i].getAttribute("label");
          var zoom = markers[i].getAttribute("zoom");
          if (!zoom) zoom = 15;
          // create the marker
          var marker = createMarker(point,label,html,zoom);
        }
        // put the assembled side_bar_html contents into the side_bar div
        document.getElementById("side_bar").innerHTML = side_bar_html;
      });
    }

var infowindow = new google.maps.InfoWindow(
  { 
//    size: new google.maps.Size(150,100),
    maxWidth: 450
  });

    // This Javascript is based on code provided by the
    // Community Church Javascript Team
    // http://www.bisphamchurch.org.uk/   
    // http://econym.org.uk/gmap/
    // from the v2 tutorial page at:
    // http://econym.org.uk/gmap/basic3.htm 
//]]>

</script> 
  </head> 

<body style="margin:0px; padding:0px;" onload="initialize()"> 
    <!-- you can use tables or divs for the overall layout --> 
     <table border="1"> 
<tr>
<td bgcolor="#FFFFCC" align="center" colspan="2"><font color="#000000"><strong><big>Yamako 国内旅行地図:2012年
</big></strong><br /></font></td></tr>      
<tr> 
        <td> 
           <div id="map_canvas" style="width: 780px; height: 820px"></div> 
        </td> 
        <td width = 220 valign="top"  bgcolor="#ffffe0" style="text-decoration: underline; color: #000000; font-size: small;" >
           <div id="side_bar"></div> 
        </td> 
      </tr> 
    </table> 


    <noscript><p><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
      However, it seems JavaScript is either disabled or not supported by your browser. 
      To view Google Maps, enable JavaScript by changing your browser options, and then 
      try again.</p>
    </noscript> 

  </body> 
</html> 


2012年8月13日

隠居のパソコン備忘録:スマホのスクロール・イメージをブログに掲載する


 Masajii's Brog で、オーナーの Masajii さんから、【読書日記「くらしのこよみ」】に、スマホのスクロール・イメージを掲載できないかとの相談を受けた。
 今まで画像を横方向にスクロールしながら見るというようなことは試したことはない。興味を引くテーマなので、挑戦してみることにした。
 平凡社が提供するスマホ向け無料アプリ【くらしのこよみ】は、このようなトライをしてみるには格好の材料である。
 少し、時間を要する作業であるがなんとか実現できるので、備忘録として記録しておきたい。

   
出来上がりサンプル
スマホの画面イメージ
スクロールバーを右端へ移動してから左へ動かしてください。


  1. 対象となるスマホの画面をキャプチャーする。(キャプチャーの方法は、【隠居のスマートフォン備忘録:(14)Xperia acro の画面をキャプチャーする 】に記載している。)例題のアプリ「くらしのこよみ」では、26画面(1画面は480x854ピクセルl)をキャプチャーした。
  2. キャプチャーした画像を、Photoshop Elements を使って横に結合していく。この作業が、Photoshop を使い慣れていないせいもあって大変だった。
     先ず、「ファイル」⇒「新規」⇒「白紙ファイル」で、ファイル名を Kooyomi-1 とでもし、横幅2400pixel x 854pixel と指定した。キャプチャー画面を5枚 横に結合するスペースである。横幅、もっと大きくできるが、画像が小さくなり、結合する境界の判定が難しくなる。
  3. 次に、結合するキャプチャー画面を「ファイル」⇒「開く」と、画面下のプロジェクト・エリアに表示される。これを先の白紙ファイルにドラッグ&ドロップして、右端から埋めていく。スマホのスクロールでキャプチャーした画像は、必ずしもきちんと 480pixel となっていないので、ドラッグで重ねあわせ調整して画面を作っていく。連結した画面ができたら、右フレームの下方の「レイヤー」欄に画像名が表示されるので、連結した画像名を選択して右クリックすると出てくるセレクトボックスで、「レイヤー結合」を選択すると、下のスクリーンショットのように、結合した一つのファイルとなる。結合したファイルは、別名で保存しておく。

  4. このようにして、28の画面をグループ(今回の場合、6グループ)に分けて、画像ファイルを保存しておく。その後、6グループのファイルを結合する。この作業は、要するに、キャプチャーしたスマホのスクロール画面を一つの横長画像にする作業である。結果は、12480x854pixel の画像(jpegとした)となる。
  5. 出来上がった画像を、そのままのおおきさでブログに掲載するには、縦幅が大きすぎるので、Picasa のエキスポートを使って、縦・横幅を40%くらいに縮小した。なお、Picasa を使うと結合した結果、はみ出る白紙部分を削除する切り抜きが楽である。
  6. 今回のメインは、画像を横にスクロールするために、HTML <iframe> タグを使ったことである。
    上の出来上がりサンプルのためのコードは、次のようになる。
    <center><caption><strong>スマホの画面イメージ</strong><br /><small>スクロールバーを右端へ移動してから左へ動かしてください。</small></caption></center>
    <center>
    <iframe frameborder="1" scroling="yes" width="250" height="400" src="http://n-shuhei.net/atelier/screenshot/1-koyomi-c2.jpg" /></iframe>
    </center>
    
    <iframe> タグを使うと、上の Photoshop のスクリーンショットのように、横長の画像をスクロールバー付きで、横幅を抑えて表示できる。
 このような方法を使えば、スクロールしてつかうアプリの紹介は楽になるが、いまのところ紹介すべきアプリは思い当たらない。

2012年7月29日

隠居のパソコン備忘録: Google Maps API V3 で Polyline を描く


 自作地図を作成するのに便利していた Google Maps API のバージョンが、 V2 から V3 に大幅に変更され、来年5月には V2 で作成した地図が動かなくなりそうだということは、隠居のパソコン備忘録:Google Maps API V3 で旅行地図を作成するで、記録した。

 Studio YAMAKO のオーナーが、この2?3年に海外旅行した時の地図には、旅程を表す Polyline を表示している。これも、V3 になると書き換えなければならない。V2 では、XML ファイルに訪れた地点の経度・緯度を書き込んでおくと Polyline を描いてくれる sample code があったが、V3 では、そのような sample code は、ヒットしなかった。
 【Google Maps JavaScript API V3の使い方】というサイトに、【ポリラインの表示】というぺーじがあり、polyline を描くための訪問地点の経度・緯度を Javascript に直接記入する方法が紹介されていた。このサンプル・コードを参考に、先日記録した【Google Maps API JS V3 でXML ファイルを読み込む】の Javascript コードに追加してみると上手く動くことが分かった。老人の備忘録として、「トルコ周遊8日間の旅」の地図のコードを記録としておきたい。下のコードの青字部分が Polyline 表示のために追加した部分である。
 訪問地点の経度・緯度は、V2 のときに使っていた XML ファイルの中からコピーしてきた。記述する部分は少ないので、XML ファイルにする必要性はあまりない。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps Javascript API v3 Example: Loading the data from an XML</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="http://n-shuhei.net/JSlibrary/downloadxml.js"></script>

<style type="text/css">
html, body { height: 100%; } 
</style>

<script type="text/javascript"> 
//<![CDATA[
// this variable will collect the html which will eventually be placed in the side_bar 
      var side_bar_html = ""; 

      // arrays to hold copies of the markers and html used by the side_bar 
     // because the function closure trick doesnt work there 

      var gmarkers = []; 

     // global "map" variable
      var map = null;

// A function to create the marker and set up the event window function 
function createMarker(latlng, name, html) {
    var contentString = html;
    var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        zIndex: Math.round(latlng.lat()*-100000)<<5
        });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString); 
        infowindow.open(map,marker);
        });

    // save the info we need to use later for the side_bar
    gmarkers.push(marker);

    // add a line to the side_bar html
    side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br>';
}

// This function picks up the click and opens the corresponding info window
function myclick(i) {
  google.maps.event.trigger(gmarkers[i], "click");
}

function initialize() {
  // create the map
  var myOptions = {
    zoom: 6,
    center: new google.maps.LatLng(39.436193,29.86908),
    mapTypeControl: true,
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
    navigationControl: true,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }

  map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

  google.maps.event.addListener(map, 'click', function() {
        infowindow.close();
        });

      // Read the data from hachi.xml
      downloadUrl("V3_maps_Turkey.xml", function(doc) {
        var xmlDoc = xmlParse(doc);
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {

          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new google.maps.LatLng(lat,lng);
          var html = markers[i].getAttribute("html");
          var label = markers[i].getAttribute("label");

          // create the marker
          var marker = createMarker(point,label,html);
        }

      // put the assembled side_bar_html contents into the side_bar div
        document.getElementById("side_bar").innerHTML = side_bar_html;

// Polyline 表示の追加 ここから     
    var drivePlan = [
      new google.maps.LatLng(40.010787, 26.279297),
      new google.maps.LatLng(39.317035, 26.703644),
      new google.maps.LatLng(37.947176, 27.342567),
      new google.maps.LatLng(37.914409, 29.120979),
      new google.maps.LatLng(37.882441, 32.485199),
      new google.maps.LatLng(38.376115, 34.002686),
      new google.maps.LatLng(38.533127, 34.433899),
      new google.maps.LatLng(38.627063, 34.720917),
      new google.maps.LatLng(38.772019, 35.490303),
      new google.maps.LatLng(41.013066, 28.975067),
      new google.maps.LatLng(40.010787, 26.279297)
    ];
    var drivePath = new google.maps.Polyline({
      path: drivePlan,
      strokeColor: "#FF0000",
      strokeOpacity: 1.0,
      strokeWeight: 2
    });
      drivePath.setMap(map);
// ここまで 

      });
    }

var infowindow = new google.maps.InfoWindow(
  { 
//    size:  new google.maps.Size(200,50)
  });

//]]>

</script> 
  </head> 

<body style="margin:0px; padding:0px;" onload="initialize()"> 

<table border="1"> <tr>
<td bgcolor="#FFFFCC" align="center" colspan="2"><font color="#000000"><strong><big>「洞窟ホテルに泊まる!トルコハイライト周遊8日間」の旅</big></strong></font></td></tr>      
<tr><td> 
    <div id="map_canvas" style="width: 800px; height: 600px"></div> 
    </td> 
    <td width = 200 valign="top" bgcolor="#ffffcc" >
左の地図は、Google Mapsの機能を持っています。拡大・縮小・移動ができます。下の地名をクリックすると該当位置に吹き出しが出ます。吹き出しの中のリンクをクリックすると詳細地図あるいは関連投稿に飛びます。<br /><br />
    <div id="side_bar"style="text-decoration: underline; color: #000000; font-size: small;"></div> 
    </td></tr></table> 

    <noscript><p><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
      However, it seems JavaScript is either disabled or not supported by your browser. 
      To view Google Maps, enable JavaScript by changing your browser options, and then 
      try again.</p>
    </noscript> 

  </body> 
</html> 


2012年7月21日

隠居のパソコン備忘録: Google Maps API JS V3 でXML ファイルを読み込む

 
 自作地図を作成するのに便利していた Google Maps API のバージョンが、 V2 から V3 に大幅に変更され、来年5月には V2 で作成した地図が動かなくなりそうだということは、隠居のパソコン備忘録:Google Maps API V3 で旅行地図を作成するで、記録した。

  V2 で作成した多くの地図では、外部ファイルである XML ファイルを読み込んでマーカを立てる地点やマーカをクリックすると出てくる吹きだしの中に、リンク先などの情報を表示していた。年間の旅行先などマーカが順次増える場合には、XML ファイルに経度・緯度や必要なリンクを書き足すだけでいいので便利をしていた。
 今まで V2 で作成してきた地図を V3 にバージョンアップして XML ファイルを読み込むためのサンプル・コードを探し回したが、適切なコードが見つからなかった。一から、作成する能力はからきしない。途方に暮れて、上のブログに記録した前回の方法で、XML ファイルを使わず直接 JavaScript に書き込むことも挑戦しかけたが途方も無い作業のようなのでやめて、今までの XML ファイルが使えそうなサンプル・コードで、再度粘ってみることにした。

 拝借したサンプル・コードは、上のブログに記録した前回の方法ときにも拝借した、【Using the Google Maps API v3】 というページにある【lLoading the data from an XML file translated to v3】のソース・コードである。
 V3 のGoogle Maps API にXML ファイルを読み込む方法は、多くの場合、前回に lightbox 2.51 の導入で紹介した JavaScript のライブラリー jQuery が使われている。拝借したサンプル・コードでは、jQuery ではなく、downloadxml.js というライブラリーが使われている。どうも、jQuery の方が本流らしいが、私にとっては、V3 で今までの XML ファイルが使えるサンプル・コードの方がありがたい。
 一週間以上かなりの時間を使って粘った甲斐があって、下のようなコードで XML が読み込めるようになった。
 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps Javascript API v3 Example: Loading the data from an XML</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="http://n-shuhei.net/XXXXX/XXX/XXXXX/downloadxml.js"></script>

<style type="text/css">
html, body { height: 100%; } 
</style>

<script type="text/javascript"> 
//<![CDATA[
// this variable will collect the html which will eventually be placed in the side_bar 
      var side_bar_html = ""; 

      // arrays to hold copies of the markers and html used by the side_bar 
     // because the function closure trick doesnt work there 

      var gmarkers = []; 

     // global "map" variable
      var map = null;

// A function to create the marker and set up the event window function 
function createMarker(latlng, name, html) {
    var contentString = html;
    var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        zIndex: Math.round(latlng.lat()*-100000)<<5
        });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString); 
        infowindow.open(map,marker);
        });

    // save the info we need to use later for the side_bar
    gmarkers.push(marker);

    // add a line to the side_bar html
    side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br>';
}

// This function picks up the click and opens the corresponding info window
function myclick(i) {
  google.maps.event.trigger(gmarkers[i], "click");
}

function initialize() {
  // create the map
  var myOptions = {
    zoom: 12,
    center: new google.maps.LatLng(35.377556,134.534862),
    mapTypeControl: true,
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
    navigationControl: true,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }

  map = new google.maps.Map(document.getElementById("map_canvas"),
                                myOptions);

  google.maps.event.addListener(map, 'click', function() {
        infowindow.close();
        });

      // Read the data from hachi.xml
      downloadUrl("hachi.xml", function(doc) {
        var xmlDoc = xmlParse(doc);
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {

          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new google.maps.LatLng(lat,lng);
          var html = markers[i].getAttribute("html");
          var label = markers[i].getAttribute("label");

          // create the marker
          var marker = createMarker(point,label,html);
        }

        // put the assembled side_bar_html contents into the side_bar div
        document.getElementById("side_bar").innerHTML = side_bar_html;
      });
    }

var infowindow = new google.maps.InfoWindow(
  { 
//    size:  new google.maps.Size(200,50)
  });

    // This Javascript is based on code provided by the
    // Community Church Javascript Team
    // http://www.bisphamchurch.org.uk/   
    // http://econym.org.uk/gmap/
    // from the v2 tutorial page at:
    // http://econym.org.uk/gmap/basic3.htm 

//]]>

</script> 
  </head> 

<body style="margin:0px; padding:0px;" onload="initialize()"> 

    <!-- you can use tables or divs for the overall layout --> 
    <table border="1"> 
<tr>
<td bgcolor="#FFFFCC" align="center" colspan="2"><font color="#000000"><strong><big>ハチ高原近辺私的観光地図</big></strong><br /></font></td></tr>      
<tr> 
        <td> 
           <div id="map_canvas" style="width: 800px; height: 600px"></div> 
        </td> 
        <td width = 200 valign="top"  bgcolor="#ffffe0" style="text-decoration: underline; color: #000000; font-size: small;" >
<!--<td valign="top" style="width:150px; text-decoration: underline; color: #4444ff;">-->
           <div id="side_bar"></div> 
        </td> 
      </tr> 
    </table> 

    <noscript><p><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
      However, it seems JavaScript is either disabled or not supported by your browser. 
      To view Google Maps, enable JavaScript by changing your browser options, and then 
      try again.</p>
    </noscript> 

  </body> 
</html> 
サンプル地図

 試行錯誤は、拡張子の前につける . (ピリオド)が抜けていたり、ファイルのアップロード先を間違ったりなど実に単純なミスの連続であった。
 とくに、Geekなぺーじの【Google MAPS JavaScript APIでのデバッグ】にも書かれているように、日本語コードで最後までつまづいた。V2 のときには、Shift-JIS でも OK だったXML ファイルが、UTF-8 でないとエラーを起こすというより、全く読んでくれない。
 この試行錯誤のお陰で、Google Maps API について、少し理解が深まったが、JavaScript に十分な知識がない老人にはやっぱり難解な世界である。中断していた JavaScript の学習も再開せねばと思うが、なにしろやりたいことが多すぎる。
 来年5月までに、順次 V2 の地図を V3 にしていくつもりである。

2012年7月12日

隠居のパソコン備忘録:Google Maps API V3 で旅行地図を作成する


 Google が提供する自分好みの地図を作成できるサービス Maps JavaScript API の バージョンUP(V2 ⇒ V3)が2009年5月に発表されている。最近になって、V2 は廃止され、V3 がリコメンドされていることを知った。プロ向けと思われる【Google Deveopers】というサイトにある【Google Maps JavaScript API V3】 のページには、次のような記載がある。
注: このページに記載されている Google Maps JavaScript API バージョン 3 は、正式な JavaScript API となりました。JavaScript API バージョン 2 は、Google の廃止ポリシーにより正式に廃止されました。アップデート、拡張された新しいバージョンに、コードを移行することをおすすめします。

さらに、Deprecated(非推奨という意味か?) と記されている V2 のページには、次の記載がある。
Note: The Google Maps JavaScript API Version 2 has been officially deprecated as of May 19, 2010. The V2 API will continue to work until May 19, 2013. We encourage you to migrate your code to version 3 of the Maps JavaScript API.

なんと来年5月には、動かなくなりそうだ。私のサイトには、V2 作成した地図を数多く掲載している。慌てて、V3 の学習を始めた。V2 に比べると大幅に変更になっている。サンプルコードをパクリして、作成してきた地図を、基本的な知識が乏しい老人が、今までのコードをバージョンアップするのは至難の技に思われる。それで、今までのコードのバージョンアップは諦めて、ネットで紹介してくれているV3 版のサンプルコードを頼りに、新しく書いて見ることにした。

 ようやくたどり着いたのが、7月10日に収載した【加賀地方旅行地図】である。この地図を例として、作成方法を備忘録として記録しておきたい。

 やりたいことは、
  1. 旅行した地域をカバーする地図を表示する。
  2. 観光した地点にマーカーを立てる。
  3. マーカーをクリックすると吹きだし(infowindow) がでる。
  4. infowindow には、撮った写真の表示や観光地点のURL へリンクを表示できるようにする。
  5. 地図の枠外に訪問地点名を表示し、クリックすると地図上の該当マーカに、infowindow が表示するようにする。
  6. できあがった地図は、私のブログ(Movable Type 4)で、エントリーとして機能するようにする。

 このような地図は、Google Maps API V2 では、できていたのであるが、V3 では初めての試みである。
 ささやかな JavaScript の知識か持たない私の技術では、これを一から作成することは困難である。Sample コードをネットで探し回したところ、【Using the Google Maps API v3】 というページに、要望にあったコード(Mike Williams' tutorial The Basics - Part 2: Adding a clickable sidebar translated to v3)を見つけることができた。Mike Williams' tutorial は、V2 の地図を作成するときにほとんど丸写しに近く参照させていただいたサイトである。残念ながら、このサイトでの V3 によるサンプルコードはない。このV2 でのコードをどなたかが、V3 に translate されたコードである。

 このサンプルコードをもとに、作成した旅行地図 のコードは、以下のとおりである。
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
<title>Google Maps Javascript API v3 Example: Adding a clickable sidebar</title><script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<style type="text/css">
  html, body { height: 100%; } 
</style>

<script type="text/javascript"> 

//<![CDATA[

    var side_bar_html = ""; 
    var gmarkers = []; 
    var map = null;

function initialize() {
    var myOptions = {
    zoom: 10,
    center: new google.maps.LatLng(36.338359,136.446075),
    mapTypeControl: true,
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
    navigationControl: true,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }

  map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
  google.maps.event.addListener(map, 'click', function() {
   infowindow.close();
   });

  var point = new google.maps.LatLng(36.056871,136.355095);
  var marker = createMarker(point,"永平寺","<a href='./travel-eiheiji.html' target='_blank'>永平寺 写真サムネイル画像</a>")

  var point = new google.maps.LatLng(36.237628,136.125712);
  var marker = createMarker(point,"東尋坊","<a href='./travel-tojinbo.html' target='_blank'>東尋坊  写真サムネイル画像</a>")

  var point = new google.maps.LatLng(36.228506,136.175559);
  var marker = createMarker(point," そば処あおき","<a href='http://fukui-shop.net/soba/208449/' target='_blank'>URL: そば処あおき</a>")

  var point = new google.maps.LatLng(36.243996,136.374664);
  var marker = createMarker(point," 山中温泉","<a href='./travel-yamanaka.html' target='_blank'>山中温泉 写真サムネイル画像</a><br /><a href='http://yoshinoyairokuen.jp/viewpoint/map_aki_fuyu.pdf' target='_blank'>PDF: 山中温泉案内図</a><br /><a href='http://www.daiwaresort.co.jp/kajikasou/' target='_blank'>URL: 河鹿荘ロイヤルホテル</a>")

  var point = new google.maps.LatLng(36.322871,136.294327);
  var marker = createMarker(point," 鴨池観察館","<a href='./travel-kamoike.html' target='_blank'>鴨池観察館 写真サムネイル画像</a><br /><a href='http://park15.wakwak.com/~kamoike/' target='_blank'>URL: 鴨池観察館</a>")

  var point = new google.maps.LatLng(36.56098,136.658249);
  var marker = createMarker(point," 金沢21世紀美術館","<a href='./travel-21seiki.html' target='_blank'>金沢21世紀美術館 写真サムネイル画像</a><br /><a href='http://ja.wikipedia.org/wiki/%E9%87%91%E6%B2%A221%E4%B8%96%E7%B4%80%E7%BE%8E%E8%A1%93%E9%A4%A8' target='_blank'>URL: 金沢21世紀美術館</a>")

  document.getElementById("side_bar").innerHTML = side_bar_html;
}
var infowindow = new google.maps.InfoWindow(
  { 
    size: new google.maps.Size(150,50)
  });

function myclick(i) {
  google.maps.event.trigger(gmarkers[i], "click");
}

function createMarker(latlng, name, html) {
    var contentString = html;
    var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        zIndex: Math.round(latlng.lat()*-100000)<<5
        });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString); 
        infowindow.open(map,marker);
        });

    gmarkers.push(marker);

   side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a>  ';
}
 
//]]>

</script> 

</head> 

<body style="margin:0px; padding:0px;" onload="initialize()"> 
     <table border="1"> 
      <tr> 
        <td> 
           <div id="map_canvas" style="width: 720px; height: 650px"></div> 
        </td>
      </tr><tr>   
        <td valign="top" style="width:720px; font-size:small; color: #4444ff;"><strong>観光場所:クリックすると該当場所に吹きだしがでます。</strong><div id="side_bar"> </div> 
        </td> 
      </tr> 
    </table> 

    <noscript><p><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
      However, it seems JavaScript is either disabled or not supported by your browser. 
      To view Google Maps, enable JavaScript by changing your browser options, and then 
      try again.</p>
    </noscript> 

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> 
 </body> 
</html> 


 このコードについて、若干補足して記録しておきたい。
  • マーカーを立てる経度・緯度の数値は、「Google マップ 地図検索」で検索した地点に出てくるマーカを右クリックすると出てくるポップアップにある「この場所について」をクリックすると 検索文字を入れるボックスに表示される。
  • infowindow の中に表示するURLや写真ページヘのリンクは、HTMLコードを書く要領で書けば良い。
  • side-bar は サンプルコードでは 地図の右枠外であるが、HTMLコードでテーブルを作成する要領で(</tr><tr> ) 行を変えれば、地図の下枠外に表示できる。


 なお、写真の表示に、ブログで使ってきた lightbox (当ブログで使っている写真表示手法)のコードを書いても、Google Maps API というJavaScript の中で、lightbox というJavaScript を使うことになり、うまく表示されない。もう少し勉強すればできるのかもしれないが、次善の策として、ワンクッションおいてサムネイル画像を表示することにした。なお、lightbox については、今回の学習中に、jQuery.js という JavaScript のライブラリーを使ったバージョンが出ていることが分かった。(従来は、prototype.js を使っていた)
jQuery 版lightbox については、稿を改めて記録したい。

 作成した地図を、MT4 のブログにエントリーするには、<iframe>をつかって次のようにブログの中に取り込めば良い。
<iframe src="http://n-shuhei.net/atelier/maps/travel-kaga.html" width="740" height="700" scrolling="NO" frameborder="0"></iframe>


 なお、ブログの右フレームに載せている地図は、Google Maps API V2 で作成しているが、ここでは、xml ファイルを使っている地図が多い。V3 でのXML との連携についても学習しなければならない。おかげで、当分痴呆にはならないだろうが。

2012年3月 4日

隠居のMT 備忘録:テーブル(表)の形式を工夫してみる


 前回の記事【隠居のMT 備忘録:IE で表示した時に出現する意図しないスペースを削除する】で表の上部に余分なスペースが表示される件については、一応落着しているのであるが、それでも原因が探りたくて、色々と大した知識もない中で思いをめぐらしていた。

 どうやら、先の現象が起きるのは、記事の中のテーブルを頻回に修正・追加しているのが原因ではないかと思われた。それで、?IE CSS Table?というようなワードでググってみると、 HTML コードでの <table> に関するプロパティを付け焼刃で学習してきたために、十分把握していなかったことが分かった。今後、HTML CSS にあまり知識のないものが、テーブルをいじるときに注意すべき事項を思いつくまま、備忘録として記録しおきたい。

 
  • テーブルやセルの枠を表示する線は、それぞれ太さがあり、隣接するセルのボーダーを重ねて表示したり、間隔をあけて表示したりできる。これは、CSS(スタイル・シート)で指定する。
     重ねての表示は、次のようなコードが紹介されている。
    table  { border-collapse: collapse }

    また、間隔をあけての表示は、次のように設定するとされている。
    table {  border-collapse: separate }

    どうやら、border-collapse を指定しない場合(初期設定)は、separate になっていたようだ。そのために、IE の場合、テーブルを設定し直すたびに、少しずつ sell-space が設定されており、たび重なって大きな空白ができたのではないかと推定される。ど素人のゲスだから、全く的外れかもしれないが。

  • このような学習をしていると、テーブルの枠やセルの線の太さや色などを指定したり、空白のセルにも枠をつけるためのスタイルを設定する方法が分ってきた。テーブルの枠やセルの線は、今まで特別に意識しない場合デフォールトの設定である solid で通してきたが、好きな線の太さや色を設定する方法も分かった。それで、もう少し自分好みにしたくて、新たにスタイルシートに設定した <table> に関するコードは、次のようなものである。
    なお、余談であるが、線の色:#ffcf64 および #48acd0 は私がディスクトップの壁紙として使っているカワセミの写真の腹部および羽の色である。この色コードは、以前から愛用している【ウェブカラークリエイター】というソフトを使って、採取したものである。
    /* テーブルのセル・ボーダーの表示形式 */
    table
     .waku1
      { border-collapse: separate;
        border: 1px solid #ffcf64; }
     .waku2
      { border-collapse: collapse;
        border: 1px solid #48acd0; }
    
    td { border: 1px solid #48acd0 }  


border-collapse: separate の場合(初期設定)
collapse_2.JPG


border-collapse: collapse の場合(新しく設定したスタイルシート)
collapse_3.JPG


2012年2月15日

隠居のスマートフォン備忘録:(21)Xperia acro をスキャナーとして使い OCR する。


 前回のスマホ備忘録として、【Xperia acro をEvernote を利用するデジタル・メモ帳として使う】を記事にした。その後、Masajii さんから、B5ルーズリーフのメモが、きれいにスキャンされて、EVERNOTE や DROPBOX にもすぐ保存できる非常に便利な CamScanner というアプリを使っているとのことを教えてもらった。どのようなものか、試しにインストールしてみた。

 このアプリの本来の使い方と異なるかもしれないが、スマートフォンでスキャンして、OCR ソフトと組み合わせて使用したら、印刷物の記事がテキスト化できることが分かったので、備忘録として記録しておきたいと思う。

 従来、読んだ本や新聞の一部をブログに引用するときには、2000年8月に発売されたA4型スキャナー(EPSON GT-8700)を使って印刷物をスキャンし、OCR ソフト【読んで!!ココ】でテキスト化していた。これで十分役に立っているであるが、そのような作業をやるたびに大きなスキャナーをセットしなければならない。スマートフォンで、スキャンできるなら手軽でいい。週刊誌の記事のデジタル(テキスト)化を例に、その方法を書き留めておきたい。

  1. アンドロイド・マーケットから、無料の【CamScanner スキャンPDF作成】 をダウンロードしてインストールした。
  2. CamScanner を立ち上げて、右下メニューボタン⇒設定をする。私の場合、?自動トリミング??画像鮮明化モード??水平撮影?にチェックを入れた。
  3. 戻るボタンで、初期の画面に戻る。スキャンする週刊誌の記事をできるだけ平らにして広げる。カメラ・アイコンをタップして印刷物の上に持ってくると対象とする部分がぼんやりながら映るので、画面にスキャンする部分が入るように、できるだけ水平にカメラレンズを上下する。対象が取り込めそうであれば、風車のようなシャッターアイコンCamScanner_8.jpgをタップすればいい。うまく撮れなければ、【撮り直す】ボタンがある。OCR したい部分が写っているようであれば、【確認】ボタンをタップする。
  4. タップするとスクリーンショット1 のような画像処理画面がでるので、4隅の○印をドラッグして、OCR する部分に範囲を決めてトリミングして、右下の?をタップする。横になっていても構わない。OCR ソフトで回転ができる。
  5. ?をタップすると保存中と表示が出て、スクリーンショット2 のように新規ドキュメントとして保存される。ここで送信ボタンCamScanner_9.jpgをタップして、出てくる送信画面から【Evernote -ノートを作成する】をタップすると、PDF 文書として送信される。これでは、Evernote の画像を使って、OCR ソフトを使うことができない。(PDF形式のままでも、OCR ソフトで、テキスト化はできるようだ。PDF ・データをテキスト化する、あるいはWord 文章にする方法については、別のエントリーで記載してみたい。)
  6. 画像として、Evernote に送るには、新規ドキュメントをタップして、スクリーンショット3 のような画面にしてから、送信ボタンCamScanner_9.jpgをタップするとスクリーンショット4 の画面になるので、【Evernote -ノートを作成する】をタップする。
  7. タップするとスクリーンショット5 の画面が出てくるので、適切なタトルを入力して【完了】をタップすると Evernote に画像として送信される。
  8. PC本体で、Evernote に接続し同期すると、送信された先ほどの jpeg 画像が一つのノートとして確認できる。ノートを表示するとノートの内容が画像の場合、画像を右クリックするとスクリーンショット6 のように画像全体が反転する。右クリックするとでるポップアップ画面から、?名前をつけて保存?を選択し、適当なフォルダーにjpeg 画像として保存する。
  9. 【読んで!!ココ】(私の場合、AI ソフトがEPSON に買収される前のVersion 8、最近は Version 13 となっている。新しく買うと結構な値段がする)を立ち上げて、先ほどのjpeg 画像を開き90°回転して、領域を指定し認識を行うとスクリーンショット7 のように デジタル(テキスト)化される。ただし、週刊誌は紙質や印刷がよくないために、認識度は少し落ちるようだ。
  10. 私は、このデジタル・テキストを【読んで!!ココ】でクリップボードに保存し、スクリーンショット8 のように、テキストエディタの【秀丸】で文書化している。(もちろん、Word にも貼り付けることができる)以前にも持ち歩けるようなスキャナーがあったが、あまり使い物にならなかった。このスマホの CamScanner を使えば、色々な場面で使えそうだ。


 なお、スマホ備忘録の、【Xperia acro をEvernote を利用するデジタル・メモ帳として使う】の記事で、キングジムの SHOT NOTE 、コクヨの CamiApp を紹介したが、これらのアプリは、CamScanner を使えば完全に代替できると思われる。

スクリーンショット 1 スクリーンショット 2 スクリーンショット 3 スクリーンショット 4
画像処理画面;クリックすると大きな写真になります ドキュメント表示画面;クリックすると大きな写真になります トリミング後の画像表示画面;クリックすると大きな写真になります 送信先選択画面;クリックすると大きな写真になります
スクリーンショット 5 スクリーンショット 6 スクリーンショット 7 スクリーンショット 8
CamScanner_6.jpg Evernote(PC) のノート;クリックすると大きな写真になります 読んで!!ココ 画面;クリックすると大きな写真になります テキストエディタ画面;クリックすると大きな写真になります


   

2011年11月11日

Jazz: Piano Trio List


 2011年7月に、ジャズ・ジャーナリストの杉田宏樹さんという方の【ジャズと言えばピアノトリオ】いう本が、光文社新書で発刊された。読み進むと、ファミリアな名前のピアニストの名前が次々と出てくる。それらのピアニストが結成したピアノトリオの有名なアルバムも細かに紹介されている。ジャズと聞くと節操無く集めたジャズ曲の中にも、それらのアルバムに収められているナンバーが、mp3 file として Windows Media Library に収納されている。

 これらのナンバーを上の本に紹介されている順に整理して、Internet Radio のサイトである Live 365 に開設している私の放送局Radio Senboku に、アップロードすることにした。
 そのために、この本に紹介されている Piano Trio と代表的なアルバムを整理してみた。Trio であるから、該当アルバムで共演しているベースとドラムスの奏者も合わせて記載して、一覧にしたのが下の表である。

 その後、Radio Senboku にアップロードするために、上の本に紹介されている以外のレコードも使ったので、それらも該当する Trio の欄に追記した。

Jazz Piano Trios
Pianists representative Albumrecordedbassdrums
Revised on Oct 2nd, 2012
Bill Evans
1929 - 1980
Portrait In Jazz 1959 Scott LaFaro Paul Motian
Waltz For Debby 1961
Sunday At The Village Vanguard 1961
How my heart sings! 1962 Charles Israels
At Shelly's Manne-Hole 1963 Larry Bunker
Bud Powell
1924 - 1960
Bud Powell Trio Plays 1947 Curly Russell Max Roach
A Portrait of Thelonious 1961 Pierre Michelot Kenny Clarke
Thelonious Monk
1917 - 1982
Thelonious Monk Trio 1952,54 Gary Mapp
Percy Heath
Art Blakey
Max Roach
Plays Duke Ellington 1955 Oscar Pettiford Connie Kay
The Unique 1956 Art Blakey
Oscar Peterson
1925 - 2007
We Get Requests 1964 Ray Brown Ed Thigpen
The Trio 1961
Girl Talk 1965-67 Ray Brown
Sam Jones
Louis Hayes
Bobby Durham
Wynton Kelly
1931 - 1971
Kelly at Midnite 1960 Paul Chambers Philly Joe Jones
The Best Of Wynton Kelly ----
Sonny Clark
1931 - 1963
Cool Struttin'
  Art Farmer(trp)
  Jackie McLean
1958 Paul Chamberrs Philly Joe Jones
Sonny ClarkTrio 1965
Tommy Flanagan
1930 - 2001
Overseas 1958 Wilbur Little Elvin Jones
Eclypso 1977 George Mraz
Kenny Drew
1928 - 1993
Kenny Drew Trio 1956 Paul Chamberrs Philly Joe Jones
Red Garland
1923 - 1984
Groovy 1956 Paul Chamberrs Art Taylor
At The Plerude 1959 Jimmy Rowser Specs Wright
Barry Harris
1929 -
Breakin' It Up 1958 Bob Cranshaw Clifford Jarvis
At The Jazz Workshop 1960 Sam Jones Louis Hayes
Phineas Newborn, Jr
1931 - 1989
World of piano 1961 Paul Chamberrs
Sam Jones
Philly Joe Jones
Louis Hayes
Here is Phineas 1958 Oscar Pettiford Kenny Clarke
Hank Jones
1918- 2010
Great Jazz Trio: At the Village Vanguard 1978 Ron Carter Tony Williams
Hank Jones Trio 1979 George Duviver Alan Dawson
Al Haig
1924- 1982
Invitation 1974 Rovere Gilbert Kenny Clarke
Al Haig Trio 1954 Bill Crow Lee Abrahams
Duke Jordan
1924- 1982
Flight To Denmark 1973 Mads Vinding Edmund Leonard Thigpen
Ray Bryant
1922- 2006
Ray Bryant Trio [1957] 1957 Ike Isaacs Specs Wright
Ray Bryant Plays 1959 Tommy Bryant Oliver Jackson
Hampton Hawes
1922- 2006
Hampton Hawes The Trio Vol. 1 1955 Red Mitchell Chuck Thompson
Andre Previn
1929 -
My Fair Lady 1964 Leroy Vinnegar Shelly Manne
Horace Parlan
1929 -
Us Three 1960 George Tucker Al Harewood
Duke Pearson
1932 - 1980
Tender Feelin's 1959 Gene Taylor Lex Humphries
Profile 1959
Herbie Nichols
1919 - 1963
Herbie Nichols Trio 1956 Teddy Kotick (tracks 6-8 & 10)
Al McKibbon (tracks 1-4 & 9)
Max Roach
Duke Ellington
1899 - 1974
Money Jungle 1962 Charles Mingus Max Roach
Art Tatum
1909 - 1956
Art Tatum Trio 1956 Red Callender Jo Jones
Ahmad Jamal
1930 -
Portfolio Of Ahmad Jamal 1958 Israel Crosby Vernell Fournier
Ramsey Lewis
1935 -
The In Crowed 1965 Eldee Young Isaac Holt
An hour with the Ramsey Lewis Trio 1959
Erroll Garner
1921 - 1977
Concert By The Sea 1955 Eddie Calhoun Denzil Best
Billy Taylor
1921 - 2010
Sleeping Bee 1969 BenTucker Grady Tate
A Touch Of Taylor 1955 Earl May Percy Brice
Junior Mance
1928 -
JUNIOR 1959 Ray Brown Lex Humphries
Ceder Walton
1928 -
Something For Lester
  as Ray Brown Trio
1977 Ray Brown Elvin Jones
Manhattan Afternoon 2009 David Williams Billy Higgins
Marian McPartland
1918 -
Marian McPartland At The London House 1958 Bill Britto Joe Cusatis
At The Hickory House 1955 Bill Crow Joe Morello
Claude Williamson
1926 -
Round Midnight 1958 Red Mitchell Mel Lewis
Salute to Bud 1954 Curtis Counce Stan Levey
Mal Waldron
1926 - 2002
Free At Last 1966 Isla Eckinger Clarence Becton
Set Me Free 1969 Barre Phillips Philly Joe Jones
Don Friedman
1935 -
Circle Waltz 1962 Chuck Israels Pete(La Roca)Sims
Bobby Timmons
1935 - 1974
This Here Is Bobby Timmons 1960 Sam Jones
(tr 1, 2 & 4-9)
Jimmy Cobb
(tr 1, 2 & 4-9)
Hugh Lawson
1935 - 1997
Prime Time 1977 Bob Cranshaw Ben Riley
Richard Wyands
1928 -
Then, Here And Now 1978 Lisle Atkinson David Lee
Harold Mabern
1936 -
Straight Street (yet) 1991 Ron Carter Jack DeJohnette
Monty Alexander
1944 -
Montreux Alexander  1976 John Clayton Jeff Hamilton
Walter Bishop Jr.
1927 - 1998
Speak Low 1976 JImmy Garrison G.T.Hogan
Walter Davis Jr.
1932 - 1990
Scorpio Rising 1989 Santi Debriano Ralph Peterson Jr.
Paul Bley
1932 -
Touching 1965 Kent Carter Barry Altschuk
Chick Corea
1941 -
Now He Sings, Now He Sobs 1968 Miroslav Vitous Roy Haynes
Herbie Hancock
1940 -
Maiden Voyage (The Rudy Van Gelder Edition) 1965 Ron Carter Tony Williams
Speak Like A Child 1968 Mickey Roker
McCoy Tyner
1938 -
Inception 1962 Art Davis Elvin Jones
Remembering John 1991 Avery Sharpe Aaron Scott
Steve Kuhn
1938 -
Watch What Happens 1968 Palle Danielsson Jon Christensen
Remembering Tomorrow 1968 David Finck Joey Baron
Richie Beirach
1947 -
Elegy For Bill Evans 1981 George Mraz Al Foster
Fred Hersch
1955 -
Heartsongs 1989 Michael Formanek Jeff Hirshfied
Kenny Barron
1943 -
Scratch 1985 Dave Holland Daniel Humair
People Time(Disc1,2) 1991 Sax: Stan Gets   
Benny Green
1963 -
Testifyin! Live At The Village Vanguard 1991 Christian McBride Carl Allen
FUNKY! 1997 Ben Wolfe Karriem Riggins
Cyrus Chestnut
1963 -
Dark Before The Dawn 1995 Steve Kirby Clarence Penn
Bill Charlap
1966 -
written in the stars 2000 Peter Washington Kenny Washington
'S Wonderful 1999
Geri Allen
1957 -
in the year of the dragon 1989 Charlie Haden Paul Motion
The Printmakers 1984 Anthony Cox Andrew Cyrille
Brad Mehldau
1970 -
the Art of the Trio volume one 1998 Larry Grenadier Jordi Rossy
introducing BRAD MEHLDAU 1995 track 1-5
Larry Grenadier
track 6-9
Christian McBride
track 1-5
Jordi Rossy
track 6-9
Brian Blade
Keith Jarrett
1970 -
Somewhere Before 1968 Charlie Haden Paul Motion
Life Between The Exit Sings 1967
Changeless 1987 Gary Peacock Jack Dejohnette

2011年10月 1日

隠居のMovable Type備忘録:ブログの記事に、MP3 Player を埋め込む 


 ブログの記事中に、小鳥のさえずりや虫の声などのMP3 ファイルを記載すると、小さな再生ボタンplay.JPGが表示されて、これをクリックすると音が聞こえてくるという JavaScript で作られた del.icio.us/js/playtagger を提供していたサービスページが閉じられてしまった。これは、URL のページHTML コードのどこかに(<head> 部分がリコメンドされているが)次のコードを挿入するだけでよかった。
<script type="text/javascript" src="http://del.icio.us/js/playtagger">
この playtagger という Javascript を運用してくれていたサイトが突如閉鎖したようでリンクが切れてしまった。非常に便利であったので残念である。
 それで、それに代るものをサーチしてみると【How to Embed MP3 Audio Files In Web Pages】というページがヒットした。
ここでは、Google と Yahoo! が提供するサービスが紹介されている。

Google Reader MP3 Player
 再生したい Mp3 ファイルを次のコードの中で指定すれば、ブログの中で MP3 が Windows Media Player などを介さずに再生される。
<embed type="application/x-shockwave-flash" flashvars="audioUrl=http://n-shuhei.net/xxxxxx/photo_insects/110923_tukutukuhousi.mp3" src="http://www.google.com/reader/ui/3523697345-audio-player.swf" width="400" height="27" quality="best"></embed>

  sample


Yahoo! Media Player
次のコードを URL の<head> 部分にでも一行書き入れ、
<script type="text/javascript" src="http://mediaplayer.yahoo.com/js"></script>

ブログの文中に、次のように MP3 file を指定すれば良い。del.icio.us/js/playtagger と同じ方式である。ただし、再生ボタンをクリックすると、下のスクリーンショットのような再生画面が表示される。右端の縮小ボタンで折りたためるが。
<a href="http://n-shuhei.net/xxxxx/photo_insects/110923_tukutukuhousi.mp3">ツクツクボウシ</a>

  sample
ツクツクボウシ
Yahoo_player.JPG

 上記以外にも、カスタマイズすることのできる Flash player を作成できる【MP3 Player】というサイトも見つかった。上の Google Rader MP3 Player とここで紹介されている Mp3 Player も Flash を使っている。
flash-mp3-player.net
コード例
<object type="application/x-shockwave-flash" data="http://flash-mp3-player.net/medias/player_mp3_button.swf" width="200" height="20">
    <param name="movie" value="http://flash-mp3-player.net/medias/player_mp3_mini.swf" />
    <param name="bgcolor" value="#0000ff" />
    <param name="FlashVars" value="mp3=http%3A//n-shuhei.net/xxxxxx/photo_insects/110923_tukutukuhousi.mp3" />
</object>

  sample

 Yahoo! の Javascript 方式を使えば、今までの記述を訂正しなくても良いので、これを使うことにした。Flash Player を使うとすべての MP3 file の記述を書き直す必要がある。Yahoo! なら、そう簡単に閉鎖をすることはあるまいと思っている。

関連エントリー
隠居のスマートフォン備忘録:(3)Xperia acro で音楽(mp3)を楽しむ

2011年9月11日

隠居の温泉旅行:白馬を中心にのんびりと(3)白馬ジャンプ競技場・栂池自然園


 9月3日、ノロノロ台風12号は10時ころようやく四国高知県東部に上陸したとのことである。長野県北部は、昨日と同じように雲が厚いどんよりした天気である。この分では、信州に滞在中は、好天に恵まれることはなさそうである。

大出の吊り橋;クリックすると大きな写真になります大出の吊り橋;クリックすると大きな写真になります 今日は近場の観光施設を回って、外湯めぐりでもしてみようということにした。観光パンフレットをみるとホテル近くの白馬大出地区にある吊り橋が、どうもスポットらしい。天気が良ければ、添付のスクリーンショットのように、白馬連峰が見えるはずだが、あいにくの天候で雲だけだった。


ジャンプ台展望テラス;クリックすると大きな写真になりますラージヒルスタート;クリックすると大きな写真になります 翌日一足早く列車で帰る娘の切符を買いに「白馬駅」によってから、長野オリンピックの時に造られたジャンプ台に行ってみた。ジャンプ台では、リフトとエレベータに乗り継いでスタート地点に登ることができる。ただ、ラージヒルのスタート台へは、下が透けて見える金網の急な階段を50段ほど登らなければならない。これには足がすくんだ。ほうほうの体でスタート台まで上がると白馬村が一望できる。天候が良ければ、きっと良い眺望だろうと少し残念である。
 ジャンプ台は、プラスティック素材を敷いて夏でも飛べるようにしてある。この日も、高校生らしき2人がノーマルヒルを飛んでいた。

 ここから、どこに行こうかと迷ったが、雨が降っていないうちに栂池自然園に行ってみることにした。台風12号の状況では、天候の回復は望めない。
 ジャンプ台から栂池高原のゴンドラ乗り場までは、スマホXperia acro で検索してみると30分足らずで、そんなに遠くはない。自然園までは、栂池パノラマウエィという4人乗りくらいのゴンドラリフトと大型ロープウェイを乗り継いで上がる。自然園への入園料込で往復3300円であるが、ジャンプ台のリフト券があると一割くらい安かった。ただ、天気の良い時と悪い時では価値が違うだろうから、悪天割引もあったらいいのにと思ってしまう。この栂池パノラマウエィについては、Studio YAMAKO さんの【雨の栂池自然園 7月28日】に詳しい。
 ゴンドラがどんどん上がるに連れて、雲の中をつっきっていくのか、全く視界がきかなくなった。自然園駅についたときは、雲の上にでたのか、少しは回りは見えるようになった。自然園駅から少し歩くとビジターセンターや栂池山荘、栂池ヒュッテがある。簡単な食事はここでできる。ビジターセンターからは木道が敷設されており、一部はバリアフリーとなっている。ワタスゲ湿原あたりまで行って、ぐるっと回って帰ってきた。天気が良ければ、もう少し歩いてみたかったのだが。
 ゴンドラ駅の終点で、一枚100円で売っていた、現在咲いている36種の花のA4写真集で、見たことのない花の名前を求めた。期待した鳥は、一羽のみ霧の中で姿を見せてくれたが、シルエットだけの写真では同定することが出来なかった。ホオジロの一種ではないかと思われる。
蝶も、ロープウエイの山上駅近くのシロヨメナに吸蜜していたヒカゲチョウのみであった。 帰り際に、栂池ヒュッテで飲んだホットコーヒーは、霧の中の散策疲れを癒してくれた。
ヤチトリカブト;クリックすると大きな写真になりますホオジロ??;クリックすると大きな写真になりますワタスゲ湿原あたりヒメキマダラセセリ;クリックすると大きな写真になります
ヤチトリカブトとシロヨメナ
栂池自然園
2011/9/3
ホオジロ??
栂池自然園
2011/9/3
ワタスゲ湿原あたり:防滴ビニールカバーでケラレをおこしている
栂池自然園
2011/9/3
シロヨメナにヒメキマダラセセリ
栂池自然園
2011/9/3


 観光案内では、白馬村に外湯がいくつかあることが紹介されている。地図に山麓にあるとされている「おびなたの湯」に車を走らせたが、川のほとりにあるほったて小屋のような施設である。景観ももう一つである。次に「第一郷の湯」というのも訪ねてみたが、町のスーパー銭湯のような雰囲気であった。結局、八方尾根が見える見晴らし良いホテルの温泉が一番良さそうだった。そういえば、ホテルの温泉も、昼間は一般に開放していて結構お客さんがあるようだ。このあたりの温泉では景色がいいところなのかもしれない。

2011年4月18日

隠居のMovableType備忘録:MT5 で lightbox2.05 を動かしてみる 

 限定メンバー用に、新しいサイトを MovableType5(MT5) で作成してみることにした。MT5 は基本的には、MT4 と変わらない。MT5 では、ブログだけでなくウェブページも管理しやすくなっているらしい。早速、【基本からしっかりわかる Movable Type 5】という参考書を購入して、これに倣ってトライしてみた。

 この本の Chapter 2 【Movable Type 5 のインストール】に書かれている通りに行うと、問題なくインストールできた。ただ、レンタル・サーバー(私の場合、xserver )で用意してくれているデータベースMysql はバージョン4から5に上げる必要がある。ここでの注意点は、3月27日の【隠居のMovableType:データベースをMySQL4 から MySQL5 へ】で記録した。

 MT4 で愛用している サムネイル画像をクリックするとWebブラウザ画面上に拡大画像を背景をフェードアウトして表示するためのプラグインである Lightbox を、MT5 でも使いたかったのでインストールした。少々のカスタマイズもしたので備忘録として記録しておきたい。
  • MT4 では、lightbox2.04 はうまく動作しなかったのでlightbox2.03 を使っている。開発元の Lokesh Dhakar のページに訪ねると、バージョンは 2.05 がこの3月18日にリリースされていた。これを導入するとすんなりと動いてくれた。
  • 導入の方法については、ググってみると最近は多くがヒットするが、前にもお世話になったページを参考に導入した。
  • そのページにもあるように、.css .js ファイルを MT5 のヘッダー部に挿入しなければならない。MT5 でも MT4 と同じように、各ブログのモジュールテンプレートの【ヘッダー】の </head> 直前に挿入した。
    <!-- lightbox2.05 -->
    <link rel="stylesheet" href="http://xxxxxxxxx.net/home/lightbox205/css/lightbox.css
    " type="text/css" media="screen" />
    <script src="http://xxxxxxxxx.net/home/lightbox205/js/prototype.js" type="text/javascript"></script>
    <script src="http://xxxxxxxxx.net/home/lightbox205/js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>
    <script src="http://xxxxxxxxx.net/home/lightbox205/js/lightbox.js" type="text/javascript"></script>

  • カスタマイズのひとつは、グループ表示するときに、拡大画像に表示される【PREV】【NEXT】【CLOSE X】ボタンを自分でデザインした に変更したことである。
     変えるのは、自分でデザインしたボタンを、lightbox2.05 の images フォルダーにある prevlabel.gif nextlabel.gif close.gif をファイル名をそのまま直接置き換えることでできる。
  •  MT で画像をアップロードする場合に Lightbox 使うためには、MT で生成されるコードに、title="" rel="lightbox[]" を挿入しなければならない。これをそのたびに挿入するのは面倒なので、MT の /cgi/mt/lib/MT/Asset フォルダーにある Image.pm ソース・プログラムの320行目あたりにある行を、青字のように変えた。これは、MT4 で実施した方法でうまくいった。これが、カスタマイズの2つ目である。
    # '<a href="%s"><img alt="%s" src="%s" %s %s /></a>',
    '<a href="%s" title="" rel="lightbox[]"><img alt="%s" src="%s" %s %s /></a>'

  • 背景色を変えるなどその他の細かいカスタマイズは、以下のページを参考にさせてもらった。


 

2011年2月19日

隠居の探鳥ウォーク:泉北ニュータウン栂地区で観察した水鳥をプロットしてみた

 【隠居のGoogle Maps: (続)Google Maps API を使って野鳥出現地点をカスタム・マーカーでプロットする】で記録した方法で、泉北ニュータウンなどで観察・撮りためた水鳥の撮影地点をプロットしてみた。(一部は除く) これは、【野鳥の写真サムネイル】の【大阪泉州の池・川などで撮った写真】に、【撮影地点地図】というボタンを置いて、これをクリックすると Google Map の形式で観察地点にカルガモ(水鳥を代表させている)マークが表示されるようにした。     

 先のエントリーでも記録しているが、この地図を作成するには、以下の項目を実施しなければならない。結構時間がかかる作業であるが、記録としては面白いのではないかと思っている。
  1. 掲載する写真を集めた Picasa のWeb Album を作成する。
    アップロードする写真は【野鳥の写真サムネイル】を参考にしながら、ソースからすでにレンタル・サーバーにアップしている写真のファイル名を選択する。
  2. Google Maps API の JavaScript に呼びこんでくる XML file を作成する。ここで必要なタグは、10進法の経度(lat)・緯度(ing)、表示する写真のファイル名(html)、場所名(label) である。
    私の場合、XMLnotepad でもととなるファイルを開き、新しい名前で保存する。
  3. 経度・緯度は、Web Album の写真の情報をC&P する。経度・緯度情報がない場合は、Google Map で撮影地点情報を取得し、Web Album にある該当写真に10進法の経度・緯度の場所情報を付加する。
  4. 表示する写真のファイル名は、【野鳥の写真サムネイル】のソースからC&P する。また、label の地名も【野鳥の写真サムネイル】のソースから取得する。
  5. 【撮影地点地図】となる Google Maps API のJavaScript を含むHTMLを作成する。(もととなるソースを新しい名前で保存する。) ソースをいじる箇所は、
    • 地図のタイトル名
    • 立てるマーカーの画像ファイル名
    • 地図の中心とする経度・緯度と縮尺
    • 呼びこんでくる XML file名
  6. 【野鳥の写真サムネイル】ソースHTMLに、地図を表示させるボタンを設置するコードを挿入する。
  7. このボタンをクリックすると、新しいウィンドウを開き【撮影地点地図】を表示する JavaScript を作成する。このJavaScript は、 ひとつの地図につきひとつの JavaScript が必要であり、【野鳥の写真サムネイル】ソースHTMLと同じフォルダー(サーバー)におき、【野鳥の写真サムネイル】ソースHTMLの<head> 部に JS file を呼びこんでくるコードを挿入する。


 このようにして作成した撮影地点地図は、水鳥だけでなく、【カワラヒワ】 【ホオジロ】 【ツグミ】 でも作成した。随時、時間を見て追加していく予定である。また、従来の地図に新しく撮った写真地点も追加する予定である。

2011年1月29日

隠居のGoogle Maps: (続)Google Maps API を使って野鳥出現地点をカスタム・マーカーでプロットする

 先にエントリーした【隠居のGoogle Maps: Picasa を使って野鳥出現地点をプロットする】の方法では、プロットする地点を追加しようとすると、そこで記録した 4. 以降のかなり厄介な作業を、一からやり直さなければならないことが分かった。これでは不便である。

 それで、もとに戻って、自由度の高い Google Maps API を応用することを再度試みることにした。右フレームにおいている【京都・滋賀・奈良近辺私的観光地図】のような方式に変えれば、XML ファイルに位置情報と写真へのリンクを追加するだけで、プロット地点を増やしていけることが分かっている。ただ、先のエントリーのように、プロット地点に立てるマーカーを鳥のアイコンにする方法が、乏しい知識ではなかなかわからなかった。マーカーを任意のものに変える方法は色々と紹介されているが、外部のXML ファイルを呼びこんでくるようなコードは紹介されていなかった。

 いろいろとトライしているうちに、どうやら使えそうにコードが、Google から紹介されているのを見つけた。このコードを応用して追加・訂正することで カスタム・マーカー ができたので、忘れないうちに記録しておくことにした。

 仕樣は【野鳥の写真サムネイル】の種別名欄に、【撮影地点地図】 というボタンを置き、これをクリックすると新しい画面が開き、小鳥のマーカーが地図上にプロットされる。このマーカーか、右フレームの地名をクリックすると、その地点で撮影した野鳥の写真が吹きだしに表示される仕組みである。
そして、ここが肝心なのだが、新しい写真とその撮影地点は、XML ファイルで容易に追加することができるようにしたことである。カワラヒワの撮影地点地図を例にとって、以下、順を追って記録する。

  1. まず、XML ファイルを呼びこんで地図にマーカーを立てるもととなる html コード(Google Maps API の JavaScript が含まれている。)を用意する。このオリジナルは、Google Maps API Tutorial からいただいたもので、【道東ドライブ:Google Maps API Traial_3】のエントリーで紹介している。
    このHTML コードの中で、使用している JavaScript は、以下のようなものである。
    
    <script type="text/javascript">
        //<![CDATA[
    
        if (GBrowserIsCompatible()) {
          // this variable will collect the html which will eventualkly be placed in the side_bar
          var side_bar_html = "";
        
          // arrays to hold copies of the markers and html used by the side_bar
          // because the function closure trick doesnt work there
          var gmarkers = [];
          var htmls = [];
          var i = 0;
    
          // A function to create the marker and set up the event window
          function createMarker(point,name,html) {
            var marker = new GMarker(point);
            GEvent.addListener(marker, "click", function() {
              marker.openInfoWindowHtml(html);
            });
            // save the info we need to use later for the side_bar
            gmarkers[i] = marker;
            htmls[i] = html;
            // add a line to the side_bar html
            side_bar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
            i++;
            return marker;
          }
    
          // This function picks up the click and opens the corresponding info window
          function myclick(i) {
            gmarkers[i].openInfoWindowHtml(htmls[i]);
          }
    
    
          // create the map
          var map = new GMap2(document.getElementById("map"));
          map.addControl(new GLargeMapControl());
          map.addControl(new GMapTypeControl());
          map.setCenter(new GLatLng( 43.745305,144.431763), 9);
    
    
          // Read the data from example.xml
          var request = GXmlHttp.create();
          request.open("GET", "http://n-shuhei.net/xxxx/xxx/trial.xml", true);
          request.onreadystatechange = function() {
            if (request.readyState == 4) {
              var xmlDoc = request.responseXML;
              // obtain the array of markers and loop through it
              var markers = xmlDoc.documentElement.getElementsByTagName("marker");
              
              for (var i = 0; i < markers.length; i++) {
                // obtain the attribues of each marker
                var lat = parseFloat(markers[i].getAttribute("lat"));
                var lng = parseFloat(markers[i].getAttribute("lng"));
                var point = new GLatLng(lat,lng);
                var html = markers[i].getAttribute("html");
                var label = markers[i].getAttribute("label");
                // create the marker
                var marker = createMarker(point,label,html);
                map.addOverlay(marker);
              }
              // put the assembled side_bar_html contents into the side_bar div
              document.getElementById("side_bar").innerHTML = side_bar_html;
            }
          }
          request.send(null);
        }
    
        else {
          alert("Sorry, the Google Maps API is not compatible with this browser");
        }
    
        //]]>
        </script>
    

    上のコードの赤字部分を、下のコードと置き換えれば、標準マーカーを小鳥のアイコン(この場合、カワラヒワのアイコン)で表示できることが分かった。この時、用いるイメージは、必ずしも .png ファイルだけではなく .gif ファイル、.jpg ファイルでもOKである。
    
    // Create birds marker icon
           var birdIcon = new GIcon(G_DEFAULT_ICON);
           birdIcon.image = "http://n-shuhei.net/Libraly/Icon/birds/kawarahiwa.gif";
           birdIcon.iconSize = new GSize(20, 34);
                    
    // Set up our GMarkerOptions object
           markerOptions = { icon:birdIcon };
    
    // A function to create the marker and set up the event window
          function createMarker(point,name,html) {
          var marker = new GMarker(point,birdIcon);
    

  2. このコードを入れた JavaScript は以下のようになる。
    
    <script type="text/javascript">
        //<![CDATA[
    
        if (GBrowserIsCompatible()) {
    // this variable will collect the html which will eventualkly be placed in the side_bar
        var side_bar_html = "";
        
    // arrays to hold copies of the markers and html used by the side_bar
    // because the function closure trick doesnt work there
        var gmarkers = [];
        var htmls = [];
        var i = 0;
    
    // Create birds marker icon
        var birdIcon = new GIcon(G_DEFAULT_ICON);
         birdIcon.image = "http://n-shuhei.net/xxxxxxx/Icon/birds/kawarahiwa.gif";
           birdIcon.iconSize = new GSize(20, 34);
                    
    // Set up our GMarkerOptions object
           markerOptions = { icon:birdIcon };
    
    // A function to create the marker and set up the event window
        function createMarker(point,name,html) {
        var marker = new GMarker(point,birdIcon);
         GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
            });
    
    // save the info we need to use later for the side_bar
        gmarkers[i] = marker;
        htmls[i] = html;
    
    // add a line to the side_bar html
        side_bar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
            i++;
        return marker;
          }
    
    // This function picks up the click and opens the corresponding info window
        function myclick(i) {
            gmarkers[i].openInfoWindowHtml(htmls[i]);
          }
    
    // create the map
          var map = new GMap2(document.getElementById("map"));
          map.addControl(new GLargeMapControl());
          map.addControl(new GMapTypeControl());
          map.setCenter(new GLatLng(34.48675,135.490608),14);
    
    // Read the data from example.xml
          var request = GXmlHttp.create();
          request.open("GET", "http://n-shuhei.net/atelier/xxxxx/xxxxxxxx/API_kawarahiwa.xml", true);
          request.onreadystatechange = function() {
          if (request.readyState == 4) {
          var xmlDoc = request.responseXML;
    // obtain the array of markers and loop through it
          var markers = xmlDoc.documentElement.getElementsByTagName("marker");
              
          for (var i = 0; i < markers.length; i++) {
    // obtain the attribues of each marker
                var lat = parseFloat(markers[i].getAttribute("lat"));
                var lng = parseFloat(markers[i].getAttribute("lng"));
                var point = new GLatLng(lat,lng);
                var html = markers[i].getAttribute("html");
                var label = markers[i].getAttribute("label");
    // create the marker
                var marker = createMarker(point,label,html);
                map.addOverlay(marker);
              }
    
    // put the assembled side_bar_html contents into the side_bar div
              document.getElementById("side_bar").innerHTML = side_bar_html;
            }
          }
          request.send(null);
        }
    
        else {
          alert("Sorry, the Google Maps API is not compatible with this browser");
        }
    
        //]]>
        </script>
    

  3. 上の JavaScript で青色文字で示したのは、以下の3箇所である。
    • マーカーに使うアイコン
    • 地図の中心となる経度・緯度と地図の縮尺の大きさ
    • 呼びこんでくる XML ファイル
    この3箇所は作成する地図ごとに書き換えねばならない。
  4. 呼びこんでくる XML ファイルには、
    • マーカーを立てる位置(経度・緯度)
    • リンクする写真のサーバー内のありか
    • ラベル(地図の右フレームに表示する地名)
    をリストする必要がある。このファイルの編集には、私は XML Notepad というソフトを使っている。duplicate 機能があるので楽ちんである。
  5. マーカーを立てる経度・緯度の値は10進法でなければならない。これは、【隠居のGoogle Maps: Picasa を使って野鳥出現地点をプロットする】で記載した方法(2. および 3.)のように Picasa のウェブアルバムで行うと、アルバムにある写真をクリックすると、右フレームに10進法の経度・緯度が表示される。
     Picasa の写真プロパティで表示される EXIF では、表示は 60進法になっている。 Picasa のウェブアルバムの助けを借りるのは、そのためである。
  6. リンクする写真のありか(例えば、 http://n-shuhei.net/xxxx/xxxx/xxxxx.jpg )は、【野鳥の写真サムネイル】で、種別表示をして写真サムネイルの下に表示されているリンク先のエントリーのソースからコピーしてくる。これが、少々煩わしいが、仕方ない。なにかいい方法がないか考えてみたい。
     このようにして作成した小鳥マーカーが表示された地図のサンプルは、以下である。
     Example:
  7. 【野鳥の写真サムネイル】の種別名欄に、【撮影地点地図】 というボタンを置き、これをクリックするとこの地図が、新しい Window で開くようにするために、下のような別の JavaScript を使っている。
    // POPUP Window
    
    function open_win_kawarahiwa(){
    window.open("http://n-shuhei.net/atelier/xxxxx/xxxxxxxxx/API_kawarahiwa_m.htm","","
    menubar=no,toolbar=no,location=yes,status=yes,scrollbars=yes,resizable=yes,
    width=950,height=600,left=50,top=50"); }

    この JavaScripr ファイルを、【野鳥の写真サムネイル】の、種別表示をしているページのHTML の <head> 部分に次のように読み込み、
    <script type="text/javascript" src="http://n-shuhei.net/atelier/xxxxx/xxxxxxxxx/pup_kawarahiwa.js"></script>
    、【撮影地点地図】 というボタンをクリックすると地図が新しい window に開くように、<body> 部の適切な位置に、次のコードを置いた。
    <input type="button" value="撮影地点地図" onClick="open_win_kawarahiwa()">

  8. 作成した地図は、まだカワラヒワだけであるが、順次時間を見て増やしていきたいと思う。泉北ニュータウンのごく限られた地域ではあるが、記録としては面白いのではないかと思っている。
     カワラヒワのプロット地図

2010年12月30日

The 30 Greatest Jazz Trumpet / Cornet Players!

 WAER(なんと発音するんでしょうね) というサイトに【The 30 Greatest Jazz Trumpet / Cornet Players!】というページがある。どうやら、WAER というサイトは、ニューヨーク シラキュース市にある周波数 88.3 のFM ラジオ局らしい。30人のアーティストは、このFM ラジオ局のリスナーとスタッフが選んだものだ。
 この30人のアーティストの活動時期を Wikipedia または eMusic で検索して、活動を始めた時期の古い順にリストしてみた。
 これらのアーティストの演奏曲122曲(13時間17分)を選んで、Radio Senboku で、2011年1月から当分の間放送しようと思っている。
 曲目など Playlist は右リストの【Radio Senboku Playlist】をクリックすると得ることができる。

The 30 Greatest Jazz Trumpet / Cornet Players!
ArtistBornDiedActive YearsOriginal
Revised on Dec. 31, 2010
King Oliver 1885 1938 1910s - 1930s Aben, Louisiana
Louis Armstrong 1901 1971 1914-1974 New Orleans, Louisiana
Wild Bill Davison 1906 1989 1920s - 1960s Defiance, Ohio
Cootie Williams 1911 1985 1920s-1970s Mobile, Alabama
Bix Beiderbecke 1903 1931 1924-1931 Davenport, Iowa
Roy Eldridge 1911 1989 1930s--1980s Pittsburgh, Pennsylvania
Harry "Sweets" Edison 1915 1999 1930s - 1990s Columbus, Ohio
Dizzy Gillespie 1917 1993 1935-1993 Cheraw, South Carolina
Harry James 1916 1983 1937-1983 Albany, Georgia,
Maynard Ferguson 1928 2006 1939-2006 Verdun, Quebec, Canada
Kenny Dorham 1924 1972 1940s - 1970s Fairfield, Texas
Red Rodney 1927 1994 1940s-1970s Philadelphia, PA
Ruby Braff 1927 2003 1940s--2000s Boston, Massachusetts
Fats Navarro 1924 1950 1943-1950 Key West, Florida
Conte Candoli 1927 2001 1943-2001 Mishawaka, Indiana
Miles Davis 1926 1991 1944-1975
1980-1991
Alton, Illinois
Clifford Brown 1930 1956 1946?-1956 Wilmington, Delaware
Clark Terry 1920 ---- 1947-- St. Louis, Missouri
Blue Mitchell 1930 1979 1950s-1970s Miami Florida,
Al Hirt 1922 1999 1950s-1990s New Orleans, Louisiana
Art Farmer 1928 1999 1950s-1990s Verdun, Quebec, Canada
Nat Adderley 1931 2000 1950s-1990s Tampa, Florida
Donald Byrd 1932 ----- 1950s---- Detroit, Michigan
Chet Baker 1929 1988 1952-1988 Yale, Oklahoma
Freddie Hubbard 1928 2008 1958-2008 Indianapolis, Indiana
Lee Morgan 1938 1972 1960s,1970s Philadelphia, Pennsylvania
Woody Shaw 1944 1989 1960s-1980s Laurinburg, NC; Newark, NJ
Arturo Sandoval 1949 ----- 1977- Artemisa, Cuba
Wynton Marsalis 1961 ----- 1980---- New Orleans, Louisiana
Roy Hargrove 1969 ----- 1987 --- Waco, Texas

2010年9月 5日

隠居のパソコン備忘録:(続)LP をデジタル(MP3)化して、音楽CD にする

 前回備忘録として記録した方法は、roxio Easy Media Creator という結構高価な有料のソフトを使っている。その後 ネットでサーチしてみると、フリーウエアを何種類か使ってできることがわかった。

 フリーウェアのパソコン・ソフトを使って、LP をデジタル(WAV or MP3)化する方法については、パソコン夢工房というサイトのカセットテープ・LPレコードから音楽を取り込むというページに詳しいので、詳細はそちらを参考にしていただくことにして、注意すべきことがらだけ記載しておきたい。

  1. LPを再生する装置(オーディオ装置)とパソコンをつなぐ。
    ネットでの音をオーディオ装置で聴いている人は、その接続とは逆のパソコン(入力) オーディオ装置(出力)のラインをつくることである。LP を聴けるようなオーディオ装置には、たいてい出力のジャックがあると思う。
  2. Sound Engine Free というフリーソフトを使って、デジタル録音する。このソフトでのデジタル化は、.wavという形式のファイルとなる。
    Sound Engine Free のダウンロード・ページには、【AVS Audio Editor】 を「今すぐダウンロードする」というボタンが大きく表示されるが、それをダウンロードするのではなくて、上のリンクページの中程にあるアンダーラインつきの青い文字 【SoundEngineFree】をクリックすればダウンロード出来る。
  3. カセットテープ・LPレコードから音楽を取り込むのページでは、カセットテープからのデジタル化が例示されているが、これをLP と置き換えればよい。
    最近のターンテーブルは自動でレコード針をLPに落とすと思うので、ターンテーブルを動かしてから、録音開始ボタンをクリックすればよい。
    録音後波形を見ながら編集できるので、曲の切れ目を気にせず、レコードが終わるまで流しぱなしの方が処理がやりやすいと思う。
    パソコン夢工房での記載では触れていないが、録音先のフォルダーは、初期設定のままではなしに、自分で設定したほうが良いと思う。後ほどに、いろいろと使用するのでフォルダーを探す手間を省きたい。下のような設定画面は、Sound Engine Free の上段にある【録音】ボタンの横にある【フォルダー】ボタンをクリックすると出てくる。SoundE_05.JPG
  4. LP から録音し終わった WAV ファイル を、一曲ごとに分割する。
    分割するには、波形を見て分割する場所にマークを入れるが、マークを入れやすいように波形の長さは上段のツールアイコンにある【拡大】【縮小】で長さを調整できる。また、マークを入れる場所の確認のために、入れたい場所の前後を再生して確認できる。このとき、オーディオ装置との接続状態は パソコン【出力】 オーディオ装置【入力(大抵の場合は line )】である。
    また、LP レコード・ケースなどに一曲ごとの演奏時間を記載している場合が多いから、それを参考にして分割する部分は探せる。
  5. 分割保存すると WAV の形式で保存されるが、一曲ずつの容量は大きい。耳の肥えた人には WAV 形式の方がいいらしいが、10分の1くらい圧縮される MP3 形式で普通に聴くぶんには十分と思う。
    また、MP3 へ変換することで、後で記載するように曲の情報(ID3 タグ)を附加することができる。
    MP3 への形式変換には、午後のこ?だ】というフリーソフトを使う。設定は、初期設定のままで問題はないと思う。
    LP一枚分くらいの変換は、すぐに終了する。 wingogo_1.JPG
  6. 以上の作業を済ませると Windows Media Player を使って音楽CD に書き込むことができるが、できるなら曲の情報(ID3 タグ)を書き込んでおきたい。
    そのことによって、自分の音楽ファイル・データベースである Windows Media Player Libraly での活用範囲が増えてくる。
    ID3タグ情報を書き込むフリーのソフトはいろいろとあるようだが、英語版のID3-TagIT というソフトを使ってみた。ダウンロード・ページで、【Download Now(1.26MB)】をクリックすると ID3-TagIT-setup.exe というファイルがダウンロードされるので、これを実行すれば ID3-TagIT.exe という名前でインストールされる。
  7. この ID3-TagIT には、さまざまな機能が用意されているが、とりあえず Artist: Album: Genre: Track#: を附加することにしたい。
    ID3-TagIT を立ち上げると下の画面のように、左フレームにおなじみのフォルダー表示が出てくるので、ここから【午後のこ?だ】で保存したフォルダーを選択する。 すると、そのフォルダーに保存された MP3 ファイルが表示されるので、情報を附加するファイル(曲)を選択する。
    ID3-TagIT 画面;クリックすると大きな写真になります
  8. LP一枚分全曲の同じ情報(例えば、Album名、Artist名、Genre、レコード発刊年など)は、まとめて入力できる。Artist: Album: は右フレームの Quick Edit で入力できるが、その下の【More】ボタンをクリックすると下のような詳細入力画面がでてくるので、この画面で入力すればよい。このとき、Genre はリストから選択し、【Add Genre】をクリックすれば、タグ(情報)に附加される。
    ID3-Tag_2.JPG
  9. 曲名(Title)を入力するときは、個個に該当ファイルを選択して入力する。入力を完了して保存すれば、タグ情報が附加される。
    (追記:2010/9/9)ID3-TagITでは、これらのタグ情報を使って、ファイル名を一括変更することができる。 ID3-Tag_12.JPG
    変更するには、変更したいファイルを選択し、ツール・アイコンの右端にあるアイコン【TAG Ver. 2 to filename】をクリックするか、【Ctrl】+【R】キーを押すと、変更の設定画面がでてくるので、その指定にしたがい意図するファイル名を設定する。
    私の場合、一枚のLP分を一括変換しているので、【Format】に、< T > (Title)だけを設定した。するとファイル名は、曲名(Title)だけが表示されるようになる。
    ID3-Tag_6.JPG
    ↓   ↓   ↓

    ID3-Tag_9.JPG
    ↓   ↓   ↓
    ID3-Tag_7.JPG
  10. このように保存したファイルを Windows Media Player(WMP) Libraly に登録する(登録しないとWMP で音楽CD に取り込みができない)には、【Windows Media Player ライブラリに項目を追加する】を参照してください。先ほど保存したファイルを再生すれば、自動的に WMP Libraly に追加されるようです。
    MP3化した追加後のLPアルバムを表示すると下のような画面になる。
    ID3-Tag_3.JPG
  11. 音楽CD に焼き付ける前に、【MP3GainによるMP3ファイルの音量一括調整】に記載の方法で、音量調整をしておきたい。
    ただ、 WMP にも書き込みの設定で音量調整をする機能はあるようだ。
  12. 音量調整を終えたら、WMP でアルバムを表示させて、【書き込み】ボタンをクリックし、右フレームにファイルをドラッグアンドドロップして、【書き込み開始】ボタンをクリックすれば、書き込みが始まる。空CDは、1枚20円くらいで売っている普通のCD で大丈夫である。
    書き込み方法については、【隠居のパソコン備忘録:LP をデジタル(MP3)化して、音楽CD にする(再)】のエントリーでもう少し詳しく記載している。


2010年8月22日

Jazz Pianists List

Jazz Pianists
ArtistBornDiedActive YearsOriginal
Revised on Aug. 10, 2010
Duke Ellington 1899 .1974 1914-1974 Washington, D.C.
George Gershwin 1898 .1937 1910s - 1930s Brooklyn, New York
Count Basie 1904 1984 1924-1984 Red Bank, New Jersey
Earl Hines 1903 1983 1920s-1960s Duquesne, Pennsylvania
Mary Lou Williams 1910 1981 1920s - 1980s Atlanta, Georgia
Teddy Wilson 1912 1986 1920s - 1980s Austin, Texas
Sun Ra 1914 1993 1934-1993 Birmingham, Alabama
Skitch Henderson 1918 2005 1937-2005. Halstad, Minnesota
Marian McPartland 1918 ---- 1938-present Slough, England
Carmen Cavallaro 1913 1989 1930s-1950s New York, NY
Art Tatum 1909 1956 1930s-1950s Toledo, Ohio
Little Brother Montgomery 1906 1985 1930s--1970s Kentwood, Louisiana
Stan Kenton 1911 1979 1930s-1970s Wichita, Kansas
Charles Thompson 1918 ----- 1930s-N.A. Springfield, Ohio
Bud Powell 1924 1966 1944-1965 New York City, U.S.
Linton Garner 1915 2003 N.A. Greensboro, North Carolina
Erroll Garner 1921 1977 1944-1974 Pittsburgh, Pennsylvania
Hank Jones 1918 2010 1944-2010 Vicksburg, Mississipp
Oscar Peterson 1925 2007 1945-2007 Montreal, Quebec, Canada
Toshiko Akiyoshi 1929 ----- 1946-present Beppu and Tokyo, Japan
George Shearing 1919 .---- 1947-present Battersea, London, UK
Ellis Marsalis 1934 ----- 1949-Present New Orleans, Louisiana
Don Ewell 1916 1983 1940s-1970s Baltimore, Maryland
Thelonious Monk 1917 1982 1940s-1960s Rocky Mount, North Carolina
Al Haig 1924 1982 1940s-1970s Newark, New Jersey.
Joe Bushkin 1916 2004 1940s -- 1980s New York, NY
Jimmy Rowles 1918 1996 1940s -- 1980s Spokane, Washington
George Wallington 1924 1993 1940s-1980s Palermo, Italy
Dorothy Donegan 1916 1998 1940s-1990s Chicago, IL
Duke Jordan 1922 2006 1940s-1990s New York, NY
Dave McKenna 1930 2008 1940s-1990s Woonsocket, RI
Bob Florence 1932 2008 1940s-2000S Los Angeles
Dave Brubeck 1920 ---- 1940s-present Concord, California
Gerald Wiggins 1922 2008 1940s-2000s New York City
Billy Taylor 1921 ----- 1940s-current Greenville, North Carolina
Barbara Carroll 1925 ---- 1940s---- Worcester, Massachusetts
Ralph Sharon 1923 ----- 1940s-present London, England
Andre Previn 1929 ---- 1940s-current Berlin, Germany
Buddy Montgomery 1930 ---- 1940s-present Indianapolis, Indiana
Sonny Clark 1931 1963 1951-1963. Herminie, PA
John Williams 1932 ---- 1952 - present Long Island, New York
Vince Guaraldi 1928 1976 1953-1976 San Francisco, California
Johnny Costa 1922 1996 1955-1996 Arnold, Pennsylvania
Gene Harris 1933 ----- 1955 - 2000 Benton Harbor, Michigan
Abdullah Ibrahim 1934 ---- 1955-present Cape Town, South Africa
Monty Alexander 1944. ---- 1958-present Kingston, Jamaica
Bobby Troup 1918 1999 1950s-1960s Harrisburg, PA
Elmo Hope 1923 1967 1950s-1960s New York, NY
Walter Bishop, Jr. 1927 1998 N.A. Harlem
Red Garland 1923 1984 1950s-1970s Dallas, TX
Lennie Tristano 1919 1978 1950s-1970s Chicago, IL
Hampton Hawes 1928 1977 1950s-1970s Los Angeles, California
Phineas Newborn, Jr. 1931 1989 1950s-1970s Whiteville, Tennessee
Wynton Kelly 1931 1971 1950s--1970s Brooklyn
Bobby Timmons 1935 1974 1950s-1970s Philadelphia
John Bunch 1921 2010 1950s-1980s Tipton, Indiana
John Eaton 1934 ---- 1950s-1980s Washington D.C.
James Booker 1939 1983 1950s-1980s New Orleans, Louisiana
Dick Wellstood 1927 1987 1950s-1980s Greenwich, CT
Bill Evans 1929 1980 1950s-1980s Plainfield, New Jersey
Clare Fischer 1928 ---- 1950s - 1990s Durand, MI
Walter Norris 1931 ------ 1950s--1990s Little Rock, AR
Pete Jolly 1932 2004 1950s-1990s New Haven, Connecticut
Bobby Enriquez 1943 ----- 1950s-1990s Bacolod City, Philippines
Russ Freeman 1926 2002 1950s - 1980s Chicago, IL
Mal Waldron 1925 2002 1950s-2000s New York City
Kenny Drew 1928 1993 1950s-1990s New York, NY
John Hicks 1941 2006 1950s-2000s Atlanta, Georgia
Ray Bryant 1924 ----- 1950s - present Philadelphia, Pennsylvania
Randy Weston 1926 ----- 1950s - Present Brooklyn, New York
Junior Mance 1928 ---- 1950s-present Evanston, Illinois
Barry Harris 1929 ---- 1950s-present Detroit, Michigan
Johnny Varro 1930 ---- 1950s-present Brooklyn, New York
Roger Kellaway 1939 ----- 1950s - present Waban, Massachusetts
Ahmad Jamal 1930 ---- 1950-present Pittsburgh, Pennsylvania
Horace Parlan 1931 ----- 1950s-present Pittsburgh, Pennsylvania
Cedar Walton 1934 ---- 1950's - present Dallas, Texas
Kenny Barron 1943 ---- 1950s-present Philadelphia
McCoy Tyner 1938 ----- 1960-present Philadelphia, Pennsylvania
Herbie Hancock 1940 ----- 1961-present Chicago, Illinois
Manfredo Fest 1936 1999 1962-1997 Brazil
Bob James 1939 ----- 1962-present Marshall, Missouri
Adam Makowicz 1940 ---- 1965-present Polish
Chick Corea 1941 ---- 1966 - present Chelsea, Massachusetts
Keith Jarrett 1945 ---- 1966 - present Allentown, Pennsylvania
Peter Nero 1934 ----- 1960s-1970s Brooklyn, New York
Tommy Flanagan 1930 2001 1960s-1980s Detroit, Michigan
Bob Degen 1944 ----- 1960s-1990S Scranton, Pennsylvania
Les McCann 1935 ---- 1960s-present Lexington, Kentucky
Mike Wofford 1938 ---- 1960s-present San Antonio, Texas,.
Steve Kuhn 1938 ---- 1960s-present Brooklyn, New York City
Charles Gayle 1939 ---- 1960's - present Buffalo, NY
Stanley Cowell 1941 ---- 1960s-present Toledo, Ohio)
George Cables 1944 .----- 1960s - present New York City
Jessica Williams 1948 ---- 1960s -- present altimore, Maryland
Dick Hyman 1927 ----- 1970s-1990s New York, New York
Tommy Banks 1936 ----- 1970s-1990s Calgary, Alberta,Canada
Alan Broadbent 1947 ---- 1974-current Auckland, New Zealand.
Kirk Lightsey 1937 ---- 1970s-1990s Detroit, Michigan
Hal Galper 1938 ----- 1970s-1990s Salem, Massachusetts
Tom Coster 1941 ----- 1970s-1990s Detroit
Dave Frishberg 1933 ---- 1970s-present Saint Paul, Minnesota
Andy LaVerne 1947 ---- 1970s-current New York City
Kenny Werner 1951 ---- 1970s-present Brooklyn, NY
Alan Pasqua 1952 ---- 1970s-current Roselle Park, New Jersey
Wayne Horvitz 1955 ------ 1970s--present Seattle, Washington
Mike LeDonne 1956 ---- 1970s-present Bridgeport, Connecticut.
Billy Childs 1957 ----- 1970s-current Los Angeles.
Jesse Green 1971 ---- 1970s-present United States
Clive Lythgoe 1927 2006 1980s - 2000s Colchester, Essex,UK
Michel Petrucciani 1962 1999 1980s Orange, France
Misako Kano N.A. ---- 1980s-1990s Japan
Eric Watson 1955 ----- 1980s--Current Wellesley, MA
Fred Hersch 1955 ---- 1980s---- Cincinnati, OH
Michel Camilo 1954 ----- 1980s-present Santo Domingo, Dominican Republic
Laszlo Gardony 1956 ---- 1980s-present Hungary
Ted Rosenthal 1959 ----- 1980s-present Great Neck, Long Island
Jan Lundgren 1966 ---- 1986?-present Kristianstad, Sweden
Benny Green 1963 ---- 1980s---- New York City
Joe Krown N.A. N.A. 1980s-present Westbury, Long Island, New York
Big Tiny Little 1930 2010 1990s Worthington, Minnesota
Christian Jacob 1958 ---- 1990s - present Lorraine, France
Mike Jones 1962 ---- 1990s-present N.A.
Carsten Dahl 1967 ---- 1990s---- Danish
Eric Reed 1970 ----- 1990s--Current Philadelphia, Pennsylvania
Taylor Eigsti 1984 ----- 1990s-present Menlo Park, CA
Frank Hewitt 1935 2002 2000s Queens
Mark Levine 1938 ---- 2000s-present Concord, NH
European Jazz Trio 1967 ---- 2000s-- The Hague, Netherlands
Michael Allen Harrison N.A. ----- N.A.-present Portland,

2010年7月 4日

隠居のブログ:アクセスカウンターを変更

 MT でブログを始めた頃、レンタルサーバーは lolipop を使っていた。容量が足りなくなってきて、2008年5月、その当時安かったディスク容量 3GB で月額 1050円の Xserverに鞍替した。(現在は、40GB 月額¥1050)
 その当時から、アクセスカウンターは lolipop のサービスを使わせてもらっていた。Xserver に変更してからも、そのカウンターは機能していたのでそのままにしていたが、先日突如カウンターが表示されなくなった。サーバーの契約はとっくに終わっているのだから文句をいう筋合いではない。それで、アクセスカウンターを変えることにした。

 Xserver にもアクセスカウンターのサービスはあるが、単純に累計を表示するだけだし、自分でデザインなどを変更できないのであまり面白くない。
 ネットでググってみるとフリーのサービスがゴマンとある。その中から、私のサイトで運営している Studio YAMAKO, Masajii's Blogに使っている Kent webカウンターを設置してみることにした。この中にある累計と昨日・今日の訪問者を表示する daycounter をインストールすることにした。このカウンターは自由度は高いが、CGI プログラムなので少し敷居が高かった。歳をとってすぐに手順を忘れるので、備忘録として記録しておきたい。詳しくは上のページ(日計カウンタの設置方法)にあるが、私がインストールした手順は次のとおりである。
  1. daycount ver. 2.7(daycount.zip) をダウンロードして、LHUT32 を使って解凍した。
  2. 解凍すると、以下のファイルが展開されるので、daycount という新しいなフォルダーを作り、そこに格納した。
     daycount.cgi
     daycount.dat
     gifcat.pl
  3. 次に、2組の0?9までのカウンタ画像(GIFファイル)を用意しなければならない。私は、上のページで紹介されている海外サイトである【Digit Mania】からいただいた。Top ページの Places To Go の一番上にある Contents をクリックするといろいろな種類のGIFファイルが表示されている。私は、Arial Italic Small を選択し、クリックするとダウンロードのページが開くので、PKZiped をクリックして zip ファイルをダウンロードした。これを解凍すると下の図の左のようなファイル名となるので、これをdaycount の仕樣に合うように、右のようなファイル名に変更する必要がある。
    gousei.JPG
    ファイル名の変更には、Renamin.exe を使って一括変更したが、もちろん1ファイルずつ名前変更してもできる。
  4. 私の場合、同じ数字GIFファイルを累計カウントにも、今日・昨日のカウントにも使ったので、gif1, gif2 というフォルダーを daycount フォルダーの下に作り、ここに先程の名前変更後の数字GIFファイルをそれぞれ収めた。
  5. 次に、daycount.cgi をエディタ(私の場合、【秀丸】)で開いて、 総カウント数の桁数 を、前のカウンタ累計数は正確に記憶していないが、35万台になっていたように思うので、6桁に変更した。Perl のパスなど他の設定は、初期値のままにした。 総カウント用GIF画像のディレクトリへのパスなどは迷ったが、初期値のままでOK だった。
  6. 前のカウンタ累計数を引き継ぐために、正確ではないが、Xserver のカウンターで示していた 360625 から始めることにした。この設定は、daycount.dat ファイルを開くと、 15<>0<>0<>0<><> となっているので、15<>0<>0<>360625<><> とすればよい。
  7. このように設定した daycount ローカルフォルダを、FTP ソフト(私の場合、FFFTP )で、/public_html の下に、アップロードした。
    daycount フォルダーの置き場所を間違って気づくのにずいぶん時間がかかった。私の場合、同じドメインに3つのMT ブログを設置しているのだが、今回カウンターの設置はそのうちのひとつだったので、そのサイトのルートに置けばよいと早合点してしまっていた。
  8. アップロードして、各ファイルのパーミッション(FFFTP では属性)を、Xserver の場合、
     daycount.cgi 【705】
     daycount.dat 【606】
     gifcat.pl 【604】
    とした。
  9. ここまで設定すると、cgi が正常に動くかをチェックできる。ブラウザのURL欄に、http://..(略)../daycount.cgi?check というように check という引数を付けて daycount.cgi を起動してみて、正常に動けば次のような画面が表示される。
    cgi_check.JPG
  10. あとは、カウントしてもらうサイトのホームページに、元のコードを少しいじって、次のようなHTMLコード を貼りつけた。私のブログの場合(MT4 小粋空間のテンプレート使用)、テンプレートモジュールのサイドバーテンプレートに貼り付けている。
    <!-- Kent Counter -->
    <table>
    <tr><td>累計: </td><td><table border=1><tr>
          <td><img src="http://n-shuhei.net/daycount/daycount.cgi?gif"></td>
        </tr></table>
      </td></tr>
    </table>
    本日:<img src="http://n-shuhei.net/daycount/daycount.cgi?today">  昨日:<img src="http://n-shuhei.net/daycount/daycount.cgi?yes">
    


 この日計カウンタは、複数ページに設置することはできないので、Studio YAMAKO, Masajii's Blogとは、従来どおりの dream counter で続けたい。
 アクセス解析については、Reasearch Artisan Lite を導入している。この解析結果ログをうまく処理すれば、アクセスカウンターを表示できるはずであるが、これを実施するには相当な学習とそのための時間が必要である。古希が近づいた老人にはいささか辛い。

2010年5月23日

Notable musicians identified with bebop

bebop notable musicians
ArtistBornDiedActive YearsInstruments
Revised on May 23rd, 2010
Charlie Christian 1916 1942 1930s-1940s guitar
Don Byas 1912 1972 1930s-1960s tenor saxophone
Kenny Clarke 1914 1985 1930s-1980s drums
Howard McGhee 1918 1987 1930s-1980s trumpet
Dizzy Gillespie 1917 1993 1935--1993 trumpet
Charlie Parker 1929 1955 1937-1955 tenor and alto sax
Sadik Hakim 1919 1983 1939-1982 piano
Fats Navarro 1923 1950 1940s - 1950s trumpet
Tadd Dameron 1917 1965 1940s-1960s piano
Dodo Marmarosa 1925 2002 1940s-1960s piano
Thelonious Monk 1917 1982 1940s - 1960s piano
Kenny Dorham 1924 1972 1940s--1970s trumpet
Lucky Thompson 1924 2005 1940s--1970s tenor sax
Al Haig 1924 1982 1940s-1970s piano
Red Rodney 1927 1994 1940s-1970s trumpet
Art Pepper 1925 1982 1940s-1980s alto sax
Tommy Potter 1918 1988 1940s-1980s bass
Sonny Stitt 1924 1982 1940s--1980s tenor and alto sax
George Wallington 1924 1993 1940s-1980s piano
Billy Eckstine 1914 1993 1940s-1990s singer & bandleader
Milt Jackson 1923 1999 1940s-1990S vibes
Duke Jordan 1922 2006 1940s--1990s piano
John Lewis 1920 2001 1940s-1990s piano
Ray Brown 1926 2002 1940s--2000s bass
Max Roach 1924 2007 1940s-2000s drums
Lee Konitz 1927 ---- 1940s-- alto sax
Sonny Rollins 1930 ---- 1940s--- tenor sax
Wardell Gray 1921 1955 1940-1955 tenor sax
Dexter Gordon 1923 1990 1940 - 1986 tenor sax
Herb Ellis 1921 2010 1941-1998 guitar
Oscar Pettiford 1922 1960 1942-1960 bass
Stan Levey 1926 2005 1942 - 1973 drums
Sarah Vaughan 1924 1990 1942-1989 singer
Art Blakey 1919 1990 1942-1990 drums.
J. J. Johnson 1924 2001 1942-1996 trombone
Joe Pass 1929 1994 1943-1994 guitar
Bud Powell 1927 1966 1944-1963 piano
Charles Mingus 1922 1979 1943 - 1979 bass and piano
Miles Davis 1926 1991 1944-1975
1980-1991
trumpet
John Coltrane 1926 1967 1946-1967 tenor sax
Percy Heath 1923 2005 1948----2004 bass
Frank Marocco 1931 ----- 1948--- accordion
Clifford Brown 1930 1956 1950s trumpet
Frank Rosolino 1926 1978 1950s trombone
Paul Chambers 1935 1969 1950s-1960s bass
Wes Montgomery 1923 1968 1950s - 1960s guitar
Carl Fontana 1928 2003 1950s-1990s trombone
Lou Levy 1928 2001 1950s - 1990s piano
Barry Harris 1929 ---- 1950s---- piano
Charles McPherson 1939 ---- 1950s--- alto sax
Curtis Fuller 1934 ----- 1950s--- trombone
Kenny Burrell 1931 ---- 1951---- guitar
Chet Baker 1929 1988 1952-1988 trumpet, Vocal
Cannonball Adderley 1928 1975 1955-1975 alto sax


2010年4月11日

隠居のパソコン備忘録:アクセス解析サービス(Research Artisan) の停止について


 私のサイトに訪問してくれる方々のページ毎の訪問者数やそれらの方々が使われている OS やブラウザーなどの% が分かるフリーのアクセス解析サービスResearch Artisan が、下のように5月の下旬で終了になる。Movable Type で作成しているブログを維持していく上で重宝していたので、非常に残念である。

100410_1.jpg なぜ中止するかの詳細な説明を読むと、収益がでる望みがないというのが理由らしい。
 だが、「リサーチアルチザンライト(Research Artisan Lite) 」というソフトが、2009年9月よりオープンソースとして提供されているらしい。私のような初心者ができるかどうか分からないが、インストールに挑戦してみることにした。幸い、Research Artisan Lite が使えるレンタルサーバーには、私がブログ・サイトをおいている XSERVER が、快適に動作することになっている。早速、Version 1.14 をダウンロードした。

 インストールの手順は、Research Artisan Lite - インストールマニュアルに詳しいが、私がつまづいたところを含めて備忘録的に記録しておきたい。なお、この記録は次のようなブログ環境で行った作業の備忘録である。
  • ブログ:MovableType4.1ja 同じドメインで3つのサイト(ブログ)を運営している
  • レンタルサーバー: XSERVER
  • Database: MySQL 
  • FTPソフト:FFFTP

100410_2.jpg
  1. ダウンロードした圧縮ファイルを解凍する。解凍すると右のフォルダー構成になる。
  2. この public_html の下にある ra フォルダーを 私の場合別々に解析したいサイトが3つあるので、ra_atelier, ra_masajii, ra_yamako というように、それぞれ別のフォルダーを設定した。
     FTP ソフト(私の場合:FFTP) を使って、サイトの root (私の場合:/user/public_html )にそれぞれをアップロードした。
  3. 同じように、ra_core フォルダーも root にアップロードした。このフォルダーは共通に使える。
  4. インストール時にシステムに必要な定義ファイルを自動で作成する(書き込みをする)ために、ra_xxxxx フォルダーの下にある setting フォルダーのパーミッション(属性)を 777 に変更する必要がある。インストール後は元に戻すことになっている。戻していなければ、後に Research Artisan にログインしたときに警告メッセージが表示される。なお、XSERVER では、属性を 555 に変更しないと警告は消えない。
  5. 同じように、/xxxxxxx/public_html/ra_core/application/tmp の下にある logs フォルダーのパーミッションも 777 に変更する。これは、元に戻さない。
    これで、サーバーへ Research Artisan Lite ソフトのアップロードは終わりである。
  6. 次に、Research Artisan Lite のデータベース(MySQL)を設定する。私の場合、XSERVERに設定手順があるので、それに従い、それぞれのサイト分の3つのデータベースを追加した。実のところ、サーバーにログインして、いろいろな設定を変更することはほとんどないので、このあたりがもっとも手間取る作業であった。
  7. ここまでの設定が完了すると、http://xxxxxxxxx/ra_xxxxxx/analyze/index.php というURL が設定され、それにアクセスするとインストール画面 が現れる。
     インストール後でに同じURL にアクセスすると解析サービスの画面がでて、初期のインストール画面とはならない。もし、最初からやり直す場合は、 ra_xxxxxx/setting フォルダーに作成されている install_complete (中味は空)というファイルを削除する必要がある。
  8. インストールの初期の画面では、データベース接続設定を行う。ここでよく分からなかったのはホスト名である。それぞれ以下のように設定した。
    ホスト名:localhostDefault のままでよい
    ユーザー名:xxxxxxxxx_xxxxMTのデータベース作成時に作ったユーザー名を使用
    パスワード:xxxxxxxx上のユーザ名のパスワード
    データベース名:xxxxxxx_xxxxxxxXSERVER の命名規則による
    プレフィックス:ra_Default ままでよい
  9. 上の登録が上手くいくと、解析するサイト名とURL、ログイン用のパスワードの登録画面が現れる。
    サイト名: 例えば、Atelier Shuhei どんな名前でもよい。
    URL:例えば、http://n-shuhei.net/atelier/解析タグを置くURL
    パスワード:xxxxxxx解析サービス画面にログインするPW
  10. これで上手く設定できるとページが変わって、次のような解析用タグ(HTMLコード)が表示される。携帯サイト用のタグなども表示される。
    <script type="text/javascript" src="http://n-shuhei.net/ra_atelier/script.php"></script>
    <noscript><p><img src="http://n-shuhei.net/ra_atelier/track.php" alt="" width="1" height="1" /></p></noscript>

  11.  MovableType の管理画面を開き、このそれぞれの解析用タグを各サイトのモジュール・テンプレート 「ヘッダー」の該当部分(従来のリサーチ・アルチザンのためのタグ(コード)を置いていた場所)に貼り付け保存する。
  12.  さきほどの解析用タグが表示されているページの下の方にある「ログイン」をクリックすると、アクセス解析表示画面を表示するためのパスワードが要求される。パスワードを入力すると今までとほぼ同じの解析サービス画面が現れれば、成功である。


 貼り付ける解析用タグを前のタグと相違点を見ると、今まではresearch-artisan.com が預かってくれていたログ・データなどをユーザのサーバーに移したように見える。それ以外にも相違点はあるだろうが、私の知識ではよく分からない。
 従来のサービスで提供されていた「ランキング用タグ」は、なくなっているようだ。ブログ・ページに昨日のページ別アクセス・ランキング ベスト10を表示していたが、終了後はできなくなる。
 上の作業で稼働することは確認したが、終了日時が迫ってから、切り替えようと思っている。

2010年3月23日

Jazz Vocal Artists 一覧

 Radio Senboku でJazz Vocal Artists の特集を組んだときに、そこで流す Vocalists の一覧をつくった。この一覧は、Web Page に置くのが適切と思われるので、テーブル部分をこちらに移した。

Jazz Vocalists
ArtistBornDiedActive YearsOrigin
Revised on Dec. 13th, 2009
Irving Berlin 1888 1989 1907-1971 Tyumen, Russian Empire
King Oliver 1885 1938 1910s---1930s Aben, Louisiana, USA
Sophie Tucker 1884 1966 1910s--1960s Czarist Russia
Cole Porter 1891 1964 -- Peru, Indiana
Barbara Lea N.A. -- 1910 -- Ypsilanti, Michigan
Noel Coward 1899 1973 1911-1973 Teddington, Richmond upon Thames, England
Louis Armstrong 1901 1971 1914-71 New Orleans, Louisiana
Duke Ellington 1899 1974 1914-1974 Washington, D.C.
Alberta Hunter 1895 1984  1914 -- 1984  Memphis, Tennessee
Gertrude Lawrence 1898 1952 1916--1951 London, England, UK
Ted Lewis 1892 1971 1917 - 1968 Circleville, Ohio
Fred Astaire 1899 1987 1917-1981 Omaha, Nebraska
Julia Lee 1902 1958 1920s--1950s Boonville, Missouri
Dorothy Fields 1905 1974 1920s -- 1970s Allenhurst, New Jersey
Earl 'Fatha' Hines 1903 1983 1920s -- 1960s Duquesne, Pennsylvania
Junie Cobb 1896? 1970? 1920s--1960s Hot Springs, Arkansas
Juanita Hall 1901 1968 1920s-1960s Keyport, New Jersey
Billie Pierce 1907 1974 1920s--1970s New Orleans
Big Joe Turner 1911 1985 1920s - 1980s Kansas City, Missouri
Adelaide Hall 1901 1993   1920s -- 1990s  Brooklyn, New York
Milt Hinton 1910 2000 1920s---1990s Vicksburg, Mississippi
Eddie Condon 1905 1973 1921 -- 1973 Goodland, Indiana
Judy Garland_ 1922 1969 1924-1969 Grand Rapids, Minnesota
US Navy Band ----- ---- 1925-present Washington, D.C.
Bing Crosby 1903 1977 1926-1977 Tacoma, Washington
Lionel Hampton 1908 2002 1927-2002 Louisville, Kentucky
Frances Faye 1912 1991 1927-- 1991 Brooklyn, New York City
The Mills Brothers ---- ----- 1928-1982 Piqua, Ohio
Sandra Booker N.A. N.A. 1930s New Orleans,
The Ink Spots -- -- 1931 - 1964 Indianapolis, Indiana
Nat Gonella 1908 1998 1930s, 1940s London, England
Lee Wiley 1908 1975 1930s--1950s Fort Gibson, Oklahoma
Stan Kenton 1911 1979 1930s-1970s Wichita, Kansas
Woody Herman 1913 1987 1930s---1980s Milwaukee, Wisconsin
Cab Calloway 1907 1994 1930s -- 1990s Rochester, New York
Les Brown 1912 2001 1930s---1960s Reinerton, PA
Maxine Sullivan 1911 1987 1930s--1970s Homestead, Pennsylvania
Jo Stafford 1917 2008 1930s-1977 Coalinga, California
Johnny Mercer 1909 1976 1930 - 1976 Savannah, Georgia
Jackie Washington 1919 2009 1930 - 2009 Milwaukee, Wisconsin
Jay McShann 1916 2006 1931 - 2006 Muskogee, Oklahoma
Frandes Langford 1913 2005 1932-1956 Lakeland, Florida
Billie Holiday 1915 1959 1933--1959 Harlem, New York
Mel Torme 1925 1999 1933-1999 Chicago, Illinois
Ella Fitzgerald 1917 1996 1934-1993 Newport News, Virginia
Sun Ra 1914 1993 1934-1993 Birmingham, Alabama
Anita O'Day 1919 2006   1934 - 2006 Chicago, Illinois,
Edith Piaf 1915 1963 1935-1963 Belleville, Paris, France
Dizzy Gillespie 1917 1993 1935--1993 Cheraw, South Carolina.
Frank Sinatra 1915 1998 1935-1995 Hoboken, New Jersey
Dinah Shore 1916 1994 1937-1994 Winchester, Tennessee
June Christy 1925 1990 1938 - 1965, 1977 Springfield, Illinois
Paul Gonsalves 1920 1974 1938-1974 Brockton, Massachusetts
Betty Comden 1917 2006 1938 -- New York City
Kay Starr 1922 --- 1939-1950s Dougherty, Oklahoma
Doris Day 1922 -- 1939-1987 Cincinnati, Ohio
Orrin Tucker 1911 ----- 1939 - 1990s St. Louis, Missouri
Arne Domnerus 1924 2008 N.A. Sweden
Earl Coleman 1925 1995 1940s -- 1980s Port Huron, Michigan
Helen Forrest 1917 1999 1940s -- 1960s Atlantic City, New Jersey
Hadda Brooks 1916 2002 1940s - 2000s Los Angeles, California
Julie Andrews 1924 ---- 1940s-present Omaha, NE
King Pleasure 1922 1981 1940s---1960s Oakdale, Tennessee
Eddie Jefferson 1918 1979 1940s -- 1970s Detroit, MI
Erskine Hawkins 1914 1993 1940s -- 1980s . Birmingham, AL
Helen Humes 1913 1981 1940s -- 1980s Louisville, Kentucky
Jimmy Witherspoon 1920 1997 1940s - 1990s Gurdon, Arkansas
Ernestine Anderson 1928 -- 1940s -- 2000s Houston, Texas
Jackie Cain 1928 --- 1940s-- Milwaukee, Wisconsin
Julie Wilson 1924 ----- 1940s-- Omaha, Nebraska
Vaughn Monroe 1911 1973 1940-1963 Akron, Ohio
Peggy Lee 1920 2002 1941-2000 Jamestown, North Dakota
Sheila Jordan 1928 ----- 1941- Detroit, Michigan
Betty Roche 1920 1999 1941 -- N.A../td>
Sarah Vaughan 1924 1990 1942-1989 Newark, New Jersey
Dinah Washington 1924 1963 1943 - 1963 Tuscaloosa, Alabama
Etta Jones 1928 2001 1943-2001 New York, New York
Perry Como 1912 2001 1943? - 2001? Canonsburg, Pennsylvania
Barbara Lea 1929 -- 1943 -- Detroit, Michigan
Betty Johnson 1929 -- 1943 -- Guilford County, NC.
Carmen McRae 1920 1994 1944 - 1994 New York City, New York
Ernestine Allen 1920 1992 1945--1990 Champaign, Illinois
Oscar Peterson 1925 2007 1945-2007 Montreal, Quebec, Canada
Annisteen Allen 1920. 1992 1945-N.A. Champaign, Illinois
Lavern Bake 1929 1997 1946-1967
1988-1991
Chicago, Illinois
Rosemary Clooney 1928 2002 1946-2001 Maysville, Kentucky
George Melly 1926 2007 1946 - 2007 Liverpool, England
Ray Charles 1930 2004 1947-2004 Greenville, Florida
Julie Andrews 1935 ---- 1947-present Julia Elizabeth Wells
George Shearing 1919 ----- 1947-presen Battersea, London, UK
Al Martino 1927   2009 1948 -- 2009  Philadelphia, Pennsylvania
Patti Page 1927 ----- 1948 - present Claremore, Oklahoma
Ray Price 1926 ----- 1948 - Present Perryville, Texas
Tony Bennet 1926 ----- 1949-present New York City,
Lucky Lucy Ann 1928 ---- 1950s N.A.
Dorothy Loudon 1933 2003 1950s -- 1970s Boston, Massachusetts
Lennie Tristano 1919 1978 1950s---1970s Chicago, IL
Della Griffin 1925 N.A. 1950s -- 1990s Newberry, South Carolina
Larry Gales 1936. 1995 1950s-1990s N.A.
Jaye P Morgan 1931 ---- 1950s--- 1990s Mancos, CO
Abbey Lincoln 1930    1950s -- 2000s Chicago, Illinois.
Bobby Durham 1937 2008 1950s - 2000s Philadelphia, Pennsylvania
Keely Smith 1932 --- 1950s-- Norfolk, Virginia
Caterina Valente 1931 ---- 1950s--- Paris
Joe Williams 1918 1990 1950s, 1960s Cordele, Georgia
Jimmy Scott 1925 ---- 1950s---1990s Cleveland, Ohio
Chris Connor 1927 2009 1950s -- 2000s Kansas City, Missouri
Ernie Andrews 1927 -- 1950s -- Philadelphia, Pennsylvania
Oscar Castro-Neves 1940 ----- 1950s- Rio de Janeiro, Brazil
James Darren 1936 ---- 1950s - Philadelphia, PA
John Eaton 1934 --- 1950s--- Washington D.C.
Mark Murphy 1932 ---- 1950s-present Fulton, New York
Mary Stallings 1939 ---- 1950s - Present San Francisco, CA
Cleo Laine 1927 -- 1950-present Southall, Middlesex, England
Carol Channing 1921 -- 1950-present Seattle, Washington
Gloria Lynne 1931 -- 1951-- New York City
Barbara Cook 1927 -- 1951- Atlanta, Georgia
Joni James 1930 ---- 1952-1964 Chicago, Illinois
Annie Ross 1930 --   1952 -- Mitcham, London, UK
Lloyd Price_ 1933 ---- 1952 - present Kenner, Louisiana
Shirley Bassey 1937 ----- 1953-present Tiger Bay, Cardiff, Wales
The Hi-Lo's ---- ----- 1953-present N.A.
Patti Austin 1950 ----- 1953-Present Harlem, New York
Caterina Valente 1931 -- 1953-present Paris
David 'Fathead' Newman 1933 2009 1954 -- 2009 Corsicana, Texas
Sylvia Syms 1934 ---- 1955-present Woolwich, London, England
Nina Simone 1933 2003 1954--2003 Tryon, North Carolina
Diahann Carroll 1935 -- 1954-present Bronx, New York
Etta James 1938 -- 1954 - present Los Angeles, California
Sathima Bea Benjamin 1936 ----- 1955-present Johannesburg, South Africa
Neil Sedaka 1939 ----- 1955-present Brooklyn, New York
Bobby Darin 1936 1973 1956 - 1973 Bronx, New York
Willie Nelson 1933 ---- 1956-present Abbott, Texas
Mina 1940 ----- 1958-present Cremona, Lombardy, Italy
Ernestine Anderson 1928 ---- 1958-present Houston, Texas
Bill Ramsey 1931 -- 1958 -- Cincinnati, Ohio
Joanie Sommers 1940 --- 1960s-1970s, 1980s Buffalo, New York
Jack McDuff 1926 2001 1960s--1990s Champaign, Illinois
George Younce 1930 2005 1960s--2000s Patterson, North Carolina
Zan Gardner N.A. 2007 N.A. N.A.
Grady Tate 1932 -- 1960s-- Durham, North Carolina
Nancy King 1940 --- 1960s-- Eugene, OR
Swingle Singers ---- ---- 1962-- Paris, France
Candy Johnson 1944 -- 1960s San Gabriel, California
Sue Raney 1940 ----- 1960s McPherson, KS .
Freddy Cole 1931 -- 1960s Chicago, IL
Tim Ballard 1848 2009 1960s - 2000s? Westminster, CO(home)
Patty Waters 1946 ----- 1960s - present Iowa
The Marvelettes ---- ----- 1960s, 1970s Inkster, MI
Peggy March 1948 ----- 1962 - present Lansdale, Pennsylvania,
Bonnie Bramlett 1944 -- 1965-present Alton, Illinois
Madeline Bell 1942 ---- 1965-present Newark, New Jersey
Bill Henderson 1944 -- 1966 -- Vancouver, BC, Canada
Lavay Smith N.A. --- 1967-- Southern California
Bobby Caldwell 1951 -- 1968-present Manhattan, New York
Lucie Arnaz 1951 ---- 1968 - present Los Angeles, California
John Greaves 1950 --- 1969 - present Prestatyn, North Wales
Earth, Wind & Fire -- -- 1969 -- Chicago, Illinois
The Manhattan Transfer ---- ----- 1969-present N.Y.
Marie Bergman 1950 ---- 1969-present Stockholm
Rita Coolidge 1945 ----- 1969-Present Lafayette, Tennessee
Omar & The Howlers ---- ----- 1970s, 1990s Austin, TX
Susannah McCorkle 1946 2001 1970s--1990s Berkeley, California
Andy Bey 1939    1970s -- 2000s Newark, New Jersey
Carol Sloane 1937 -- 1970s-present Providence, Rhode Island
Daryl Sherman 1949 -- 1970s-present Woonsocket, RI
Paul Finnerty 1951 ----- N.A. - present Summer Hill, Australia
Helen Schneider 1952 -- 1970s-- Brooklyn, New York City
Lauren Newton 1952 --- 1970s-- Coos Bay, Oregon
Inge Brandenburg 1929 1999 1970s-- Leipzig, Germany
Jay Leonhart 1940 ---- 1970s--- Baltimore, MD
Tina May 1961 ---- 1970s --- Gloucester, England
Rene Marie 1955 ----- 1970s-Present Warrenton, VA
Meredith d'Ambrosio 1941 1999 1970s- Boston, MA
Tania Maria 1948 ---- 1971-Present S?o Lu?s, Maranh?o, Brazil
Tom Grant 1946 ---- 1971-present Portland, Oregon
Natalie Cole 1950 ---- 1975-present Los Angeles, California
Richard Clayderman 1953 ----- 1976 - Present Paris, France
Elvis Costello 1954 -- 1977- London, England
Marilyn Scott 1949 ---- 1978-present Altadena, California
Diane Schuur 1953 -- 1979-Present Tacoma, Washington
Alex Ligertwood 1946    -- Glasgow
Amanda McBroom 1947    1980s -- 1990s Burbank, CA
Mary Cleere Haran 1952 ---- 1980s, 1990s San Francisco, CA
Nancy Lamott 1951 1995 1980s, 1990s, Midland, Michigan
Andrea Marcovicci 1948    1980s -- 2000s New York City, New York
Bobby Sanabria 1957 -- 1980s - 2000s South Bronx, New York City
Curtis Stigers 1965 -- 1980s-present Hollywood, CA
Matt Catingub 1961 ---- 1980s - Present North Hollywood, CA
Frank Stallone 1950 -- 1980s- Moscow, Russia
Joey DeFrancesco 1971 --- 1980s--- Philadelphia, Pennsylvania
Katchie Cartwright 1952 --- 1980s-present N.A.
KT Sullivan N.A. --- 1980s-Present Boggy Depot, OK
Nancy Marano N.A. ---- 1980s---- N.A.
Soesja Citroen N.A. ----- 1980s--present The Hague, The Netherlands
Stephanie Nakasian 1954 ----- 1980s--- Washington, D.C.
Bruce Hornsby 1954 -- 1984 -- Williamsburg, Virginia
Ranee Lee 1942 ----- 1984--- New York City
The Real Group ---- ----- 1984 - present Sweden
Diana Krall 1964 -- 1985 -- present Nanaimo, British Columbia
Liberty Silver 1962 ---- 1985--- Detroit, Michigan
Rebecca Parris 1951 ----- 1985-Present Newton, Massachusetts
Anne Ducros 1959 --   1986 -- France
Michael Feinstein 1956 ---- 1986--present Columbus, Ohio
Karrin Allyson 1963 --- 1987-present Great Bend, Kansas
The Mighty Echoes ---- ----- 1987-present Los Angeles, California
New York Voices ----- ---- 1987-present New York?
Kitty Margolis 1955 --- 1989-Present San Mateo, California
Dennis Rowland 1948 -- 1990s Detroit, Michigan
Evan Christopher 1974 -- 1990s- Long Beach, California,
Loretta Cormier N.A. ---- 1990s---present San Antonio, TX
Kate McGarry 1970 --- 1990s-present Hyannis, MA
Big Kahuna & The Copa Cat Pack -- -- 1990s, 2000s --
Billy Stritch 1962 -- 1990s, 2000s
Gertrude Lawrence N.A. -- 1990s-- in CT
Jacqui Dankworth 1963 ---- 1990s - Northamptonshire, England
Gina Roche N.A. -- 1990s-- Philadelphia, Pa
Jenna Mammina N.A. ---- 1990s--- St. Joseph, Michigan
Joanie Pallatto N.A. --- 1990s- Xenia, Ohio
Joanne O'Brien N.A. --- 1990s--- N.A.
Richard ''Cookie'' Thomas 1947 ----- 1990s - Present N.A.
Sally Mayes N.A. ---- 1990s--- Livingston, Texas,
LaVerne Butler N.A. ---- 1990-- Shreveport, Louisiana
Giacomo Gates N.A. ---- 1990s--- CT
Angela McCluskey N.A.    1992 - Glasgow, Scotland
Leonie Smith 1961 ---- 1992--- N.A.
Ann Hampton Callaway 1958 --   1993 -- N.A.
Lynette Washington N.A. ---- 1990s - Present New York
Cris Barber 1961 -- 1995-present Los Angeles, California
Stacey Kent 1968 ---- 1996 - present South Orange, New Jersey
Fay Claassen 1969 -- 1997- Nijmegen The Netherlands
Chie Ayado 1957 -- 1998-present Osaka, Japan
Jim Jones 1976 ---- 1998-Present New York City
Swingin' Fireballs ---- ---- 1999-- Germany?
Erin Bode N.A. -- 2000- St. Louis, Missouri
Abigail Riccards 1980    2000s N.A.
Benoit Jazz Works -- -- 2000s Ypsilanti, Michigan
John Proulx N.A. --- 2000s Grand Rapids, Michigan
Bianca Pittoors N.A. -- 2000S? Winnipeg, Manitoba
Liz Diamond 1927 ---- 2000s New York City
Carla Cook N.A. -- 2000s Detroit, Michigan
Christiana Drapkin N.A. -- 2000s N.A.
Cleve Douglass 1964 -- 2000s N.A.
Don Shelden N.A. -- 2000s N.A.
The John Allmark Jazz Orchestra --- --- 2000s ----
Suzanne Cloud N.A. ---- 2000s Collingswood, NJ(home)
Jonathan Poretz N.A. ---- 2000s N.A.
Linda Ciofalo N.A. ---- 2000s N.A.
Michael Allen Harrison N.A. ---- 2000s? Portland, Oregon
Nicki Parrott N.A. ---- 2000s Newcastle, Australia
Tecora Rogers N.A. ---- 2000s Chicago, Illinois
Rita Edmond N.A. ----- 2000s? N.A.
Rondi Charleston N.A. ----- 2000s? N.A.
Peter Martin 1970 ----- 2001?--- St. Louis, Missouri
OSI ---- ----- 2003-present US
Mike Bones 1980 ---- 2006-present Bloomfield, New Jersey
Jennifer Scott N.A. ---- N.A. Vancouver, BC, Canada


2010年2月11日

隠居のHTML備忘録:テーブル・セルを縦に結合する

 なんとなく週に一回しか行かない習慣になってしまって、モッタイナイので スポーツ・ジムを退会した。その代わりに、毎朝のウォーキングを再開することにした。
 1時間?2時間ほど歩くと、野鳥の撮影場所ロケハンができる。ほとんど決まった場所に行くのだが、行くたびに双眼鏡の視野に入ってくる野鳥に変化がある。
 それで、後々の記録にと思って、「探鳥日誌」とでも名付けて、下のようなWeb ページを作ることにした。

 今まで、テーブルのセルを縦方向に連結したことがなかったので、ネット・サーチをしてみると、簡単な方法は載っているが、下のような少し複雑な表のコード例は紹介されていなかった。いろいろとトライしてみたが上手くいかない。
 それで、Excel の表が Web ページにできることを思い出し、Excel でサンプル・ページを作り、そのWeb ページのソースをコピペして参考にした。ブログに使った html ソース・コードを備忘録として記録しておきたい。

探鳥メモ
dateweatherlocationNameqtty.memo
Revised on Feb. 11th, 2010
2010/2/11
7:15 - 8:15
曇天
 ときに小雨
田辺池 ヒドリガモ 26羽 3グループ
東谷池 ヒドリガモ
カイツブリ
コサギ
11羽
2羽
1羽
この池で初めて
西松尾池 マガモ 10羽 この池で初めて



<table border="1" align="center">
<thead>
<tr>
<td id="th1" colspan="6" align="middle">探鳥メモ</td></tr>
<tr align="middle"><td id="th1">date</td><td id="th1">weather</td><td id="th1">location</td><td id="th1">Name</td><td id="th1">qtty.</td><td id="th1">memo</td></tr>
</thead>
<tfoot>
<tr>
<td bgcolor="#cccccc" align="right" colspan="6">Revised on Feb. 11th, 2010</td>
</tr>
</tfoot>
<tbody>
<col span=6 > 
<tr >
  <td width="100" rowspan=3 >2010/2/11<br />   7:15 - 8:15</td>
  <td width="100" rowspan=3 >曇天<br /> ときに小雨</td>
  <td width="100">田辺池</td>
  <td width="115">ヒドリガモ</td>
  <td width="80" align="right">26羽</td>
  <td width="230">3グループ</td>
 </tr>
 <tr >
  <td >東谷池</td>
  <td >ヒドリガモ<br />カイツブリ<br />コサギ</td>
  <td align="right" >11羽<br />2羽<br />1羽</td>
  <td valign="top">この池で初めて</td>
 </tr>
 <tr >
  <td >西松尾池</td>
  <td >マガモ</td>
  <td align="right" >10羽</td>
  <td >この池で初めて</td>
 </tr>
</tbody></table>


2010年1月30日

隠居のMT備忘録:ソースコードを縦スクロールつきコード・ボックスで表示する

 エントリーで、HTML や Javascript , XML のソースコードを記録するときには、<pre><code>?</code></pre>という形で記述している。
 私のMovable Type でのブログは、「小粋空間」さんのテンプレートを使わせてもらっている。もちろん付属しているCSS(Cascading Style Sheets)も使っている。そのCSSでの <pre> は次のように設定されている。backgroundの色は、いじっていているが。
pre {
    margin: 15px 20px 0px;
    padding: 10px;
    background: #ffffe0;
    border: 1px solid #999;
    font-size: 83.3%;
    line-height: 1.5;
    width: 100%;
    overflow: scroll;
}

 このまま、100行、200行あるソースコードを記載すると、縦に非常に間延びしたエントリーになってしまう。
 これを避ける方法をネットでサーチしてみると余りにも普通の知識なのか適切な記述が見つからなかった。もう一度 CSS の基本に立ち返って学習してみると、CSS の pre の部分に、
pre {
  ,,,,
  height: 150px;
  ,,,,
 }
 
といれればよいことが分かった。 
 が、これでは1行のコードを表示するときでも、縦 150px のボックスができてしまう。それで面倒でも、本文のHTMLで
<pre style="height: 150px"> 
とスタイルを指定すればいいことが分かった。この方法を使えば、ボックスの縦の大きさを表示するコードの行数に合わせて変えることができる。スタイルを指定しなければ、縦スクロールがなく、全てのソースコードが表示される。余りにも基本的なことなので、ブログに載せるのは恥ずかしいが、自分自身の備忘録として残しておきたい。

 なお、、<pre><code> ? </code></pre> の ? 部分(ソースコード)にある < > は、特殊文字と判定されるので、&lt; &gt;  とHTML エンコードする必要がある。
私はエンコードには、HTML エンコードフォームというサービスを使わせてもらっている。これを使うと空白文字が 、&nbsp; に、" が &quot;に、& が &amp;にエンコードされるが、エンコードされたものをそのまま Copy&Paste して使っても問題はない。
 また、いろいろな場面でソースコードを整理する必要があるが、そのようなときはシェアウエアの「秀丸エディタ」を使っている。テキストを編集する様々な機能が備わっているので、非常に便利である。

2010年1月29日

Google Maps API で旅行地図を作る:線画を描くなど

 Studio YAMAKO さんのオーナーが、昨秋、中欧(ドイツ・チェコ・スロバキア・ハンガリー・オーストリア)を旅行したときの写真をコメント付きで、12 回に分けて投稿されている。
 これを題材に、Google Maps API を使って、旅行地図を作ってみた。今まで、何回か同じような旅行地図を作成しているが、今回はいくつかの新しい試みをしてみたので、いままでに学習したことも含めて、備忘録として記録しておきたい。

 Google Maps API を使って、Web ページ上に自作地図を埋め込むには、
  • HTML(CSSを含む): 自分で Web ページが作れる。
  • JavaScript: 簡単な文法が分かる。
  • XML: タグの意味が分かるなど文法がわかる。
の知識が必要であるが、基本的な文法さえ知っておればなんとかなる。それ以上の細かいことは、ネット上で検索すれば教えてくれるサイトが沢山ある。どのサイトが親切かを知っている方が重要である。私は、英語のページであるが、 w3schools.com を重宝している。体系的によくまとめられており、独習にもってこいである。
 また、Google Maps API でWeb ページ上に地図を埋め込むには、サンプル・コードがネット上で提供されているので、これを Copy&Paste して、自分用に修正し利用すればよい。詳細な部分は、理解しようとすると学習に時間がかかる。ただ、自分用に修正するときに、上のような基本的な知識は必要だろう。
 サンプル・コードはいろいろなサイトで提供されているが、私は、これも英語のサイトであるが、"Google Maps API Tutorial" のコードを主として参照させてもらっている。自分のやりたいことが、整理された形で提供されている。
 今回、地図上に線を描くサンプル・コードは、XMLファイルを使いたいこともあって、このサイトのコードを自分なりに修正して使用した。
日本語のサイトでは、Ajax Tower の「Google Maps入門」に多くのサンプル・コードがある。
 書籍は、「Google Maps API 徹底活用ガイド」を購入した。Google Maps API の基本的なユティリティが解説されているので、理解を助けてくれる。

 今回作った地図は、次のような構成になっている。
  1. 中欧の全体地図: 訪問した都市に通常マークred-dot.pngが表示される。
    1. このマークをクリックするか、地図の右欄にある地名をクリックすると、吹き出しが表示される。
    2. 吹き出しの中に表示されている「詳細地図」をクリックすると市街地図にリンクする。
    3. 各都市間をブルーのラインで訪問順に結んでいる。
  2. 市街地図:初期に表示する地図のタイプを航空写真にしている。
    1. 地図の右欄にある場所のチェックボックスをクリックすると番号入りマークが表示される。
    2. 場所名の下の青字をクリックすると写真が lightbox 形式で表示される。
  3. いずれの地図にも、地図を拡大・縮小できるコントロール、地図のタイプを切り替えるボタン、地図の縮尺をあらわすスケールが表示されている。

   これらの地図は、上記に記したサイトからいただいてきたコードを猿まねで自分なりに修正したものである。
中欧の全体地図は、HTML ファイルのなかにある Javascript で XMLファイルを呼び込んでいる。この Javascript の中で、Google Maps API が提供するユティリティが使われている。 具体的なコードを以下に示す。

全体地図用HTML(include Google Maps API JavaScript)
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">

<head>
<style type="text/css">
    v\:* {   behavior:url(#default#VML);   }
    </style>
<title>Google Maps</title>
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=???????????-TOJLbO9UBLVgjJC7W8hRCNFlWI0Fg132ssdjgyNcr14mm9hSKsn5??????????????_Ypmz1A" charset="utf-8" type="text/javascript"></script>
	
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />	

<!-- POPUP Window -->
<script type="text/javascript" src="http://n-shuhei.net/script/delcash.js"></script>

</head>

<body onunload="GUnload()">
<div align="center"> 
<table border="1" width="auto" cellspacing="0">
<thead><tr>
<td bgcolor="#FFFFCC" align="center" colspan="2"><font color="#000000"><strong><big>中欧(ドイツ・チェコ・スロバキア・ハンガリー・オーストリア)を巡る旅</big></strong><br /><small>Internet Explorer で問題が出る場合は、キャッシュを消去してください。<input type="button" value="消去方法" onClick="open_win()"></small></font></td></tr>
</thead>
<tbody>
<tr><td><div id="map" style="width: 760px; height: 500px"></div></td>
<td width ="160px" valign="top" style="color: #000000; font-size: small;" align="left">
左の地図は、Google Mapsの機能を持っています。拡大・縮小・移動ができます。下の地名をクリッ
クすると該当位置に吹き出しが出ます。吹き出しの中のリンクをクリックすると詳細地図あるいは
関連投稿に飛びます。<br /><br /><div id="side_bar"></div></td></tr>
</tbody>
</table>
</div>

<noscript><b>JavaScript must be enabled in order for you to use Google Maps.</b> However,
it seems JavaScript is either disabled or not supported by your browser. To view Google
Maps, enable JavaScript by changing your browser options, and then try again.
</noscript>

<script type="text/javascript">
    //<![CDATA[

    if ( GBrowserIsCompatible()) {
// this variable will collect the html which will eventualkly be placed in the side_bar
     var side_bar_html = "";
// arrays to hold copies of the markers and html used by the side_bar
// because the function closure trick doesnt work there
      var gmarkers = [];
      var htmls = [];
      var i = 0;

// A function to create the marker and set up the event window
      function createMarker(point,name,html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
// save the info we need to use later for the side_bar
        gmarkers[i] = marker;
        htmls[i] = html;
        // add a line to the side_bar html
        side_bar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
        i++;
        return marker;
      }

// This function picks up the click and opens the corresponding info window
      function myclick(i) {
        gmarkers[i].openInfoWindowHtml(htmls[i]);
      }

// create the map
      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      map.addControl(new GScaleControl());
      map.setCenter(new GLatLng(48.810481,14.315529), 6);
//    map.setMapType(G_HYBRID_MAP);

// Read the data from xml file
      var request = GXmlHttp.create();
      request.open("GET", "http://n-shuhei.net/????????/Polyline_ex_1.xml", true);
      request.onreadystatechange = function() {
        if (request.readyState == 4) {
          var xmlDoc = request.responseXML;
// obtain the array of markers and loop through it
          var markers = xmlDoc.documentElement.getElementsByTagName("marker");
          
          for (var i = 0; i < markers.length; i++) {
            // obtain the attribues of each marker
            var lat = parseFloat(markers[i].getAttribute("lat"));
            var lng = parseFloat(markers[i].getAttribute("lng"));
            var point = new GLatLng(lat,lng);

            var html = markers[i].getAttribute("html");
            var label = markers[i].getAttribute("label");
// create the marker
            var marker = createMarker(point,label,html);
            map.addOverlay(marker);

           }
// put the assembled side_bar_html contents into the side_bar div
          document.getElementById("side_bar").innerHTML = side_bar_html;
 
// ========= Now process the polylines =====================
          var lines = xmlDoc.documentElement.getElementsByTagName("line");
// read each line
          for (var a = 0; a < lines.length; a++) {
// get any line attributes
            var colour = lines[a].getAttribute("colour");
            var width  = parseFloat(lines[a].getAttribute("width"));
// read each point on that line
            var points = lines[a].getElementsByTagName("point");
            var pts = [];
            for (var i = 0; i < points.length; i++) {
               pts[i] = new GLatLng(parseFloat(points[i].getAttribute("lat")),
                                   parseFloat(points[i].getAttribute("lng")));
            }
            map.addOverlay(new GPolyline(pts,colour,width));
          }
// ===========================================================           
        }
      }
      request.send(null);
    }

    else {
      alert("Sorry, the Google Maps API is not compatible with this browser");
    }
// This Javascript is based on code provided by the
// Blackpool Community Church Javascript Team
// http://www.commchurch.freeserve.co.uk/   
// http://www.econym.demon.co.uk/googlemaps/

    //]]>
    </script>

   </body>
</html>

このコードでの学習した点は、114行目あたりの各都市間を訪問順に結んでいるブルーのライン(Google Maps API では、polyline という)を描くための Javascript 挿入することである。この polyline を描くのは、IE8 では次の処理をしなくてもいいらしいが、IE7 以下では、HTML 上部(head 部より前)に、
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
という記述が(斜め書き部分)必要であり、head 部分に次のスタイルを設定する必要がある。
<style type="text/css">
    v\:* {   behavior:url(#default#VML);   }
    </style>

呼び込んでくる XML ファイル
<?xml version="1.0" encoding="Shift_JIS"?>
<markers>
<marker lat="49.40187" lng="8.680401" html="Heidelberg &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_heidelberg.htm' target='_blank'&gt;ハイデルベルク詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ハイデルベルク" ></marker>
<marker lat="49.379691" lng="10.180206" html="Rothenburg &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_rothenburg.htm' target='_blank'&gt;ローテンブルク詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ローテンブルク" ></marker>
<marker lat="47.680125" lng="10.900841" html="Wieskirche &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/091124_001.jpg'  target='_blank'&gt;Photo:ヴィース教会&lt;/a&gt;&lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/091124_002.jpg'  target='_blank'&gt;Photo:ヴィース教会の内部&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ヴィース教会" ></marker>
<marker lat="47.546872" lng="10.739136" html="Hohenschwangau &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Hohenschwangau.htm' target='_blank'&gt;ホーエンシュヴァンガウ詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ホーエンシュヴァンガウ" ></marker>
<marker lat="49.014906" lng="12.104187" html="Regensburg &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Hohenschwangau.htm' target='_blank'&gt;レーゲンスブルク詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="レーゲンスブルク" ></marker>
<marker lat="50.082701" lng="14.422302" html="Praha &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Praha.htm' target='_blank'&gt;プラハ詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="プラハ" ></marker>
<marker lat="48.810481" lng="14.315529" html="Cesky Krumlov &lt;br&gt;詳細は、&lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/08_1653.php' target='_blank'&gt;中欧旅行 その8 チェスキー・クルムロフ&lt;/a&gt;で。&lt;br&gt;(2009/11/4)" label="チェスキー・クルムロフ" ></marker>
<marker lat="48.143182" lng="17.112579" html="Bratislava &lt;br&gt;詳細は、&lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/11_0858.php' target='_blank'&gt;中欧旅行 その9 ブラスチラバ&lt;/a&gt;で。&lt;br&gt;(2009/11/5)" label="ブラスチラバ" ></marker>
<marker lat="47.495864" lng="19.050293" html="Budapest &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Butapest.htm' target='_blank'&gt;ブダペスト詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ブダペスト" ></marker>
<marker lat="48.20926" lng="16.372633" html="Viena &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Viena.htm' target='_blank'&gt;ウィーン詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/6)" label="ウィーン" ></marker>
<line colour="#0000ff" width="4" html="You clicked the red polyline">
   <point lat="50.107368" lng="8.686066" /> <!--フランクフルト-->
   <point lat="49.40187" lng="8.680401" /><!--ハイデルベルク-->
   <point lat="49.379691" lng="10.180206" /><!--ローテンブルク-->
   <point lat="47.680125" lng="10.900841" /><!--ヴィース教会-->
   <point lat="47.546872" lng="10.739136" /><!--ホーエンシュヴァンガウ-->
   <point lat="49.014906" lng="12.104187" /><!--レーゲンスブルク-->
   <point lat="50.082701" lng="14.422302" /><!--プラハ-->
   <point lat="48.810481" lng="14.315529" /><!--チェスキー・クルムロフ-->
   <point lat="50.082701" lng="14.422302" /><!--プラハ-->
   <point lat="48.143182" lng="17.112579" /><!--ブラスチラバ-->
   <point lat="47.495864" lng="19.050293" /><!--ブダペスト-->
   <point lat="48.20926" lng="16.372633" /><!--ウィーン-->
   <point lat="48.112933" lng="16.55777" /><!--ウィーン空港-->
</line>
</markers>


市街地図(例として、プラハ市街図)のHTML(include Google Maps API JavaScript)は、つぎのようなコードである。ここでは、XML ファイルは使っていない。(学習不足で使うことができなかった。)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" href="http://n-shuhei.net/litebox/???/lightbox.css" type="text/css" media="screen"/>
<script type="text/javascript" src="http://n-shuhei.net/litebox/???//prototype.lite.js"></script>
<script type="text/javascript" src="http://n-shuhei.net/litebox/???/moo.fx.js"></script>
<script type="text/javascript" src="http://n-shuhei.net/litebox/???/litebox-1.0.js" charset="utf-8"></script>
<title>Google Maps JavaScript API map_13</title>
<script src="http://maps.google.co.jp/maps?file=api&amp;v=2&amp;key=ABQIAAAA_--TOJLbO9UBLVgjJC7W8hRCNFlWI0Fg????????????
  mm9hSKsn5IFaeCnFgl????????????" charset="utf-8" type="text/javascript"></script> </head> <body onload="initLightbox()"> <div align="center"> <table width="auto" border="1" bgcolor="#FFFFCC"> <thead ><tr><td id="th1" colspan="2" align="middle" ><big><strong>プラハ<strong></big></td></tr></thead> <tbody align="left"> <tr><td> <div id="map" style="width:730px; height:530px"></div> </td><td width ="210px" valign="top" style="text-decoration: color: #000000; font-size: small;">左の地図は、Google Mapsの機能を持っています。拡大・縮小・移動ができます。
下のチェックボックスをチェックすると該当位置にマークが立ちます。また、青文字をクリックすると写真がでてきます。<br/><input type="checkbox" name="cb1" onClick="checkbox1clicked()">   1. プラハ城<br />   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_008.jpg" title="プラハ城からの眺め" rel="lightbox[os]">プラハ城からの眺め</a><br />
<input type="checkbox" name="cb2" onclick="checkbox2clicked()"> 2. 聖ヴィート教会<br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_003.jpg" title="プラハ城 聖ヴィート教会" rel="lightbox[os]">聖ヴィート教会</a><br />
;   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_004.jpg" title="ミュシャのステンドグラス(部分)" rel="lightbox[os]">ミュシャのステンドグラス</a><br />
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_005.jpg" title="聖ヴィート教会の祭壇" rel="lightbox[os]">聖ヴィート教会の祭壇</a><br />
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_006.jpg" title="聖ヴィート教会前景" rel="lightbox[os]">聖ヴィート教会前景</a><br/>
<input type="checkbox" name="cb3" onclick="checkbox3clicked()"> 3. 聖イジー教会<br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_007.jpg" title=""聖イジー教会と修道院 rel="lightbox[os]">聖イジー教会と修道院</a><br />
<input type="checkbox" name="cb4" onclick="checkbox4clicked()"> 4. カレル橋<br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_009.jpg" title="カレル橋 水害の跡" rel="lightbox[os]">カレル橋 水害の跡</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_010.jpg" title="カレル橋" rel="lightbox[os]">カレル橋</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_011.jpg" title="カレル橋の聖像" rel="lightbox[os]">カレル橋の聖像</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_003.jpg" title="モルダウ川河畔" rel="lightbox[os]">モルダウ川河畔</a><br />
<input type="checkbox" name="cb5" onclick="checkbox5clicked()"> 5. 旧市街入口<br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_004.jpg" title="旧市街入口" rel="lightbox[os]">旧市街入口</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_005.jpg" title="プラハ城を望む" rel="lightbox[os]">プラハ城を望む</a><br />
<input type="checkbox" name="cb6" onclick="checkbox6clicked()"> 6. 旧市街広場<br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_006.jpg" title="火薬塔" rel="lightbox[os]">火薬塔</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_007.jpg" title="ティーン教会" rel="lightbox[os]">ティーン教会</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_008.jpg" title="旧市庁舎の時計塔" rel="lightbox[os]">旧市庁舎の時計塔</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_009.jpg" title="仕掛け時計" rel="lightbox[os]">仕掛け時計</a><br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_010.jpg" title="ヤン・フス像" rel="lightbox[os]">ヤン・フス像</a><br />
<input type="checkbox" name="cb7" onclick="checkbox7clicked()"> 7. レギー橋<br/>
   <a href="http://n-shuhei.net/studio_yamako/????????????/091203_002.jpg" title="プラハ城を眺める" rel="lightbox[os]">プラハ城を眺める</a><br />
<br />参照記事:<a href="http://n-shuhei.net/studio_yamako/????????????/01_1623.php" target="_blank">中欧旅行 その6 プラハ(1)</a></td></tr></tbody></table></div> <!-- 番号入りマーカーを表示する。-->     <script type="text/javascript">     //<![CDATA[     var map;     var marker1, marker2, marker3, marker4, marker5, marker6, marker7;     map = new GMap2(document.getElementById("map"));     map.addControl(new GLargeMapControl());     map.addControl(new GMapTypeControl());     map.addControl(new GScaleControl());     map.setCenter(new GLatLng(50.086473,14.410651),14);     map.setMapType(G_HYBRID_MAP);     var markerIcon1 = new GIcon();     markerIcon1.image = "http://n-shuhei.net/????????????/Markers/marker1.png";  //   markerIcon1.shadow = "./img/shadow.png";     markerIcon1.iconSize = new GSize(35, 40);  //   markerIcon1.shadowSize = new GSize(70, 56);     markerIcon1.iconAnchor = new GPoint(18, 40);     var markerIcon2 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker2.png");     var markerIcon3 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker3.png");     var markerIcon4 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker4.png");     var markerIcon5 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker5.png");    var markerIcon6 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker6.png");    var markerIcon7 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker7.png");     var opt1 = {icon:markerIcon1};     var opt2 = {icon:markerIcon2};     var opt3 = {icon:markerIcon3};     var opt4 = {icon:markerIcon4};     var opt5 = {icon:markerIcon5};     var opt6 = {icon:markerIcon6};     var opt7 = {icon:markerIcon7};     marker1 = new GMarker(new GLatLng(50.088814,14.395523), opt1);     marker2 = new GMarker(new GLatLng(50.090755,14.400759), opt2);     marker3 = new GMarker(new GLatLng(50.091023,14.402025), opt3);     marker4 = new GMarker(new GLatLng(50.086473,14.410651), opt4);     marker5 = new GMarker(new GLatLng(50.086129,14.413869), opt5);     marker6 = new GMarker(new GLatLng(50.087382,14.4208), opt6);     marker7 = new GMarker(new GLatLng(50.081186,14.410672), opt7);     var marker1_is_displayed = 0;     var marker2_is_displayed = 0;   var marker3_is_displayed = 0;   var marker4_is_displayed = 0;    var marker5_is_displayed = 0;    var marker6_is_displayed = 0;    var marker7_is_displayed = 0;     function checkbox1clicked() {       if (marker1_is_displayed == 0) {         map.addOverlay(marker1);         marker1_is_displayed = 1;       } else {         map.removeOverlay(marker1);         marker1_is_displayed = 0;       }     }     function checkbox2clicked() {       if (marker2_is_displayed == 0) {         map.addOverlay(marker2);         marker2_is_displayed = 1;       } else {         map.removeOverlay(marker2);         marker2_is_displayed = 0;       }     } function checkbox3clicked() {       if (marker3_is_displayed == 0) {         map.addOverlay(marker3);         marker3_is_displayed = 1;       } else {         map.removeOverlay(marker3);         marker3_is_displayed = 0;       }     } function checkbox4clicked() {       if (marker4_is_displayed == 0) {         map.addOverlay(marker4);         marker4_is_displayed = 1;       } else {         map.removeOverlay(marker4);         marker4_is_displayed = 0;       }     }     function checkbox5clicked() {       if (marker5_is_displayed == 0) {         map.addOverlay(marker5);         marker5_is_displayed = 1;       } else {         map.removeOverlay(marker5);         marker5_is_displayed = 0;       }     }     function checkbox6clicked() {       if (marker6_is_displayed == 0) {         map.addOverlay(marker6);         marker6_is_displayed = 1;       } else {         map.removeOverlay(marker6);         marker6_is_displayed = 0;       }     }     function checkbox7clicked() {       if (marker7_is_displayed == 0) {         map.addOverlay(marker7);         marker7_is_displayed = 1;       } else {         map.removeOverlay(marker7);         marker7_is_displayed = 0;       }     }    //]]>     </script> </body> </html>
 この市街地図での学習点は、最初の表示を航空写真と地図の合成(HYBRID)にすることと、番号入りのマークを表示することである。
 番号入りのマークを表示する方法については、以前のエントリーで記録している。
これだけのことをするために、基礎知識の少ない老人には、ずいぶん学習しなければならないことが多かった。痴呆予防には有効かもしれない。

 
Google Maps API徹底活用ガイド
稲葉 一浩
毎日コミュニケーションズ
売り上げランキング: 105350
おすすめ度の平均: 3.5
4 さらっと流しつつテンコ盛りの内容
3 前半は簡単。後半は難解。
4 Google Maps をゴリゴリいじってみたい人に


2010年1月18日

隠居のGoogle Maps:IE8 での不具合を回避する

 私のサイトを訪問してくれる人が使っているブラウザで最も多いのは、Internet Explorer 8(IE8) であり、私のパソコンにもIE8 をインストールしたことは、先日のエントリーで報告した。
そのときに気づかなかったが、Google Maps API を使って作った個人的な地図に置いた、地図を移動したり拡大・縮小するためのコントロール(例えば、GLargeMapControl )や通常の地図か航空写真かその合成かを選択するコントロール(例えば、GMapTypeControl)が機能していなくて、下のスクリーンショットのように表示されないことが分かった。
Maps_api_4.JPG
対処法についてネットサーチしてみると、IE8 と Google Maps API とは相性が悪いらしく、解決策が2つ示されていた。
  • (解決策1:DocType宣言の変更)
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
  • (解決策2:IE7互換モード用のMETAタグ挿入)
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"> 

 だが、この二つの解決策を試してみたが、一旦治ったように見えたものの最初だけですぐにコントロールが表示されなくなった。

 その他もいろいろと探ってみたが、送信者側ではどうやら方策はなさそうだった。何かヒントはないかと Google maps のページにいき「ヘルプ」を開いてみると、お薦め記事に、「Internet Explorer を使用すると問題が発生する」というのがあった。その記事を開くといくつかの項目のトップに、「キャッシュを消去する」とあり、これを実行すると、IE8 でも下のスクリーンショットのように、コントロールが表示され機能するようになった。
Maps_api_5.JPG
 訪問してくれる人に手数をかけることになるが、地図の表題に注意書きを入れることで、とりあえずの対処法とすることにした。
 これは、Google と Microsoft との間の問題ではあるが、早く解決されることを願っている。 

2010年1月14日

Google Maps API で旅行地図を作る:番号付きマーカーを使う

 昨年秋に、宍道湖をドライブしたときの旅行記はエントリーしたが、旅行地図を作ろうと思いながらできずにいた。
 最近新たな知識も取り入れて、宍道湖ドライブ地図を作製したので、備忘録として記録しておきたい。
 ツーリストがプロを使って作成していると思われる Google Maps API による地図には、数字や英字の入った Marker を格好良く使っている。私も使いたいと思っていたが、数字入りマーカーを作る方法がよく分からなかった。どこかに、できあいのものはないかと、"番号付きマーカー"というような言葉でネットサーチしていると、dLinkbRING というサイトを見つけた。そこで提供されている番号付きマーカーがもちろん使えるが、そのページに紹介されている、こんな便利なサイトにいくと自分の好きな色のマーカーに、数字あるいは英字を入れて作れるサービスが提供されていることが分かった。これで、次のような番号付きマーカーを作った。

         

 これらを地図上に表示させるには、AjaxTowerというサイトのGoogle Maps入門(Google Maps API)を参考にした。このサイトの「マーカーのアイコンを指定」の JavaScript コードを参考にして、以前に 「伊勢参り」 のエントリーで使った GoogleMaps API コードの JavaScript 部分に手を加えてみたのが、次のコードである。
<!-- 番号入りマーカーを表示する。-->
    <script type="text/javascript">
    //<![CDATA[

    var map;
    var marker1, marker2, marker3, marker4, marker5;

    map = new GMap2(document.getElementById("map"));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.setCenter(new GLatLng(35.430883,133.01199),10);
    map.setMapType(G_HYBRID_MAP);

    var markerIcon1 = new GIcon();
    markerIcon1.image = "http://n-shuhei.net/xxxxxxx/xxxxxx/marker1.png";
 //   markerIcon1.shadow = "./img/shadow.png";
    markerIcon1.iconSize = new GSize(35, 40);
 //   markerIcon1.shadowSize = new GSize(70, 56);
    markerIcon1.iconAnchor = new GPoint(18, 40);

    var markerIcon2 = new GIcon(markerIcon1, "http://n-shuhei.net/xxxxxxx/xxxxxx/marker2.png");
    var markerIcon3 = new GIcon(markerIcon1, "http://n-shuhei.net/xxxxxxx/xxxxxx/marker3.png");
    var markerIcon4 = new GIcon(markerIcon1, "http://n-shuhei.net/xxxxxxx/xxxxxx/marker4.png");
    var markerIcon5 = new GIcon(markerIcon1, "http://n-shuhei.net/xxxxxxx/xxxxxx/marker5.png");

    var opt1 = {icon:markerIcon1};
    var opt2 = {icon:markerIcon2};
    var opt3 = {icon:markerIcon3};
    var opt4 = {icon:markerIcon4};
    var opt5 = {icon:markerIcon5};

    marker1 = new GMarker(new GLatLng(35.469199,133.053875), opt1);
    marker2 = new GMarker(new GLatLng(35.44333,133.284674), opt2);
    marker3 = new GMarker(new GLatLng(35.444729,132.866077), opt3);
    marker4 = new GMarker(new GLatLng(35.401434,132.685919), opt4);
    marker5 = new GMarker(new GLatLng(35.377854,133.198242), opt5);
		
    var marker1_is_displayed = 0;
    var marker2_is_displayed = 0;
  var marker3_is_displayed = 0;
  var marker4_is_displayed = 0;
  var marker5_is_displayed = 0;

    function checkbox1clicked() {
      if (marker1_is_displayed == 0) {
        map.addOverlay(marker1);
        marker1_is_displayed = 1;
      } else {
        map.removeOverlay(marker1);
        marker1_is_displayed = 0;
      }
    }

    function checkbox2clicked() {
      if (marker2_is_displayed == 0) {
        map.addOverlay(marker2);
        marker2_is_displayed = 1;
      } else {
        map.removeOverlay(marker2);
        marker2_is_displayed = 0;
      }
    }
	
	function checkbox3clicked() {
      if (marker3_is_displayed == 0) {
        map.addOverlay(marker3);
        marker3_is_displayed = 1;
      } else {
        map.removeOverlay(marker3);
        marker3_is_displayed = 0;
      }
    }
	
	function checkbox4clicked() {
      if (marker4_is_displayed == 0) {
        map.addOverlay(marker4);
        marker4_is_displayed = 1;
      } else {
        map.removeOverlay(marker4);
        marker4_is_displayed = 0;
      }
    }

    function checkbox5clicked() {
      if (marker5_is_displayed == 0) {
        map.addOverlay(marker5);
        marker5_is_displayed = 1;
      } else {
        map.removeOverlay(marker5);
        marker5_is_displayed = 0;
      }
    }
   //]]>
    </script>


もともとのコードがどこかのページからいただいたコードだから、よく理解していない部分もあるが、なんとか上手く機能しているようである。 iconSize での数字を変えることで、番号付きマーカーの形が変わるようである。また、shadow もつけられる。
 このようにして「宍道湖私的観光地図」を作った。下は、その screenshot であるが、全体像は右メニューにボタンを置いたのでクリックしてみて欲しい。

なお、このGoogle Maps入門にある「マップタイプの選択」ページで示されている JavaScript, Google Maps API リファレンスのコードを参考に、初めに表示される画面を「地図+航空写真」(HYBRID) に設定した。
 Google Maps入門のサイトには、他にも少し学習すれば使えそうなインストラクションもあるので応用していきたいと思う。



2010年1月 3日

隠居のパソコン備忘録:Google Maps API を使った地図ページでの文字化け対策

 皆様、あけましておめでとうございます。今年も、よろしくお願いします。
 今年も、自分用の記録のために、ブログを続けたいと思います。ネット の世界の片隅に参加していることで、世の中の変化が、少しは肌で感じられるないかと不遜なことも考えています。

 GoogleMapsAPI を使った地図ページ、例えば、Studio YAMAKO「クロアチア・スロベニア・モンテネグロを巡る旅」は、GoogleMapsAPI を使いこなすためのtutorial の中から、自分でなんとか使えそうなサンプルを参考にというか、ほぼそのままに Copy&Paste して使っている。
 このページでは、Google Map をテーブルの中に表示しているが、ここで使っている表題の日本語が、場合によって文字化けを起こす現象が起きていた。
 文字化けを起こしている場合は、画面を右クリックし、出てくるポップアップ画面でエンコード→Unicode(UTF-8) を選択すれば治るのであるが、見にきてくれる人にお願いをするわけにはいかない。 
 そこで、何か方法はないかとネットサーチしてみると、上のHTML コードのなかの<head> ?</head> 部分に、その文書に関する日本語コード情報(メタ情報)を指定していなかったために起きたらしい。 つぎのようなメタコードを挿入すると、文字化けはなくなった。(と思う。)
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


 メールなどの文字化けについては、よく相談を受けるが原因がよく分からない場合が多い。多くは、使っているメーラーの設定によると思われるが、発信元・受信先を探らないとよく分からない。もう一つのよくある原因は、普通には使わない名前などで使われている特殊な2バイト文字が宛先とか文中に使われる場合である。また、ドイツ語のウムラクトつきu(?)などでも、文字化けを起こすようである。

2009年12月20日

隠居の京都:師走の町を歩いてみる

 京都に一人住まいする娘の大掃除ヘルプに家内がでかけるというのでアッシーをした。冬型気圧配置が強まってずいぶん寒いので、京都の雪景色を期待したが、残念ながら雪は降らなかった。
大将軍の焼き肉定食:クリックすると大きな写真になります まともな食事をあまりしていないらしい娘の希望で四条大宮にある「大将軍」で昼食としてはヘビーだが焼き肉昼食を摂った。京都の三条・四条通あたりの食事処は、どうやら堀川通りから西が庶民的になるらしい。

 そのあと一人で、師走の京都の町を歩いてみることにした。京都は広い通りを歩いてみても風情はない。堀川通りから一本西の車が1台ようやく通れるような岩上通りを上って、二条城の駐車場を抜け、丸太町から猪熊通りをブラブラと西陣へ。娘に聞くと京都らしい町家が多いのは、西陣あたりではないかという。京都は、私みたいな人が多いので、首からイチデジをぶら下げて歩いても違和感はない。

 歩いていて気がつくのは、玄関先に粽(ちまき)が吊されている町家が多い。家に帰って、ネットサーチしてみると、どうやら祇園祭のときに厄よけとして粽を求めて吊しているらしい。なかでも、長刀鉾の粽が人気らしい。
西陣近くの町家:クリックすると大きな写真になります厄よけのちまき:クリックすると大きな写真になります町家風の出版社:クリックすると大きな写真になります町家を改造した美術館クリックすると大きな写真になります

 もう一つ気づいたのは、町々にお地蔵さんがあることだ。これも、ネットサーチしてみると、お地蔵さんに関するページは結構多い。これらのお地蔵さんは、どうやら町内安全のために祀られているようだ。
お地蔵さん:クリックすると大きな写真になりますお地蔵さんの祠:クリックすると大きな写真になります祠の上の額:クリックすると大きな写真になります別のお地蔵さん:クリックすると大きな写真になります

 京都って、お寺・神社の庭や仏像ばかりではなく、町中をテーマを絞って歩いてみても面白そうだ。
 少し時間があったので、御所のある京都御苑まで足を伸ばしてみた。野鳥撮影のためのロケハン(Location Scouting)のつもりでもある。時代祭の見物には行ったが、中を歩いたことはない。中立売御門から入って北の方へ回ると「近衛池」という小さな池がある。ここには、幾種類かの野鳥が来るようだ。今度は、デジスコセットでも持って鳥を待ちかまえるのもいいかもしれない。
 御苑全体を歩き回るには、時間がかかりそうだし、少々疲れた。タクシーを拾って、娘の住まいまで帰った。運ちゃんの話では、明日の高校駅伝の応援で沢山の人が京都に訪れているらしい。

 ようやく掃除の終わった後、関西では超庶民的な「王将」の1号店が最近改装して新しくなったというので話の種に夕食に向かった。安くて量も多いが、いつも行くもっと西にある中華料理の方が美味しい。それでも、テークアウトも含めて賑わっていた。

2009年12月13日

隠居のJazz:Radio Senboku に Swing 特集を組んでみる

 この9月初めに jam session を中心に特集を組んで、Radio Senboku で流してきたプログラムも3ヶ月あまりになったので、組み直してみることにした。

 今までは、Swing Jazz 以降の、いわゆるモダン・ジャズを特集してきた。最近、相倉久人さんの「ジャズの歴史」を読んで、ジャズになれそめのころに、よく聴いた Swing Jazz が懐かしくなった。
 Swing Jazz はダンス・ミュージックである。私はダンスが踊れないので、どのようなステップを踏むのかわからないが。
Swing は第二次世界大戦時代あたりが最盛期といわれる。アメリカでは、自らも軍隊に入ったグレン・ミラー楽団などのアップテンポな曲を流して、兵士を鼓舞していたのだ。私が生まれた年の頃の話である。一方、その頃戦争に非協力的だった不良音楽家が作っていた bop がモダン・ジャズの潮流となったである。

 ともあれ、私の音楽データベースである Windows Media Player で自分の主観に基づいて、ジャンルを Jazz(swing) としているアーティストの曲を集めてみた。その時代の女性歌手も入れている。Ella Fitzgerald や Sarah Vaughan のスキャットでダンスが踊れるのかどうかは分からないが。それらの アーティストを演奏活動をしていた(している)年代をおって、自分の記録として表にしてみた。これらの情報源は、eMusic および Wikipedia である。

 
Swing Jazz Artists
ArtistBornDiedActive YearsOrigin
Revised on Dec. 13th, 2009
Duke Ellington 1899 1974 1914 -- 1974 Washington, D.C.
Louis Armstrong 1901 1971 1914 -- 1971 New Orleans, LA
Chick Webb 1909 1939 1920s -- 1930s Baltimore, MD
Glenn Miller 1904 1944 1923 -- 1944 Clarinda, IA
Carroll Gibbons 1903 1954 1920s -- 1940s Clinton, MA
Thomas "Fats" Waller 1904 1943 1920s -- 1940s New York, NY
Chu Berry 1910 1941 1920s -- 1940s Wheeling, WV
Henry Busse 1894 1955 1920s -- 1950s Magdeburg, Germany
Fletcher Henderson 1897 1952 1920s -- 1950s Cuthbert, GA
Sydney Bechet 1897 1959 1920s -- 1950s New Orleans, LA
Jimmy Dorsey 1904 1957 1920s -- 1950s Shenandoah, PA
Tommy Dorsey 1905 1956 1920s -- 1950s Shenandoah, PA
Art Tatum 1906 1956 1920s -- 1950s Toledo, OH
Bert Ambrose 1896 1971 1920s -- 1960s London, England
Elmer Snowden 1900 1973 1920s -- 1960s Baltimore, MD
Edmond Hall 1901 1967 1920s -- 1960s Reserve, LA
Coleman Hawkins 1904 1969 1920s -- 1960s St. Joseph, MO
Muggsy Spanier 1906 1967 1920s -- 1960s Chicago, IL
Johnny Hodges 1907 1970 1920s -- 1960s Cambridge, MA
Albert Wynn 1907 1973 1920s -- 1960s New Orleans, LA
Eddie Condon 1905 1973 1920s -- 1970s Goodland, IN
Gene Krupa 1909 1973 1920s -- 1970s Chicago, IL
Mary Lou Williams 1910 1981 1920s -- 1970s Atlanta, GA
Earl "Fatha" Hines 1903 1983 1920s -- 1980s Duquesne, PA
Bill Coleman 1904 1981 1920s -- 1980s Paris, KY
Count Basie 1904 1984 1924 -- 1984 Red Bank, NJ
Dicky Wells 1907 1985 1920s -- 1980s Centerville, TN
Benny Goodman 1909 1986 1926 -- 1986 Chicago, IL
Benny Carter 1907 2003 1920s -- 1990s New York, NY
Lionel Hampton 1909 2002 1920s -- 1990s Louisville, KY
Blue Note All Star Jazzmen    1930s -- 1940s  
The American Patrol Orchestra     1930s -- 1940s  
Hot Lips Page 1908 1954 1930s -- 1950s Dallas, TX
Lester Young 1909 1959 1930s -- 1950s Woodville, MS
Artie Shaw 1910 2004 1930s -- 1950s New York, NY
Billie Holiday 1915 1959 1933 -- 1959 Philadelphia, PA
Charlie Barnet 1913 1991 1930s -- 1960s New York, NY
Taft Jordan 1915 1981 1930s -- 1960s Florence, SC
Billy Strayhorn 1915 1965 1930s -- 1960s Dayton, OH
Bob Scobey 1916 1963 1930s -- 1960s Tucumcari, NM
Victor Silvester 1900 1978 1930s -- 1970s Wembley, Middlesex; UK
Claude Hopkins 1903 1984 1930s -- 1970s Alexandria, VA
Ben Webster 1909 1973 1930s -- 1970s Kansas City, MO
Stan Kenton 1911 1979 1930s -- 1970s Wichita, KS
Bobby Hackett 1915 1976 1930s -- 1970s Providence, RI
Harry James 1916 1983 1930s -- 1970s Albany, GA
Teddy Willson 1912 1986 1930s -- 1980s Austin, TX
Woody Herman 1913 1987 1930s -- 1980s Milwaukee, WI
Cab Calloway 1907 1994 1930s -- 1990s Rochester, NY
Buck Clayton 1911 1991 1930s -- 1990s Parsons, KS
Ella Fitzgerad 1917 1996 1934 -- 1993 Newport News, NJ
Dinah Shore 1916 1994 1937 -- 1994 Winchester, TN
Les Brown 1912 2001 1930s -- 2000s Reinerton, PA
Anita O'Day 1919 2006 1934 -- 2006 Chicago, IL
Jack Teagarden 1905 1964 1940s -- 1960s Vermon, TX
George Barnes 1921 1977 1940s -- 1970s South Chicago Heights, IL
Kenny Dorham 1924 1972 1940s -- 1970s Fairfield, TX
Peggy Lee 1920 2002 1941 -- 1985 Jamestown, ND
Sarah Vaughan 1924 1990 1942 -- 1989 Newark, NJ
Art Blakey 1919 1990 1942 -- 1990 Pittsburgh, PA
Billy May 1916 2004 1940s -- 1990s Pittsburgh, PA
Alan Jay Lerner 1927 2003 1940s -- 2000s Boston, MA
Rosemary Clooney 1928 2002 1946 -- 2001 Maysville, KY
Ray Anthony 1922   1940s -- Bentleyville, PA
Elliot Lawrence 1925   1940s -- Philadelphia, PA
Dick Johnson 1925   1940s -- Brockton, MA
Dick Hyman 1927   1940s -- New York, NY
Dorothy Ashby 1932 1986 1950s -- 1970s Detroit, MI
Skitch Henderson 1918   1950s -- Halstad, MN
Dave Brubeck 1920   1950s -- Concord, CA
Terry Gibbs 1924   1950s -- New York, NY
Al Belleto 1928   1950s -- New Orleans, LA
Frank Capp 1931   1950s -- Worcester, MA
Cedar Walton 1934   1950s -- Dallas, TX
Doc Severinsen 1927   1960s -- 1990s Arlington, OR
Susannah McCorkle 1946 2001 1970s -- 1990s Barkeley, CA
Concord All Stars     1970s -- 1990s  
Rob McConnell 1935   1970s -- London, Ontario, Canada
John Sheridan 1946   1970s -- Columbus, OH
Ken Peplowski 1959   1970s -- Cleveland, OH
Diane Schuur 1953   1980s -- Seattle, WA
Allen Farnham 1961   1980s -- Boston, MA  
The Copa Cat Pack     1990s --  
The Billy Gibson Band     1990s --  
Atlantic Five Jazz Band     2000s? --  

 上の Artists の演奏を原則的に年代を追って、124曲の Playlist にして、Radio Senboku に流している。パソコンを弄りながら、BGM として聴いている。

ジャズの歴史
新書で入門 ジャズの歴史 (新潮新書)
相倉 久人
新潮社
売り上げランキング: 97913
おすすめ度の平均: 5.0
5 教養に裏打ちされたジャズ史


2009年12月10日

隠居のパソコン備忘録:送信先リンクでGmail を使用する

 ブログの中に送信先のボタンを表示して、それをクリックすれば、直接メールをしてもらうことができる。このリンクをブログに書くHTML コードは、例えば私の場合 
<a href="mailto:n_shuhei.net@n-shuhei.net"> n_shuhei へメールする</a> 
 となる。

 多くの方々がインターネットのブラウザは、 Internet Explorer を使い、メールは、outlook express を使用されている。そのような場合、このメール送信ボタンをクリックすると、下のスクリーンショットのように、outlook express の送信画面となり、宛先欄に例えば私のアドレスが記入されている。
view_OE.JPG


 ただ、これで全く問題はないのであるが、最近は 便利さから Gmail を使っておられる方が結構おられる。 Gmail を普段使っていると送信記録もそこに残されるから、このような場合も Gmail から発信された方が好ましい。
 WindowsXP で Internet Explorer 環境では、普段使う電子メールプログラムは、「ツール」→「インターネットオプション」→「プログラム」→「電子メール」に表示されている。ただし、Gmail は、Yahoo メールなどと同じように、web メールであるので、普段使っていても、ここには表示されない。
 そこで、 Gmail から発信できる方法をネットサーチしてみた。設定の方法は簡単であるが、設定する場所を見つけるのが難しかったので、備忘録的に記録しておきたい。
Gmail を利用されている方なら、Google 本体はインストールされているはずである。その場合、 Internet Explorer の表示で、一般的には下のスクリーンショットのように、 Google Toolbar が表示されている。表示されていない場合は、「表示」→「ツールバー」→「Google toolbar」をクリックすれば表示される。
toolbar_IE7_s.JPG


このツールバーの右の方にあるtool_google.JPGマークをクリックすると出てくるポップアップ画面で「検索」を選択し、「ウェブ閲覧ツール」で「送信先リンクで Gmail を使用する」にチェックを入れておけば、送信先ボタンをクリックしたときに下のスクリーンショットのように Gmail の送信画面が立ち上がる。
view_google.JPG


2009年10月18日

隠居のパソコン備忘録:IE7 で新しいタブにウィンドウを開く方法(2)

 ブログなどで、関連URL をリンクして参照してもらうことが多い。その場合、私は本文とは別に新しいページを開いた方がいいのではないかと思う場合は、HTML コードの中でリンク先 URL の後ろに target="_blank" を指定している。
 (私のサイトの場合、DOCTYPE宣言は、よく分かっていないのだが、MovableType3.1 のものを使っており、
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

となっている。これは、2000年1月26日のW3C勧告のようである。)
 IE7 では、新しいウィンドウではなくて新しいタブに開くこともできる。その方法については、先のエントリー(隠居のパソコン備忘録:IE7 でLink 先を新しいタブにWindow を開く方法)で記録している。

 W3C の最新のコード体系では、target="_blank" を使うことは推奨されていない。その理由はいろいろあるようだが、リンク先のページを別のウィンドウに開くかどうかは個人の選択に任されるべきで、強制的に新しいページに開くことはお節介だというのが主な理由である。

 最近、私が運営するサイトで、友人の「蝶の写真集」を新たに更新した。蝶の科と種によるリスト・テーブルを作り、科名をクリックすると該当科のテーブルにリンクし、種名をクリックするとその種が属する科のサムネイル・ページにある種の写真を集めたサムネイルがある個所に直接リンクするようにしている。
 科別ページそのものへのリンク HTMLコードは、以下のように書くとリンク先のページは新しいウィンドウか、新しいタブに開かれる。
<tr><td id="th1"><a href="http://home/studio_yamako/butterfly_ageha.html" target="_blank"><span style="color:#ffffff" >アゲハチョウ科</span></a></td>
<td id="th1"><a href="http://home/studio_yamako/butterfly_sirochou.html" target="_blank"><span style="color:#ffffff" >シロチョウ科</span></a></td>
<td id="th1"><a href="http://home/studio_yamako/butterfly_jyanome.html" target="_blank"><span style="color:#ffffff" >ジャノメチョウ科</span></a></td>
<td id="th1"><a href="http://home/studio_yamako/butterfly_sijimi.html" target="_blank"><span style="color:#ffffff" >シジミチョウ科</span></a></td></tr>

 種名をクリックするとその種が属する科のサムネイル・ページにある種の写真を集めたサムネイル個所に直接リンクする場合には、次のようにHTML コードを書けば、新しいページが開く。
リンク元
<a href="http://home/studio_yamako/butterfly_ageha.html#aosujiageha" target="_blank">アオスジアゲハ</a>
リンク先
<a name="aosujiageha">アオスジアゲハ</a>


 target="_blank" の使い方を調べるネットサーチで知ったことであるが、target="_blank" が指定されていないリンク先を新しいウィンドウで開くには、Shiftキーを押しながらクリックすれば良いことが分かった。
 それにヒントを得て、 Ctrl キーを押しながら、クリックすると新しいタブにウィンドウが開くことが分かった。この場合、「ツール」→インターネットオプション→「全般」→タブ→「設定」で 「新しいタブの作成時には常に新しいタブに移動する」 を選んでおくと新しいタブでウィンドウを開いてくれる。
 最新のW3C コードで作られたページの場合、target="_blank" を使っていないようである。たとえば、私のページ右メニューに置いている Amazon ボタンを単純クリックすると本文のページと入れ替わるように設計されている。これを上の方法でクリックすると新しいページに開くことができる。
 target="_blank" コードがある場合も、この方法は有効であるので、新しいウィンドウまたはタブにリンク先を開きたい場合は、ShiftキーまたはCtrl キーを押しながらクリックすることに慣れておくのがいいかもしれない。

2009年5月24日

隠居の庭:5月下旬の花

 春の庭の花も、代表的に言えば、枝垂れ梅→モッコウバラ→アルストロメリア(百合水仙)と変わっていく。五月も下旬に入って、垣根に繁殖してきたアルストロメリアがほぼ満開になった。この時期の花を記録として残しておきたい。

アルストロメリア(百合水仙):クリックすると大きな写真になります黄ショウブ:クリックすると大きな写真になりますツルハナナス:クリックすると大きな写真になります斑入りツルハナナス(ヤマホロシ):クリックすると大きな写真になります
ラミウム:クリックすると大きな写真になりますshuhei.net/atelier/photo_garden/DSC_2736.JPGユキノシタ:クリックすると大きな写真になりますアブロチン:クリックすると大きな写真になります

 上の写真の中で、ラミウム と ゼラニューム とは名前がはっきりしなかった。いつものお助け掲示板に投稿すると二つとも cats さんという方が、すぐに教えてくれた。いつもながらありがたいことです。

2009年4月 2日

隠居のHP:ページへのアクセス制限を .htaccess で設定する

 著作権の問題などで、以前にアクセス制限をかけたページを作成していた。
今回、公開したくないページを自分用につくりたかったので、以前に設定したときの方法を歳をとって衰えた記憶を頼りにたぐってみたが、細かい点までなかなか思い出せない。
再学習して新たにアクセス制限を設定したので、備忘録として記録しておきたい。
 今回参照させていただいたのは、ChamaNet というサイトが無償で提供しているベーシック認証である。詳細はこのページに詳しいが、記録はリンク切れになったときの用心のためである。

 アクセス制限は、.htaccess ファイル内に記述する。 .htaccess はMovable Type のバージョンアップにともないブログのURL を変更したときにも使った。詳しくは、<.htaccess で移転先URLページへ誘導する:MT4.1 >にアップしている。

 ページにアクセス制限をかける方法は、FTP を使い慣れておればそれほど時間はかからない。
Chamanet が提供してくれている次のようなテキスト・ファイルを Notepad かなにかで(私の場合は、秀丸を使っている)作成し、htaccess.txt とする。(FTP に FFFTP を使っている場合は、.htaccess というファイル名もOKである)
AuthUserFile /home/xxxxxx/n-shuhei.net/public_html/xxxxxxx/.htpasswd
AuthGroupFile /dev/null
AuthName "Input ID and Password."
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
    deny from all
</Files>

/home/xxxxxx/n-shuhei.net/public_html/xxxxxxx/ の部分はサーバーのルートディレクトリからアクセス制限をするディレクトリまでのフルパスである。

 .htpasswd は、ID(ユーザ名)とパスワードを:で区切った1行のファイルである。例えば、次のような表現になる。
nshuhei:KRQF6dfVUaeqo
パスワードは、base64 で暗号化されている。パスワードを base64 で暗号化するサービスは、上のベーシック認証のようないろいろなページで提供されている。
この .htpasswd ファイルをアクセス制限をしようとするディレクトリー(フォルダー)に、.htaccess ファイルとともに置けばよい。

 このような設定をしたあと、私がレンタルしているサーバーの Xserver を覗いてみると、ユティリティとして「アクセス制限」が提供されていることが判明した。自分が設定したフォルダー名一覧が表示され、フォルダー毎のアクセス制限の on off を切り替えるだけでアクセス制限を設定できる。この方法で上で設定したフォルダーのアクセス制限を on にして .htaccess ファイルの中味をみると 上述したコードが重複して書かれていた。
 レンタル・サーバーも、どんどん進化しているようである。このような作業をする場合には、先ず第一にレンタル・サーバーのユティリティを覗いてみる必要がある。

2009年3月31日

隠居のHP備忘録:mp3 streaming file(.wax) をウェブ・ページからリンクさせる

 レンタル・サーバーの容量に少し余裕があるので、自分用に Jazz 以外の mp3 ファイルをストリーミング化して、サーバー上におき、ウェブページからリンクボタンをクリックすると音楽流れるようにすることを試みた。
 もちろん、そのようなファイルを公開することは著作権に触れるので、そのファイルへは .htaccess を使って ID とパスワードがなければアクセス出来ないようにした。この方法については、別にエントリーを UP したい。

 以前に<MP3 のストリーミング・ファイルの作成>という記事をエントリーしているので、これを参考に同じようなストリーミング・ファイルを作成して試してみたが、うまく動かない。
 このとき、参考にさせてもらった英語のページがリンク切れになっている。それで新たにググッテいると、STREAMING MEDIA FILES ON THE WEB というページを見つけた。ここに示されている meta file (.wax) のコードは以前に使っていたコードと同じである。
<ASX VERSION="3.0"> 
      <Title>xyz</Title> 
      <ENTRY> 
      <REF HREF="http://www.example.com/xyz.wma" />
      </ENTRY> 
      </ASX> 
 だが、上手くいかない。以前に使っていた wax ファイルの中で、ひとつだけ動いてくれるファイルがある。よくよく見比べてみると、うまく動いてくれる wax ファイルは単純で<Title>xyz</Title> のタグがない。試しに、以前には動いていた wax ファイルから、<Title>xyz</Title> タグをはずしてみると動くようになった。どうやら、Webページの head 部分の <Title>abcdefg</Title> と競合しているためらしい。そこまでは分かったが、避ける方法が見つからないので、 wax ファイルから <Title>xyz</Title> タグをはずした。

  <Title>xyz</Title> をはずしても WindowsMediaPlayer では、曲名や Artist, 作曲者を表示してくれる。元となっている mp3 ファイルがそれらを属性として持っているためらしい。Title タグは是非とも必要ではないので、これで運用しようと思う。
 ただ、Internet Explorer、WindowsMediaPlayer という Microsoft の取り合わせでないと動作しない。

2009年3月23日

隠居のJazz: Piano Artists を集めてみる

 1月から始めた、メインとなる楽器別の Artist による Track をRadio Senboku の特集で続行している。先月は Trumpet と Trombone Artist の Album から特集を組んだが、3月は Piano Artists を主体とした Album から編集することにした。

 今月も、後藤雅洋さんの「新ジャズの名演・名盤」を参照した。

 ピアノを主体とした Jazz 演奏は、Piano, Bass, Drums のトリオによる演奏が多い。この Piano Trio を創始したのは Bud Powell らしい。
 確かに、 Live などを聴きに行くと、この編成の Trio か、Sax あたりが入った Quartet が多いように思う。 Live をするときに Artists を集めるのに手軽ということもあるのだろう。
 Recording もやりやすいのか、私でも沢山の LP や CD を私も持っている。
 私は、表現の幅が多彩になる Sax とか Pet とかの管楽器が入っている方が、Jazz は面白いと思うが Trio が断然好きな人もいる。

 「新ジャズの名演・名盤」には、次にリストした Piano Artists の評価や推奨アルバムなどの記載がある。


 それ以外にも、私の Windows Media Player のライブラリー(データベース)には、次のような Pianists のアルバムやトラックがヒットする。その中には、兄貴の形見の LP盤をデジタル化したものも含まれる。裏表 40?50 分のLP を MP3 化するには、2時間足らずかかるので、いろいろな遊びをしているなかでは1日1枚がやっとである。

 この他にも、Duke Ellington や Count Basie はジャズピアニストとして有名であるが、Swing Jazz のカテゴリーで区分したいと思う。

 上の Jazz Pianists の演奏の中から、 Live365 Broadcast のルールにもとづいて Playlist を作り、Radio Senboku に流している。パソコンをいじっているときの BGM としては最適と思うので、つないで見て欲しい。
Radio Senboku の Playlist は右メニューからも Link している。
 最近はいろいろな和風レストランなどでも、Jazz が流れていることが多いように思う。Jazz というのはそういうときに癒しをくれる音楽なのかもしれない。

Bud Powell in Paris
Bud Powell in Paris
posted with amazlet at 09.03.23
Bud Powell
Wounded Bird (2008-11-11)
売り上げランキング: 103495
おすすめ度の平均: 4.5
3 パウエル......残照
5 よろこび
5 ちょいとわびさび
5 枯れたバドならこれが最高

Waltz for Debby
Waltz for Debby
posted with amazlet at 09.03.23
Bill Evans Scott LaFaro
Original Jazz Classics (1990-10-17)
売り上げランキング: 478
おすすめ度の平均: 4.5
2 Waltz for debbyは素晴らしい名曲、名演だ!
5 ピアノ・ジャズが生んだ傑作。奇跡のようなアルバム。
5 結局、これか!
5 My foolish heart ・・・
5 別テイクが並べて収録されている理由について

Cool Struttin'
Cool Struttin'
posted with amazlet at 09.03.23
Sonny Clark
Toshiba EMI (1999-04-07)
売り上げランキング: 2787
おすすめ度の平均: 4.5
5 心の泉に落ちた小石
5 ジャズ史上最高のジャケット
3 普通に良い程度のアルバム。現代のジャズ・アルバムのほうが良い
5 ソニー・クラークの最高傑作!超人気盤!
2 疑問


2009年2月25日

隠居のパソコン備忘録:IE7 でLink 先を新しいタブにWindow を開く方法

 Internet Explorer 7 (IE7)になってから、「タブ」という新しい機能がついた。Mozilla Firefox 3 ではかなり前からこの機能がある。
 このタブは、一度開いた同じウィンドウに新しいウィンドウをひらくことができる機能である。
 MoZilla 系の Google Chrome は、新しいタブのURL入力ボックスは、検索ボックスも兼ねている。ブラウザーも覇権争いでどんどん進化する。

 ところが、このタブ機能がブラウザによって異なる動きをする。
 Firefox 3 では、HTMLコードでリンク先のページを新しいウィンドウに表示する指定が、以下のように target="_blank" という指定があると同じウィンドウに「Radio Senboku」という新しいウィンドウが開かれる。
 <a href="http://www.live365.com/stations/nshuhei" target="_blank">Radio Senboku</a>
 
クリックすると大きくなりますクリックすると大きくなりますTab_01.jpg ところが、IE7の初期設定では、また、右のスクリーンショット(左)のように新たにブラウザが開く。 
 ブラウザに「タブ」という新しい機能ができたから、HTML コードに新しいタブ・ウィンドウに表示させる target="_blank" というようなコードがないかとサーチしてみたが、ないようだ。
そのかわり、IE7 では初期の設定を変えることで、Firefox 3 と同じく、右のスクリーンショット(右)のように新しいタブ・ウィンドウに新しいページを開くことができることがわかった。


クリックすると大きくなりますクリックすると大きくなります IE7 の「ツール」→「インターネット・オプション」のポップアップ画面下にある「タブ」設定ボタンをクリックする。でてくるポップアップ画面で、右のスクリーンショットのように、
ポップアップの発生時は、「ポップアップを開く方法を InternetExplorer で自動的に判定する」を選択し、
他のプログラムのリンクを開く方法で「現在のウィンドウの新しいタブ」を選択しておくとよい。
 ここで表示しているようなポップアップ画面は、新しいタブの表示とはならない。

2009年2月22日

隠居のヘルスケア:Fitness Club

 完全に引退してから、運動不足がたたって体重が増えてきた。
 かなり若いときから metabolic syndrome であったので体重が増えることは全てに悪い。酒をやめ、食事の量を減らせばいいのだろうが、QOL(Quality Of Life) が落ちるような気がして、なかなか実行できない。

 特にブログ作りなどをやりだしてから、パソコンの前で過ごす時間が増えて運動不足が顕著になった。テニスを再開するには足腰が弱りすぎている。ゴルフでは冷や汗をかくばかりでスポーツとはいえない。

クリックすると大きな写真になります それで家内のすすめもあって、2007年の秋に近くの病院が経営するフィットネス・クラブ(バウムメディカルフィットネス倶楽部)に入会して週 2 回 2 時間半ほど体を動かすことにした。お金でも払って強制的にやらないと体を動かすことが難しいからだ。
 入会時の身体検査では、体重は 77kg を超えていた。BMI 判定は、27.3 肥満である。私の身長 168cm では、標準体重は 62.1kg とあるが、そんな体重は経験したことがない。激しく運動をしていた高校生時代の体調のよいときでも、体重は68kg あった。QOL (と格好良くいっているが、要するに適度のアルコールと適度に美味しく食事をしたいだけなのだが)を守りながら、体重をBMI 標準の 70kg ぐらいまで減らそうという試みである。

 このフィットネス・クラブは、病院の一施設で極めて小規模である。一時は、経営上の理由で閉鎖されかけたが、会員の継続嘆願を聞き入れて病院理事長が継続を英断してくれた経緯もある。
 私は他のフィットネス・クラブに行ったことはないので、どういう状況かはよく分からないが、ここのクラブは会員が少人数故に家族的である。会員は女性が多いが、歳をとった方が多い中では私などは若造みたいなものである。

クリックすると大きな写真になります 午後1時半クラブに行くとまず血圧測定と体重を量る。45分から、インストラクターが鏡の前に立ってストレッチが行なわれる。これは、ほぼ全員の方が参加である。
そのあと、インストラクターの指導によるエアロビクス、脂肪燃焼プログラムなどがあるが、私はすぐにエアロバイクに向かう。
自転車をこいでいる間は退屈するのでTVの放映がされているが、私は Ipod shuffle に Radio Senboku で流している Jazz をダウンロードし聞くことにしている。
80Watt Pitch 60 あたりで40分ほどこぐと 190kcal くらいのカロリーが消費される。汗かきの私は、これだけで汗びっしょりとなる。

 次に、トレーニング・マシーンで部分的な筋力の強化(というより維持)を行う。特に、腹筋・腰回り用のマシーンを選んで、年々太くなってきた腹囲を 85cm 以下にしたいと励んでみるが一度ついた脂肪はなかなか落ちないようだ。まあ、ウエスト85cmで買った古くからのズボンがはけるので経済的効果ありと思っているのであるが。

クリックすると大きな写真になりますクリックすると大きな写真になります 次に、ラボードXP というトレッドミルで20分ほど歩く。設定は、傾斜 8.5%、時速 5.0km/h である。
このマシーンはいろいろと面白い。先の設定をしたときに、運動強度を示すメッツ(Mets) の表示がでて、7.0Metsを示している。このMets で 20分ほど続けると、181kcal ぐらい消費されて、写真のように生ビール ジョッキー1杯飲めますよといった表示がでる。ちなみにもう少し消費熱量を増やすようにがんばると次はお酒とっくり一本が出る。もっといくとビーフステーキが出たりする。
 泉北の泉ヶ丘と栂地区との間にあるこのフィットネスクラブの周辺も宅地開発が進んでいるが、わずかに昔の樹木が残っている。iPod で Jazz を聴きながらトレッドミルやエアロバイクをこいでいると窓を通して梢の先に野鳥がとまりに来たりするのを眺めることができる。単調なことがきらいな私でも続けていられる。

クリックすると大きな写真になります フイットネスのおしまいにプールに入って帰る。このプールは水深が 90cm 位で泳ぐことは禁止されている。もっぱら、水中歩行用である。私が行っている火曜日の午後は、インストラクターがいろいろな水中のエキササイズを教えてくれる。30分くらいいろいろな姿勢で歩くと結構な運動量となる。
 プールの外は中庭になっており、山茶花などが植栽されているので季節感もある。
2 時間半ほどで超々ミニ・トライアスロンをしていると思っている。帰り際に、もういちど血圧と体重を量って帰るが、1kg くらい減っている。夕食に、ビールを飲むと元に戻っているのだが。

 しかし、「継続は力なり」 である。体重は日によってバラツキはあるが、72kg を切るようになってきた。
 血糖値も血圧も、薬剤の助けは借りているが鑑別診断基準のボーダーラインの少し上ぐらいで安定している。
 このような小規模なフイットネスクラブが、年金生活者向けになんとか継続してくれることを祈念している。 

    

2008年9月21日

隠居のMT備忘録:lightbox 2.0 の背景 overlay が黒くならない

 lightbox 2.0 の最新バージョン 2.04 の導入は失敗した。導入の手順を間違ったものと思うが、サイトそのものにアクセスできないという致命的な障害がでるので、すぐに元のバージョン 2.03 に戻した。

 そのときのドサクサにまぎれてテンプレートなどをいじったせいか、次の条件のときに、画像が現れるポップアップ画面の背景 overlay が黒くならないという現象がでた。
  • Windows XP SP2
  • Internet Explorer 7
  • MovableType 4.1 テンプレート:小粋空間:two-column-liquid-right メインページ
 アーカイブページやWindowsVista Mozilla(Firefox) では起こらない。
 上記は私の環境で、それ以外については確認していない。

 lightbox2.0 のページの support では、overlay については次の説明がある。

The shadow overlay doesn't stretch to cover full browser window.
Remove the default margin and padding from the body tag. Add body{ margin: 0; padding: 0; } to your stylesheet.

 スタイルシートでは、この設定は既に以下のようになっており、問題はなさそうである。
/* すべて */
* {
    margin: 0;
    padding: 0;
    font-family: Verdana, Arial, sans-serif;
    word-break: normal;
    line-break: strict;
}


 ネットサーチもしてみたが、的確な示唆はヒットしなかった。見当はずれであるが、「小粋空間」さんの「Lightbox JS の Movable Type での不具合を修正する」のエントリーに、コメントとして質問を投げかけてみた。親切に以下のような返事をいただいたが、結局原因不明である。
>n_shuheiさん
こんばんは。ご返事遅くなってすいません。
事象は確認できましたが、現在のところ原因不明です。

もし何か分かりましたら別途エントリーしたいと思います。
それではよろしくお願い致します。


 アクセス解析サービスの Artisan の分析では、私のサイトへの訪問者は、WindowsXP IE6/7 でのアクセスが最も多いから、早く修復したいと思ったが方途がない。

 運営している友人の2つのブログのひとつを見ていると、なんと上の条件でも、lightbox で拡大画像表示されるポップアップ画像の背景overlay が黒くなっていることが分かった。いじっているうちに偶然うまくいっていたらしい。

 このブログも同じ小粋空間:two-column-liquid-right のテンプレートを使っているので、lightbox 表示に関連していると思われるテンプレートモジュールの「ヘッダー」を子細に見てみると、正常に表示されるブログのテンプレートの<div> タグを閉じる </div> タグがひとつ少ないことを見つけた。
 どうやら、テンプレートモジュールの「ヘッダー」で<div> タグを閉じる </div> タグを余計にひとつつけたことが原因らしく思われた。テンプレートの構成上テンプレートモジュールの「ヘッダー」の<div> タグのひとつは、テンプレートモジュールの「フッター」で閉じられることになっていたのだ。

 「ヘッダー」の余計な </div> タグを削除すると上手く背景overlay が黒くなった。原因は、まったくそのせいと思っていたが、再現性を確認するために、「ヘッダー」テンプレートに余計な </div> タグをつけても、背景overlay は黒くなる。再現性はないのだ。
 どうやら修復は不可逆性だったようで釈然としないのだが、うまく表示されるようになっているので、まあ、いいか という気分である。
 ブラウザーに依存する障害は、いつもよく分からない。

2008年8月24日

隠居のBlog備忘録: MT4.1 で エントリー部分のみを印刷する

 友人から、ブログのヘッダー部分や右サイドメニューを外して、エントリー部分のみを印刷できないかの質問を受けた。確かに、ヘッダー部分や右サイドメニューが印刷されるのは少々うっとうしい。

 方法をググッテみるといつもテンプレートを使わせてもらっている「小粋空間」さんに、「印刷用スタイルシート」というカストマイズがあることが分かった。このカスタマイズは、印刷をするときには、スタイルシートを切り替える仕様になっている。MT4.1、「小粋空間」さんのテンプレート(layout-two-column-liquid-right )の私のブログ環境に導入してみたので備忘録として書き留めておきたい。
 
  1. 印刷用スタイルシート追加を追加する。
     管理画面のデザイン→テンプレート→インデックス・テンプレートの表示で「インデックステンプレートを作成」クリックして、以下のように新しいインデックス・テンプレートを作成する。
    • テンプレートの名前:ForPrinting(なんでもよい)
    • 出力ファイル名:print.css
    • 再構築オプション:チェックを外す
    • このテンプレートにリンクするファイル:(空白)
    • テンプレートの中身:スタイルシート(styles-site.css)の中身を丸ごとコピー
  2. 印刷用スタイルシートの修正
    コピーしたスタイルシートで本体のヘッド部分と右サイドメニューが印刷プレビューで表示されないように、該当スタイルのID属性、クラス属性をいじった。
     私の場合、具体的にはスタイルシートの次の項目を青字で書いた部分を付加した。
    #header 
        {
         /* padding: 15px;
        border-bottom: 1px solid #669;
        color: #999;
        background-image: url("http://n-huhei.net/Libraly/Image/Wood_ipe_01.gif");   
        background: #8fabbe; 
       text-align: left;     */
       display: none;
    }
    
    #links-left-box dl,
    #links-right-box dl {
      /*  margin: 0;
        padding: 0;   */
          display: none;
        }
    
    /* 2カラムリキッドレイアウト(右サイドバー) */
    .layout-two-column-liquid-right #content {
        /* margin: 0 250px 10px 0px;  */
        margin: 0 10px 0px;    
       /* border-bottom: 1px solid #669;
        border-right: 1px solid #669;
        background-color: #ffffff;  */
        border-style: none; 
    }

  3. テンプレートに link 要素追加
     次に、モジュールテンプレートの「ヘッダー」 <head> 部にあるスタイルシートを呼び出している部分を次の青字部分を追加した。
    実際には、この部分を先に付加しておいて、ブログのエントリーを表示し、ブラウザーのツールバー「ファイル」→「印刷プレビュー」で確認しながら print.css をいじる試行錯誤をした。
    
       <link rel="stylesheet" href="<$MTLink template="スタイルシート"$>" type="text/css" media="screen,tv" />
       <link rel="stylesheet" href="<$MTBlogURL$>print.css" type="text/css" media="print" />


  4. カスタマイズの結果
    ForPrintCSS.jpgForPrintCSS_2.jpg 左のスクリーンショットは、このカスタマイズをしていない場合とカスタマイズした後との印刷画面の比較である。
     カスタマイズした後は、ヘッダーと右サイドメニューが印刷画面に出てこないので、エントリー部分のみを印刷できる。




2008年8月18日

隠居のBlog備忘録:MT4.1 での lightbox による画像の挿入を簡略化する

 最近、友人の海外旅行の写真集をブログ Studio YAMAKO に作成していることもあって、画像の挿入する機会が増えた。MT4.1 で写真を掲載することは、MT3.3 のときに比べれば少し楽になっているが、まだいろいろと操作をしなければならない。

 私の場合、写真はブログ本文にサムネイルを掲載し、これをクリックすれば画面全体がブラックアウトして、ポップアップ的に原寸の写真が表示される lightbox というプラグインを使用しているので、その分も操作が多い。そこで、私の知識でもう少し手を抜くことはできないかググッテみた。

 MT4.1 で画像の挿入操作をしたときに自動的に貼り付けてくれるHTMLコードは下のようなコードである。
<form mt:asset-id="227" class="mt-enclosure mt-enclosure-image" style="display: inline;">
<a href="http://n-shuhei.net/studio_yamako/xxxxxx/080818_001.jpg">
<img alt="080818_001.jpg" src="http://n-shuhei.net/studio_yamako/xxxxxx/080818_001-thumb-200x132.jpg" width="200" height="132" class="mt-image-right" style="float: right; margin:  0 0 20px 20px;" /></a></form>

今までは作成してくれたコードを、次の青字のように数カ所属性を追加したり、手を加えたりしていた。
<form mt:asset-id="227" class="mt-enclosure mt-enclosure-image" style="display: inline;">
<a href="http://n-shuhei.net/studio_yamako/xxxxxx/080818_001.jpg" title="ABC" rel="lightbox[aa]">
<img alt="クリックすると大きな写真になります" src="http://n-shuhei.net/studio_yamako/xxxxxx/080818_001-thumb-200x132.jpg" width="200" height="132" class="mt-image-right" style="float: right; margin: 5px;" /></a></form>


 このように手を加えることは挿入する写真が多くなると結構な手間になる。
 「モバイルタイプ備忘録」の関連ページなどを参考に、perl なんてこれから晩学するつもりで全く分からないが、画像の挿入時に使われるソース・プログラムを覗いて、「秀丸」でいじってみた。
 ソース・プログラムは、/cgi/mt/lib/MT/Asset フォルダーにある Image.pm である。この320行目あたりにある行を青字のように変えた。
# '<a href="%s"><img alt="%s" src="%s" %s %s /></a>',
'<a href="%s" title="" rel="lightbox[]"><img alt="%s" src="%s" %s %s /></a>'

 私の場合、lightbox は 2.0 を使っているので、グループ表示のための [] とキャプション挿入の title="" を付け加えた。日本語文字列の「クリックすると大きな写真になります」を入れようとしたが、これは上手くいかなかった。 perl の勉強が必要のようだ。この挿入は、「だい」→「クリックすると大きな写真になります」とIME に単語登録して簡単化することにした。
 初期値では、サムネイル写真を表示するボックスの周囲に余白を作る style の margin が私の場合適切ではないので、この部分も先ほどのソース・プログラムで見つけて(279・282行目あたり)、次のように改定すると上手くいった。
# ' $wrap_style .= q{style="float: left; margin: 0 20px 20px 0;"};
    $wrap_style .= q{style="float: left; margin: 5px;"};

# ' $wrap_style .= q{style="float: right; margin: 0 0 20px 20px;"};
 ' $wrap_style .= q{style="float: right; margin: 5px;"};

 ソース・プログラムが少しいじれるようになったので、ブログつくりも面白みが増えたが、リスクとは隣り合わせのようだ。しっかりとバックアップをとってからいじるようにしたいと思う。それにしても、学習しなければならないことが多いので、もうちょっとの間はボケの進行が止まっていて欲しいと祈念している。

2008年8月 3日

隠居のお勉強:JavaScript(13) onerror

 梅雨明けから酷暑の日が続き、屋外での活動はほとんどできない。特に、ここ大阪堺市は全国的に見ても暑い都市で連日最高気温が35℃を超えている。老齢を自覚して、クーラーの効いた部屋で過ごすようにしている。

 幸いウェブを開いておれば退屈することはない。JavaScript の学習がおろそかになっていたので、例によって W3Schools の tutorial で再開することにした。今回は、前回に続いてエラー処理の script である。

 onerror イベントハンドラーは、エラーをキャッチしてメッセージを出す古くからの標準的な方法である。

 次はその使い方サンプルである。
<html>
<head>
<script type="text/javascript">
onerror=handleErr;
var txt="";

function handleErr(msg,url,l)
{
txt="There was an error on this page.\n\n";
txt+="Error: " + msg + "\n";
txt+="URL: " + url + "\n";
txt+="Line: " + l + "\n\n";
txt+="Click OK to continue.\n\n";
alert(txt);
return true;
}

function message()
{
adddlert("Welcome guest!");
}
</script>
</head>

<body>
<input type="button" value="View message" onclick="message()" />
</body>

</html>



上のスクリプトは、alert("Welcome guest!"); とすべきとろころが、adddlert("Welcome guest!"); となっているので、下のボタンをクリックするとスクリプトがエラーとなり、onerror イベントハンドラーが働き、エラーが表示される。



この間違ったスクリプトを訂正すると、"Welcome guest!" と本来のメッセージが表示され、エラーは表示されない。次のボタンをクリックしてみてください。



2008年7月27日

隠居のお勉強:JavaScript(12) throw

 MT のバージョンを 3.35 から 4.1 へアップグレードするのにずいぶん時間をとられて、続けていた JavaScript のお勉強がほったからしになっていた。
 過去の JavaSCript のエントリーを見直していると、 4.1 へアップグレードによってリンク切れを起こしていたり、必要なスクリプトがサーバーにアップされていなかったりしていた。それらを修復しながら復習することができた。

 W3School tutorial の続きで、今回は throw の勉強である。
  throw statement によって、例外処理ができる。前回の try....catch と一緒に使うと適切なエラー・メッセージによってプログラムを流すことができる。
 以下の例では、変数x に値を求め、x が 0 より小さかったり、10 より大きかったり、数字以外の文字がインプットされた場合に、それぞれにあったエラーを表示する。
 
<html>
<body>
<script type="text/javascript">
var x=prompt("Enter a number between 0 and 10:","");
try
{ 
if(x>10)
  {
  throw "Err1";
  }
else if(x<0)
  {
  throw "Err2";
  }
else if(isNaN(x))
  {
  throw "Err3";
  }
}
catch(er)
{
if(er=="Err1")
  {
  alert("Error! The value is too high");
  }
if(er=="Err2")
  {
  alert("Error! The value is too low");
  }
if(er=="Err3")
  {
  alert("Error! The value is not a number");
  }
}
</script>
</body>
</html>


 上の例を実行するボタンを作ってみた。Script は外部化し<head> 部で呼び出している。 

 

 ボタンをクリックしたときに、上の js を実行するためには、関数化しておかねばならない。作った関数は以下である。
// throwEx sample
function throwEx()
{
  ・
  ・
(上の青字部分)
  ・
  ・
}


これを<body> で実行するボタン(上のボタン)を置く、HTML は、次のコードである。
<input type="button" onclick="throwEx()" value="throw statement Sample" />


2008年7月22日

隠居のBlog備忘録:MT4.1 で TagCloud ページをつくる

 MT3.3 のときに、はじめて TagCloud を設置したときはかなり苦労した。

 MT4.1 では「小粋空間」さんのテンプレート・セットの "two-colomn-liquid-right" を使わせてもらっている。TagCloud は右サイドメニューの中で表示する仕様になっている。Msajii's Blog のようにタグ(キーワード)が多いと「小粋空間」さんの「タグクラウドの折りたたみ for Movable Type 4」を使わせてもらって、折りたたみができる。ただ、私の場合はメッシュを細かくしてタグ(キーワード)をつけたので700 ちかくになっているから、全てを表示すると縦に長くなってしまう。

 それで、MT3.3 のときのようにページで表示できないかネットをググッテみたが、適切なインストラクションがヒットしなかった。それでもいろいろなページを参考に、MT3.3 のときに使っていた「小粋空間」さんの「Movable Type 3.3 エントリー・タグ詳説」のコードを使って、TagCloud ページを作るとうまくいったので備忘録的に書き留めておきたい。

 わかってみれば設置は簡単である。
  1. 方法はインデックステンプレートを新しく作るのである。(追記:2013/1/22)。インデックステンプレートのメインページをまるまる C&P して、新しく名前は何でもいいのだが、TagCloud とでもし、出力ファイル名はこれも名前は何でもいいのだが tagcloud_page.php としてインデックス・テンプレートに保存する。
  2. このテンプレートページの下記の部分を削除し、
    <MTEntries>
       <$MTEntryTrackbackData$>
       <$MTInclude module="ブログ記事の概要"$>
    </MTEntries>
    

    「Movable Type 3.3 エントリー・タグ詳説」の下方にある次のコードを挿入する。
    <div class="module-tagcloud module">
        <h2 class="module-header">Tag cloud</h2>
        <div class="module-content">
            <ul class="module-list">
                <MTTags>
                    <li class="module-list-item taglevel<$MTTagRank$>">
                        <a href="<$MTTagSearchLink$>"><$MTTagName$></a>
                    </li>
                </MTTags>
            </ul>
        </div>
    </div>
    <h2> Tag Cloud </h2> の部分には、TagCloud の説明などに変更できる。
  3. スタイルシートには、次のCSS を追加する。
    /* (タグクラウド用) */
    
    .module-tagcloud .module-content a {text-decoration: none; }
    .module-tagcloud .module-content {text-align: left; }
    .module-tagcloud .module-content .module-list { list-style: none; }
    .module-tagcloud .module-content .module-list .module-list-item { display: inline; }
    .module-tagcloud .module-content .module-list li.taglevel1 { font-size: 32px; }
    .module-tagcloud .module-content .module-list li.taglevel2 { font-size: 28px; }
    .module-tagcloud .module-content .module-list li.taglevel3 { font-size: 24px; }
    .module-tagcloud .module-content .module-list li.taglevel4 { font-size: 20px; }
    .module-tagcloud .module-content .module-list li.taglevel5 { font-size: 16px; }
    .module-tagcloud .module-content .module-list li.taglevel6 { font-size: 12px; }
    
    .module-tagcloud .module-content .module-list li.taglevel1 a{ color: #000000; }
    .module-tagcloud .module-content .module-list li.taglevel2 a{ color: #0000ff; }
    .module-tagcloud .module-content .module-list li.taglevel3 a{ color: #000000; }
    
    表示するフォントの大きさや色は、ここでいじれる。ランクの区分は6段階が初期値である。
  4. 作ったページへのパス(私の場合:http://n-shuhei.net/atelier/tagcloud_page.php )でブラウザに TagCloud ページが表示できれば成功である。
  5. あとは適当な位置に TagCloud ページへのリンクボタンを設定すれば終わりである。右サイドにボタンを置いたので、サンプルはそちらをみて欲しい。


2008年7月14日

Jazz Collection

              

Jazz Collection List


 2002年の年末からeMusicサイトから同一track名で検索し収集を始めたJazzのリストです。
 収集を始めたころは、DLするtrack数に制限がなかったので、かなりの勢いでDLしています。改めて整理をしてみると同じ名前のtrackがあり重複しているものもあります。また、同サイトも年々契約レーベルを増やしており、The Very Thought Of You のように、3年経て改めて検索してみると収録trackが随分増えているようです。そうした楽しみも増えました。

(追記:2006/8/5)Play Tagger by del.icio.us を利用して、Track Theme のメロディを copyright で許される程度の音にした。聴こえてくるのはどこかで聴いたメロディだと思う。Playボタンをクリックしてみてください。著作権を調査してみるとこのような行為も許してくれないようなので、音を出すことは中止しました。
(追記:2006/8/10) Backup していたDVDから Album8 の My Foolish Heart がSoundEngine でなぜか再生できないので、再度 eMusic から DL した。2年半も経つと収録track数が倍以上増えており、1枚のCDでは同じ Album に Backup できなくなったので、Album24 に収録することにした。
(追記:2006/8/12) Backup していたDVDから Album10 の Blue Moon が同様にSoundEngine で再生できないので、再度 eMusic から DL した。3年近く経つと収録track数が倍以上増えている。こちらも1枚のCDでは同じ AlbuBackup できなくなったので、Album25 に収録することにした。
(追記:2006/9/6) Album15 の Old Folks も Backup から再生できないことがわかったので、再度DLした。
(追記:2006/10/22) Album16のWhen The Saints Go Marching InもBackup から再生できないことがわかったので、再度DLした。20tracksくらい増えている。
(追記:2007/2/10) Live365.com というサイトで、Radio Senboku というラジオ局を合法的に立ち上げました。そこで、このリストにある曲を全部ではありませんが流していますので、お楽しみください。状況によりつながりにくい場合もありますが、何度か繰り返して見てください。

#
Track Name
Files
Volume
Composer
BackUp
DL date
Album1 All of Me 22 79.1 Leon McAuliffe DVD01 2003/1/12
  As Times Goes By 15 63.6 Herman Hupfeld DVD01 2002/12/19
  How High The Moon 39 196.0 Morgan Lewis DVD01 2003/1/18
  Mack The Knife 18 77.8 Kurt Weill DVD01 2003/1/13
  You'd Be So Nice To 18 74.2 Cole Porter DVD01 2002/12/28
  (total) 112 490.7     **
Album2 April In Paris 25 97.7 Barnon Duke DVD01 2003/1/17
  Autumn Leaves 64 310.0 Joseph Kosma DVD01 2003/1/3
  September Song 25 87.0 K.Weill/M.Anderson DVD01 2003/1/17
  Avalon 20 84.7 unknown  DVD01 2003/1/5
  When You Wish Upon A Star 15 69.7 Leigh Hairline DVD01 2003/1/5
  (total) 149 649.1     **
Album3 Georgia On My Mind 36 163.0 Hogie Carmichael  DVD01 2003/1/19
  Sweet Georgia Brown 63 245.0 MaceoPinkard DVD01 2003/1/19
  The Man I Love 48 227.0 George Gershwin DVD01 2003/1/23
  (total) 147 635.0     **
Album4 Begin The Beguine 28 92.4 Cole Porter DVD01 2003/1/26
  Cotton Tail 23 120.0 DukeEllington DVD01 2003/2/15
  It Don't Mean A Thing 39 252.0 DukeEllington DVD01 2003/1/26
  Things Ain't What They Used To Be 45 255.0 DukeEllington  DVD01 2003/2/4
  (total) 135 719.4     **
Album5 After You've Gone 39 154.0 Turner Layton  DVD01 2003/1/31
  Body & Soul 99 520.0 John Green DVD01 2003/2/13
  Someone To Watch Over Me 43 161.0 George Gershwin DVD01 2003/1/25
  (total) 181 835.0     **
Album6 Caravan 70 424.0 Juan Tizol DVD01 2003/4/6
  The Girl From Ipanema 43 213.2 Antonio Carlos Jobim  DVD01 2003/5/14
  (total) 85 637.2     **
Album7 Cheek To Cheek 22 100.0 Irving Berlin DVD02 2003/9/30
  Cherokee 43 23.0 Ray Noble  DVD02 2003/8/1
  It Could Happen To You 34 169.0 Jimmy Van Heusen  DVD02 2003/9/8
  Fly Me To The Moon 20 88.9 Bart Howard  DVD02 2003/9/13
  I Get A Kick Out Of You 18 78.1 Cole Porter DVD02 2003/11/10
  (total) 137 459.0     **
Album8 My Foolish Heart 41 210.0 Victor Young  DVD02 2003/11/9
  Honeysuckle Rose 18 71.1 Thomas Waller DVD02 2003/7/15
  Indiana 47 214.0 MacDonald-Hanley  DVD02 2003/5/22
  Jazz Me Blues 13 42.2   DVD02 2003/9/17
  Mary Lou 6 23.2   DVD02 2003/6/15
  Moonglow 15 53.3 Will Hudson  DVD02 2003/9/16
  The Rest Of Your Life 15 72.9 Michel Legrand  DVD02 2003/9/10
  (total) 114 476.7     **
Album9 Oh, Lady Be Good 45 188.0 G.&I. Gershwin DVD02 2003/10/24
  Night & Day 46 206.0 Cole Porter DVD02 2003/7/11
  I'm Old Fashioned 24 107.0 Jerome Kern & Johnny Mercer DVD02 2003/10/3
  Penneis From Heaven 29 130.0 Arthur Johnston DVD02 2003/10/29
  The Very Thought Of You 13 58.6 Ray Noble  DVD02 2003/10/15
  (total) 157 689.6     **
Album10 Blue Moon 25 88.8 Rodgers and Hart  DVD02 2003/11/30
  I'll Remember April 45 274.0   DVD02 2003/9/26
  St. Thomas 23 121.0   DVD02 2003/8/6
  Softly, As In A Morning Sunrise 34 170.0 Oscar Hammerstein DVD02 2003/7/9
  (total) 102 653.8     **
Album11 Stella By Starlight 69 380.0 Victor Young DVD02 2003/9/1
  Don't Be That Way 21 85.9   DVD02 2003/7/17
  Topsy 11 54.6   DVD02 2003/10/2
  Undecided 27 132.0 Charlie Shavers  DVD02 2003/10/1
  (total) 128 652.6     **
Album12 Cry Me A River 14 64.4 Arthur Hamilton  DVD02 2004/1/5
  My Favorite Things 20 157.0   DVD02 2003/12/18
  It's Only A Paper Moon 24 95.9 Harold Arlen DVD02 2003/12/31
  So What 13 69.9 Miles Davis  DVD02 2003/12/31
  A Night In Tunisia 38 225.0 Dizzy Gillespie DVD02 2003/12/2
  (total) 109 612.2     **
Album13 A Good Man Is Hard To Find 11 31.8   DVD03 2005/3/22
  Anything Goes 6 26.6 Cole Porter DVD03 2005/3/22
  Misty 19 90.5 Erroll Garner  DVD03 2005/3/22
  My Funny Valentine 40 195.0 Rodgers and Hart DVD03 2005/3/23
  New York, New York 9 32.2   DVD03 2004/3/17
  Solitaire 5 20.2   DVD03 2004/1/28
  Someone To Watch Over Me? 56 214.0 George Gershwin DVD03 2004/5/18
  (total) 146 610.3     **
Album14 I'm Beginning To See The Light 16 57.6 Harry James  DVD03 2004/3/15
  S' Wonderful 19 63.7 George Gershwin DVD03 2004/6/2
  Tenderly 58 267.0 Walter Gross DVD03 2004/5/12
  The Days Of Wine And Roses 13 55.3 Henry Mancini  DVD03 2004/4/14
  What A Wonderful World 8 35.0 George Weiss / Bob Thiele  DVD03 2004/2/23
  (total) 114 478.6     **
Album15 I Got It Bad(And That Ain't Good) 52 261.0 DukeEllington DVD03 2005/3/3
  As Long As I Live 19 64.8 Harold Arlen DVD03 2004/11/18
  Old Folks 59 321.7 Willard Robinson  DVD03 2006/9/6
  (total) 130 647.5     **
Album16 Ice Cream 5 21.9   DVD03 2004/10/8
  On The Sunny Side Of The Street 35 138.5 McHugh-Fields DVD03 2005/1/3
  Solitude 32 137.7 Duke Ellington DVD03 2004/12/31
  When The Saints Go Marching In 57 215.0   DVD03 2006/10/22
  Mood Indigo 33 157.7 Duke Ellington  DVD03 2005/2/12
  (total) 144 612.7     **
Album17 Autumn In New YORK 35 180.0 Vernon Duke  DVD03 2005/3/31
  Take Five 17 89.1 Paul Desmond  DVD03 2005/2/15
  Take The 'A' Train 65 347.9 Billy Strayhorn DVD03 2005/3/2
  Night & Day 9 44.8 Cole Porter DVD03 2005/4/15
  (total) 126 661.8     **
Album18 I Ain't Got Nothing But Blues 2 11.6   DVD03 2005/5/4
  Don't Be That Way 23 104.7 Benny Goodman DVD03 2005/4/11
  Moonglow(Picnic)? 24 94.0 Will Hudson  DVD03 2005/5/2
  Day By Day 21 75.0 P. Weston DVD03 2005/1/17
  Satin Doll 69 368.0 DukeEllington DVD03 2005/5/28
  (total)  139 653.4     **
Album19 Moritat 5 36.6   DVD03 2005/5/7
  Indian Summer 38 163.0 Al Cubin DVD03 2005/7/24
  But Not For Me 66 315.3 George Gershwin DVD03 2005/8/17
  Stella By Starlight(2) 14 64.0 Victor Young DVD03 2005/8/6
  (total)  123 578.9     **
Album20 I Got Rhythm 48 170.4 George Gershwin DVD04  2005/9/1
  I Can't Give You Anything But Love 49 184.4 Jimmy Mchugh DVD04  2005/9/28
  One Note Samba 19 84.3 Antonio Carlos Jobim   DVD04  2005/11/18
  Tennessee Waltz 10 36.9 Pee Wee King DVD04  2005/11/6
  When You're Smiling 25 85.5 Larry Shay DVD04  2005/10/10
  Sing, Sing, Sing 15 94.9 Louis Prima DVD04  2005/10/10
  (total) 166 656.4     **
Album21 Struttin' With Some BBQ 3 10.5   DVD04  2005/10/23
  Rose Room 14 54.7   DVD04  2005/11/13
  The Very Thought Of You(2) 42 203.5 Ray Noble  DVD04  2005/12/10
  Love me, Or Leave Me 32 121.8 Gus Kahn/Walter Donaldson DVD04  2005/11/18
  Sugar 20 101.9   DVD04  2005/12/23
  Somebody Loves Me 33 129.1 George Gershwin DVD04 2005/12/27
  (total)  144 621.5     **
Album22 Nice Work If You can Get It 44 149.8 George Gershwin DVD04 2006/1/4
  Baby Won't You Please Come Home to 33 103.8 Clarence Williams DVD04 2006/1/8
  Chicago 13 39.2 Fred Fisher DVD04 2006/2/12
  As Long As I Live_2 6 27.0 Harold Arlen DVD04 2006/2/14
  Time On My Hands 21 90.0   DVD04 2006/2/16
  Just Squeez Me 37 212.1 Duke Ellington DVD04 2006/3/23
  Lulabye Of Birdland 3 10.4 George Shearing DVD04  2006/3/24
  (total)  157 632.3     **
Album23 In A Mellow Tone 35 199.4 Duke Ellington DVD04 2006/4/12
  Air Mail Special 16 74.3   DVD04 2006/4/18
  Stars Fell On Alabama 24 108.6 Flank Perkins DVD04 2006/5/8
  Just One More Chance 8 29.5 Arthur Johnston DVD04 2006/5/9
  Perdido(Lost) 70 360.0 Juan Tizol DVD04 2006/7/20
  (total)  153 632.3     **
Album24  Day Dream 31 158.3 Duke Ellington DVD04 2006/7/20
  My Foolish Heart 88 475.5 Victor Young DVD04 2006/8/9
  (total)  119 633.8     **
Album25  Blue Moon 53 208.9 Rodgers and Hart  DVD04 2006/8/12
  Do You Know What It Means To Miss New Orleans 37 153.4 Eddie DeLange DVD04 2006/10/6
  Work Song 44 248.5 Nat Adderley DVD04 2006/12/2
  The World Is Waiting For The Sunrise 7 23.9 Ernest Seitz DVD04 2006/8/12
  (total)  141 634.3     **
Album26  I'll Remember April 85 521.9 Don Raye DVD5 2006/12/18
  September In The Rain 27 108.0 Harry Warren DVD5 2007/1/5
  (total)  112 629.9     **
Album27 Just One Of Those Things 99 428.7 Cole Porter DVD5 2007/2/17
  Django 38 214.6 John Lewis DVD5 2007/5/20
  (total)  137 643.3     **
Album28 East Of The Sun 82 399.9 Brooks Bowman DVD5 2007/3/5
  'Round Midnight 48 287.6 Thelonious_Monk DVD5 2007/6/10
(total)  130 687.5     **
Album29 Come Rain Or Come Shine 48 287.6 Harold Arlen DVD5 2007/7/8
  The Champ 14 87.5 ??? DVD5 2007/8/15
  Swing To Bop 13 87.8 ??? DVD5 2007/8/15
  I'm Getting Sentimental Over You 52 242.0 George Bassman DVD5 2007/10/24
  (total)  127 704.9       **
Album30 All The Things You Are 119 622.8 Jerome Kern DVD5 2007/9/2
  Way Out West 8 37.6 Sonny Rollins DVD5 2007/12/24
  (total)  127 660.4       **
Album31 You'd So Nice To Come Home To(2) 89 358.0 Cole Porter DVD5 2007/11/12
  Isn't She Lovely? 22 93.0 Stevie Wonder DVD5 2007/12/24
  On The Street Where You Live 37 154.0 Frederick Loewe DVD5 2008/1/12
  With A Little Bit Of Luck 6 18.4 Frederick Loewe DVD5 2008/1/12
  I Could Have Danced All Night 14 53.4 Frederick Loewe DVD5 2008/1/12
  (total)  168 676.8       **
Album32 Easy Living 83 381.0 Ralph Rainger   2007/12/24
  Besame Mucho 59 294.0 Consuelo Valezquez   2008/2/2
  (total)  142 675.0       **
Album33 Tin Tin Deo 20 121.0 Gil Fuller & Chano Pozo   2008/2/1
  Airegin 38 180.0 Sonny Rollins   2008/2/27
  Four On Six 12 62.9 Wes Montgomery   2008/2/27
  Spring Is Here 36 235.0 Rodgers & Hart   2008/4/6
  Left Alone 10 83.2 Mal Waldron   2008/4/6
  (total)  116 682.1       **
Album34 Falling In Love With Love 37 257.0 Rodgers & Hart   2008/5/3
  Love For Sale 10 83.2 Cole Porter   2008/5/6
  Straight Life 4 16.2     2008/7/6
  Imagination 31 154.0     2008/7/8
  Blue Train 6 40.6 John Coltrane   2008/7/30
  (total) 88 551.0     **
Album35 Star Eyes 40 304.0 Gene de Paul   2008/7/8
  Girl From Ipanema-2 22 146.0 Antonio Carlos Jobiml   2008/9/10
  Summer Time 3 23.1 George Gershwin   2008/9/10
  What's New? 27 159.0 Bob Haggart   2008/9/10
  All The Things You Are-2 27 159.0 Bob Haggart   2008/9/10
  (total) 119 632.1     **
Album36 Giant Steps 67 477.3 John Coltrane   2008/7/30
  All The Things You Are-2 38 204.0 Jerome Kern   2008/9/10
  (total) 105 681.3     **
Album37 Bird Of Paradise 7 40.9 Charlie Parker?   2008/10/5
  But Beautiful 12 64.8 Jimmy Heusen   2008/10/5
  Naima 16 124.0 John Coltrane   2008/10/5
  You Don't Know What Love Is 43 291.0 Gene de Paul   2008/10/5

2008年7月 4日

.htaccess で移転先URLページへ誘導する:MT4.1

 MT4.1 で「小粋空間」さんのテンプレート・セットに移行したときに、ブログ名を変更した。とりあえず、元のメイン・ページ( http://n-shuhei.net/blog/ )へ訪問された方には、以前 ISP のホームページを移転するときに使っていた次のようなメタ・タグをメイン・ページの<head> ? </head> においた。
<meta http-equiv="REFRESH" content=" 5;URL=http://user-domain/new-blog/">

 これは、ページの移転の知らせを発信されている方のソースから、何も分からないままいただいたものである。この方法については、「.htaccessを活用する方法(6)」に詳しい。

 このメタタグをおくことで、元のメインページに訪問された方を新しいメインページに誘導できるが、Google search などで個別のアーカイブへ直接訪問される方は新しいページには誘導するには、全ての個別のアーカイブにメタタグを設置しなければならないから大変な作業となる。

 そこで、上の記事にも紹介されている .htaccess を使って誘導(redirect)する方法を試してみることにした。以前に、この .htaccess を使ってページへのアクセス制限を設定したことがあるが、redirect を使うのは初めてである。

 説明通りに、次のコードを元のブログ:http://n-shuhei.net/blog/ と同じフォルダーにある .htaccess ファイルに追加した。{私の場合、FTP ソフトは FFFTP を使っているが、いったんローカル側で、テキスト・エディター(私の場合は、秀丸)でコードを追加したファイルを作り、これを元の位置にアップロードしなければならない。}
Redirect permanent /blog/index.php http://n-shuhei.net/atelier/index.php

 このコード追加では、先ほどのメタタグの挿入と同じような効果が得られるだけである。

クリックすると大きくなります アクセス解析にはアクセス解析サービスの Research Artisan を使っているが、その解析のひとつである先月のページ別訪問は、screenshot のように、ほとんどが元のブログ(頭に Atelier Shuhei Weblog: とある。新しいブログは、頭に単に Atelier: とあるもの)のアーカイブへの訪問である。また、少ないがカテゴリー・アーカイブへの訪問もある。MT3.3 を単純に MT4.1 へバージョンアップした元のブログ・アーカイブはそのままおいているので、ページが見つからないということはないが、コメント入力などが不備な(実はそのために新しいテンプレート・セットを導入した)ページへの訪問となっている。
 図中にある 「Atelier Shuhei Weblog: 001DIY アーカイブ」への訪問を redirect するには、次のようなコードを .htaccess に追加する。
RedirectPermanent /blog/001diy/ http://n-shuhei.net/atelier/001diy/


 数が少なければ、上のようなコードを追加していけばよいのだが、個別アーカイブごとにコードを追加するのは大変な作業となる。そこで、「小粋空間」さんに紹介されている「.htaccess によるリダイレクト」を参考に、.htaccess に追加するコードを作成することにした。

方法は、
  1. この記事の 3.1 項にあるコードの次の個別アーカイブ部分を
    <MTArchiveList archive_type="Individual"> RedirectPermanent /blog/archives/<$MTArchiveDate format="%Y/%m"$>/<MTEntries><$MTEntryLink$></MTEntries> <$MTBlogURL$>archives/
    <$MTArchiveDate format="%Y/%m/%d_%H%M"$><MTEntries>.php</MTEntries> </MTArchiveList>
    下のようなコードに書き換え、説明通り「リダイレクト」(出力ファイル名:htaccess.txt)という名前でインデックス・テンプレートを作成した。
     <MTArchiveList archive_type="Individual"> RedirectPermanent /blog/archives<$MTArchiveDate format="/%Y/%m/%d-%h%m%s"$>.php  http://n-shuhei.net/atelier/<$MTArchiveDate format="%Y/%m/%d_%H%M"$>.php </MTArchiveList>
    ここでの $MTArchiveDate format= は、元のブログ(blog)のものは「アーカイブ・テンプレート」→「エントリー・アーカイブ」(MT3.3 ではこのような名称である)の「アーカイブ・マッピング」のパスで使っているフォーマットである。新しいブログ(atelier) では、「アーカイブ・テンプレート」→「ブログ記事」「アーカイブ・マッピング」のパスで使っているフォーマットである。
  2. 新しく作成したインデックス・テンプレート「リダイレクト」を保存・再構築すると、FFFTP のサーバー側に次のようなファイル(htaccess.txt)が表示される。
    RedirectPermanent /blog/archives/2008/06/10-110702.php  http://n-shuhei.net/atelier/2008/06/10_1107.php
    RedirectPermanent /blog/archives/2008/06/04-102457.php http://n-shuhei.net/atelier/2008/06/04_1024.php
    RedirectPermanent /blog/archives/2008/06/03-194435.php http://n-shuhei.net/atelier/2008/06/03_1944.php
    .
    .
    .
    .

     この作成されたコードをコピー&ペーストで、.htaccess に約400 のエントリー分コードを追加した。
     一見、上手くコード生成していると思われたが、うまく機能しない。
     先ほどのResearch Artisan に表示されるページのURLと作成したコードを子細に照らし合わせてみると元のアーカイブURLの分表示(%M)が月表示(%m)になっている。
    2008/06/04-102457 が正解なのだが、参照にいっているURLの表示では、2008/06/04-100657 となっているのだ。どうやら、MT3.3 から MT4.1 にバージョンアップしたときに、アーカイブ・マッピングの指定を間違ったらしい。 小文字の %m は月表示であり、大文字の %M は分表示なのだ。2?3の例で .htaccess に追加するコードを間違った方にしたら、上手く機能するようになった。
  3. この作業を作成したファイルをテキスト・エディターの秀丸にコピー&ペーストして行った。単純な作業だが、400近くの修正は結構なアルバイトであった。
  4. 修正したファイルを、ローカル側の.htaccess にコピー&ペーストして、サーバー側にアップロードすると、うまくリダイレクトしてくれるようになった。



(追記:2008/7/4)元のカテゴリー別のアーカイブにも訪問が割合あるので、上と同じような方法で、.htaccess に追加するコードを「小粋空間」さんの記事を参考に作成した。数が少ないので、マニュアルにいじってもそれほどの作業ではない。ただ、バージョンアップしてから、カテゴリー名を変更している場合は、特別なひもつけが必要である。
(追記:2008/7/8) Research Artisan をつぶさにみると、数は少ないが元の月別アーカイブに訪ねて来る人があるようなので、先ほどの「リダイレクト」インデックス・テンプレートを次のコードに書き換えて、.htaccess に追加するコードを作成した。月別アーカイブについては、コードの修正は全くなかった。
 この「リダイレクト」インデックス・テンプレートは、コードを生成するためのテンプレートなので、書き換えても問題はない。
 これで、元のブログはサーバーから削除しても大丈夫と思うが、まだ容量にゆとりがあるのでしばらくおいておくことにしている。
<MTArchiveList archive_type="Monthly">
RedirectPermanent /blog/archives/<$MTArchiveDate format="%Y/%m"$>/index.php http://n-shuhei.net/atelier/<$MTArchiveDate format="%Y/%m"$>/index.php
</MTArchiveList>

 Monthly Archive の後尾には、index.php をつけないと、individual archive のリダイレクトに不都合が起こる。

2008年6月29日

Kinarie&Mayさんの横長Flash CalendarをMT4.1に設置する

 MT4.1 にアップグレードしてから、Kinarie&May さんのFlash Calendar が使えなくなっていた。MT3.3 のときに、アーカイブテンプレートのところにおいていた 月別XML の XML ファイルをどのように置き、アーカイブマッピングをどのように設定するのかの知識がなかったためである。

 それで、「小粋空間」さんが提供している「Ajax 月送りカレンダー(MT4版)」を3つ運営しているブログのうちひとつに導入した。うまく動くようなので、メインのこのブログにも導入してみた。ところが、はじめのブログでは上手く動いているのに、こちらではカレンダーは表示されるもののエントリーがある日のリンクをクリックすると、アドレスはリンク先のエントリーになっているのに
error in template: found but mtifnonzero was expected
というエラー・メッセージが表示されるだけである。

 この原因を探るうちに、Kinarie&May さんのFlash Calendar でつかう XML ファイルの置き場所とアーカイブマッピングの仕方が分かった。忘れないうちに書き留めておきたい。
 なお、エラーの原因はあとで判明したことであるが、テンプレートをいじっている間に、テンプレート・タグの残骸が「ブログ記事」テンプレートに残っていたためらしい。いつものように初歩的なミスである。

  1. 横長Flash Calendar 3.0 のダウンロードと解凍、アップロードなどについては、Kinarie&May さんのページ 「Falsh」→「MT用横長Flash Calendar 3.0」に詳しくでているのでそちらを参考にする。
     私の場合、MT3.3 のときに使っていた Flash File があったので、これを使った。
  2. MT4 になって、XML ファイルの設定が異なる。
    1. ブログ管理画面で(MT4 からダッシュボードという)設置するブログを選択し、「デザイン」→「テンプレート」→「アーカイブテンプレート」を選択する。
    2. 上段の「アーカイブテンプレートを作成」→「ブログ記事リスト」を選択する。
    3. 空白のテンプレート作成画面がでるのでファイル名を「月別XML」(なんでもいいようだが)とし、Kinarie&Mayさんの「月別XMLファイルのテンプレート修正」のページから、呈示されている XML ファイルを C&P して保存する。
    4. 保存すると、テンプレートの下に「アーカイブマッピング」が表示されるので、 「新しいアーカイブマッピングを作成」をクリックし、種類「月別」を選択し追加ボタンをクリックする。 「パス」はカスタムを選び、次のパスを入力(C&P)し保存する。
      xml/<MTArchiveDate format="%Y_%m"$>.xml
    5. Kinarie&Mayさんの手順にはないが、MT4では「デザイン」→「テンプレート」→「アーカイブテンプレート」→「ブログ記事リスト」の下部にある「アーカイブマッピング」で「日別」のパスを表示しておく必要がある。表示がない場合は、「新しいアーカイブマッピング作成」をクリックしてでてくるリストボックスから「日別」を選び「追加」をクリックする。パス表示はそのままでよいようだ。
  3. あとは、Kinarie&Mayさんの手順とおりに、Flash を貼り付けるHTMLソースをつくって、テンプレートに貼り付けるだけである。
    私の場合、MT3.3 のときのソースが残っていたので、URL のパス部分を変更して、MT4 の「テンプレートモジュール」→「ヘッダー」の<div id="header"> ? </div> の部分に貼り付けた。ただし、私は「小粋空間」さんのテンプレート・セットを使わせてもらっている。


 友人が原稿を書いているもう一つのブログでは、「小粋空間」さんの「月送りカレンダー」を設置しているが、どちらも甲乙がつけがたい。「小粋空間」さんの「月送りカレンダー」では、スタイルシートでデザインをいじれるのがいい。
Kinarie&Mayさんのカレンダーは横長があるのと、投稿している日にカーソルを合わせるとエントリーのタイトルが出てくる。どちらも愛用させてもらっている。 

2008年6月26日

蜻蛉池公園のあじさい園

 今が見頃ではないかとの友人の言葉に誘われて、大阪府立蜻蛉池公園にある「あじさい園」にいってみた。岸和田市にあるこの公園へは、車で20分ほどである。
080624_001.jpg 水曜日だし、梅雨の晴れ間でむしむしと暑い。家内には珍しくモズバーガーのドライブスルーで昼食を買っていこうという。きっと割引券があったからだろう。
 駐車料金が 600円は少し高いように思うが、柳生の里も650円で「菖蒲園」に入るのも別にとられた。
 バラはもう時期が遅いが、それでも紅い花を中心に残っていた。来年は5月の盛りにきたいものだ。
080624_002.jpg目的の「あじさい園」への道を間違えて、三脚を担いで「大池」の周りをぐるりと歩いたので大汗をかいた。大きな公園である。
ヤマモモの木でメジロが赤い実を狙っていた。「ウォーリーを探せ」みたいですが。
080624_005.jpgあじさい園の中に植えられているイチョウの幼木の梢にムクドリがとまっていた。この公園には野鳥もけっこう多いようだ。「大池」には、人慣れしたハクチョウやアヒル・カモが泳いでいる。餌をやるせいか、留鳥化しているようだ。
080624_004.jpg 友がいうように、アジサイはちょうど今が見頃だった。よく手入れがしてあり、「オオアマチャ」「プジオーサ」「ガクアジサイ」「アナベル」「ジョウガサキ」「スミダノハナビ」「カシワバアジサイ」「ミナズキ」といったアジサイが満開である。
 「アナベル」という大ぶりの真っ白なアジサイに、ヤマトシジミが羽を休めていた。
 橋下さん、まさかこの公園を閉鎖されることはないですよね。 
080624_007.jpg080624_008.jpg080624_009.jpg080624_010.jpg






 このエントリーで、<table> を使ってみた。写真の位置を説明テキスト文書行数の多少で調整する必要がないので楽である。

泉北近辺私的観光地図に掲載

2008年6月24日

隠居、MT4.1 でのコメント編集HTMLタグボタンを設置

 MT3.3 のときには、コメント入力ボックスの縁に、HTMLタグボタンをカストマイズで設置していた。MT4 にバージョンアップして、新たに「小粋空間」さんの MT4.1 テンプレートセットを導入したが、「コメント入力フォーム」には、このHTMLタグボタンがついていない。

 コメントも単純なテキスト文書でなく、冗長な絵文字までいらないが、文字の一部分を太字にしたりリンクを張ったりしたい。HTMLタグは使える設定にしているので、タグを書けばよいのだがいちいち面倒である。それで、新しい「コメント入力フォーム」にもHTMLタグボタンをつけることにトライすることにした。

 「MT4 コメント編集ボタン」でググルとすぐにでもありそうなのに的確にヒットしない。そこで、MT3.3 のときにお世話になった「小粋空間」さんの「コメントにHTMLタグ挿入ボタンをつける(改)」を参考にさせてもらって、MT4 に応用してみた。カスタマイズの記録として記しておきたい。

 「小粋空間」さんのエントリーの順に従って、変更した部分を書き留めたい。
  1. コメント欄でのHTMLタグの使用を有効にする。
    →MT4 では、「ブログの設定」→「コメント」→「コメントポリシー:HTMLを許可」をチェック
  2. 編集ボタン用画像のコピー
    →バックアップでおいてあった MT3.3 のときのファイルを <$MTBlogURL$> (私の場合:http://n-shuhei.net/atelier/ )に images フォルダーを作ってアップした。
  3. JavaScriptファイルの作成>
    →提供されている JavaScript のスクリプトを秀丸に文字コードを UTF-8 として Copy&Paste とし、ファイル名を commentButton.js として保存した。このファイルを <$MTBlogURL$> のフォルダーにアップした。
  4. 編集ボタン表示スタイルの追加
    →提供されているコードをスタイルシート(styles-site.css)に追加した。ただし、実際の表示をみて、以下のコードの赤字部分を修正した。
    /*  field buttons */
    .field-header {
        width: 400px; /* ボタンを配置するエリアの幅 */
        height: 30px; /* ボタンを配置するエリアの高さ */
        position: relative;
    }
     
    .field-label {
        position: absolute;
        bottom: 30px;
        left: 0px;
    }
     
    .field-buttons {
        position: absolute;
        bottom: 0px;
        right: 0px;
    }
     
    .field-buttons img {
        border: 0;
        margin: 0px 0px 0px 3px;
    }
    

  5. テンプレートの修正(JavaScriptファイルのインクルード追加)
    →モジュール・テンプレート 「ヘッダー」の </head> 直前に、
    <script type="text/javascript" src="<$MTBlogURL$>commentButton.js" charset="utf-8"></script> 
    
    を挿入した。

  6. テンプレートの修正(個別エントリーアーカイブへ編集用ボタン設定)
    →モジュール・テンプレートの「コメント入力フォーム」の次の部分をコメントアウトし、その直後に提供されているコードを挿入した。
     <!--<p id="comments-open-text"><label for="comment-text">コメント:<MTIfAllowCommentHTML>(スタイル用のHTMLタグが使えます)</MTIfAllowCommentHTML></label>-->
    
    <div class="field-header">
    コメント:
    <div class="field-buttons">
    <a title="太字" href="#" onclick="return formatStr(document.comments_form.text, 'strong')"><img class="button" src="<$MTBlogURL$>images/html-bold.gif" alt="太字" width="22" height="16" /></a>
    <a title="イタリック" href="#" onclick="return formatStr(document.comments_form.text, 'em')"><img class="button" src="<$MTBlogURL$>images/html-italic.gif" alt="イタリック" width="22" height="16" /></a>
    <a title="アンダーライン" href="#" onclick="return formatStr(document.comments_form.text, 'u')"><img class="button" src="<$MTBlogURL$>images/html-underline.gif" alt="アンダーライン" width="22" height="16" /></a>
    <a title="ハイパーリンク" href="#" onclick="return insertLink(document.comments_form.text)"><img class="button" src="<$MTBlogURL$>images/html-link.gif" alt="ハイパーリンク" width="22" height="16" /></a>
    <a title="引用" href="#" onclick="return formatStr(document.comments_form.text, 'blockquote')"><img class="button" src="<$MTBlogURL$>images/html-quote.gif" alt="引用" width="22" height="16" /></a>
    </div>
    </div>
    
    

以上で、「コメント入力フォーム」にコメント編集ボタンは表示されるようになった。MT4 では、「コメント入力フォーム」がモジュール化されているので、コメントの「確認」画面でも、コメント編集ボタンは表示される。
(追記:2009/3/2)サインインなしのコメントのための Captcha を設定したときに、HTMLタグのアイコンが消えてしまっていたので、修正した。また、一部の記述を変更した。

2008年6月22日

隠居のMT4.1 バージョンアップ備忘録

 MT3.35 から MT4.1 へ「小粋空間」さんの「Movable Type 3 から へのアップグレード方法」を参考にアップグレードした。一見上手く成功したと思ったが、コメント入力での認証などで不具合が出て丸1日くらい調べてみても対処の方法が見つからなかった。

  MT3.35 を引きづりながら、素人があれこれいじっても時間ばかりかかるので思い切って 「小粋空間」さんの4.1 用(XHTML 1.0 Strict(utf-8 版):スタイル対応版)のテンプレートセット(この言葉も 4.1 から初めて使われている)に切り替えることにした。

 MT3 からは全面的に改定されているので、新しい構成や言葉になれるのが大変である。
 「Movable Type 4.1 テンプレートセット(スタイル対応版)」の設定方法に従ってインストールしたが、多くの問題に遭遇した。(している。)

 忘れないうちに(もう忘れていることもあるが)、遭遇した問題と対処したことがらを備忘録として思いつくまま記録しておきたい。

 
  •   問題:MT3.35 では、ファイルを php としてきたが、MT4 での設定がよく分からない。
    対処:我楽さんの「Movable Type 4.0 新規インスコ覚書」を参考にというかそのまま利用させてもらって、ファイル名を書き換えた。
  •   問題:メインページから、(例えば最近のエントリーのリストから)アーカイブページが開かない。また、MT4 から MT3 では Plugin で対処していた Preview 画面がディフォールトで編集画面の「確認」ボタンで用意されているが、 Preview 画面が表示されない。
    対処:「ブログの設定」→「公開」→「公開に関するオプション」の公開方法で「アーカイブのみダイナミックで構築する」を選択する。
    原因推定:MT3 のときから、php化をしていたからと思われる。なお、このことによって、ファイルの再構築が劇的に速くなった。
  •   問題:FFFTP で確認しても投稿したファイル名が見えない。
    対処:「ダイナミックパブリッシング」の理解が十分でなかった。「小粋空間」さんの「Movable Type の再構築を不要にする「ダイナミック・パブリッシング」(その1:概要)」を読んで納得。
    注意点:リンクするページのURL特定は、「ブログ記事あるいウェブページの編集」での公開にある出力ファイル名でする。
  •   問題:右サイドメニューのカテゴリの中身が空白となる。
    対処:HTML 記述部分に、<MTTopLevelCategories > テンプレートタグを挿入。詳細は、「小粋空間」のエントリー「カテゴリーアーカイブで全サブカテゴリーリストを表示」を参照。
  •   問題:「小粋空間」さんのテンプレート・セットでは、「Category」「Recent Entries」 などは折りたたみやツリー表示になっていない。
    対処:「小粋空間」さんのプラグイン:サイドメニューの折りたたみ (V4.0) を導入。基本的には、MT3.35 のコードを利用して、テンプレートモジュールの「サイドバー2」 の既存のコードと置き換える。
    注意点:スタイルシートへの追加項目が忘れがちである。
  •   問題:MT3.35 では、[Kinarie&May]さんのフラッシュカレンダーを愛用してきたが、アーカイブテンプレートに設置するXML ファイルの設置方法がよく分からないので、「小粋空間」さんのテンプレート・セットのカレンダーを使うことにしたが、月送りできず十分ではない。
    対処:プラグイン:「Ajax 月送りカレンダー(MT4版)」を導入。
    注意点:「デザイン」→「テンプレート」→「アーカイブテンプレート」→「ブログ記事リスト」を選択し、アーカイブマッピングの「新しいアーカイブマッピングを作成」をクリックして、「日別」を選択して「追加」をクリックしておかねばならない。
  •   問題:私は、スタイルとして two-column-liquid-right を使っているが、画面の解像度を 1024x768 にしていても機種によっては、右サイドメニューと本文部分のカラムが重なるようである。
    対処:「小粋空間」さんのテンプレート説明エントリーの下の方にある FAQ を参考に、スタイルシートをいじって修正した。
    注意点:友達などのPC でうまくいっているか確認してもらう必要がある。
  •   問題:MT3.35 ではCategory 表示順を「藤本壱」さんの cutfirstchar のプラグインを利用して、カテゴリー名の頭に3桁数字をつけて表示順を決めてきたが、MT4 では上手くいかない部分がある。
    対処:カテゴリー名の頭3桁の数字を外した。表示順は、数字→英語→ひらがな→カタカナ→漢字の順となるが、あまり違和感もないので当分この表示でいくことにした。
    展開:「藤本壱」さんが、「カテゴリーとフォルダを並べ替えるプラグイン(MT4以降用)」のカスタマイズを発表されているので、これを導入するつもりである。
  • 問題:MT3.35 ではインデックス・テンプレートとしてホームページの変更履歴を整理していたが、MT4 ではそのようなテンプレートは作成できないようである。
    対処:MT4 ではウェブページのテンプレートが用意されており、これを利用してページの変更履歴を記録していくことにした。
  •   問題:MT3.35 で表示していた「パンくずリスト」のMT4 では上手く動かないようにみえる。
    対処:MT4 のものをサーチしてインストールしたが、サブカテゴリーが表示されないのはMT3.35 と同様なので、古いコードをブログ記事(旧エントリーアーカイブ)とブログ記事リスト(旧カテゴリーアーカイブ)にインストールして使用した。
  •   問題:list-style-type が、circle 表示となり変えられない。
    対処:style-cite.css の ul 定義している部分をコメント・アウトし、ブログ記事編集画面で直接 <ul type="square">というように指定した。ブログ記事の編集画面は、フォーマット 「なし」を選択し、HTML タグを使っている。
    発展:list mark をリスト画像にできる id属性をCSS に設定した。画像は「シェルの素材工場」からいただいた。 ここで使っているように画像を自分で作ってみた。
  •   問題:ブログ記事を書く編集画面が小さい。
    対処:気がつかなかったが、記事を書く枠下のラインをドラッグすることによって、広げたり小さくしたりできる。


 MT4.1 での「小粋空間」さんのテンプレート・セット導入はまだまだ苦戦しているが、なんとか形となった。悪戦苦闘のサイド・プロダクトとして、Version4の理解も少し進んだ。今後は、MT4.1 の進化しているところを取りいれて充実していきたいと思っている。

2008年6月20日

カストマイズの履歴

 このページでは 2006年の1月から私のHomePageに手を入れた事柄について、備忘録的に記載していくつもりである。したがってこのページは、頻繁に再編集されるはずである。

  1. MovableTypeのデータベースをMySQL4 から MySQL5 へバージョンアップした。
    (2011/3/25)難易度 ★★★☆☆
  2. Google Maps API を使って野鳥出現地点をカスタム・マーカーでプロットすることを始めた。
    (2011/1/29)難易度 ★★★★☆
  3. 撮影場所別に分類した野鳥写真集のウェブページを作成した。
    (2010/11/30)難易度 ★★☆☆☆
  4. Studio YAMAKO と Masajii's Blog のタグクラウド・ページを作成し、変更した。
    (2010/7/10)難易度 ★★☆☆☆
  5. atelier のアクセスカウンターを Kent Web の Daycounter に変更した。
    (2010/7/4)難易度 ★★★☆☆
  6. Google Maps API 用の XML ファイルを編集するXML Notepad 2007 を導入した。
    (2010/6/24)難易度 ★★★☆☆
  7. Research Artisan のサービスが2010年5月28日に終了するのに伴い、オープンソースのReasearch Artisan Lite を導入した。試験的に、Studio YAMAKO のアクセス解析に使用を開始した。
    (2010/4/11)難易度 ★★★☆☆
  8. IE8 に変えてからメインページの写真表示で lightbox の背景が黒くならないという不具合が生じていた。メインページで表示するエントリー数を10 に変更することで解決した。そのときに得た知識で、lightbox の背景画像を黒紙から図柄に変更した。
    (2010/3/21)難易度 ★★☆☆☆
  9. IE8 に変えてから、ページのソースを秀丸に表示することができなくなっていた。ネットで見つけた方法で、秀丸を指定することができた。
    (2010/2/19)難易度 ★★☆☆☆
  10. 日本では、eMusic から音楽ファイルをダウンロードできなくなった
    (2010/2/16)難易度 ☆☆☆☆☆
  11. ページでテーブルを作り縦にセルを連結するコードが分かった。
    (2010/2/11)難易度 ★★☆☆☆
  12. Live365 の放送が流している曲を録音し、MP3ファイル化する新しい方法を見つけた。
    (2010/2/7)難易度)★★★★☆
  13. ページにコードを表示する枠を指定する方法が分かった。
    (2010/1/30)難易度 ★★☆☆☆
  14. Google Maps API で作成する地図に改善を加えた
    (2010/1/29)難易度 ★★★★☆
  15. Windows XP のPCに IE8 をインストールした。
    (2010/1/7)難易度 ★★☆☆☆
  16. 野鳥識別掲示板へのリンクを右メニューに設置した。
    (2010/1/5)難易度 ★☆☆☆☆
  17. コメントする人が Google のアカウントを持っておれば認証できるようになった。
    (2009/12/27)難易度 ★★☆☆☆
  18. ブログ・ページから管理者にGoogleMail で発信する方法が分かった。
    (2009/12/10) 難易度 ★★☆☆☆
  19. 野鳥写真サムネイルを場所別・科別に変更し、ブログ外HTMLページに変更した。
    (2009/11/30) 難易度 ★★★★☆
  20. Live365 の LinkWidget をページの右メニューに設定した。
    (2009/11/30) 難易度 ★☆☆☆☆
  21. ウエブページ泉北近辺私的観光地図での地名表示XMLファイルを「あいうえお順」に並び替えた。
    (2009/8/26)難易度 ★★☆☆☆
  22. Studio YAMAKO の蝶の写真を科別に分類したリストをブログ外の Web Page として作成(異なるタイトル写真とするため)し、メニューにリンクボタンを設置した。
    (2009/8/23)難易度 ★★☆☆☆
  23. <
  24. Studio YAMAKO のタイトル画像を Flash 8 を使って変更した。
    (2009/7/9)難易度 ★☆☆☆☆
  25. 右メニューのJazz Collection へのリンクボタンを Radio Senboku Playlist へのリンクボタンに変更した。
    (2009/2/2)難易度 ★☆☆☆☆
  26. 右メニューに「播磨の蝶・但馬の蝶」および「ことりのさえずり」サイトへのリンクボタンを追加した。
    (2009/6/17)難易度 ★☆☆☆☆
  27. コメント入力フォームに、CAPTCHA を追加した。
    (2008/11/10)難易度 ★★☆☆☆
  28. 動画(AVIファイル)を編集してブログにアップした。
    (2008/10/22)難易度 ★★☆☆☆
  29. 野鳥の写真集をテーブル形式に改めた
    (2008/9/2)難易度 ★★☆☆☆
  30. 居間に新しいスタイルのPC:VGC-LM52DB を設置した。
    (2008/8/26)難易度 ★☆☆☆☆
  31. エントリー部分のみを印刷できるように、インデックス・テンプレートに印刷用CSSを置いた。
    (2008/8/24)難易度 ★★★☆☆
  32. /cgi/mt/lib/MT/Asset フォルダーにある Image.pm をいじって lightbox による画像の挿入を簡略化した。
    (2008/8/18)難易度 ★★★☆☆
  33. 英語での spamtrackbacks を阻止するために、asciiTBPingfilter プラグインを導入した。
    (2008/8/15)難易度 ★☆☆☆☆
  34. サイドメニューのリンクをJavaScript から再度CSSによる表示に置き換えた。少し、すっきりした。
    (2008/8/7)難易度 ★★☆☆☆
  35. Blog Atelier のヘッダー部分リンクを JavaScript から再度CSSによる表示に置き換えた。
    (2008/8/6)難易度 ★★☆☆☆
  36. TagCloud のページを作成し、リンクボタンを右サイドバーに置いた。
    (2008/7/22)難易度 ★★★☆☆
  37. 山小屋周辺の地図を Google Maps API で作成し、右サイドメニューにリンクボタンを設置した。
    (2008/7/6)難易度 ★☆☆☆☆
  38. Jazz Collection List をブログ atelier のウェブページとして作成し直し、public_html フォルダーの .htaccess にリダイレクトを設定した。
    (2008/7/14)難易度 ★★★☆☆
  39. エントリーにHTML のコードを書くことが多くなっている。それむけのタグ <pre> <code> を初めて使った見た
    (2008/7/78)難易度 ★☆☆☆☆
  40. 「DIY作品集」をブログ Atelier のウェブページに移した。ブログ Atelier フォルダーにある .htaccess に、RedirectPermanent を設定した。
    (2008/7/76)難易度 ★★☆☆☆
  41. ブログ記事/ウェブページの日付を公開日時に自動変更する藤本壱さんのプラグインを導入した。
    (2008/7/6)難易度 ★★☆☆☆
  42. .htaccess のリダイレクト機能を使って、元のブログへの訪問者を新しいブログへ誘導する設定を行った。Masajii's blog, Studio YAMAKO も同様の設定にした。
    (2008/7/4)難易度 ★★★★☆
  43. Studio YAMAKO のページを MT4.1 に合わせてリフォームした。
    (2008/7/1)難易度 ★★★☆☆
  44. Kinarie&May さんのMT用横長Flashカレンダーを復活させた。
    (2008/6/29)難易度 ★★★☆☆
  45. Research Artisan の「昨日のページ別アクセス・ランキング(Best10)」というタグを右サイドに貼り付けた。
    (2008/6/25)難易度 ★★☆☆☆
  46. MT3 の時に設定していたコメント編集HTMLタグボタンを設置した。
    (2008/6/24)難易度 ★★☆☆☆
  47. MT3 のときに設定していた行末の禁則処理をCSS に設定した。
    (2008/6/22)難易度 ★★☆☆☆
  48. 「キリ番カウンター」を設置した。
    (2008/6/22)難易度 ★★★☆☆
  49. 6月10日以来、新たなテンプレート・セットに合わせて、種々のカスタマイズを行った。
    (2008/6/22)難易度 ★★★★★
  50. MT4.1 のテンプレートセットを「小粋空間」さん提供のMT4用に変更した。
    (2008/6/10)難易度 ★★★★★
  51. MT3.35 から MT4.1 へ苦戦しながらバージョンアップした。
    (2008/6/3)難易度 ★★★★★
  52. MT4.1へのグレードアップに備えて、データベースを SQLite から MySQL に変更した。
    (2008/5/18)難易度 ★★★☆☆
  53. スパムコメント対策に入れていた SCode が上手く機能しないので、代わりに reCaptcha を導入した。
    (2008/5/13)難易度 ★★★☆☆
  54. レンタルサーバーを lolipop から xserver に変更した。
    (2008/5/10)難易度 ★★★★☆
  55. ParseError の原因発見方法が分かった。
    (2008/5/10)難易度 ★★★☆☆
  56. デジカメで撮った写真の一部が読み取れなかったが、「完全データ復元PRO2008」というソフトを導入して復元した。
    (2008/5/6)難易度 ★★★☆☆
  57. この CusomizeHistory の降順番号は、Mojilla 系の Firefox Netscape で番号が倍になる現象が出ていたが、JavaScript の勉強で原因がわかり修正した。
    (2008/3/31)難易度 ★★★☆☆
  58. JavaScript switch構文の勉強で、タイトル部横長カレンダー横に、本日の曜日を表示するようにした。
    (2008/3/21)難易度 ★★☆☆☆
  59. JavaScript の if...else if....else statement の勉強で、アクセス時刻によって歓迎の言葉が変化するスクリプトをタイトル部分に設置した。
    (2008/3/20)難易度 ★★☆☆☆
  60. Kinarie&May さんの「MT用フォトサムネイラー1.20」Studio YAMAKO のカテゴリーButterfly に適用した。
    (2008/3/11)難易度 ★★★☆☆
  61. Blog 右サイド リンクボタンを集合Flash Button(Title Menu と同様に)に改訂。
    (2008/2/24)難易度 ★★☆☆☆
  62. Blog Title 下のメニューボタンを Flash ボタンに変更した。
    (2008/2/24)難易度 ★★★☆☆
  63.  [新作!] という日本語Flashバナーを、Flash8 で作成し、タイトル・メニューで使用した。
    (2008/1/22)難易度 ★★☆☆☆
  64.  SoundEngine のスクリプト・コードを、体裁よくエントリーに取り入れるために、スタイル・シートに、div#menu というID属性を作成した。
    (2008/1/18)難易度 ★★★☆☆
  65.  [New!] というFlashバナーを、SoThinkQuicker で作成し、右サイドメニューで使用した。
    (2008/1/16)難易度 ★★☆☆☆
  66.  P4P800 SE のパソコンの電源が機能しなくなったので、新しい電源と交換した。ついでに、DiskのIDEケーブルをスマート・ケーブルに変えた。
    (2008/1/4)難易度 ★★★☆☆
  67.  P4P800 SE のパソコンのディスクに、もうすぐ壊れるかもしれないという SMART の警告が出たので、システム・ディスクの交換をした。
    (2007/12/29)難易度 ★★★★☆
  68. メインページもTagCloud のページへのリンクボタンを右サイドに設置した。
    (2007/11/8)難易度 ★☆☆☆☆
  69. P4P800 SE のパソコンの立ち上げ時に、CMOS Checksum error が出るので、マザーボード内蔵電池を交換した。
    (2007/10/29)難易度 ★★★☆☆
  70. TagCloud のページを作り、エントリー・カテゴリー・日別アーカイブの各テンプレートの右サイドにリンクボタンを設置した。
    2007/10/20)難易度 ★★☆☆☆
  71. 友のブログ Masajii's Weblog を開設した。
    (2007/10/16)難易度 ★★★☆☆
  72. TagCloudは、トップページのタイトル下に移設した。
    2007/10/8)難易度 ★☆☆☆☆
  73. Tag Cloud を右サイドメニューに設置した。
    (2007/9/13)難易度 ★★★★☆
  74. Studio Yamako のオーストリア・イタリア旅行写真集を Google Maps API を使って地図上に訪問地をマップした。
    (2007/8/20)難易度 ★★☆☆☆
  75. lightbox画像のキャプションにリンクが張れることが判明。最新のエントリーで実施した。
    (2007/7/5)難易度 ★★☆☆☆
  76. liteboxを使った写真表示に、白い点々(white noise) がでることがわかった。いろいろな調査の結果、lightbox2 に変更することによって解消することが分かった。
    (2007/6/20)難易度 ★★★★☆
  77. Atelier Shuhei Weblog の右メニューリンクボタンをサイト内とサイト外に分け、サイト内ボタンを統一した。クリックすると音が出るようなフラッシュボタンにした。
    (2007/6/15)難易度 ★★☆☆☆
  78. Studio YAMAKO にWeb Access Counter を設置した。
    (2007/5/25)難易度 ★☆☆☆☆
  79. Studio YAMAKO の背景色など変更に伴うコメントフォーム・メッセージ文字色を mt-site.js の一部を弄った
    (2007/5/24)難易度 ★★★☆☆
  80. Studio YAMAKO に、Kinarie&MayさんのFlash通常型のカレンダーを導入した。
    (2007/5/22)難易度 ★★☆☆☆
  81. yamakoさんの写真掲載用ブログ(Studio YAMAKO)を新たに設定した。本体(Atelier Shuhei Weblog)と同じようなカスタマイズを設定するのに手間取った。
    (2007/5/22)難易度 ★★★★☆
  82. DIY作品集へのリンクボタンを Flash8 で作成し、右サイドに設置した。効果音に、Effect Sound 集から、手ノコで木を切る音を挿入した。
    (2007/5/6)難易度 ★★☆☆☆
  83. Live365のキャンペーン Save Internet Radio に賛同し、バナーを右サイドに設置した。
    (2007/5/3)難易度 ★☆☆☆☆
  84. MT3.33-ja から MT3.35-ja にバージョンアップした。
    (2007/4/21)難易度 ★★☆☆☆
  85. Live365 での Radio Senboku の放送曲目を4分の1程度変更した。Album1 ? 3 までの曲目で前回とは異なるアーティストにした。
    (2007/4/20)難易度 ★★☆☆☆
  86. Google Maps API による「京都・奈良私的観光地図」の作成に伴い右サイドメニューのリンクボタンを改訂した。
    (2007/4/18)難易度 ★★☆☆☆
  87. Kinarie&Mayさんの横長カレンダーが Version3.00 にされたので導入した。
    (2007/4/10)難易度 ★★☆☆☆
  88. 「音楽方丈記」に紹介されている Snap Preview Anywhere を導入した。
    (2007/3/12)難易度 ★★☆☆☆
  89. 「小粋空間」さんの「追記文章を折りたたむ」を参照して、追記文書の折りたたみをエントリーアーカイブのテンプレートに取り入れた。
    (2007/3/8)難易度 ★★☆☆☆
  90. Navi button にオンマウスするとリンクの説明がでるように、title="xxx" を加えた。
    (2007/3/6)難易度 ★☆☆☆☆
  91. Navi button に Radio Senboku を加えた。
    (2007/2/11)難易度 ★☆☆☆☆
  92. Live365.com というサイトと契約し Radio Senboku を立ち上げた。
    (2007/2/6)難易度 ★★★★☆
  93. さくらインターネットとレンタル・サーバー契約をして、こちらに Radio Senboku を設置し.htaccess でアクセス制限を設定した。
    (2007/1/28)難易度 ★★★☆☆
  94. Radio Senboku と称する MP3ストリーミング・ファイルを置くアクセス制限付きページ:http://n-shuhei.net/sound/Radio/Radio_senboku.htm を設置した。
    (2007/1/24)難易度 ★★★★☆
  95. Web Radio の実験のために、IDとPWがなければアクセスできないページを、lolipop のマニュアルで作った。.htaccess ファイルの設置である。
    (2007/1/24)難易度 ★★★☆☆
  96. Toshibo's Web Radio のリンクボタンを右サイドメニューに置いた。
    (2007/1/19)難易度 ★☆☆☆☆
  97. AffliateB が、JTB-CTW のアフリエートを募集していたので応募した。
    (2007/1/10)難易度 ★☆☆☆☆
  98. HP作成とは直接関係ないが、GoogleのWeb Mail Gmail に登録した。他のアドレスからの転送をそれぞれ設定した。
    (2007/1/6)難易度 ★★☆☆☆
  99. 右サイドメニューに置いているリンク部分のボタンのFlash8を自作でデザインを統一した。
    (2007/1/5)難易度 ★★★★☆
  100. ヘッダー部分に、タブメニューNavi button を設置した。
    (2006/12/29)難易度 ★★★★☆
  101. 右サイドメニューのリンク部分に、管理者へのメール(mailto:shuhei@n-shuhei.net)ボタンをFlash8で作成し置いた。
    (2006/12/12)難易度 ★★☆☆☆
  102. 右サイドメニューに置いている「泉北近辺私的観光地図」のボタンをFlash8を使って作り直した。
    (2006/11/30)難易度 ★★☆☆☆
  103. DIY作品集のエントリーへのリンクFlashボタンを右サイドメニューに置いた。
    (2006/11/30)難易度 ★☆☆☆☆
  104. リタイア後の知人が人材バンクを通じて再就職したWeb関連会社のサイトに、AffliateBというアフリエート・パートーナーを求めてるサービスがあったので応募した。
    (2006/11/30)難易度 ★☆☆☆☆
  105. Google Maps API を使って Blog の外に「泉北近辺私的観光地図」というページを作り、Blog 右サイドメニューにリンクボタンを設置した。
    (2006/11/24)難易度 ★★☆☆☆
  106. Favicon が、IE7 でも確認できるようになった。コメント・トラックバックにも Favicon を表示するようにした。
    (2006/11/23)難易度 ★★★☆☆
  107. Google Maps API に litebox を組み合わせることができた。
    (2006/11/20)難易度 ★★★★☆
  108. 簡単なFavicon を作って設置したが、Firefox, Netscape では確認できたが、IE7では表示されない。
    (2006/11/12)難易度 ★★☆☆☆
  109. Google Maps API をなんとか「泉北の紅葉」エントリーで実験的に利用できるようになった。
    (2006/11/12)難易度 ★★★★☆
  110. 自分のホームページ作成環境を別窓で表示するボタンを「5・6年生にもわかるやさしいJavaScript」で紹介されている方法で作成した。
    (2006/11/7)難易度 ★★☆☆☆
  111. Google MAP のキャプチャーで創っていた地図は、著作権に抵触する恐れがあるので、 ZENRIN の規約に基づく地図に差し替えた。
    (2006/11/7)難易度 ★★☆☆☆
  112. ロリポップの開設5周年記念のホームページ・コンテストに応募した。
    (2006/11/3)難易度 ★☆☆☆☆
  113. このカスタマイズ履歴ページでのリスト番号を降順にする方法をサーチしてHatena::Questionで見つかったJavaScriptを導入したら上手くいった。
    (2006/11/3)難易度 ★★☆☆☆
  114. プロファイルのページを カストマイズの履歴 と同じようにテンプレートで作った。プロに描いてもらった似顔絵をこのページに貼った。
    (2006/11/1)難易度 ★★☆☆☆
  115. 著作権保護のための(保護するような著作はありませんが)Creative Commons Liscense を導入しマークを右サイドメニューに設置した。
    (2006/10/30)難易度 ★☆☆☆☆
  116. TinyMCE のインストールによって IE ででていた JavaScript エラーの原因が判明した。
    (2006/10/28)難易度 ★★★☆☆
  117. mixi に登録した。
    (2006/10/28)難易度 ★☆☆☆☆
  118. エントリー編集用のプラグイン TinyMCE をインストールした。
    (2006/10/24)難易度 ★★☆☆☆
  119. IE を6から7に upgrade した。機能には問題ないが、MT の管理画面を開くとJavaScript エラーがでる。
    (2006/10/24)難易度 ★☆☆☆☆
  120. ページ内リンクを習得した。リンクされる場所には、<a name="abc">ABC</a>とし、リンクする場所には<a href="#abc">ABC</a>とする。他のページ内へのリンクは、リンク先ページURL名の後に#abcをつければよい。HTMLの基本だと思いますが、今頃になって。
    (2006/10/21)難易度 ★☆☆☆☆
  121. BlogTemplateWindow3.3がスペック通りに動かなかったのは、BigPAPI と Transfomer との競合が原因しているようだ。H.Fujimoto さんの TransfomerTest を入れても上手くいかないので、BigPAPI の利用を止めたら上手くいった。
    (2006/10/21)難易度 ★★★☆☆
  122. lolipop やさくらネットなどで例示されているFTPソフトのFFFTPをDLし導入した。
    (2006/10/20)難易度 ★★☆☆☆
  123. いただいたトラックバックを別窓で見えるように、エントリー・テンプレートを弄った。
    (2006/10/10)難易度 ★☆☆☆☆
  124. BlogTemplateWindow3.3 がどうもスペック通りに動かないので、 native template editor に戻した。
    (2006/10/9)難易度 ★☆☆☆☆
  125. ASCII 文字のみのトラックバックをフィルタリングする(迷惑トラックバックにもフィルタリングしない)「小粋空間」さんの Movable Type プラグイン asciiTBPingfilter を導入した。
    (2006/10/8)難易度 ★☆☆☆☆
  126. FEP を使ってエントリーのHTMLコード編集を始めた。
    (2006/10/6)難易度 ★☆☆☆☆
  127. エントリーを編集するときに、エントリー編集画面の右上にある強調文字やハイパーリンク等のタグを挿入するリンクをクリックすると、ページの先頭に戻ってしまうという現象を回避するために Invalidate link of insert tag というプラグインをインストールした。
    (2006/10/6)難易度 ★☆☆☆☆
  128. BlogTemplateWindow for MT3.3 が作動するようになった。
    (2006/10/4)難易度 ★★★☆☆
  129. テンプレートを編集するプラグインのBlogTemplateWindow が上手く動いていないので、英語のサイトであるがコメントで質問した。その返事を blog にくれるというのでスパム対策で入れていた日本語の入っていないコメントは拒否するプラグインを外した。
    (2006/10/3)難易度 ★☆☆☆☆
  130. MT3.3-ja にクロスサイトスクリプティングの脆弱性があるとのことで、万が一を考え MT3.33-ja にアップグレードすることにした。
    (2006/10/2)難易度 ★★★☆☆
  131. KInari&Mayさんが提供してくれているFlash天気予報をサイドメニューに設置した。
    (2006/9/30)難易度 ★★☆☆☆
  132. Amazon おまかせリンクを元のサーチボックスに戻した。
    (2006/9/30)難易度 ★☆☆☆☆
  133. 「小粋空間」さんのBlogPeople のススメにしたがって Blogpeople に登録した。利用の仕方がよくよく分かっていないが、LinkList と ListMe を右サイドバーに置いてみた。
    (2006/9/14)難易度 ★★☆☆☆
  134. バナー広告不要・アクセス解析ツール「Research Artisan」を取り入れた。
    (2006/9/12)難易度 ★★☆☆☆
  135. Jazz Collection Listページの改良がほぼ終わった。
    (2006/8/29)難易度 ★★☆☆☆
  136. Artisan というアクセス・ログ解析を導入することにした。
    (2006/8/20)難易度 ★★☆☆☆
  137. 右サイドバーのリンクに、Jazz Collection ListページへのFlash Button を設置した。
    (2006/8/14)難易度 ★★☆☆☆
  138. まだベータ版だが Amazon おまかせリンクに変更してみた。
    (2006/8/8)難易度 ★☆☆☆☆
  139. 作者がフランス人の dewplayer という Flash MP3 Player を設置した。
    (2006/8/8)難易度 ★★☆☆☆
  140. FLASH SINGLE MP3 PLAYERという新しいMP3 Player を設置した。
    (2006/8/7)難易度 ★★☆☆☆
  141. HPのJazz Collection Listで主題となるメロディが聞こえるようにした。
    (2006/8/5)難易度 ★★★☆☆
  142. フォルダーごとサーバーにアップロードするFTPソフトとして、InternetExplorer を使うようにした。
    (2006/8/1)難易度 ★☆☆☆☆
  143. DIY作品集をLitebox-1.0を利用してテーブルで編集した。
    (2006/7/24)難易度 ★★★☆☆
  144. 新しいFlash MP3 Player Play [Tagger by del.icio.us] を見つけ導入した。
    (2006/7/20)難易度 ★★☆☆☆
  145. Flashの作成ソフト Macromedia Flash 8 Basic を泣く泣く導入した。お試し版(お試し期間が過ぎた)で自作したMP3の再生・停止ボタンは、このバージョンでないとMP3ファイルの変更ができない。
    (2006/7/19)難易度 ★★☆☆☆
  146. 藤本壱さんが「エントリーを投稿する前にプレビューする」などのプラグイン」(TagsForPreview)をMT3.3対応されたので、対応版をインストールした。
    (2006/7/11)難易度 ★★☆☆☆
  147. litebox-1.0.jsに使われているgif images(「閉じる」「NEXT」「BACK」)を新たに作成して入れ替えた。
    (2006/7/11)難易度 ★★☆☆☆
  148. lightbox.jsをlitebox-1.0.jsに変更した。スライドショウ的に画像を表示できるようになった。
    (2006/7/10)難易度 ★★★☆☆
  149. MT3.3-jaにバージョンアップに伴いScodeの表示がおかしかったが、再インストールで表示されるようになった。
    (2006/7/7)難易度 ★★★☆☆
  150. MT3.3-jaにバージョンアップした。「エントリーを投稿する前にプレビューする」などのプラグインが動いていない。
    (2006/7/7)難易度 ★★★☆☆
  151. テンプレートの編集プラグイン MTBigTemplateWindowを導入した。"What's New?"ページの編集が容易になった。
    (2006/6/6)難易度 ★★☆☆☆
  152. コメント・テキストエリアの拡大をCSSの変更とTextarea toolsというJavaScriptの導入で行った。
    (2006/6/6)難易度 ★★☆☆☆
  153. 日本語でないスパムをJunk commentにフィルタするだけでは迷惑コメントにどんどん貯まっていくので、「小粋空間」で紹介されているSCode(SecurityCode)を入れてもらう対策を行った。
    (2006/5/27)難易度 ★★★☆☆
  154. 5月26日未明から猛烈なコメントスパムの攻撃を受ける。とりあえず認証を受けた人からのコメントのみを受け付けるに変更し、スパム対策を調査した。藤本 壱さんの「日本語でないスパムをフィルタするプラグイン」を設定した。Junk commentにフィルタリングされるようになった。
    (2006/5/26)難易度 ★★☆☆☆
  155. Weblogの右サイドメニューのサーチボックスでWebとSite内検索をRadioButtonで選択できるボックスに変更した。
    (2006/5/24)難易度 ★★☆☆☆
  156. lightbox導入以前のエントリーでの写真もすべてightbox表示にした。仕事は単純だが、時間がかかる。
    (2006/5/23)難易度 ★☆☆☆☆
  157. Weblogの右サイドメニューに、Google Search BOXをGoogleから提供されたコードを少しmodifyして設置した。
    (2006/5/21)難易度 ★☆☆☆☆
  158. 初めての人からTrackBack(TB)をいただいたので、今まで未整理だった右サイドメニューのTB表示を「最新の投稿」のように体裁を整えた。
    (2006/5/20)難易度 ★☆☆☆☆
  159. 梅田望夫さんの「ウェブ進化論」に感化されて、Google AdSenseに登録し右サイドメニューに掲載した。ついでに、メニューの順序を少し変更した。
    (2006/5/18)難易度 ★★☆☆☆
  160. lightboxの新バージョンが発表されているのでインストールを試みたが上手くいかなかった。
    難易度 ★★★★★
    元のバージョンがmodifyされているのでこれを導入した。
    (2006/5/11)難易度 ★★☆☆☆
  161. カテゴリー別の投稿の個々に投稿日付をつけた。ついでに、最近の投稿の日付表示を変更した。
    (2006/5/10) 難易度 ★★☆☆☆
  162. ホームページの左フレームに、blogへのボタン(隠居部屋)を設置した。
    (2006/5/4)難易度 ★☆☆☆☆
  163. 自作の音声再生・停止Flashボタンを利用して、HPのmusicサイトでのJazzを私のfavorite artistの一人であるEdomondo HallSweet Georgia Brownに変更した。
    (2006/5/3) 難易度 ★★☆☆☆
  164. 自ら録音したMP3音声を再生・停止するFlashボタンを配置した。
    (2006/4/23)難易度 ★★★★☆
  165. 各テンプレートの右サイドメニューを統一した。
    (2006/4/23) 難易度 ★☆☆☆☆
  166. HomePage(スタートページ)のGardeningページからhi-ho花の写真集へのリンクをすべてFlashAlbumに切り替えた。
    (2006/4/23) 難易度 ★★☆☆☆
  167. 画面上での録音再生を地図上のFlash fileで実現した。
    難易度 (2006/4/20) ★★★☆☆
  168. 新しいrecorder EDIROL R-1で小鳥の鳴き声を録音し、MTで再生するようにした。
    (2006/4/18) 難易度 ★★★☆☆
  169. hi-hoのアルバムサービスが閉鎖されるので、そこに収載していた花の写真集Flash AlbumにしてMT Weblogに移転した。
    (2006/4/11) 難易度 ★★☆☆☆
  170. IT関連用語表示のe-Words表示を「小粋空間」のカスタマイズに変更した。
    (2006/4/6)難易度 ★★☆☆☆
  171. What Is New? のエントリーを個別エントリーではなくテンプレートにした。
    (2006/4/5) 難易度 ★★☆☆☆
  172. 右サイドメニューのタイトルに、折りたたみマーク(▼△)をつけた。
    (2006/4/1) 難易度 ★★☆☆☆
  173. コメント投稿時に、HTMLタグが使いやすいようにタグマークをコメントフォームに設置した。
    (2006/4/1)難易度 ★★☆☆☆
  174. Weblogの背景画像をイペ材の木目と色調にしたことに伴い、「小粋空間」テンプレートで使っているCSS(Cascade Styles Sheet)を見直した。
    (2006/3/31) 難易度 ★★☆☆☆
  175. 「MTでつくる!最強ブログサイト」に紹介されていたカスタマイズを参考に、MTの個別エントリー表示ページとカテゴリ別表示ページに、e-Words IT用語検索を設置した。
    (2006/3/25) 難易度 ★★☆☆☆
  176. 「小粋空間」のサイドメニュー折りたたみを使わせてもらって、サイドメニューを折りたたみにした。
    (2006/3/24) 難易度 ★★★☆☆  
  177. RSS(Really Simple Syndication)リーダーとして、gooリーダーを設置した。
    (2006/3/21) 難易度 ★☆☆☆☆
  178. 各テンプレート(個別エントリーを除く)で、permalinkの表示を殺していたので、これを復活した。
    (2006/3/21) 難易度 ★☆☆☆☆
  179. アーカイブページ(archives.html)の表示がおかしかった(「小粋空間」ではテンプレートは提供されていない)ので、htmlそのものを少し弄ってなんとか見られるようにした。
    (2006/3/21) 難易度 ★★☆☆☆
  180. フリーで使わせてもらっているGoogleローカルの地図kingさんのアイコン・サイトへのbannerを設置した。ついでに、各テンプレートのクレジットバナー部分をphpモジュール化した。
    (2006/3/19) 難易度 ★☆☆☆☆
  181. ホームページで引用させて頂いている金井 壽宏先生の書籍「組織を動かす最強のマネジメント心理学」をamazon.co.jpで購入できるように、ブログにエントリを作った。
    (2006/3/19)難易度 ★★☆☆☆
  182. お遊び半分で、amazon.co.jpのアフリエートに登録してみた。OKが出たので、MT各テンプレートの右サイドに商品検索バナーを設置した。
    (2006/3/17) 難易度 ★☆☆☆☆
  183. 「小粋空間」に、私のエントリー(隣の花は紅い)が取り上げられた。Lightboxで画像を表示するときに、Flashを背面に隠すことが珍しかったらしい。名誉なことです。
  184. lightboxを応用して、地図上のポイント・アイコンをクリックすると画面が現れるような実験エントリーを投稿した。難易度 ★★★☆☆  (2006/3/16)
  185. サムネールをクリックすると同一ウィンドウ上(別画面でなく)に画像を表示するためのLightBox JSというカスタマイズを実施した。難易度★★★☆☆ (2006/3/12)
  186. Weblogのタイトル・バナーをFlashに変更した。(2006/3/8)
  187. エントリー用クライアントツール BlogWriteを導入した。
  188. MovableType(MT)の各テンプレート・タイトル部分を少し弄って、色をHPのタイトルと同色に変えた。(2006/3/7)
  189. MovableTypeのエントリー本文に、ボタンを置き、ボタンにカーソルを当てるとPasswordなど必要な語句がでるようにした。また、クリックするとリンク先にジャンプするようにした。
  190. Weblog ページの背景色を「小粋空間」さんのカストマイズを借りて、少し色を付けた。ついでに、横長カレンダーの背景色も同じにした。(2006/3/3)
  191. Weblog MainPageの右サイドバートップに、What's New? Flashボタンを設定した。(2006/3/3)
  192. hi-hoが運営するみんなの写真くらぶが5月で閉鎖されるので、Nikonが運営するOnlineAlbumへ移設することにした。HPからリンクしていた写真集を順次移す。(2006/3/3)
  193. SOTHINK SWF Quickerで創ったFlash MovieボタンをMTに持ち込んでみた。(2006/3/2)
  194. 鹿児島へ旅行したときに、知覧の武家屋敷跡で撮った花の写真などをFlash Albumにつくり、リンクした。(2006/3/2)
  195. 閲覧してもらった友人に指摘を受けて、コメント保留・エラー・受付の各テンプレートを「小粋空間」のテンプレートで設定した。自分宛にコメントを出すことはないので気づかなかった。(2006/3/2)
  196. 2月末に、鹿児島に旅行した。その時の記録を写真日記風に掲載した。(2006/3/1)
  197. Movable TypeでのWeblogのカレンダーを横長表示に変えました。Kinarie&Mayさんの作品を使わせてもらっている。(2006/2/23)
  198. Weblogの表示に、パンくずリストを置きたくて、その前提となるMTのphpモジュール化をしました。悪戦苦闘したが、どうやらどちらも形になった。(2006/2/21)
  199. 藤本壱さんの参考書にある「リンクの挿入をより便利にする」プラグインを導入した。表示には現れないがが、投稿原稿作成時のリンク挿入が楽になりそうです。(2006/1/17)
  200. MUSIC PageのFlashJazzをElla FitzgeraldMack The Knifeに変更した。(2006/2/17)
  201. eonet CGIで設置していたHomePageの作者への送信フォーム をlolipopの送信フォームに変えた。こちらの方が細かい設定がでるが、著作権のためにlogoを消すことはできないようです。(2006/2/14)
  202. インターネット接続先である光のeonetに置いてあった私のHomePageを独自ドメインに移設した。 eonet CGIのカウンターだけlolipopのものに変更した。(2006/2/13)
  203. 藤本 壱さんのカスタマイズを参考に、サイドメニューの月別アーカイブをセレクト表示に変えた。(2006/2/13)
  204. カテゴリーの階層化ついでに、並べる順序を私のHPと同じように変えた。これは、藤本 壱さんのプラグインを参考にさせて頂いた。思っていたよりすんなりといった。
  205. カテゴリーの階層化およびツリー表示を「小粋空間」のサイトなどを参考にカストマイズした。少しずつ形が整ってきた。DIYと同じように、何かができていくことは楽しいです。(2006/2/12 13:30)
  206. MT Weblogのメインページでの本文表示は、最近投稿した5エントリーにとどめ、その後にそれに続く15エントリーの概要を付けた。藤本 壱さんの参考書から引用したものを少し弄りった。(2006/2/11)
  207. LivedoorのBlogコンテンツをすべてn-shuhei.netに移設した。LivedoorのBlogは、本日(2006/2/10)かぎりで閉鎖することにした。 2GBフリーのスペースは魅力的であったが、今の情勢ではどこまで続くか疑問です。
  208. eatsさんに教えてもらって、MTのDBをSQLiteに変換した。今のところ500Errorは出なくて快適に再構築できている。Ogawa::MemorandamのサイトからDLした、mt-db-convert.cgi を使った。(2006/2/10)
  209. 下書きの時点でpreviewできるH.Fujimotoさんのplugin TagForPreviewをようやくのことインストールした。Livedoorのコンテンツをlolipop MovableTypeに移行するのが随分楽になった。(2006/2/7)
  210. MovableTypeの見栄えを考えて、pluginを持ち込むなど知識もないのに弄っていたら、Databaseを壊してしまったようです。泣く泣く再インストールした。(2006/2/5)
  211. What's New?のページを Atelier Shuhei's Weblogのこのエントリーに移行した。(2006/2/4)
  212. Livedoorでのblogページを新たにレンタルした lolipopにMovableTypeで設置したblogページ に移行中です。
  213. MUSICページでのJazzを Edmond HallのAs Long As I Live にした。(2006/1/22)
  214. NATUREのページ にFlash Movieを置いた。
  215. What's NewのボタンをFlashに変更した。(2006/1/15)
  216. 家内のガーデニング教室での作品を Flashアルバム で掲載した。(2006/1/5)
  217. Jazz Collectionのリスト を更新した。(2006/1/8)
  218. HOMEページにstaffonlyボタンを設け、家族用のalbumにリンクした。入室にはパスワードが必要です。(2006/1/4)

2008年5月13日

隠居、reCAPTCHA をインストール


 前回、<レンタル・サーバーの引っ越しし>で書いたように、lolipop で使っていた spamcomment 対策に導入していた Scode が Xserver ではうまく作動しなかった。今回、reCAPTCHA というプラグインを導入すると上手くいったので備忘録的に書き留めておく。

 Scode の修復は諦めて、Xserver MT3.3 で動く何かよい Captcha はないかとググッてみると MagicBox というサイトの 「CAPTCHA によるコメントスパム対策」というページがヒットした。

 このページでは、Tinny Gimpy というプラグインを紹介しているが、これではなしに、Gimpy というところからたぐると英語のサイトだが、 The Official CAPTCHA site というところに行き当たった。
 "Get a Free CAPTCHA For Your Site" をクリックすると "Use reCAPTCHA on Your Site!" というページの説明となり、さらに"easy-to-install plugins" というリンクをクリックすると "Resources" というページとなり、そのページの "Application Plugins" の中に、MovableType 用のプラグインがあることを示している。

 この MovableType をクリックすると "Adding reCAPTCHA to Movable Type" というページにたどりついた。MT4.1 用のものも用意されている。
"Installing in Movable Type" の説明とおりにインストールすると、ブログ管理画面の「設定」→「プラグイン」で表示される。作動するためには、事前に"Use reCAPTCHA on Your Site!" というページで Sign Up しておく必要がある。 Sign Up すると Public Key と Private Key がもらえる。これらの Key がブログのプラグイン設定で必要である。

 後はエントリー・アーカイブを再構築すれば、コメント画面に現れる。このとき、default では英語の表示になるから、エントリー・アーカイブのテンプレートに挿入する(私の場合、従来Scodeを表示させていたところ)ときに、日本語表示にするようにHTMLを修正すればよい。(下図)
 また、システムのコメント・プレビュー・テンプレートも同様に修正した。

 ただ、TypeKey との相性が悪い。TypeKey でサインインしても、reCAPTCHAの文字を入力しなければならない。それに、管理者の承認がなければ表示されない。これでは、TypeKey サイイン・インの意味がないので、TypeKey サイイン・インの方には申し訳ないが、reCAPTCHA だけにさせてもらった。
 しかし、おかげで spam comment はおさまったようだ。  

2008年5月13日

隠居、レンタル・サーバーの引っ越し:lolipop → Xserver

 2006 年2月に、ブログを MovableType で始めだしてから、2年と3ヶ月が経過した。その当時、最も安かった(現在もそうかもしれないが) lolipop という変わった名前のレンタル・サーバーを、ディスク容量 200MB 月額 263円で契約した。
 と同時に同じ系列の、ムームードメインサービスで、n-shuhei.net という独自ドメインを取得した。現在でも、ここが独自ドメイン取得・維持では最安らしい。 

 さすがに 200MB ではすぐ余裕がなくなり、2006年10月に、月額 105円を足して500MB とした。それも容量が残り少なくなってきたので、もう少しディスク容量が大きなレンタル・サーバーを物色していた。
  lolipop の系列に、chicappa とか hemtel といったレンタル・サーバーがあるが、ネットにあまり名前が出てこないのでもひとつ乗り気ではない。
 「小粋空間」さん(現在は引越しされたようだ)など有名な方が使われている SAKURA Internetは、自分用に MP3 ファイルをおいて楽しんできたが、MovableType を移管するにはなんとなく難しそうだ。それに、債務超過も噂されている。音楽は、RadioSenboku を専ら聴いているので無駄遣いはやめて契約を解除した。

 もう少しググッテみると、ディスク容量 3GB で月額 1050円の Xserver というレンタルが見つかった。MovableType との相性も良さそうである。
 このサーバーに、一気に MT4.1 を導入して、現在の MT3.3 を移管したいと思ったが、 MT4.1 を理解するには時間がかかりそうなので、とりあえずディスク容量を確保することを優先することにした。

 一日 200人を越える人が訪問してくださるようになったので、URL は変えたくない。幸い、独自ドメインを取得していたので URL を変更せずにサーバーの引っ越しができそうである。
 Xsever には、このような場合のマニュアルが丁寧に書いてある。ただ、ドメイン管理とかDNS とかいった言葉は familiar ではないので、加齢化現象が起きている頭では理解するのになんども読み返すことになった。

引っ越しの要領は、マニュアルの「他社からの乗り換えについて」→「サーバーだけ移転したい」を参考に、
  1. まず、ドメインの設定で、保有している独自ドメイン名(私の場合、n-shuhei.net)で、xserver にドメイン設定をする。
  2. 次に、FTPソフト(私の場合、FFFTP)で、新しいドメインに、lolipop からダウンロードしておいたファイルを xserver の新しいドメイン(/n-shuhei.net/public_html/) にアップロードする。
  3. 次に、ネーム・サーバー(プライマリーとサブがある)を lolipop のネームから xserver のネームに変えて、浸透するのを待つだけである。この作業で世の中に、サーバーを変えたことを知らしているが、浸透するまでは2日間くらいかかるそうである。
  4.  ドメイン名が同じだから、ほんとに引っ越ししているかどうか分からないが、アップロードする画像ファイルなどを故意に外しておくと表示されないから確認ができる。

  5.    要するに、
    • サーバーをレンタルしている業者と独自ドメインを管理している業者は別である。
    • 独自ドメインを持っておれば、サーバーレンタル会社のネーム・サーバー名(基本的には、IPアドレス)を、ドメイン管理業者(ここの場合、ムームードメインサービス)に用意されているコントロールパネルで書き換えるだけでよい。
    ことが分かった。

     ここまでは、なんとか上手くいったが、サーバーを変えると当然サイト・パスなどが変わってくる。ドメイン名は同じなので、テンプレートタグの<$MTBlogURL$> とか、<$MTCgiPath$> などは内容は変わるが、そのまま変えなくてもつかえる。独自ドメインを持っているとこのような時に幸いする。

     ただ、次の項目は変えなければならない。
  6. mt-config.cgi のCGI Path は変えなくてよいが、Database へのパスはフルパスが変わっているので変えなければならない。(私の場合、SQLite を使っていたので)
  7. ブログ管理画面の「設定」→「公開」でのサイトパスも絶対パスを変える必要がある。
  8. cgi ファイルの属性(パーミッション)は、xserver の場合 700 に変えねばならないが、プラグインで使っている cgi ファイルも plugins のフォルダーを展開してさがし、属性を変えておく必要がある。私の場合、plugin の RebildPreView の cgi ファイル属性を変えていなかったのでエラーを起こした。


 ここまではなんとかたどり着いて、新しいサーバーで運営ができているが、spam comment 対策の Scode plugin がかなり時間をかけて検討してみたが、どうしても上手く動かない。仕方なく、1日20通近くくる Junk Comment は手動で削除している。MT4 には対策方法があるらしい。やっぱりアップグレードを考えねばならないだろう。

 

2008年5月10日

隠居、MTでのParse error に苦戦

 現在契約しているレンタル・サーバーが手狭になってきたので、引っ越しを考えている。「MT サーバー 引越し」でググって(若い人たちの間では、Googleでサーチすることを ググルというらしい)みるとそう簡単ではないようだ。

 引っ越しをされた先達のエントリーには、大抵の人が引っ越しには準備を十分にしておくことが重要のように書いている。特に、サーバーを変えることによって、新しいドメインへのサイト・パスに注意を払う必要がある。

 初期の段階にわけのわからないまま見よう見まねで、テンプレートなどをいじってきたので、コードがくちゃくちゃになっている。コメントアウトしたコードがそのままのこっていたり、サイトパスがテンプレート・タグを使わずに、直接フルパスで書いている部分もある。まず、これらの掃除をしようとしたところでつまずいた。また、同じような過ちを犯しそうなので、備忘録的に書き留めて起きたい。

 メイン・ページ・テンプレートを掃除をしたあと、「S&R」(保存・再構築)をしてみると、なんと下のようなエラー表示がでて、ブログが立ち上がらない。 
Parse error: syntax error, unexpected ':' in /home/sites/lolipop.jp/users/lolipop.jp-dpxxxxxxxx/web/blog/index.php on line 156

 MTをなんとか立ち上げたころに見たエラー・メッセージである。どのように見るのかすっかり忘れている。これも、"parse error MT" でググッてみると、PHP化が影響していることが分かってきた。よく使うコード部分を「小粋空間」さんのPHPモジュール化を参考にPHP化して、よく理解できないまま使っていたのだ。

 さらに、"Parse error syntax" でググルと私でもなんとか理解できるページがヒットした。「ホリデープログラミング入門」というサイトのページである。

 ここに書かれている内容を頼りに、メイン・ページ・テンプレートテンプレートの156行目あたりを眼を凝らしてみると、次のような記述が見つかった。
<?php readfile(http://n-<$MTBlogURL$>"webtitle.html"); ?>

 どうやら、コードの掃除をしているときに手が滑ったらしい。もともとは、どうやらフルパスで書いていたと思われる。
<?php readfile("webtitle.html"); ?>
と記述しなおすと、すんなり回復してくれた。。

 原因が見つかるまでの当座の間に合わせは、FFTPでダウンロードしていた index.php を使ったが、このファイルはテンプレートタグなどが展開されたあとのファイルなので、元々のテンプレートを置き換えることができない。テンプレートは、秀丸か何かを使って Copy&Paste でバックアップしておいた方がいいかもしれない。

2008年4月28日

隠居のお勉強:JavaScript(11) try...catch

 サンデー毎日なのに結構なにやかやと時間をとられて、お勉強がすすんでいない。例によって、W3Schools の tutorial にしたがって、次のステップに進もうと思う。

 ネットでいろいろと調べてみると、try... catch という構文は、Ajaxでほぼ必須になっているらしい。私のJavaScript の勉強は、Web ページをもう少し動的にしたいという、だいそれた願望に基づいているから、Ajax に必須なら、特に力を入れて勉強したいと思う。

 try...catch の構文の文法は、次のように解釈できる。
try{エラーをキャッチしたいcodeの実行}
catch(err){エラーをキャッチしたときの処理内容}


 Script を書いていて、プログラムにバグがないかどうかを確認するときなどに使うらしい。エラーの内容を表示するようにしておくと、バグの箇所と特定するのに役に立つということである。本格的に JavaScript プログラムを書くことはまだまだ先のことであろうが、おぼえておきたい。

 W3Schools には、例示として次のようなコードが示されている。
<html>
<head>
<script type="text/javascript">
var txt=""
function message()
{
try
  {
  adddlert("Welcome guest!");
  }
catch(err)
  {
  txt="There was an error on this page.\n\n";
  txt+="Click OK to continue viewing this page,\n";
  txt+="or Cancel to return to the home page.\n\n";
  if(!confirm(txt))
    {
    document.location.href="http://www.w3schools.com/";
    }
  }
}
</script>
</head>

<body> <input type="button" value="View message" onclick="message()" /> </body>
</html>

 try ブロック部分の adddlert("Welcome guest!"); の adddlert は alert のミススペルでエラーとなるから、catch ブロックの処理を行って、confirm-box を表示させることになる。

 あまり意味はないが、テストのために上のコードを少しいじって、このエントリーに取り込んでみた。下のボタンをクリックしてみてください。 Confirm Box が出るはずです。

    
 なお、この JavaScript 部分を外部ファイル化し、テンプレートの head 部分に読み込んで使うことを試したがうまくいかなかったので、直接 head 部分に書き込んでいる。

2008年4月19日

隠居のお勉強:JavaScript(10) event

 ちょっとサボっていた W3Schools の JavaScript のお勉強を再開した。じつは順序に従って、for..in という構文の学習していたのだが、example の文法がよく理解できない。あとで学習する object のときにも出てくるようなので、スキップすることにした。 object がよく理解できていないことが原因のようなので、その学習の中で理解していくことにした。

 それで今回は、次のステップである event の勉強である。

 Web ページの全ての要素(element)は、JavaScript 関数(function) のトリガーであるイベント(event)となる。例えば、ボタン element の onClick event は、ボタンをクリックすると実行される関数を指示する場合に使用される。イベント(event)は、HTMLタグの中で定義する。

 event には次のようなものがある。
  • マウス・クリック
  • Web ページあるいはイメージのロード
  • Web ページ上のホットスポットにカーソルが乗る。
  • HTML form で input box が選択される。
  • HTML form をサブミットする。
  • 何らかのキーが叩かれる。

 event は通常、関数との組み合わせで使用される。関数は、event が発生する前には実行されない。

 例えば、 onClick event は次のように使われる。
Field1: <input type="text" id="field1" value="おはよう!!">
Field2: <input type="text" id="field2">
Click the button below to copy the content of Field1 to Field2.
<button onclick="document.getElementById('field2').value= document.getElementById('field1').value">Copy Text</button>

 このコードを実行すると次のようになる。Copy Text ボタンをクリックしてみてください。

Field1:
Field2:

Click the button below to copy the content of Field1 to Field2.


 JavaScript で認められている event の一覧を、英語であるが W3Schools から引用加工させていただいて、下のテーブルに記載した。
 詳細は、W3Schools の complete Event reference にある。それぞれの event の使い方を詳しく説明している。

   
Attribute The event occurs when...
onabort Loading of an image is interrupted
onblur An element loses focus
onchange The user changes the content of a field
onclick Mouse clicks an object
ondblclick Mouse double-clicks an object
onerror An error occurs when loading a document or an image
onfocus An element gets focus
onkeydown A keyboard key is pressed
onkeypress A keyboard key is pressed or held down
onkeyup A keyboard key is released
onload A page or an image is finished loading
onmousedown A mouse button is pressed
onmousemove The mouse is moved
onmouseout The mouse is moved off an element
onmouseover The mouse is moved over an element
onmouseup A mouse button is released
onreset The reset button is clicked
onresize A window or frame is resized
onselect Text is selected
onsubmit The submit button is clicked
onunload The user exits the page

2008年4月 7日

隠居のお勉強:JavaScript Basic (9) Break and Continue

 JavaScript の勉強が、1週間ほど空いているので再開することにした。

 W3Schools の次のレッスンは、Loop で使う break と continue である。

  • 二つの特殊なコマンド break, continue をloop の中で使うことができる。
    • break コマンドは、loop の途中である条件になれば、その loop を中止する。
    • 例を次に示す。
      <html>
      <body>
      <script type="text/javascript">
      var i=0;
      for (i=0;i<=10;i++)
      {
      if (i==3)
      {
      break;
      }
      document.write("The number is " + i);
      document.write("<br />");
      }
      </script>
      </body>
      </html>

    • 結果は次の通りになる。
      The number is 0
      The number is 1
      The number is 2

    • continue コマンドは、loop の途中である条件になる場合のみloop を実行しないが、loop は続ける。
    • 例を次に示す。
      <html>
      <body>
      <script type="text/javascript">
      var i=0
      for (i=0;i<=10;i++)
      {
      if (i==3)
      {
      continue;
      }
      document.write("The number is " + i);
      document.write("<br />");
      }
      </script>
      </body>
      </html>

    • 結果は次の通りになる。
      The number is 0
      The number is 1
      The number is 2
      The number is 4
      The number is 5
      The number is 6
      The number is 7
      The number is 8
      The number is 9
      The number is 10

 構文は理解できたが、どのような時に使われているのか分からない。

 なお、このようなエントリーを編集するときに、< や > を使う場合には、&lt; &gt; とエンコードしなければならないが、今回から HTML エンコードホームというサービスを使わせてもらうことにした。
 W3Schools などの example コードをこのページのエンコード前ボックスにコピペ(copy & paste)すれば、エンコードされた結果がエンコード後ボックスに表示されるので、これをエントリー編集画面にコピペすればよい。
 今までは、< などを一つずつ&lt; などと書き直していたのでずいぶん楽になった。
 今頃気がつくのは、老齢化現象の一つと思うが。

2008年3月31日

隠居の JavaScript :番号付きリストを降順にする。(追記)

 W3Schools JavaScript Tutorial の Loop の項まで学習して、Customaize History 履歴ページでのリスト番号を降順にする方法に使っている Expert が書いた次の JavaScript が少し理解できるようになったので、私の理解できた範囲でコメント文に記した。
<!--list descend-->
<script>
var o = document.getElementById("hoge");
//getElementById メソッドは指定ID(この場合:"hoge")のエレメント(この場合<ol>を指定する。
//"hoge"は、HTMLの<ol id="hoge"> というように指定している。
var max = o.childNodes.length;
//<ol id="hoge"> 要素内の子ノード(この場合、<li>..</li>)の数を変数 max に与える。参考:AllAbout JavaScript
for(var i = 0;i < max;i ++)
//隠居のお勉強:for loop の例
{
o.childNodes[i].value = max - i;
//子ノード<li>の i 番目に、(最大番号- i )を代入する。結果は、番号が降順になる。
}
</script> 


 なお、 Customaize History 履歴ページの番号降順設定は、上の JavaScript でInternetExplorer(IE) では上手くいっていたが、Mojilla 系の Firefox Netscape では番号が倍になり、原因が突き止められないまま放ってあった。
 今回改めて "childNodes.length" でネットサーチしてみると答えがあった。thescript.com というサイトのフォーラムによると、どうやら Mojilla 系では、 whitespace (空白スペース)をカウントの対象に入れるらしいことが分かった。
 そこで、Customaize History 履歴ページ(MovableType のインデックス・テンプレートで作成している)の編集画面で編集しやすくするために入れていた </li>....<li> の間の空白スペースを削除すると、Mojilla 系でも IE と同じように、綺麗な降順番号を表示するようになった。<li>..</li> のタグ・セット間に必ず空白スペースが入っていたので、偶然数字が倍の偶数になっていたらしい。

 この世界、学習すべきことは五万とある。死ぬまで退屈することはないだろう。

2008年3月30日

隠居のお勉強:JavaScript Basic (8) Loop

 W3Schools JavaScript Tutorial の第8回である。まだ、基礎部分を学習している。使わせてもらっている Expert が書かれた JavaScript を理解するには、まだ当分時間がかかりそうだが、少しずつ理解できる部分もでてきた。

 今回は Loop (ループ)である。ループには、For Loop While Loop がある。

  • for loop は、スクリプトを何回繰り返すかが分かる場合に使用される。
    • Example を次に示す。
      <html>
      <body>
      <script type="text/javascript">
      var i=0;
      for (i=0;i<=10;i++)
      {
      document.write("The number is " + i);
      document.write("<br />");
      }
      </script>
      </body>
      </html>
    • loop は、i=0 からスタートし、i が 10 以下の間、下のコード( document.write() )が繰り返される。i は1回繰り返されるたびに、1 付加される。結果は次のようになる。
      The number is 0
      The number is 1
      The number is 2
      The number is 3
      The number is 4
      The number is 5
      The number is 6
      The number is 7
      The number is 8
      The number is 9
      The number is 10


  • while loop は、特定の条件が true (真)である間ループする実行を求めるときに使われる。
    • Example を次に示す。
      <html>
      <body>
      <script type="text/javascript">
      var i=0;
      while (i<=10)
      {
      document.write("The number is " + i);
      document.write("<br />");
      i=i+1;
      }
      </script>
      </body>
      </html>
    • loop は、i が 10 以下の間、下のコード( document.write() )が繰り返される。結果は、for loop の場合と同じである。


  • do...while loop は、while loop の変種である。この loop は、常に code block を一度は実行する。それ以降は、特定の条件が true (真)である間実行をループする。
    • Example を次に示す。
      <html>
      <body>
      <script type="text/javascript">
      var i=0;
      do
      {
      document.write("The number is " + i);
      document.write("<br />");
      i=i+1;
      }
      while (i<0);
      </script>
      </body>
      </html>
    • 結果は、次の通りである。
      The number is 0

syntax は理解できたが、どのような場合に使われるかがよく分からない。

2008年3月28日

隠居のお勉強:JavaScript Basic (7) 関数

 全く自己満足の世界であるが、W3Schools での JavaScript Tutorial でお勉強を続けてみたい。

 今回は、[JS Functions]の項である。Function は、Example で既に使われているので、今回はおさらいである。
  • Function(関数)とは、イベントあるいは関数が呼び出されるときに実行される再使用可能なコードの集まりである。
    • おさらいのために、今回次のような学習のためのJavaScript を作成した。
    • ブログ・サーバーにおいた LinkButton.js という名前の js ファイル。
      //JavaScript Study Making Link Button
      function link_button()
      {
      var name=prompt("リンクする URL 名を入力ください。","URL");
      if (name!=null && name!="")
      {
      window.open(name);
      }
      }
    • この中で、prompt box に入力された URL を新しいウィンドウに開くという関数 link_button を設定している。
    • この関数を、ページを開いた時に呼び出すために、HTMLの <head> 部(MTのテンプレートで)においた。関数は、 <head> 部にも、 <body> 部にもおくことができるが、<head> 部におく方が賢明なようである。
    • <head> 部に関数を設定している js file を呼び出すためのHTML。<$MTBlogURL$>はMovableType のテンプレート・タグであり、私の場合、http://n-shuhei.net/blog/ を置換するタグである。
      <script type="text/javascript" src="<$MTBlogURL$>LinkButton.js"></script>
    • 呼び出した関数を実行するために、 <body> 部に関数 link_button() を実行させる次のような HTML を記述する。
      <input type="button" value="URL you want" onclick="link_button()" />

    • 右のボタンをクリックするとリンク先のURLを入力できる。  

    • 上の例は、arrgument (引数)がない場合の関数であるが、一般的には、次のような構文となる。
      function functionname(var1,var2,...,varX)
      {
      some code
      }
    • var1,var2 などは関数に取り込まれる変数または値である。 { と } は、関数の始めと終わりを示す。
    • var1,var2 などの引数がない場合にでも、関数名の後ろに () をつけなければならない。
    • 関数名は、小文字なければならない。JavaScript は大文字・小文字の区分が厳格である。


    • 関数ではまた、次のように関数から戻される値(戻り値)を特定する return statement が使われることがある。
      function prod(a,b)
      {
      x=a*b;
      return x;
      }
    • 上の関数を呼び出すときは、次のように2つのパラメータが必要である。
      product=prod(2,3);
    • 関数 prod() からの戻り値は 6 となるが、この値は product という変数で保存される。
    • 関数の中で宣言された変数は、その関数の中だけで使われるローカル変数となる。関数の外で宣言された変数は、グローバル変数と呼ばれ、宣言されたページのどの関数でも使用できる。ページが閉じられたときに消滅する。

2008年3月24日

隠居のお勉強:JavaScript Basic (6) Google Map link の confirm box を作る

 金曜の夜から、夫婦そろって風邪(?)を引いてしまった。どちらも消化器系をやられたので、一種の食中毒かもしれない。陽春の候というのに、二人揃って床に就いた。こんなことははじめてである。医者からもらった薬を服んで寝ていたら、翌朝は体調が戻った。

 引き続き、W3Schools JavaScript Tutorial で、お勉強である。今日は、[JS Popup Boxes] の項である。
  • JavaScript では、3種のポップアップ・ボックスを作成できる。  Alert: Confirm: Prompt: ボックスである。
    • Alert Box は、ページ閲覧者に確認の情報をポップアップ・ボックスに表示する。
    • Example を参考に、次のような js ファイル(名前はなんでもよいが、AlertBox_h1.js とした)を作って、ページの <head> 部においてみた。MTでは、メインページやエントリーページのテンプレートの <head> 部である。
      //JS Study: 改行付き Alert Box
      function disp_alert()
      {
      alert("Alert Box で改行するには" + '¥n' + "¥¥n¥ を使います。");
      }
       ¥は小文字である。MTやGoogle のサーチボックスや Gmail では、101/102 英語キーボードで小文字 ¥ を打つと、\ となって、小文字の ¥ は表示されない。この場合、HTMLのタグで使う、< > をエントリーで使うとき &lt; &gt; と入力するように、&yen; と入力すると小文字 ¥が表現される。なお、秀丸では小文字の ¥ が表示されるので、 js ファイル作成には問題がない。HTMLで表示されている入力部分に、小文字 ¥ を打つと、\ となるらしい。
    • ずいぶん寄り道をしたが、JavaScript での文字列の改行には、¥n を使う。HTML での < br /> と同じである。このときの ¥ をエスケープ・シーケェンスというらしい。エスケープ・シーケェンスについては、後ほど Tutorial の項目にもでてくるようだ。
    • MTテンプレートの <head> 部においた記述を次に示す。 <$MTBlogURL$> は、MT のテンプレート・タグである。
      <!-- JavaScript Study -->
      <script type="text/javascript" src="<$MTBlogURL$>AlertBox_h1.js"></script>
      

    • そして、 <body> 部に(エントリーに)次のようなHTMLを記述したとき、下のような Example が実行される。実際のブログへの応用については、まだ、思いつかない
      <input type="button" onclick="disp_alert()" value="改行つき Alert Box の例" />

    • Example:右のボタンをクリックしてみてください。
    • 今回初めて、 <head> 部で js ファイルを呼び出し、 <body> 部でそれを実行することを試みた。Expert が提供してくれている JavaScript プラグインの多くはこの方式をとっている。


  • Confirm Box は、ページ閲覧者に「OK」か「キャンセル」かの確認をとるお馴染みのポップアップ・ボックスである。
    • tutorial の Example と Tag <index> というページにある例を参考に、Alert Box のようによく利用する Google Map へのリンクボタンで確認するスクリプトを置いてみた。
    • 外部 js ファイル(名前はなんでもよいが、ConfirmBox_h2.js とした)と<head> 部(テンプレート)に記述したHTMLおよび <body> 部に(エントリーに)に記述したHTMLは次のようなものである。

    • 外部 js ファイル:別 Window に開きたかったので、tutorial にある location.href ではなしに window.open を用いた。 location.href では新しい Window に表示させる方法が分からなかった。
      //JavaScript Study Confirm Box
      function disp_confirm()
      {
      var r=confirm("Google Map を開きますか?");
      if (r==true)
        {
           window.open("http://maps.google.co.jp/","_blank");
         }
      else
        {
       window.alert('キャンセルされました'); 
        }
      }

    • <head> 部(テンプレート)に記述したHTML
      
      <script type="text/javascript" src="<$MTBlogURL$>ConfirmBox_h2.js"></script>
      

    • <body> 部に(エントリーに)に記述したHTML
      
      <input type="button" onclick="disp_confirm()" value="Google Map" />

右のボタンをクリックすると Confirm Box がでる。 
 ブログの右サイドにリンクボタンとして設置してみた。自作 JavaScript 3作目である。

  • Prompt Box は、多くの場合ページの訪問者にページに入る前に、何かの値を求めるときに使われる。
    • Example を参考に学習のために作った外部 js ファイル、<head> 部(テンプレート)に記述したHTMLおよび <body> 部に(エントリーに)記述したHTMLは次のようなものである。
    • 外部 js ファイル。名前はなんでもよいが、PromptBox_h3.js とした
      //JavaScript Study Prompt Box
      function disp_prompt()
      {
      var name=prompt("貴方のお名前を教えてください。","お名前");
      if (name!=null && name!="")
        {
          window.alert("今日は!! " + name + "さん。訪問ありがとうございます。");
        }
      }

    • <head> 部(テンプレート)に記述したHTML
      
      <script type="text/javascript" src="<$MTBlogURL$>PromptBox_h3.js"></script>
      

    • <body> 部に(エントリーに)に記述したHTML
      
      <input type="button" onclick="disp_prompt()" value="あなたのお名前は?" />
      


右のボタンをクリックしてみてください。
今のところ、どのように使うか思案しているが、まあ、隠居のお勉強の成果ということで、大目に見てください。

2008年3月21日

隠居のお勉強:JavaScript Basic (5) switch 構文を使って、本日の曜日を表示する

 前回の学習[JS If...Else] で、JavaScript を自分のブログへいささかの応用ができたので、勇気を得て続けて W3Schools JavaScript Tutorial でのお勉強である。

  • 今回は、条件式 [JS Switch] の学習。
    • 多くの選択肢から、一つの条件式を選んで実行する場合には、switch 構文を使わねばならない。
    • 以下は使用例である。
      <script type="text/javascript">
      //You will receive a different greeting based
      //on what day it is. Note that Sunday=0,
      //Monday=1, Tuesday=2, etc.
      var d=new Date();
      theDay=d.getDay();
      switch (theDay)
      {
      case 5:
        document.write("Finally Friday");
        break;
      case 6:
        document.write("Super Saturday");
        break;
      case 0:
        document.write("Sleepy Sunday");
        break;
      default:
        document.write("I'm looking forward to this weekend!");
      }
      </script>
    • break ステートメンを書くのは次の選択肢が実行されることを阻むためである。

  • これを応用して、自分のブログのタイトル下にある横長カレンダー横に、本日の曜日を表示することを試みた。横長カレンダーでは、曜日が分からない。
    • 上の example を参考に、次のような外部 js ファイルを秀丸で作成した。ファイル名は何でもいいが、TheDay.js として FFTP でブログサーバーにアップした。
      
      //今日は何曜日かを表示する js ファイル
      var d = new Date();
      theDay=d.getDay();
      switch (theDay)
      {
      case 0:
        document.write("<span id='js-text-red'><b>本日:日曜日</b></span>");
        break;
      case 1:
        document.write("<span id='js-text-grey'><b>本日:月曜</b></span>");
        break;
      case 2:
        document.write("<span id='js-text-grey'><b>本日:火曜</b></span>");
        break;
      case 3:
        document.write("<span id='js-text-grey'><b>本日:水曜</b></span>");
      break;
      case 4:
        document.write("<span id='js-text-grey'><b>本日:木曜</b></span>"); 
      break;
      case 5:
        document.write("<span id='js-text-grey'><b>本日:金曜</b></span>"); 
      break;
      case 6:
        document.write("<span id='js-text-blue'><b>本日:土曜</b></span>");
       break;
      }
      

    • スタイルシートに、次のスタイルを追加した。日曜日は、文字色を赤に、土曜日は水色にした。
      /* JS TheDay text */
      #js-text-grey { color: #408080; font-size: 10px; }
      #js-text-red { color: #ff0000; font-size: 10px; }
      #js-text-blue { color: #8888ff; font-size: 10px; }

    • MT テンプレート(メイン・エントリー)の<body> 部のカレンダー表示部分に、次のステートメントを追加した。
      <script src="http://n-shuhei.net/blog/TheDay.js"></script>
 これで、横長カレンダーの横に、本日:金曜日というように、ブログに訪問していただいた日の曜日が表示されるようになった。自作 JavaScript の2作目である。

2008年3月20日

隠居のお勉強:JavaScript Basic (4) 訪問時刻によって、挨拶文を変える。

 相変わらず、PC 前でRadio Senbokuを聴きながら、JavaScript のお勉強である。

 前回に書いたように、W3Schools JavaScript tutorial での [JS If...Else] のページにある Examples を応用して、私のブログのタイトルへ訪問時刻によって変化するお礼挨拶を表示させることにした。
 この具体例を記す前に、勉強したことを学習ノートにまとめておきたい。

  • [JS If...Else] で学んだこと。
    • デシジョンによって異なるアクションを実行する条件式を記述できる。
    • 条件式には、if statement ; if...else statement ; if...else if....else statement ; switch statement がある。
    • if statement はある特定条件が真(true) のみの場合にコードを実行する。次に例を示す。
      <script type="text/javascript">
      //Write "Lunch-time!" if the time is 11
      var d=new Date();
      var time=d.getHours();
      if (time==11) { document.write("<b>Lunch-time!</b>"); } <script><b>Lunch-time!</b>"); } <script>

    • if...else statementは、ある条件が、true の場合はあるコードを実行し、false の場合は他のコードを実行する。
      以下は事例。
      <script type="text/javascript">
      //If the time is less than 10,
      //you will get a "Good morning" greeting.
      //Otherwise you will get a "Good day" greeting.
      var d = new Date(); var time = d.getHours();
      if (time < 10) { document.write("Good morning!"); } else { document.write("Good day!"); } </script>

    • if...else if....else statement の記述によって、多くに条件の中から適切な条件に合致するコードを実行させることができる。
      下に example を示す。
      <script type="text/javascript">
      var d = new Date()
      var time = d.getHours()
      if (time<10)
      {
      document.write("<b>>Good morning</b>");
      }
      else if (time>10 && time<16)
      {
      document.write("<b>Good day</b>");
      }
      else
      {
      document.write("<b>Hello World!</b>");
      }
      </script>


 この if...else if....else statement を応用して、下のような外部 js ファイルを秀丸でエンコードを UTF8 として Greeting.js というファイル名(拡張子が js であれば名前は何でも良い)作成し、ブログサーバーに ファイル転送ソフト(FFTP) でアップした。
//ブログ・タイトルに、挨拶を表示する JSファイル
var d = new Date();
var time = d.getHours();
if (time<10)
{
document.write("<span style='color: #ffffe0'><b>おはようございます!! 早くからのご訪問ありがとうございます。</b></span>");
}
else if (time>=10 && time<18)
{
document.write("<span style='color: #ffffe0'><b>こんにちは!! いつもご訪問ありがとうございます。</b></span>");
}
else
{
document.write("<span style='color: #ffffe0'><b>今晩は!! いつもご訪問ありがとうございます。</b></span>");
}
 変数 d time の定義の仕方は、学習を進めると出てくると思うが、今のところ examples の通りに使っている。
 文字色を指定する span タグの間に入れるダブルコーテション( "---")の文字列ははシングルコーテション( '---' )でなければならない。

 この js ファイルをブログ・テンプレートのタイトル表示部分に、下の記述を挿入した。
 朝10時までに訪問していただいた方には、「おはようございます。」、10時から18時までに訪問していただいた方には、「こんにちは」、18時以降24時までの間に訪問していただいた方には、「今晩は」と表示されるはずである。
<script src="http://n-shuhei.net/blog/Greeting.js"></script> 


今まで学習したことを自分のブログのカストマイズに生かせるのはもっと学習が進んでからと思っていたが、この時点でささやかながら応用できた。お勉強の励みになるというものだ。

 

2008年3月19日

隠居のお勉強:JavaScript Basic (2)

 今日は朝から春雨が強く降っている。再開をはじめたDIYは今日はお休みにして、PC 前でRadio Senbokuを聴きながらJavaScript の晩学をした。教材は、W3Shools のものである。
 
  • 今日は、まずコメントの書き方について。
    • 一行に書くときは行頭に //
    • 複数行にまたがるときは、コメントの先頭に /* コメントの終わりを */ とする。
    • もちろん、スクリプトをコメントアウトするときにも使える。
  •  これは、当然のことながらActionScript の記述でも同じである。CSS では、/* -------- */ だけのようである。
     HTMLでは、コメントは一行でも複数行でも、行中でも、コメントの先頭は <!-- で、終わりは --> である。

  • 次に、[JS Variables] の学習 
    • Variables(変数)は、情報を格納するコンテナである。
    • 変数は代数学(Algebra)の x=5, y=6,, z=x+y → z=11 と同じように、x, y, z が変数である。
    • 変数は、carname="VOLVO" のようにテキストも値として持てる。
    • 変数は、大文字・小文字を区分する。また、変数名は、文字で始まらねばならない。JavaScript そのものが大文字と小文字を区分する。

  • 次に、[JS Operators] の学習
    • Operator(演算子) には、Arithmetic operators(算術演算子)や Assignment operators(代入演算子)などがある。
    • Arithmetic operators(算術演算子)には、つぎのようなものがある。

    • Assignment operators(代入演算子)には、つぎのようなものがある。

    • +プラス)演算子は、テキストの連結にも使われる。

 JavaScript Tutorial に使われている英語は、JavaScript Language Specification を参考にさせていただいた。普通の英語辞書には載っていない。

2008年3月18日

隠居のお勉強:JavaScript Basic (1)

 ブログで少し凝ったことを実現させようとすると Web を構成している言語を少しは理解する必要がある。HTML(HyperText Markup Language), CSS(Cascading Style Sheets)についてはある程度理解できるようになり、自分のサイトへの応用に少しはいじれるようになってきた。

 だが、カスタマイズに多用している JavaScript, Adobe Flash を制御する ActionScript については、ネットや参考書などで公開されている example を真似して作っている。それでは、少し自分向けにいじりたい場合には手も足もでなくなる。
 年寄りの冷や水であるが、基本的なことを学習しようかと思い始めた。学習したことをすぐ忘れてしまうので、自分自身への記録のためにブログ上に学習ノートを作ることにした。ブログとは、その語源からして自分のためようだから。

 教材は、W3Schools の tutorial を使うことにした。英語だが平易に書いてあり、頭の硬くなった老人でもなんとかついていけそうであるが、どこまで理解できるかは自信がない。

 W3Schools の Home 左メニューの BrowserScripting から Learn JavaScript を選択すると JavaScript Tutorial が出てくる。学習の仕方は、[JS Home] → [JS Introduction] とページを繰っていくのだが、ページの上下に [previous] [next] があるので、これに従えばよい。もちろん、記述は example とかお試しページや関連ページへのハイパーリンクが設定されている。これらへリンクした後は、最初の内は元のページに戻って、 [next] ボタンで次のページに進んだ方がよさそうだ。

 Tutorial の [JS Introduction] に、
JavaScript's official name is "ECMAScript".
The standard is developed and maintained by the ECMA organisation.
ECMA-262 is the official JavaScript standard. The standard is based on JavaScript (Netscape) and JScript (Microsoft).
 とある。一方、ActionScript のWikipedia による解説では、
ActionScript(アクションスクリプト)とは、アドビシステムズ社の製品であるFlashに使用されるプログラミング言語である。ECMAScript(ECMA-262)を拡張した物である。
 とある。JavaScript の学習は、ActionScript の学習でもあるのをはじめて分かった。お恥ずかしい話である。

 [JS How to] [JS Where to] までは、いままで曲がりなりに、エキスパート達の JavaScript を使ってきたので理解できる。   [JS Where to] で Using an External JavaScript を実験するために、
// これは、外部JSファイルを使う勉強用です。
document.write("<h1>これは、タグ h1 で書いています。</h1><br />");
document.write("<h2>これは、タグ h2 で書いています。</h2>");
document.write("<p>これは、タグ p で書いています。</p>");
 というような外部JSファイルをテキスト作成ソフト秀丸で作成し、サーバーに xxx_1.js というファイルをFTPソフト(私の場合 FFTP )でアップした。ファイルを作成するとき、エンコードは UTF-8 でなければならない。秀丸は、このような機能が備わっているから便利である。

 なお、このエントリーに記述したHTMLは、次のようなものである。
<script src="http://n-shuhei.net/blog/xxx_1.js"></script>


 この外部JSをこのエントリーで実行してると、結果は次の通りとなる。JavaScript のなかに記述した HTML タグは、そのまま実行される。 直接 HTMLでエントリー編集すればできることであるが、外部JSファイルを使う学習するためである。


 これを第1回とし、今後、W3Schools の順序に従って学習したことを記していきたい。

2008年3月11日

MT用フォトサムネイラーのインストール

 このブログに 2005年3月から掲載してきた種々雑多な写真も結構な量になってきた。これらの写真をカテゴリー別にアルバムにしたいと、ブログのタイトルなどで使っている Sothink SWF Quicker という Flash 作成ソフトのテンプレート利用も考えてきたが、日本語対応ができないなど意図したとおりにできないので諦めていた。

 写真のアルバムは、DIY作品集で実現しているが、新しいエントリーをあげるたびに修正しなければならないなど結構面倒な作業である。サムネイルに載せる写真を選択できるのは、いい点であるが。

 Flash カレンダーや Flash 天気予報を利用させていただいている Kinarie&May さん にMT用フォトサムネイラーというエントリーの中の画像ファイルをサムネイルで表示する Flash プラグインがある。前から気になっていたが、トライする機会がないままになっていた。今回、試してみると思い通りのインストールができたので、注意点などを記録として残しておきたい。

 次のサムネイルは、私のブログでカテゴリーを Gardening として分類しているエントリーに掲載されている写真である。下の << Prev ボタンをクリックすると日付を遡って見ることができる。サムネイルをクリックすると該当するエントリーが表示される。サムネイルに戻る場合は、ブラウザーの戻るボタンを使う。

   


 インストールの手順は、Kinarie&May さんのMT用フォトサムネイラー1.20 に親切に書いてある。
 以下は、注意点。
  • サムネイルされる写真は、HTMLに、<"img","src" >で指定される .jpg 写真である。いずれも小文字でなければならない。Picasa2 でエクスポートした写真は、大文字の .JPG となりサムネイルされないので要注意である。
  • テンプレートの新規作成で作成した xml ファイルは、作成した blog のルートフォルダーに保存される。ダウンロードしたphoto_thumbnailer120.zip を解凍してできる photo_thumbnailer120.swf ファイルは、同じフォルダーに置けばよい。
  • カテゴリー別にサムネイルを作る場合は、 xml ファイルの中で、<MTEntries category="004Gardening" lastn="999"> のようにするが、category の名前は、ブログ管理画面のカテゴリー名と一致させる必要がある。なお、サブカテゴリーも指定できる。私の場合、ソートのためにつけていた頭3桁の数字を忘れていたので、当初上手くいかなかった。
  • いくつかのカテゴリーでサムネイル集を作成する場合は、出力名を変えた xml ファイルをいくつか作ればOKである。

 このプラグインを応用して、私のサイトで運営している友達のブログの写真集とかのようなカテゴリー別のサムネイル集を作成していきたいと考えている。
 Kinarie&May さん Thanks a lot !!

(追記:2008/3/12) 私のサイトで運営している Studio YAMAKO はプロ級の腕前の YAMAKO が撮った趣味の蝶の写真が中心である。この蝶の写真のサムネイルを MT用フォトサムネイラー1.20 で作成してみました。右サイドメニューの Studio YAMAKO をクリックしてみてください。素晴らしい写真集がご覧になれます。

(追記:2008/3/13)サムネイルされる写真の拡張子は小文字の jpg でなければならない。ブログに写真を掲載するには Picasa2 でデジカメ写真を整理しエクスポートするのが便利であるが、拡張子が大文字の JPG となる。そのため、MTで写真ファイルをアップする前に該当するフォルダーの写真ファイルを Renamin.exe で拡張子を小文字の jpg としなければならない。ただし、この逆手をとって、サムネイルに載せたい写真だけ、小文字の jpg とする手もあるが、サーバーとエントリーのファイル名を変えねばならない。 

2007年9月 3日

9月のJazzダウンロード:All The Things You Are

 "All The Things You Are" は、Wikipediaによれば Jerome David Kern 作曲で Oscar Hammerstein の作詞である。その Lylics は次のようなものである。どうやら、「お前は私のすべて」と訳したらいいような日本語ではとても書けないようなラブソングらしい。
Time and again I’ve longed for adventure,
Something to make my heart beat the faster.
What did I long for? I never really knew.
Finding your love I’ve found my adventure,
Touching your hand, my heart beats the faster,
All that I want in all of this world is you.
(chorus)
You are the promised kiss of springtime
That makes the lonely winter seem long.
You are the breathless hush of evening
That trembles on the brink of a lovely song.
You are the angel glow that lights a star,
The dearest things I know are what you are.
Some day my happy arms will hold you,
And some day I’ll know that moment divine,
When all the things you are, are mine!

 この曲は、多くの Jazz Artists に好んで演奏されている。特に、 BeBop 系の演奏が多いようである。いつもの eMusic でサーチしてみると 296 のもアルバムがヒットした。ダウンロード数の制限がある中ではすべてをダウンロードするわけにいかないので半数以上を割愛した。それでも、毎月の契約数にブースターパックを購入して、119枚のアルバムからダウンロードした。ダウンロードした曲は、MusicMatch で wav に変換し、SoundEngine で一括音量調整した。曲数が多かったので、全曲を完了するのに1時間くらい要した。パソコン任せなので放っておいたらいいのだが。
 このメロディが好きな Artists が多いのか、coo l な演奏が多い。BGMとして流すのになかなかいい。

続きを読む "9月のJazzダウンロード:All The Things You Are"

2007年7月23日

国産ブラウザ:Sleipnir

クリックすると大きくなります  隠居のPC:インターネット・エクスプローラが起動しなくなったで、IEの不具合をエントリーしたところ、ML仲間の友人から Sleipnir を紹介された。なんと国産で大阪に本拠を置くフェンリル株式会社が開発し、無料で公開している。
 私のブログにアクセスしてもらっている人たちの使用ブラウザをアクセス解析ソフト Artizan で見ると右のスクリーンショットのようにやはり IE が圧倒的に多く、2番目に Firefox が多い。この Sleipnir は見あたらない。だが、このソフトがなかなか優秀で、使い始めてまだ間もないので持っている機能が十分に理解できていないが、見た目も機能も IE7 や Firefox とほぼ同じで安定性はよくレスポンスも早い。
 このソフトを紹介してくれた友人は、以前にもメールソフトの Becky! や Sound 編集ソフト SoundEngine を教えてくれた。それぞれのソフトは気にいってずっと使い続けている。ソフトを評価する眼は確かである。ありがとうございます。

2007年7月 9日

lightbox のキャプションにリンクを張る

 litebox1.0 jpeg IE と揃うと写真の表示で白い点々(white noise) が出ることがあることは、以前のエントリーで記載した。それで、litebox1.0 lightbox2.0 に変更したら、 white noise が出なくなった。この lightbox2.0 の support 欄Q&Aに次のような記載があったので、導入してみた。最近のエントリー<隠居の庭:夏の花(2)>のローズアーチの写真で使っている。
Can I insert links in the caption?
Yes, but you need to convert quotes and greater and less than symbols into their html entity equivalents.
For example:
<a href="images/image-4.jpg" rel="lightbox" title="&lt;a href=&quot;link.html&quot;&gt;my link&lt;/a&gt;">Image</a>

 html entity equivalents とは、日本語で言うHTMLエンコードのことのようだが、引用の中で使った &lt; は、エントリーのフォーム(HTML)では &amp;lt; と書かないと表現されない。
 なお、HTMLエンコードするには、 lightbox2.0 のソースコードの中に、エンコードおよびデコードしてくれるページが記載されていた。日本語でも同様のページがある。ありがたいことです。

2007年7月 4日

隠居の庭:夏の花(2)

クリックすると大きな写真になります まあまあ、梅雨らしい日々が続いている。梅雨の晴れ間に庭の花を撮った。5月に花開いたローズアーチのバラ ピンクのパレードはその後も次々にツボミをつけ花をつける。重くなった花が垂れ下がるのでアーチに誘引してやらねばならない。白のフェルスィテ・エ・ペルペチュは、5月に花を付けたきりで後はツルが伸びるだけである。


クリックすると大きな写真になりますクリックすると大きな写真になりますクリックすると大きな写真になります ギボウシの白い花や山小屋近くに自生していたヒメヒオウギスイセンの赤い花が庭のあちこちで咲いている。家内が株分けをしたようだ。玄関先の寄せ植えの鉢やハンギングには、赤紫色の5弁花をつけたニチニチソウやアオイ科のアブチロンが赤いランプのようにたれさがっている。

クリックすると大きな写真になりますクリックすると大きな写真になりますクリックすると大きな写真になります 隣の寄せ植えには、ハクチョウソウが変わった白い花を付けている。家内が、これはマーヤという名前だというので調べてみれば、住化農業資材という会社がつけたブランド名である。花の名前は呼び方がいろいろとあるので難しい。家の壁のガーデンパネルの白のベゴニアは、今が満開である。

2007年6月16日

隠居のHP備忘録:音の出るリンクボタンの作成

 Atelier Shuhei Weblog の右サイドメニューでのサイト内リンクボタンの統一が取れていなかったので、作り直すことにした。物覚えが悪くなって Flashのリンクボタンを作るたびに参考書を片手に一からやり直すことになるので、今回は備忘録として書き留めておくことにした。Flash製作に長けた人なら幼稚な話であるが。
 下に、今回作成した 蝶の写真集 Studio YAMAKO へのリンクボタンを例示する。

続きを読む "隠居のHP備忘録:音の出るリンクボタンの作成"

2007年5月24日

隠居のMT備忘録:mt-site.js の文字色を変える

 プロ並みの写真を撮る友人のブログを構築した。同じML仲間でMTでのブログ製作の先輩から、ブログの背景などのスタイルを異なるデザインした方がいいのではというアドバイスを受けて、スタイルシート styles-site.css を弄って背景色などを変更した。背景色を変えるとヘッダーなど色々なスタイルで文字が見えない状況がでてくる。普通にはスタイルシートを修正したり新たに class を作ったりして文字色を変えれば文字が見えるようになるが、エントリー・アーカイブ中のコメント投稿部分の Typekey に関するメッセージの「サインイン」「サインアウト」文字色は変えられなかった。この部分は、ブログ毎に再構築時に再生成される mt-site.js という JavaScript テンプレートにある文字が表示される。(実は、昔学習したことがあるのに、これを見つけるのに時間がかかった。) 

続きを読む "隠居のMT備忘録:mt-site.js の文字色を変える"

2007年4月23日

XHTMLstrict に Flash を表示する

隠居のFlash:<object> と<embed>で書いたように、どのブラウザでも動くように Flash をHTMLに埋め込むには、<object> と<embed>という同じようなタグを書かねばならない。最近はHTMLをもっと厳密(strict)に書いて、どのブラウザでも動くようにしようということで、W3C(The World Wide Web Consortium )は、XHTML strict を推奨している。この XHTML strict では、<embed>タグは使えない。現在MovableTypeで使っている「小粋空間」さんのテンプレートは、移行段階のXHTML Transitional なので現状で困っているわけではないが、Flashを XHTMLstrictで表示させる(embedタグを使わずに表示させる)コードが紹介されていたので、ブログのヘッダー部分の Flash を変更してみた。

続きを読む "XHTMLstrict に Flash を表示する"

2007年3月14日

Web Radio を録音する:Ripping Live365

 友達に Live365.com の存在を教えたら、最近いろいろなステーションを探し出して楽しんでいるらしい。ついでに、愛聴しているステーション(Hawaiian:Live365 にある)の曲を車の中や散歩中に iPod で聴けるようにできないかとの相談があった。ちょっと面白いテーマなので取り組んでみることにした。

 例によって自分のブログサイト内で探索できるようにしている Google Search で "Web Radio Ripping" というような言葉でサーチしてみると殆どは海外サイトであるが沢山ヒットした。日本のサイトの「StationRipperでネットラジオを外へ持ち出せ」という記事に引かれて、StationRipper をインストールした。このStationRipper は対象とするRadioを<隠居、NetRadio で Jazz/Country を楽しむ!>で紹介したSHOUTcast では見事に動く。曲名・アーティスト・曲の長さなどが、Radio Station をフォルダー名として保存される。こんなことが合法的なのかどうか疑いたくなるくらいである。ただ、StationRipper では、Live365 のストリームを ripping することはできない。設定の方法が拙かったようだ。Live365 のストリームを録音することはできるらしいがまだよく分からない。
 さらに英語のサイトを中心にいろいろと調べていると、どうやら RipCast というソフトで Live365 を ripping できるらしいことがわかった。早速インストールしていろいろと試してみた。インストラクションでは、Live365を ripping できることがなっているがなかなか上手くいかない。さらに、サーチしてみると "OldSchoolLive.com" というミュージシャンのサイトにあたった。どうやらこのグループは、Live365で自らの演奏を流しているらしい。ここで、Live365 から ripping する方法を説明している。その説明を従って、Live365 を聴く player を Winamp に変えると ripping できるようになった。ただし、 SHOUTcast での ripping のようには曲毎を split してアーティストなどの情報をつけるようなことはしてくれない。昔、カセットテープでFM放送を録音した(aircheck といいましたね)と同じである。ストリーミングしている時間分だけディスクに MP3 ファイルとして保存してくれる。さきほどのOldSchoolLive.com" では、ストリームファイルを split するソフトも紹介されている。いつも使っている SoundEngine でも split できそうであるが、 split に特化したファイルがないか探してみると Direct WAV MP3 Splitter という手頃なソフトが見つかったのでインストールして使ってみた。このソフト、 ripping したファイルの pause (無声)部分を見つけて、そこでファイルを split してくれる。 pause の時間などを設定できるので、結構使えそうである。ただ、当然ながら SHOUTcast の ripping のように曲名とかアーティストの情報は付加してくれない。若いころ(30年以上も前)、FM放送を録音したカセット・テープから MP3 ファイルを作成するのと同じである。このような良い split ソフトはなかったので1曲ごと手動操作をしていた。古い LP の曲を MP3 にすることも split が面倒なので止めていたが再開しようかなと思ったりしている。
 ところで、気がかりなことが起こっている。以下のように、米国で、Web Radio を規制しようとする動きである。拝金主義のレコード会社のロビー活動と思われる。Live365 を ripping できるにもう一つの Free soft である StreamRipper のページには次のように出ている。
News 2006/05/02 Audio Broadcast Flag Bill and PERFORM Act
Please take a moment to educate yourself about a very dangerous proposal for legislation in the United States offered by Rep. Mike Ferguson (R-NJ), called the "Audio Broadcast Flag Licensing Act of 2006". If passed, this legislation would severely limit your rights to record and enjoy digital  audio.

 また、Live365 のページには、私のように趣味的に Web Radio を開設している人にも厳しい話がでている。そのうちにこのような世界は消えていくかもしれない。
Last week, the Copyright Royalty Board (CRB) issued the significantly higher new royalty rates for Internet radio for the 2006-2010 period. The ruling ignored webcasting community proposals and set out the SoundExchange proposed "per performance" rates (below) and a $500 minimum fee per channel per year. Although there is no clear definition of what a "channel" is, the $500 minimum fee per channel threatens Live365's ability to help make the small webcasters' voice heard on the Internet, by effectively forcing Live365 to raise the minimum broadcasting fees to a level that would cause most small webcasters to discontinue their service thus silencing their stations. The CRB's determination imperils small and large webcasters alike and threatens listening experiences of millions of Internet radio listeners.

(追記:2007/3/23) 現在、Ripcastでの Live365 の録音は上手くいかない。Ripcast のホームページに繋がらない状態が続いている。著作権の問題か何かで、 Ripcast が閉じられているのかもしれない。
(追記:2007/3/24) Live365 のストリームを Winamp で再生するように設定して、Winamp の Playlist Editor を表示させ、その画面に表示されているステーションを右クリックしたときにでるポップアップ画面にある View file info.. をクリックするとURLが表示されるので、これをコピーしてRipcast の CurrentDownload の ServerAddress 欄にペーストすると Ripping が始まる。聞くのには、SongTitle を右クリックすると出るポップアップ画面で、Play をクリックすればよい。
 いろいろと試したが、Live365の録音は強制的に停められているようだ。StreamRipper でも上手くいかない。ちょっとの間様子をみることにしようと思う。 

<参考エントリー>


2007年1月21日

MP3 のストリーミング・ファイルの作成

 69歳の音楽好きの人が趣味で運営されてるToshibo's Web Radio(www.radiosetagaya.com)のサイトに刺激されて、Net Radio を開局したくなっている。自分のホームページが、だんだんと自分のポータルサイト的になってきているから、自分の好きな音楽が自分のサイトからずっと流れているのも隠居が許される贅沢かもしれない。
しかし、乗り越えねばならない壁は高い。まず、もっとも低い壁と思われるが、案内ページ内のボタンか何かをクリックすれば、ストリーミングに音が流れてくる仕掛けが必要である。radiosetagaya では、Windows Media Encoder(WME) を使っておられる。これは、再生ソフトの Windows Media Player(WMP) がインストールされている環境なら、ストリーミングに音が流れてくるアプリケーションである。ほとんどの人が、Windowsを使い、それにバンドルされている WMP は意識しなくてもインストールされているはずであるから、全く問題はないと思う。ただ、私はJazz などのコンテンツを全て MP3 で収納しており、WME を使うためには、MP3 を WMA ファイルに変換しなくてはならない。WME で簡単に変換できるが。それで、 MP3 ファイルをストリーミングに音を流す方法をサーチしてみた。なかなか見つからなかったが、「ウエッブに音楽を」というサイトに紹介されているのを見つけた。実に簡単である。テキスト・エディターで、連続して流す MP3 ファイルへのパスを行ごとに並べ、作成したファイル名の拡張子に、m3u とつけるだけである。このファイルをHTTPの<BODY>部に書き込めばよい。MTなら、エントリに、
<a xhref="http://xxxxxxxx.xxx/xxxx/xxxxx.m3u" >春から秋へ:季節の音</a>

という具合にタグづけするだけである。
これでミニマムの技術はクリアしたと思うが、音楽を流すとなると著作権の問題が最大の難関である。この高い壁を越える方法は、Toshibo's Web Radioに詳しく書かれているので挑戦してみたいと思うが、経済的なことと法的な英語を理解する能力が必要であるので、壁を越える前に挫折するかもしれない。
著作権の問題があるので、音楽ストリーミングを公開するわけにはいかないが、自分が録音したものなら問題はないので、鳥や虫の声を流してみる。季節はずれだが、下の文字をクリックしてみてください。

春から秋へ:季節の音

<追記:2007/1/26> 上に書いた記述で当初上手くいっていたが、PCのオーディオ・プレーヤを WindowsMediyaPlayer 以外にも Winamp や MusicMatch、iTune、RealPlayerなど色々とインストールしたり、削除したりしたせいか、上手くいかなくなった。再生するファイルの種類で、それぞれのプレーヤーが主導権争いをしているらしい。主眼を多くの人が使用しているオーディオ・プレーヤである WindowsMediyaPlayer で、mp3 ファイルのストリーミングができる方法をWebでサーチした。いろいろなページにある方法で種々試行錯誤を繰り返してみた。うまくいったのは、また英語のページである。どうも画像処理とかSound系は、海外サイトに有用なものが多い。このページの親元を探ってみると University of Missouri(UMKC) の Blackboard Learning System のようだ。このシステムのフルページを覗くには、UMKCの学生でないと駄目のようであるが、なぜか上記のページがヒットした。(現在(2009/3/31)上のサイトはリンク切れしています。このページの下の方に書かれている方法で、下のような mp3ファイルを入れた xxxxxxx.wax というメタ・ファイルを作り、ページに配置するとWMPで再生できるようになった。ファイルが少しだけ複雑になって、拡張子が wax に変わる。
<ASX VERSION="3.0">
<ENTRY><REF HREF="http://n-shuhei.net/xxxxxx/bushWarbler.mp3" /></ENTRY>
<ENTRY><REF HREF="http://n-shuhei.net/xxxxx/cicada01.mp3" //></ENTRY>
<ENTRY><REF HREF="http://n-shuhei.net/xxxxx/hut_060716.mp3" //></ENTRY>
<ENTRY><REF HREF="http://n-shuhei.net/xxxxx/Insects/korogi.mp3" //></ENTRY>
</ASX>

<a href="http://xxxxxxxx.xxx/xxxx/xxxxx.wax" >春から秋へ:季節の音</a>

 これで、MP3 のストリーミング・ファイルをページ上に置き、 WindowsMediyaPlayer で再生することができるようになったと思う。再生の停止や次の音へのスキップおよび繰り返し聴くなどの操作は、 WindowsMediyaPlayer でできる。ただし、今のところ InternetExplorer しか再生できない。MIMEの設定を変えることで、他のブラウザーでも再生できるようなことが種々のページで書いてあるが、今のところ成功していない。

2006年12月29日

MTテンプレートでのCSSによるタブメニューの作成

 いろいろと遠回りをしたが、ブログのヘッダー部分に、以前から設置したかったタブメニューを作った。このようなリンクボタンは、Flashで作るものとばかり思いこんでいた。そのために、ボタンを作るFireworksやFlash8などの学習をボチボチとしてきた。Fireworksには、Javascriptをつかうタブメニューの作り方のステップガイドがある。新しくページを作るときには有用と思えるが、MovableType(MT)に持ち込むにはいささか難しそうだ。Flash での例示は、もう少し高度なプルダウンメニューのようなものが多い。Google でサーチをしてみると、JavaScript や Flash は使わずにスタイルシートを上手く使ってHTMLで作成できることが分かった。ちなみにいつも参考にさせてもらっている小粋空間さんのタブメニューもページのソースコードを見るとHTMLで作られているようだ。(一部、JavaScripts が使われているようだ。
 いろいろ探してみると CSS Tab Designer というフリーの Software(?) に行き当たった。同様の日本語サイもあるが、どうも海外のサイトの方があか抜けている。早速、css_tab.zip ファイルをダウンロードして展開してみるとお誂え向きのサンプル (Tab Menu10)があった。これには、そのサンプルのHTMLコードがついており、これをページ作成ソフト(私の場合、Dreamweaver MX )にコピー&ペーストして、いろいろと弄って応用した。主な変更点は、文字コードを utf-8 にして日本語が扱えるようにすることとボタンのテキストやリンク先の指示やボタンの色を変えることなどである。
 MTへの持ち込みは、StyleText 部分を本来のスタイルシート(styles-site.css) に付け加え、<body><div> 部分のコードをテンプレートに挿入した。なお、私はテンプレートのヘッダー部分などは、モジュール化しているので以前に自分で作成しているテンプレートへの追加となる。このように多くのテンプレートを修正する場合には、モジュール化は重宝する。
 できあがりは画面でご覧いただけると思うが、このようなタブ区分と右サイドのカテゴリー区分とが完全に一致していないので、カテゴリーを再度見直す必要がある。また、サブカテゴリーも設けているので、プルダウンできるような改良も必要である。
 なお、IEではボタンテキストの日本語だけのものと英語まじりのものとでは、表示が微妙に異なるようである。Firefoxでは揃って表示されている。

2006年12月11日

隠居のFlash:&lt;object&gt; と&lt;embed&gt;

 先日来、右サイドメニューに Flash リンクボタンを置くことを試みている。Flash8 Basic で、日本語表示のFlash リンクボタン・ファイル(xxx.swf)をいくつか作って設置してみる作業である。この作業の中で、エキスパートの方なら常識と思うが、初心者には新たな発見があったので備忘録的に書き留めておくことにした。
 メインページおよびエントリー・カテゴリー・日付各アーカイブのテンプレートでは、リンク用のテンプレートを別に作って readfile している。このリンク用テンプレートでの flash file の設置するためのコードは、引用のように、Flash のエキスパートが提供してくれているものをコピペし、 flash file のありかなどを指示するなどの必要箇所を訂正して使っている。
<!--泉北近辺私的観光地図-->
<span align="left"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="120" height="30"> <param name="movie" value="http://xxxxxxxxxx/xxxxx/map_03.swf" /> <param name="quality" value="high" />
<!-- LiteboxでFlash を隠す -->
<param name="wmode" value="transparent" />
<embed src="http://xxxxxxxxxx/xxxxx/map_03.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" width="120" height="30"></embed></object></span>

   この HTML には、<object>と<embed>という同じようなタグが使われている。この経緯については、高橋 登史朗さんのAllAboutの解説に詳しい。この解説でも分かるように、ブラウザーによって表示が変わる。私の場合、主として編集は Firefox2.0 を使い、サイトの確認は使用している人が多い IE7 で行う。この確認作業で、Firefox と IE では表示が異なることに気が付いた。<object>と<embed>タグ部分で同じような名前の swf ファイルを使っていて分かったのであるが、 IE7 では<object>タグでのファイルが使われ、Firefox2.0では<embed>タグでのファイルが使われる。Netscape でも<embed>タグでのファイルが使われるようである。
 どちらのタグ部分でも同じファイル名にするのは当たり前の話であるが。

2006年11月20日

改訂:早春の鹿児島:Google Maps API に litebox を使う

 今年の3月に掲載した旅行記に使用した地図が Google の利用規約に触れるのではないかと気になりエントリーから削除していた。 新たに、 Google Maps API を利用して地図を全面的に作り変えてみた。この API の利用は、このようなエントリーを編集するには革命的なソフトであるが、ただ不満は今年の7月から使っている litebox-1.0 がうまく動作しないことであった。いろいろと試行してみたが、11月12日のエントリーに litebox-1.0 の JavaScript を取り入れてみるとうまく動作するようになった。下の地図のサイドバーのチェックボックスをクリックするとその地点にマーカーが現れる。をクリックすると写真が lightbox 的に現れるので試してみてください。理屈的にはよく分かっていませんが、このエントリーに使っている iframe のソース head 部分で、lightbox.ccs を呼んでくるときに、次のように media="screen" を加えると上手くいきました。ご関心がある方は、 iframe 内のソースを参照ください。
<link rel="stylesheet" href="http://xxxxxxxxxxxx/litebox/css/lightbox.css" type="text/css" media="screen"/> 


 高校の修学旅行以来行ったことのなかった鹿児島に、2月末の日・月に家内とFlight&Driveした。鹿児島は私にとって47年ぶりであり、家内は初めてである。その当時は修学旅行専用列車で、24時間かかって西鹿児島まで行ったように思う。今回は、大阪空港7:50発に搭乗し、9時30分には空港近くで借りたレンタカーで国道504号線を走り出していた。鹿児島は車の方がバスや列車より便利なのか、空港近くには多くのレンタカー会社が沿道沿いにあり、利用者も多い。確かに、日曜日というのに道は空いており、ゆったりスイスイと走れた。
 昨秋のみちのくと異なり、季節のせいもあるかもしれないが、蘇鉄が街路樹として植えられている沿道の風景はどことなくのんびりとした風情であった。いつものように、細かいルートは決めず、北帰行前のツルを出水に見に行くことと指宿で温泉に入ることだけを最低限の目的にしていた。トラベル雑誌の地図は一応参考にするが、ルートは一般道を走るか高速道路を走るかといった設定だけであとはカーナビ任せである。カーナビのいいところは、おおよその到着地までの時間を教えてくれることである。都会と違って、渋滞が全くといってないから、予想到着時間は、ほぼ正確である。出水までの道(504→328号線)は、どこにでもあるような里山が続く田舎道であった。朝食が早かったので、早い昼食を出水市に入ったところの和風レストランで摂った。食事は家内がいつも地方色がでてリーズナブルなものを求めるので、店を選ぶのがなかなか難しい。この和風レストランで摂った黒豚のカツとじはなかなかであった。
 昼食を摂ったレストランの人の話では、「このごろの暖かさで昨日は数百羽が北帰行をした聞いている。もういないのではないか」というのでがっくりしながら、そこから10数キロ離れたツル観察センターに行ってみるとまだ沢山のナベヅルかマナヅルが、干拓地の田に群れていた。動物園くらいしかツルを見たことはなかったのでこれには驚いた。この地はもともとツルの飛来地だったのだが、麦などをあたえるようになったので、これだけ集まるらしい。ついでに、カラスもワシらしき鳥も餌を求めに来ている。どんよりと曇っていたのと時間が無かったので、4から5羽の群れで飛び立つ北帰行のような良い写真は撮れなかった。(ほんとの理由は技術だが。)出水市のツルの北帰行などの状況については、以下のサイトが詳しい。
http://www.city.izumi.kagoshima.jp/izumi08/izumi44.asp

 今日の宿休暇村指宿までは、東シナ海に面した海岸沿いを市来というところまで南下し、そこから南九州自動車道と指宿スカイラインのルートをカーナビに設定した。どんよりと曇った天候のせいもあるが、海岸沿いの道路は単調であった。それより、鉄道マニアの孫がいつもDVDで見ている肥薩オレンジ鉄道の線路がこの道路沿いに走っており、2時間ほどの間にオレンジ色の単車両の列車に2回出会った。旅行に出ていても、孫の話になるのは、やっぱりオジイチャン・オバアチャンなんですね。道の駅「阿久根」で求めた焼き芋と薩摩揚げは名物にうまいものなしというものの結構美味しく食した。  カーナビでは、南九州自動車道は市来からであったが、手前の串木野というところまで延びてきていた。最近の道路行政のせいか、それよりも北へ伸ばす計画だったらしく橋脚の上に道路ができあがった状態で工事を中断しているようであった。
 指宿スカイラインは、錦江湾を望む山を切り開いて造られた道であり、途中に造られたいくつかの展望台では錦江湾(鹿児島湾)から写真のように桜島が見渡せる。
スカイラインから指宿に下る途中にはかの知覧がある。朝からの運転に少し疲れていたこともあり、宿にいって早く風呂に入りビールを飲みたかったこともあって、翌日に訪問することにした。
 休暇村は乳頭温泉郷でもそうであったが、その観光地の中心的な場所から離れている。休暇村指宿は、開設されたのはいつか分からないが随分古ぼけていた。砂風呂もどうも天然ではないようだ。(入っていないので分からないが) リーズナブルな料金から言って、こんなもんでしょうと家内からは窘められた。それでも、波の音を聞きながらの露天風呂は格別であった。お湯を少し口に含んでみると海の近くの温泉らしく、ナトリュームの味がした。食事は、選択していた黒豚のしゃぶしゃぶとオプションのキビナゴの刺身を食べた。量は随分多かったが、やわらかくてしつこくなく全部食べてしまった。錦江湾にあがる朝日がきれいとのインフォメーションがあったので、日の出を期待したが、残念ながら曇天の雲で見ることはできなかった。
 2日目のカーナビ設定は、開聞岳→枕崎→知覧武家屋敷跡→鹿児島中央駅→空港という順にした。朝早くは曇っていたが、日が高くなるにつれて快晴となった。
 菜の花畑から開聞岳(薩摩富士)を見るというスポットを求めてうろうろしたが、結局見つからなかった。見つからなかったが、被写体はどちらもしっかり撮ったので合成写真にした。頭の中では、マルチデイメンジョンでこのような景色を見ている。
 開聞岳から枕崎に向かう国道226号線(南薩摩路)沿いに有名な「さつま白波」の工場があった。昔からこんなに綺麗な工場だったのだろうか。芋焼酎ブームに乗って、きっと見学者が多いのだと思う。
 枕崎漁港にある「お魚センター」では、カツオやマグロの腹皮、鰹節が現地の産物といった感じであったが、あとは大阪のスーパーでも手にはいるようなものばかりであった。八戸の八食センターにはとても及ばない。漁港に泊まっている船の上で、魚を発送するのかコンテナの魚を移し換えていた。高級料亭にでも持って行くのであろうか、ずいぶん大きなヒラメや鯛が見えた。
 岸壁に駐車している間に車内は高温となっており、走り出すと24度に設定したエアコンから冷風が流れてきた。
 枕崎から知覧への道は、ゆるやかな丘陵地帯に茶畑が続いている。なんとなくのんびりとした豊かさを感じる地域である。このようなところで、若き青年たちは死を覚悟しながら過ごしていたのだろうか。特攻平和会館が近づくにつれ、沿道の歩道には石の灯篭が整然と並んでいた。美しい町並みである。
 知覧の武家屋敷跡は、秋田角館の屋敷跡と異なって、7軒の比較的小さな庭園が公開されている。この7軒を含む街道沿いの垣根は美しく手入れがされていた。それぞれの庭園には春を告げる花々が咲いていた。一軒の屋敷にはお嬢さんがお住まいなのか、縁側に続く部屋にはひな人形が飾られていた。
 武家屋敷の庭園で撮った花は、別のエントリーに、Flash Album で掲載した。
 帰りの搭乗時間までは時間があったので、遅い昼食がてら鹿児島中央駅に立ち寄った。北の地域と違って南では、ラーメンの味もあっさり味が多いようである。アミュプラザ・ビルの地下1階のラーメン店をでたすぐそばに、カメラに収めたいポスターがあった。
 大阪伊丹空港に帰ってくると寒い風が吹いており、ああ、まだ冬なんだと季節を思い出させてくれた。1泊の旅行ながら、一足早い春を感じることができた旅行であった。 

2006年11月 3日

番号リストで番号を降順にする方法は?

 自分のWeblogを中心とするホームページに手を加えた事項を備忘録的に書き留めて、カストマイズ履歴のページをテンプレートとして作成している。カストマイズした項目のリストは新しいカストマイズが一番上にきているが、リストの番号は一番最新のものが常に1番であった。この番号はできれば最新のカストマイズが何番目のカストマイズかを示したいので、番号は降順にして1番目にしたカストマイズは1番にしたい。HTMLのコードでは、HTML4.01の仕様書でもそのような方法は記載されていないらしく、HTMLコードではどうも駄目らしい。Googleで「HTML 降順 リスト ol li」でサーチすると、人力検索?Hatena::Qustionで「HTML番号リストで番号を逆順にする方法は?」という質問があり、その回答に andi さんという方が JavaScript での解決を提示されておられる。この JavaScript をいただいて、カストマイズ履歴テンプレートに貼り付けてみると希望通りの表示になった。ただし、このJavaScriptは、</ol> の後に貼り付けると上手くいくようだ。なお、<ol> は下のScript 似合わせて <ol id=hoge> とValue属性が必要である。 ちなみに、この JavaScript は以下の通りである。
<script>
var o = document.getElementById("hoge");
var max = o.childNodes.length;
for(var i = 0;i < max;i ++){
o.childNodes[i].value = max - i;
}
</script>

続きを読む "番号リストで番号を降順にする方法は?"

2006年10月24日

隠居の庭:秋の花3種

kingyoso.jpg Bookshelf.jpg fujibakama.jpg hototogisu.jpg
秋の花はなんとなく地味な気がする。その中でキンギョソウは賑やかである。右のサイドバーのリンク先に載せているK'sBookshelf さんで調べると4色の花があるようである。我が家の花は黄色である。寄せ植えの鉢に咲いている。蝶のアカタテハがよく飛んでくるフジバカマはようやく花をつけ始めた。日当たりの良くない裏庭に、ホトトギスがひっそりと咲いている。鳥のホトトギスの姿に似ているらしいが、そのホトトギスを見たことはない。鳥のホトトギス(漢字では時鳥と書くようだが)は、短歌や川柳などによく引用されているようである。

2006年10月23日

TinyMCE for MT3.3 をインストール

 MT3.33-jaにしてから、今まで使用してきた BigPAPI 関連のPlugins(例えば、BigTemplateWindow など)が上手く動かないようになった。BigPAPI と Transformer との競合らしい。これを避けるために、H.Fujimoto さんの TransformerTest をインストールしてみたが効果はなかった。一番使いたかった BigTemplateWindow は、MT3.3 用のバージョンになってから BigPAPI を利用しないに設定しないと動かないから、この際 BigPAPI とはさよならすることにした。
  TinyMCE も BigPAPI が必要のない MT3.3 用がでたようなのでインストールしてみた。 インストールの方法は、公式サイトに詳しく出ている。この Plugin をダウンロードして、readme.txt を読んでみると Internet Explorer 6 では動作するが使用できない機能も多数あると書いてあるので、IE7 をインストールすることにした。インストールしてみるとIE7 のせいか、TinyMCE のせいかどちらかか分からないが動きが非常に遅い。 readme.txt のPCスペックの項には、XP P4 とともに RAM 512MB 以上とある。組み立てた時には早かった自作の PC も今や最低のラインになっているらしい。奮発して、メモリーを購入することにした。パソコンの部品店にいってみると、私の自作 PC はもはや古い型のマザーボード(P4PE)なのでそれに合うメモリーも今やほとんどないらしい。ようやくのこと、「これならいけるでしょう」という 1GB のメモリーを求めて、今までのメモリー( 256MBx2 )と入れ替えた。体感的には早くなったような気がしている。
TinyMCE01.gif TinyMCE02.gif  ←左のスクリーンショットは、左側が native なエントリー編集画面である。タグ・アイコンの左端にある WYSWYG ボタンをクリックすると右のスクリーンショットのようになり、編集はしやすくなる。ただ、IE7上ではFEPなど不安定(Firefox, Netscapeでは大丈夫)なようである。使い慣れることが必要なのかもしれないが。 




続きを読む "TinyMCE for MT3.3 をインストール"

2006年10月 6日

エントリー編集でのHTMLコード入力法:泥臭い方法ですが。

 MovableType-ja でエントリーを編集するとき、ほとんどの場合編集画面の左上に用意されているタグ・アイコンで用が足りるが、私のような素人でも時によってはそれ以外のHTMLコードを使うことになる。例えば、リンクの表示 target を _blank にしたり、文字の色をにしたいというような場合である。このような場合を考えて、MTのExpert達が様々なプラグインなどを公開されている。でも、MTを始めて間もない人には少々取っつきにくいし、帯に短し襷に長しの感がある。
 そこで私は、FEP日本語入力システムの意味で使ってます。)の単語登録機能を使うことを思いついた。例えば、このエントリーでも使っているが、「あかいろ」と入力すると <span style="color:#ff0000;"></span> に変換する登録をしておくのです。ようやく日本語入力は、あまりキーを見ないで入力出来るようになってきたからずいぶんと楽であるし、簡単である。

 ちなみに単語登録例は、

  • あかいろ   <font color="#ff0000"></font>

  • ぶら      target="_blanK"
  • こもじ      <small></small>

  •  といった具合である。必要に応じて単語登録を増やすだけなので簡単と思う。また、HTMLの構文を思い出すのにも有用である。日本語でエントリーを書く最大の武器かもしれない。 

    2006年10月 4日

    BigTemplateWindow for MT3.3

     またまた単純なミス(?)でMTのグレードアップに手間取ったので、記録として残しておこうと思う。
     MTを 3.33-ja にグレードアップしたことは、前のエントリーに Up した。その中で、BigTemplateWindow for MT3.3 が上手く稼働しないと書いた。また、アルツハイマー的なミスだろうと原因を探ってみたがよく分からない。思いあまって、この Plugin の日本語版を配布されている caramel*vanilla さんに以下の質問を投げかけた。

    BigTemplateWindow バージョン 3.3.01のインストールでつまづいています。
    MT3.33-jaにバージョンをあげましたので、MT3.3用をDLし、インストールしました。
    システムメニューのプラグインでは、上記が表示されていますが、テンプレートを開いてもMTのネイティーブ・テンプレート編集窓しか出てきません。どのあたりをチェックすればよいかご教示頂けないでしょうか。
    ちなみに前のバージョンでは、上手く動いておりました。

     これに対してすぐに以下の回答がありました。
    >n_shuheiさん
    はじめまして。
    実は今現在ワタシはMTを卒業してWordPressというblogツールでblogをしています。
    BigTemplateWindowは以前のバージョンを日本語化したということもあり要望もあって最新バージョンにも対応することにしました。
    そういう事情もありn_shuheiさんと同じ環境での不具合の検証ができません。
    本体のバージョンが上がるとプラグインがうまく動かないこともあるかと思うので配布元のバージョンアップを待つのがいいかもしれません。
    (さっき確認しましたがまだ未対応のようです)
    作者の方に状況をフィードバックすると対応が早まるかもしれません

     ということで、敷居が高かったが久しぶりの英作文をして、配布元(多分韓国の方と思いますが)に質問のコメントをした。
    I have installed MT3.33-ja recently. and upgrade to your great work New BTW for MT3.3. But doesn't work.
    I recognize BigTemplateWindow version 3.3.01 Plugin in System Menu. But template editor is still native template editor, not appear BTW editor.
    Could you tell me how to manage it?
    I'm not good at English. I hope you understand my question.

    するとすぐに次のような回答のコメントがでました。
    Hi Shuhei!
    I've not yet tested it on MT3.33(or -Ja), so I can't be sure that your problem is from collision between it and MT3.33. Asap, I'd test it and tell you about it to your blog
    続いて、次のコメントが私のブログに飛び込んで来ました。
    Hi Shuhei
    I'm a developer of BTW MT plugin. Now I finished it on MT3.33-ja and it has no problem. In each blog's plugin listing menu, you can switch it on/off. Perhaps, did you select 復旧 option? One possible cause might be a failure of overwriting of plugin files...
    If BTW doesn't still popup, try to see MT's blog/system logs and if you can, see web-server's error log, and then mail it to me.

    Good luck!


     このサジエションに基づいて再点検を行ったが、指摘されている部分は問題がない。困ったときの頼みの綱の「小粋空間」さんのサイトで旧バージョンのBigTemplateWindow のインストール紹介を見ていると 3.3用のアップロード・ファイルには入れられていない BigPAPI ファイルと 'mt/alt-tmpl/cms/edit_template.tmpl' ファイルが示されている。BigPAPIはMT3.33-ja にグレードアップしたときに旧の Plugin ファイルとして追加していたが、alt-tmpl 配下の cms/edit_template.tmpl ファイルは削除してしまっている。これを FTP で追加してやると作動するようになった。配布元での新バージョンの紹介は、BigPAPI ファイルと 'mt/alt-tmpl/cms/edit_template.tmpl' ファイルがインストールされていることが前提だったのである。私のように、MT3.33-ja にアップグレードするときは旧の mt ディレクトリーは全て削除してまっさらにした上で旧のカスタマイズなどを追加する作業になるから、plugin ディレクトリー以外でカスタマイズで追加したファイルをアップすることを忘れることが多いのではないかと思う。ということで、新しいバージョンを紹介される場合は必要なファイルを再度提示して頂けるとありがたい。
     ただ、この作業の中でシステム・ログやブログ・ログを眺めていると受け付けてはいないものの迷惑トラックバックが完全に拒否出来ていないことを発見した。この対策をまた考えねばならない。歳取った頭の体操には英作文も含めていいかもしれないと自ら慰めている。

    続きを読む "BigTemplateWindow for MT3.3"

    2006年10月 2日

    MT3.33-ja に VersionUp

     MT3.3-ja にクロスサイトスクリプティングの脆弱性があるとのことで、万が一を考え MT3.33-ja にアップグレードすることにした。この9月26日にリリースされたばかりである。備忘録的に記録することにした。
     私の環境は、サーバーのレンタル先が lolipop で、DBには SQlite を使用している。lolipop から提供されている「既に MovableType をインストール済みの場合の最新版へのアップグレードの方法」マニュアルは db が SQlite の場合となっているので、これに従って実施することにした。以前から沢山のファイルをUPするときのFTPソフトは DreamweaverMX を使ってきたが、IEを使っても簡単にできることが最近になって気が付いた。今回も IE でバックアップを取った。ただ、やり方が拙かったのか旧バージョンの cgi/mt ディレクトリーを丸ごと削除しようとすると上手くいかない。仕方なく少し手間であるが、 DreamweaverMX を使って mt ディレクトリーを丸ごと削除し、解凍した MT3.33-ja をUP(PUT)した。マニュアルには、mt-config.cgi と sqlitedb はバックアップしたファイルをUPすることになっている。 mt-config.cgi はmt ディレクトリーのルートにあるからすぐ分かるが sqlitedb は mt/db ディレクトリーにある。
     前回のアップグレードで苦い経験しているカスタマイズしたプラグインを特定し、バックアップからUPしたと思っていたが、plugins ディレクトリーのルートにあるファイルのUP(PUT)を見落としていたため、カテゴリー項目の並び方につかっている cutfirstchar.pl などのファイルが落ちておりカテゴリ項目の表示が頭3桁の数字が表示されたりした。もう一つのミスは、.cgi ファイルの属性変更である。 mt ディレクトリー直下にある .cgi ファイルの属性は700(lolipopでは、755でなく700になっている)に変更したが(これが結構面倒な作業である。一括で変更できる方法がないものか。)、SCodeディレクトリーにある mt-scode.cgi は見落とした。その結果、コメントスパム対策に要求している入力すべき数字が現れない現象が起きた。そのあたりを修復するとほぼバージョンアップ前の状況になったが、MT3.3用に新たにインストールしたテンプレートを編集するためのプラグイン BigTemplateWindow が上手く動いていない。ただ、今回はカスタマイズを What's New?で簡単に記録していたことがずいぶん役に立った。カスタマイズの記録は今後も必要であろう。

    2006年7月20日

    隠居、新しいMP3 Playerに感激!

     隠居の身にとっては高い買い物の Macromedia Flash 8 Basic を導入したので、MP3 Flash Player をもう少し格好よいものに換えたくていろいろトライしてみた。が、Action Script の敷居が高く挫折しかけていた。Googleで Flash MP3再生 ボタン というようなキーワードでサーチしてみると TANさん という方の「音楽方丈記」というブログに、求めるブログで使えるFlash MP3 Playerが紹介されていた。紹介されている3つのPlayerはどれもすぐに使いたくなるものばかりだが、Play Tagger by del.icio.usは、ブログ・エントリーの文書の中に取り込めるのが気に入った。早速の前のエントリーに取り込んでみた。歳をとって何でもに感激症になっているが、これは感激である。JavaScript と アンカータグだけを書き込めばいいのが特に良い。JavaScript が置いてあるサイト del.icio.usが何者なるものかまだよく分かっていないが閉鎖されないのを祈るばかりである。
    下にサンプルを示してみる。
    Spaghetti RagというRagtime Piano
    堺自然ふれあいの森の鶯の鳴き声

    続きを読む "隠居、新しいMP3 Playerに感激!"

    2006年6月10日

    MTBigTemplateWindow

     2006年の4月5日に、What Is New? のエントリーを個別エントリーではなくテンプレートにした。それ以降HPに手を加えるに従って20回近くにわたって、このテンプレートの内容を書き換えている。何か他に良い方法がないか模索していたときに、「小粋空間」で紹介されているLee, Joonさんという韓国の方が作られたBigTemplateWindowというプラグインを見つけた。このプラグインをCaramel*Vanillaさんという日本の方が日本語版にされている。今年の1月でMovableTypeのblogは閉じられているが、日本語版はそのまま置かれている。ありがとうございます。
     早速このプラグインを導入し、"What's New?"ページを編集した。今までと違ってHTMLタグが簡単に使えるので重宝する。本来の目的はMTタグを使いやすくすることだと思うが。トロット夫妻が作ったMovableTypeは多くはロングテールに属する様々な人々によって時々刻々進化している。Japanese WOM(Write Only  Member in Japanese:私の造語)では、この世界では置いてきぼりを食うようである。

    2006年4月15日

    Jazz Collection: Download from eMusic.

     毎月のDLを契約しているeMusic での subscription が4月に入って更新された(下記の引用を参考)ので、新たにDuke Ellingtonの ”In A Mellow Tone” で検索してヒットした35tracks をDLした。 以前にも記述しているが、このようなコレクションが2003年1月から続いている。DVDにして3枚半くらいになった。MP3での収集なので結構な量である。 2003年1月以前は、BlueGrass系のカントリーミュージックにはまっていた。いずれ整理したいと思っている。

    Q: What is eMusic?

    A: eMusic is among the top digital music services, delivering more than one million downloads each month and offering a diverse catalog of 1,000,000 tracks from established and emerging artists in every genre from the world's top independent labels. Unlike other services that severely restrict portability, eMusic allows members complete flexibility to burn CDs, transfer to MP3 devices and make multiple copies for personal use. eMusic also offers access to exclusive recordings from eMusicLive's network of premier music venues across the country. eMusic subscription plans start at $9.99 per month for 40 downloads. A free trial is available to all new users.

    ところで、このようなコレクションをするときに問題になるのは、DLした曲の再生音量レベルの平均が-10dBから-25dBくらいまでばらついていて、そのまま再生すると曲が変わる毎にオーディオのVolumeを弄らなければならないことである。 eatsさんに教えてもらったSoundEngineというフリーのソフトを使って、DLした曲の音量レベルを-17dB(ソフトでは、ピアノ曲を聴くのに良いレベルとされている)に統一している。この音量レベルが、なんでこのようなマイナス・デシベルで表示されるのか疑問に思いながら使ってきた。もう少し理解をしたいと思ってGoogleで 音量レベル dB というワードで検索してみるといろいろなサイトが見つかった。これらのサイト中に「Pop-Musicの過大音量録音の本当の理由?」というページがあり、今までの疑問を少し解くことができた。なお、このページのTOPページは、「アナログ音源再生計画」というサイトであり、ここでのコンテンツは今は中断しているLP盤のJazzや若いときにAirCheckしたカセットテープのデジタル化に多いに役立ちそうである。 また、SoundEngineの使い方に関するページ「SoundEngineにてWave編集をする」が、今まで少ししか知らなかった音の記録についての知識を増幅してくれた。
    インターネットが巨大な百科辞典であることを再確認している。