2016年07月05日

Windowsの英文読み上げ機能って

かなり質上がってるんだね。

 Microsoft Speech Platform 11とか。ネットから適当な記事拾ってきて読ませてみたら、リスニングの練習に使えるんじゃないかと思うほどだった。

 作業を自動化すれば、ポッドキャスト感覚で英語圏の情報収集が楽になるよきっと。聞き取れる人なら。

 あらかじめ指定したサイトをチェックして記事のリストを作って、ページをダウンロードしてきて、解析してテキスト部分だけ切り出して、Softalkなんかのソフトにぶん投げる。そんな感じで。

 インストール方法などの情報は、以下のページが充実してる。

無料の音声合成エンジン 「Microsoft Speech Platform 11」::まほろば
posted by chrono at 14:28| Comment(0) | TrackBack(0) | Windows

2016年07月02日

FireGesturesスクリプト: 任意の位置・サイズを指定して新しいウィンドウを開く #javascript #firefox

Firefoxの現在のUI設定を引き継いだウィンドウを開いてくれる。

var win  = OpenBrowserWindow();

win.addEventListener("load", function() {
setTimeout(function() {
win.moveTo( 200, 30 );
win.resizeTo( 1366, 1000 );
}, 0);
}, false);

posted by chrono at 17:02| Comment(0) | TrackBack(0) | JavaScript

【動画】モザイク画像当てクイズ: 生き物編 1

昔あったテレビ番組の「ヒントでピント」みたいなやつ。紙芝居動画を作る練習がてら。静止画と字幕(と効果音)のみで作成。ゆっくりMovieMakerとAviUtlの組み合わせ、Windowsムービーメーカーの100倍使いやすい。

【動画】ブラウザの操作を邪魔しないクール&セクシーなFirefoxテーマ13



テーマ(Personas)によってはフォント色がイマイチなものもありますが、以下に挙げるアドオンでカスタマイズすることで快適に使える。

Personas Expression

2016年04月14日

MSYS2のGTK+関連その他諸々のパッケージがアップデート

 されてる。GTKが3.20になってたりした。

 WebKitGTK+なんかもアップデートされてたが、適用直後はViewをウィンドウに貼り付けて表示するだけならHSPからでも動いたのに、PCを再起動したりした後に再度試したらなぜか動かなくなってた。

 思い当たることと言えば、Windows Updateくらいしかないが、そんなんで動かなくなったりするんだろうか。復元ポイントで戻すとしてもアンチウィルスソフトを一時的に止めなきゃいけないようで、面倒なので諦めた。
posted by chrono at 14:25| Comment(0) | TrackBack(0) | 日記、雑文

2016年04月12日

GTK関連ライブラリ(DLL)用HSPヘッダファイル 更新

 WebKitGTK+用のヘッダファイルを削除。

 パッケージからインストールしたライブラリが、最低限のサンプルコードでもまったく動いてくれなかったので。

 GTK関連ライブラリ(DLL)用HSPヘッダファイル - プログラミング工房 ver.2016.02.10

2016年04月09日

圧縮

 最近週刊プレイボーイで、JTB時刻表編集裏話みたいな記事を読んだ。時刻表と言えば、コンパクトなサイズのページにみっちりと細かく列車運行スケジュールが書き込まれているあれ。時刻表はページ数を制限内に収めるために、毎号苦労して情報の詰め込み方を工夫してスペースを節約しているらしい。

 プログラミングでも例えば、動作環境に制限があるもしくは単にリソースを節約したい性能にこだわりたいなどの理由で、ソースコードやバイナリのサイズ、実行中のメモリ使用量、生成するデータファイルのサイズ、などを圧縮する仕組みや工夫をプログラムに組み込むのはよくある話だし、圧縮の仕組みそのものがメインの機能だったりすることさえある。
posted by chrono at 19:28| Comment(0) | TrackBack(0) | 日記、雑文

2016年02月07日

Meryのアウトライン機能で複数の項目を(ツリー構造ではなく)並列に表示する

mery_outline.gif テキストエディタのMeryといえば、多くの言語のソースコード色分けなど、プログラマーにとってうれしい機能が充実した非常に便利なツールですが、その機能の一つが、デフォルトのプラグインとして用意されているアウトラインです。

 アウトラインは、編集中のソースコードの全体的な構成をいわば要約として、俯瞰しやすいツリー形式で別ペインに表示し、ツリー内の項目をクリックすると該当の行にジャンプすることができる機能です。

 デフォルトでは、ある程度ソースコードのインデントの状態を基準に項目の作成・表示を行っているようですが、どのような行をツリーの項目として拾うかを、ユーザ指定のテキストあるいは正規表現で定義することもできます。

 ただ、このユーザ定義で指定する場合に、個々の条件を一つずつ入力していくと、上にあるものが下のものの「親」になるようにツリーが構成されてしまうため(アウトライン機能なので仕方ないですが)、ソースコードや言語の文法の意味を反映したツリー構造になってくれないこともあります。また、アウトラインのペインを開いた直後はツリーが閉じた状態になっていることが、私にとってはちょっと不便だったりします。

 この不満は、私の機能の使い方が下手なことが原因である可能性もありますし、ソースコードの意味をちゃんと読み取ってくれというのも無理な話です(アウトラインルールをユーザ定義している場合は特に)。

