東京進出中。

IMG_0128

ども。Mimura です。 先日 ツクモex に学校帰りによって交換してきました。

 

それにしても、大学に入ると急に出費が大きくなって困ります。
先日も高校の友人と学校の帰りに食事に2回行ってきまして。プリクラ撮られてみたり。

 

いやはや。楽しいんです。めちゃくちゃ楽しいんです、が、
出費がでかいのが痛いんです。何とかしなければ。

 

かといって、楽しい物が東京にはあふれていたりします。
学校から徒歩5分の秋葉原ではジャンクパーツを眺めて眺めて。
これでアルバイトなんて始めたら恐ろしいことになるんだろうなぁ。
と思いつつ、パーツを眺めています。

 

 

IMG_0128 IMG_0126

そういえば。冒頭にも画像を張りましたが、
ツクモex で 500ポイントで交換できるというやつ。交換してきました。
いやはや、堅くて金色に輝いています。すばらしいもんです。

 

秋葉原で買い物をよくする人は持っておくもんでしょう。なんて言いながら、
あきばおー や IOSYS や、Ark や ZOA などで用を済ませようとする私が居ます。

 

まー。そんなわけで。(って。記事更新する必要ないなぁ。これ。)

 

P.S.

食事に行く前。
てっきり予定を忘れて、サークルでくつろいでいた私の元にその知り合いから連絡が入りましてね。
まー。その声が聞かれて、かつ、よほどの「不リア充」だったのか。
「あれ、今の声? 女子じゃなかった!? 女子!?」 と。電話の後食いつかれました。

・・ええ。女子ですよ? 女性ですよ? 電話の相手は。 間違いなく。

 

・・いやー。飢えてるんだなぁ。そんなんだったら一緒に連れて行こうか? と言おうかと思いましたが、
やはり相手が知らない人を連れて行くのは気まずいのでやめました。

 

そして最後に、サークルの部室(?)を出るとき。
「おー! がんばってこいよー! リア充」 なんて言われました。
・・えーと。高校時代の友人2人と食事するだけなんだけどなぁー。 むぅ。

 

 

・・そんなに行きたいのなら、誰かと行けばいい 。 by 馬 (知る人は知っている、某教員。)

WordPress で強制的に PORT モードをつかってアップデートする方法。

またしてもメモ書きです。

 

mimumimu.net でも、PASV 通信を行えるように整備をしまして、
その際に接続先IPアドレスをグローバルIPを返すようにしてあります。

 

その関係で、LAN 内からWordPress の自動アップデートをしようとすると、
PASV 接続されて 接続先が解決できなくなってアップデートできなくなります。

 

当初は vsftpd (うちのサーバはこれを使ってます。) の設定を変更して、
LAN 内と WAN で設定を変更したり、
LAN 内のみプロキシを設けて弄れないのかな。と考えていましたが、
どうもその設定がなさそうで。

 

そこで WordPress 側なのですが、
/wp-admin/includes/class-wp-filesystem-ftpext.php  の
84行目(付近)にある、

 

//Set the Connection to use Passive FTP
@ftp_pasv( $this->link, true );

を、

//Set the Connection to use Passive FTP
@ftp_pasv( $this->link, false );

に変更すると、いい感じで PORT 接続を使ってくれるようになります。

 

荒療治のような気がするので、
もっと画期的な解決法をご存じの方は教えてください。

なのはな体操 MML Ver. あーあ。

やってはみたんです。やってはみたんですが、

MML@
t120r2l8rg>ede2efgf2&ffede2&ecded2&dr<g>ede2efgf2&ffede2&ecded2refga2&
arbb+g2&g4b+4gf2&fgfe2refga2&arbb+g2&g4b4ga2ab>cd2.&d16r.<<gl16arg8ab+
8ar4.>d+4d8c8<a8g4g+4arg8ab+8ar4.>d4l8deeffggl16<arg8ab+8ar4.>d+4d8c8<
a8g4g+4arg8ab+8ar4.>d4l8deefff+g2&gdefe2refgf2rfgag2r4<g>ede2efgf2&ffe
de2&ecded2&dr<g>ede2efgf2&ffede2&ecded2refga2&arbb+g2&g4b+4gf2&fgfe2re
fga2&arbb+g2&g4b4ga2ab>cd2.&d16r.<<gl16arg8ab+8ar4.>d+4d8c8<a8g4g+4arg
8ab+8ar4.>d2l8refga2&arbb+g2&g4b+4gf2&fgfe2refga2&arbb+g2&g4b4ga2ab>cd
2&dr<<g>ede2efgf2&ffede2&ecded2&dr<g>ede2efgf2&ffede2&ecded1rc4c4<a+a+
a+b+4a+a+>c2
,
,
;

 

なんともまぁ、とってもとっても残念な結果に。

ベースラインとか不足している部分を付け加えて頂ける、
心優しい方がいらっしゃったらうれしいです。はい。

 

http://mabimml.modev.jp/index.cgi?sep=14870

 

再生につきましては、

マビノギ MML作曲ツール 3ML EDITOR 2 Webpage
3ML Editor 2 を利用することが出来ます。

 

 

・・・自作のソフトだと、MML to System Speaker なんてのもあります。
http://mimumimu.net/software/#systemmml
(公的な場所とかでこのソフトを使う場合、出力先を[MIDI Mapper] に変更することをお忘れ無く)

