技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

Tips

VOICEROID+でSkypeメッセージ喋らせる(8)

多分Blogで直接どうこうするのはこれが最後な気がする。http://www.white-azalea.net/VoiceroidRunner.zip細々とバグフィックス 置換定義が削除できない問題の修正 2 キャラ同時に走らせると片方が喋らなくなったりする問題の修正 上手くSkypeのメッセージを…

VOICEROID+でSkypeメッセージ喋らせる(6)

需要がどんだけあるか不明だけど取り敢えず晒してみる。http://www.white-azalea.net/VocaloidRunner.zipファイル名がVOICEROIDじゃなくてVocaloidなのはご愛嬌。 SkypeとVoiceroid(結月ゆかりor東北ずん子)が起動している状態で起動し、チェックボックス入…

VOICEROID+でSkypeメッセージ喋らせる(5)

それぞれのVOICEROIDをスレッド化して、相互に干渉なしで喋れるようActor作った。 namespace net.azworks.actor { abstract class ActorBase<T> { public T State { get; set; } public void SendMessage(T message) { this.allMessages.Enqueue(message); lock</t>…

VOICEROID+でSkypeメッセージ喋らせる(4)

さて、今度はSkypeだ。 Skype 自体にCOMインターフェースがあるようだがSkype4COMというライブラリもあるらしい。 勝手知ったるC#で使うなら使っといたほうがそらええわってことでSkype4COMを弄ってみる。 使いにくければCOM叩くよ。メッセージの受信 namesp…

VOICEROID+でSkypeメッセージ喋らせる(3)

無事東北ずん子もしゃべるものを作成。 喋ってる間に次の命令来たらどう対処すんべ、、、、ずん子はUIのステータスチャックで拾えるけど、結月ゆかりはどうしようかな using System; using System.Collections.Generic; using System.Linq; using System.Tex…

VOICEROID+でSkypeメッセージ喋らせる(2)

昨日の続き。SendMessage 先までは問題なくできたのだが、送るメッセージの問題で、273(WM_COMMAND)でコピペしかできなかった件。 キーボードイベントで操作しようとすると、ウィンドウをアクティブ化した上でイベント送信せざるを得ない、、、、とはいえ、…

VOICEROID+でSkypeメッセージ喋らせる(1)

注意:Windows8 以降だと、他のウィンドウへのアタッチはセキュリティモデルの仕様上できない場合があります。うん。棒読みちゃんにこれ入れればいいのは知っているのですが、Clipboardが何かあるたびに上書きされてしまって嫌だったので、自作してみる。 で…

Play でどうでもいいところでハマる箇所

Playframework http://www.playframework.org を使っているのだが、異様なまでにハマる箇所を一つ。 キャッシュが残って悪さする問題。特にテンプレート周りで良く発生する。コンパイル時にどうにも前回キャッシュが削除されず残って、CompileErrorを連発す…

Play2.0 で一部ハマったのでメモ

忘れると色々ヒーヒー言いそうなのでメモ WS.irl("http://localhost/sample/xxxx").withHeader("Content-Type" -> "text/plain").post(byteArray) でバイナリを自身のサービスにファイルを送りつけてもコントローラ側で val sendedBytes = sample.body.asRaw…

Actor と RemoteActor

アクターは基本的にはメッセージの受信に対してどう動くかという、Objective-CやSmalltalk的なオブジェクトの振る舞いをするスレッド。 内部的には、メッセージを「receive」で受け取り、処理をする。処理中に他のメッセージが来れば、そのまま「receive」可…

シェル実行監視プログラムをさくっと書いてみた。

まずは結果を受け取る構造体。(bean にしたきゃすればいい) public class ExecutionResult { public String execDir; public String execTarget; public int resultCode; public ArrayList<String> stdResult; public ArrayList<String> errResult; } シェルの仕様上、戻り値</string></string>…

ProcessBuilder注意点

java の process builder と、シェルの仕様に嵌められたとかそういう話。 ことの発端は、シェルで書いたプログラムをどうテストしようかとか考えた所から。 なんせユニットテストしようっても、結果がXMLで出てこないってから、どうにかjunitに乗っけようと…

Jenkinsいじってみよう

一人だと要らないんだけど、複数人で始めるとどうしても要るよね。てことでメモ。 https://wiki.jenkins-ci.org/display/JA/Jenkins インストール方法はマジ簡単。ServletContainer で動かすか、 java -jar jenkins.jar詳しいのは ここ セットアップ自体はか…

Landslide

社内プレゼンすることになったんだが、どうにもパワポが気に入らない。 デザインや機能がじゃなく、バージョン管理できないことと、他に応用ができないところ。なので、基本 RestructuredText で書いて変換をかける。上司にゃ「何で普通のことを嫌がる(でき…

Jetty で hotdeploy できないか悩んでみた

SBT で何とかできないかなぁと ま、結局 Jetty 自体にほとデプロイが無いので、以下の手順踏めば行けるようだ。 compile copy-resources jetty-reload 面倒っちゃ面倒だ。 最後の手順は、起動パラメータでどうにかなるらしいが、あいにくとSBTでのやり方知ら…

日曜にやったことぺたり

色んなコードを逆コンパイルして、実装眺めてた。 ても、結構色んなパターンやったくせにログが残ってないので、やったことの記憶を辿って一部だけ。 (貼りつけるだけで面倒)まずは object の実装。 package sample object HelloWorld { def tak( x:Int , …

ページをロードする合間に、「now loading」を表示する。

jQuery 使ってると、動的コンテンツ挿入楽でいいね。 // ローディング開始時 $('body').append('<div id="progress">now loading.</div>'); // ローディング完了時 $('#progress').remove();そして、このスタイル定義。 #progress { -webkit-border-radius: 10px; background-color: r…

Chrome のキャッシュを極力ためない

JavaScript デバグしてるときうざい、、、超うざい。 半ばブチ切れモードですハイ。とはいえ、デスクトップのWebkitはこれじゃなきゃSafariだしのー結構困った。 とりあえずショトカに以下の引数突っ込んで様子見です。 –purge-memory-button –disk-cache-si…

XmlSerializer 試してみる。

実行対象のデータクラス(持ち越し)。 namespace UsingXmlSerializer { [Serializable] public class Hardwere { public uint Price; public String Name { get; set; } public String Maker; public override string ToString() { return string.Format( "Na…

SoapFormatter 経由でシリアライズとかしてみる。

前回のコードの BinaryFormatter を SoapFormatter に変更して、System.Runtime.Serialization.Formatters.Soap 参照を突っ込む。そして出来上がったXMLが、

BinaryFormatter 経由で、オブジェクトをシリアライズとデシリアライズ

シリアライズ対象。 [Serializable] public class Game : IDeserializationCallback { public HardwereType[] Hard { get; set; } public String Title { get; set; } public String Genre { get; set; } public uint Price { get; set; } public override s…

WCF で、バッチファイルをリモートで動かしてみた。

何か昔作ったサービスが古いフォルダから出てきた。 リモートで適当な登録済みバッチファイルを動かすだけ。 セキュリティとかガン無視してます。 WCF だから、適当に認証設定するといいよ!インターフェース namespace RunBatService { /// <summary> /// バッチファ</summary>…

jQueryを突っ込んでみる。

Building Android Apps with HTML,CSS, and JavaScript(oreilly). 見ながらやってみた。ヘッダを消してみて。 #header ul.hide { display: none; } ボタン経由で表示できるようにしてみる。 <div class="leftButton" onclick="toggleMenu()">Menu</div> JavaScript をこんな感じで作って。 if(window.innerWidth &&…

ヘッダにボタンを追加してみる。

3月から放置気味のこっち。久々にやる気出した。 ヘッダ上に、ボタンを配置する。よくあるiPhoneの「戻る」ボタンの実装。(戻り先もなにも無いので、とりあえずはMenu) まずはボタンのフォントとか整えてみる。 #header div.leftButton { position: absolute…

他のプロセスで使ってるファイルを読む

WindowsUpdate.log を読み込んで日付時刻、終了コード引っこ抜けという課題があったので、.NET でやって食った。 そのときのコードがこんな感じ。 string windowsSystemDir = Environment.GetFolderPath(Environment.SpecialFolder.Windows); string filePat…

CentOS5.6でRedmineをApache経由にしてみる。

参考は本家公式サイト。 インストール開始する前に下準備。 yum install httpd-devel curl-devel krb5-devel libidn-develそしたら、Passenger をインストール。 gem install passenger passenger-install-apache2-module何か色々設定するよう言われるので、…

CentOS5.6にRedmine突っ込んでみる

Ruby を新しいものに置き換える。 まず、一番のハマりどころは、CentOSのyumパッケージがRuby的に古すぎて使い物にならないところか、、、、。(この記事の時点で1.8.5 redmine ツッコむには、1.8.7 以上欲しい)これだけで、1時間消費しました、、、、。 ま…

CentOS5.6にRedmine突っ込んでみる

まず、一番のハマりどころは、CentOSのyumパッケージがRuby的に古すぎて使い物にならないところか、、、、。(この記事の時点で1.8.5 redmine ツッコむには、1.8.7 以上欲しい) これだけで、1時間消費しました、、、、。 まずは諸悪の権化を消し去ります。 …

正規表現で特定の要素をぶっこぬく。

教材は、、、ウチのサイトのRSSでいいか。http://d.hatena.ne.jp/white-azalea/rssここからタイトルとリンクを正規表現でぶっこぬく。 正規表現の書き方講座する気はないので、要は抽出置換しか考えない。 <title>(?<title>.+)</title>\s+<link>(?<url>http://[\w_\?\-\./]+)</link>URL の認識…

ヘッダの見た目をかっこ良くする。

ヘッダとか色々用意してみた。教科書は、O'Reillyの「Building Android Apps with HTML, CSS, and JavaScript」日本語版はまだ無い。 <html> <head> <meta charset="utf-8" /> <link rel="stylesheet" type="text/css" href="screen.css" /> </link></meta></head></html>