mery_outline_setting.png 今日はこれの解決(回避)方法を一つ思いついたので書いておきます。それは、すべての項目定義を一つにまとめて書いてしまうというやり方です。正規表現には「複数のマッチング条件の中でどれかがヒットすればOK」という書式があるのでそれを使うのです。

 具体的には、例えばHSPの場合であれば、以下のような正規表現を一番目の定義として入力してそれで終わりです。

^\s*(\*|#mod|#deffunc|#defcfunc|;|//|/\*)


mery_outline_2.png この設定でアウトラインを実行すると、ラベル・モジュールの先頭・ユーザ定義命令/関数の先頭・コメント、である行が列挙されます。アウトラインルールを一つしか設定していないので、アウトライン項目同士の親子関係は発生せず、表示もツリー形式にはならずにすべての項目がいわば展開された状態で羅列されます。

 すべての項目がびろーんと表示されるという動作は、一見うざいように思えますが、アウトラインはそもそもファイル全体を俯瞰するための要約なので、うざいと感じる時は、一つのファイルにソースを詰め込みすぎているか、もしくは表示項目を欲張りすぎているかのどちらかだと思います。

 表示がツリー形式でないので、項目同士の関係や意味を反映するもくそもなくなってしまいますが、少なくとも自分がソースコードを編集する時には、項目の字面を見れば一目瞭然なので問題は感じませんね。

2015年12月23日

MSYS2環境でVala言語でプログラミング

 この作業を行った後、MSYS2環境でValaコードをコンパイルできるようにしたくて、mingw32用のtoolchainとvalaをインストールしてvalacを動かしたが、プログラムが足りないぽいエラーが出て失敗。

 -vオプションをつけて、再度valacを実行すると、存在しないccコマンドを起動しようとしてコケてる模様。そこで、--cc=gccオプションを追加して再度実行。無事、最低限のValaソースから実行ファイルをビルド成功。これでValaでもGTK+プログラミングして遊べそうだ。

 ちなみに、和書でも洋書でも刊行数が少ないGTK+プログラミング本。唯一(?)GTK+3対応のタイトルがこれ(↓)。なぜかサンプルコードの対応言語がValaとJavaScriptという変わった一冊。


GNOME 3 Application Development Beginner's Guide

 最近Valaプログラミング入門的な動画をチラッと見てみたら、その中でしゃべってる人がValaをヴァラと発音していた。てっきりヴェイラだと思ってた。ヴェイラの方がかっこ良くない?
posted by chrono at 16:05| Comment(0) | TrackBack(0) | プログラミング全般

2015年12月20日

GTK+のWindows向けバイナリがアップデート

 久しぶりにGTK+プロジェクトのページを見に行ったら、Windows向けバイナリがアップデートされていた。これを書いている時点でのバージョンは3.18.3。MSYS2環境のパッケージとしてインストールする形になった。

 インストール方法は以下の通り。

●MSYS2のインストール

 http://msys2.github.io/のページからインストーラをダウンロードして実行。インストーラは、32bit Windowsの場合、msys2-i686-*.exeを選ぶ。

●MSYS2のアップデート

 インストール終わりにそのままMSYS2を起動し、まず以下のコマンドラインを実行。

pacman --needed -Sy bash pacman pacman-mirrors msys2-runtime


 MSYS2を再起動してから、以下のコマンドラインを実行。

pacman -Su


●GTK+関連パッケージのインストール

 上記手順で既に使ったpacmanという名前のパッケージ管理ツールでインストールする。

 32bit環境であれば、MSYS2上で以下のコマンドラインを実行。

pacman -S mingw-w64-i686-gtk3


 このパッケージに必要なパッケージやAPIドキュメントも自動でインストールされる。インストールされる場所は、例えば、バイナリ(DLL)が"C:\msys32\mingw32\bin"、ドキュメントが"C:\msys32\mingw32\share\gtk-doc"、などとなる。

 同時にはインストールされないgtksourceview3なども、名前だけ書き換えて同じコマンドラインでインストールする。パッケージの検索については以下を参照。

●パッケージの検索

 パッケージを検索したい場合は、

pacman -Ss (パッケージ名の一部)


などとする。ちなみにhttp://sourceforge.net/p/msys2/wiki/Packages/のページで、過去の時点のパッケージ一覧と、一覧の取得方法を見ることができる。

●環境変数の設定(Windows 7)

 HSPから使いたい場合など、必要に応じて、バイナリがあるフォルダ(例えば、"C:\msys32\mingw32\bin")にパスを通す。

 「システムのプロパティ」コントロールパネルの「詳細設定」タブを開き、「ユーザー」または「システム」どちらかのpath環境変数にバイナリがあるフォルダのパスを追加する。パスとパスの間には必ずセミコロンを入れるように注意する。

 普通にC言語から使う場合は、これ以外の作業が必要かもしれません。

 HSPから使う場合については、インストール関連など一部の情報が未更新ですが、HSPからGTK+を使うためのチュートリアルのページも参考にしてみてください。
posted by chrono at 13:56| Comment(0) | TrackBack(0) | プログラミング全般