・・とっても不完全な再生をしますけどねw

今日は謎に特別やりたいことが無かったので。

image

千葉 (帝国) 県民の心を入力してました (?)

 

えと、「なのはな体操」です。うん。

 

千葉県民は誰しもが知っている はず の体操です。
何しろ、運動会やら何やらの準備体操として行われましたから。

 

もっと言えば、私の場合、
小学校の時に体育委員を(超運動音痴なのにもかかわらず)やりまして。
「おぃ、この授業は抜けていいから練習しろ!」 なんて謎なことを言われたものです。

 

まぁ、そんなこんなで、かなり思い出深いやつです。
それで、今日はACID で 曲を小節ごとに分けて聞いて、
3ML EDITOR を使って入力しました。 ああ。今思えばなんてバカなことを。

 

携帯の着信音にしてしまおうかなぁ。と検討中。 ・・。いや、全く持って何を考えているんでしょう。

続きを読む

Vista 以降で CFileDialog において SetTemplate が使えない場合の代替方法

Mimura です。
先ほど、STEP_M 1.053 をリリースしました。

 

今回のネックは CFileDialog において Vista 以降の新しいファイルダイアログでは、
SetTemplate が使用できないことでした。

 

そこで、私もこの情報を見つけるまでにかなり時間がかかりましたので、
メモとして、また同じ悩みを抱えている人に有用な物となればいいかなと思います。

 

(あらかじめ断っておきますと、あんまりMFC を使いたくない人です。私。)

 

 

SetTemplate を使用する場合、大体が以下のようなコードとなっていると思います。

CMyFileDialog::CMyFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName,
        DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) :
        CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
{
    SetTemplate(0, IDD_CUSTOM_FILE_OPEN);
}

(STEP_M ソースコード MyFileDialog.cpp より)

XP,2000 ではこのコードで通りますが、

Vista, 7 では「サポートされていない機能を実行しようとしました。」
というエラーダイアログが表示されてしまいます。

 

 

そこで考えたくなるのが、Vista 以降のOSで SetTemplate を使う方法ですが、
現時点ではあきらめた方がいいと思います。

 

Visual C++ Team Blog  Vista-style File Dialogs with MFC
Microsoft 社の Visual C++ Team のブログでも、

the new Vista dialogs no longer supports hwnd template customization, your CFileDialog object will throw CNotSupportedException if SetTemplate is called on it. 

適当訳:[英語苦手なので、あまりにも訳が違っていたら指摘お願いします]
Vista の新しいダイアログは、テンプレートによるカスタマイズには対応しません。SetTemplate を CFileDialog で呼び出したら、CNotSupportedException をスローするよー。

というようなことが書かれています。

 

 

それではどうするかですが、
Vista 以降のダイアログにはそれの為の弄る方法が用意されています。

 

CMyFileDialog::CMyFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName,
        DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) :
        CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
{

    IFileDialogCustomize* custom;
    custom = this->GetIFileDialogCustomize();
    if(custom != NULL){
            // チェックボックスを追加する場合は以下のように。
            custom->AddCheckButton(IDC_CH_FILE_ADDPEND,L"ボタンのついか。",false);
        }
        custom->Release();
    }
}

 

抜粋して書きますと上記のようになります。

this->GetIFileDialogCustomize();

で IFileDialogCustomize のインスタンスを取得し、
custom->Add****

によって、ボタンやエディットボックス、ラベルやらを追加していきます。

なお、IFileDialogCustomize 系は、WINVER が 0x0600 以上でないと利用できません。
StdAfx.h 等で設定している方はご注意下さい。

 

設置した内容を取得する場合、上記の例のサンプルで行きますと、

 

IFileDialogCustomize* custom;
custom = this->GetIFileDialogCustomize();
custom->GetCheckButtonState(IDC_CH_FILE_ADDPEND,&checkstate);
custom->Release();

 

上記にありますように、
custom->Get****

によって、値を取得します。

 

どのような命令があるか、また、オブジェクトが使えるかということにつきましては、

IFileDialogCustomize Interface (Windows)
上記リンクを参照して下さい。

 

最後に、XP,2000 上でも、Vista 以降のWindows でも、両方で動くようにするソースですが、

CMyFileDialog::CMyFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName,
        DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) :
        CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
{
    IFileDialogCustomize* custom;
    custom = NULL;
    TRY {
        // Legacy OS [ – Windows XP]
        SetTemplate(0,IDC_CH_FILE_ADDPEND);
    } CATCH (CNotSupportedException,e){
        // New OS [ Windows Vista – ]
        custom = this->GetIFileDialogCustomize();
        if(custom != NULL){
            custom->AddCheckButton(IDC_CH_FILE_ADDPEND,L"ちぇっく。",false);
        }
        custom->Release();
    }
    END_CATCH
}

(STEP_M ソースコード MyFileDialog.cpp より)

というような、上記のコードはいかがでしょうか。
MFC 上では try – catch 構文は使えないらしく、TRY – CATCH – END_CATCH を使うようです。

そこで、まずは SetTemplate を動かし、
非対応エラー(CNotSupportedException) が発生してしまったら、
Vista 以降の IFileDialogCustomize を用いたカスタマイズを行う。という形です。

 

 

開発のご参考になりましたら幸いです。