« 2015年11月 | トップページ | 2016年1月 »

2015年12月

2015年12月30日 (水)

ブリュンヒルデ零式改弐 が公開されました

Windows版クライアントのPDS版の第2版(?) ブリュンヒルデ零式改弐 がリリースされました。

上記の記事からダウンロードできるクライアントのサンプルソースコードでゲームパッド操作のための情報が公開されましたので、次版(まずはWindows版のみ)で対応できるかと思います。

Windows以外のプラットフォームはおいおい対応ということで。

以前書いた記事のマウスカーソルの表示指定も追加公開されています。

(追記)

ヘッダーのencryptionメンバの型がlongからcharに修正されています。他のメンバオフセットがズレないように3バイトのパディングが新たに入っています。リトルエンディアンだったので得られるバイト列としては同じだったんですね…

2015年12月29日 (火)

非パブリックモード対応クライアントの実現について考える

現状Qt Brynhildrがサポートしているのはパブリックモードのみです。

具体的には、デスクトップはJPEG画像ファイルを受信して順次表示することで再現し、サウンドは生のPCMデータを受信して再生することで再現しています。 現行のパブリックモードではファイルの送受信、クリップボード共有はサポートされていませんが、将来的にはサポートされる可能性があるそうなので機能的には非公開モードと同等のレベルにはなるのかもしれません。

しかし、デスクトップおよびサウンドのデータ転送方式の優位性は非公開モードには及ばないと思われます。

Brynhildr2では従来のBrynhildrとSiegfriedが統合され、非公開のモードが充実するようですね。開発者としては完全な互換クライアントというものに興味はありますし、販売されているソースコードを購入することも可能なのですが、Qt Brynhildrをオープンソースソフトウェア(OSS)として公開している以上そこに非公開な情報を実装する訳にはいきませんので…

ソースコード非公開の別物にすればいいのでしょうかね…ダメだ…それではQtが無料では使えないですね…

2015年12月17日 (木)

マウスカーソルを追いかけるマウスカーソル

現在のパブリックモードではサーバ上のマウスカーソルを表示した状態のデスクトップ画像(jpeg)が送られてきます。

パブリックモード以外の非公開モードではマウスカーソルを非表示状態として画像転送していて、クライアント側で表示されているマウスカーソルはクライアント側で表示しているものです。ですので、Qt Brynhildrではクライアント側のクロスカーソルの後をサーバのアローカーソルが追いかけていきます(*^-^)

パブリックモード自体はもともとiOS向けに実装したそうで、タッチパネルの場合マウスカーソルの動きは連続的なものではなく、いわば瞬間移動なのでサーバ側でマウスカーソルを常に表示するような仕様になったそうです。

しかしながら、通常のデスクトップPCで使う場合、常に表示する仕様だと表題のようなことになります。

ということで、Brynhildrがメジャーバージョンアップしようとしているいいタイミングなのでパブリックモードでもサーバ側のマウスカーソル表示/非表示を切り替えられるようにIchiGekiさんにお願いしました。

すでにBrynhildr2-RC4での動作確認は終わっていますが、Brynhildr2のリリースのタイミングに合わせようと思います。操作感は非公開モードに近くなりますが、マウスカーソルがやや遅れて移動していることは変わりないので…強制的に表示するフラグも残さないといけないかなとは思っています。

ただし、サーバ側のBrynhildrが1.1.5以前の場合は従来の「マウスカーソルを追いかけるマウスカーソル」仕様のままとなります。

2015年12月10日 (木)

パブリックモード互換サーバの実現について考える

現在のQt Brynhildrはクライアントモードしか持ちません。

で、なんとなくパブリックモード互換のサーバ機能を実装できるかなと考えました。
おおまかに言って必要なのは以下の3つかなと思います。

1、デスクトップのスクリーンキャプチャ機能

Qt5の機能でデスクトップの画面キャプチャを行い、jpegで圧縮したファイルイメージデータを用意し、これをクライアントに転送する。

2、サウンドのレコーディング機能

Qt5のレコーディング機能で生のPCMデータを取得し、これをクライアントに転送する。

3、入力デバイスの制御

送られてきた情報に基づいてキーボード、マウス他の入力デバイスの制御を行う。


これらが実現できれば、互換サーバを実現できそうです。 Qt5で互換サーバを実現できれば、Windows以外もサーバとすることが可能になります、つまり色んな組み合わせで相互にサーバ/クライアントが構成できそうです。

(追記)

QGuiApplication::primaryScreen()で取得したQScreenオブジェクトからgrabWindows()でスクリーンショットであるpixmapデータが取得できるようです。これをjpegファイルイメージにメモリ上で変換してクライアントに送ればよさそうですが、充分な変換スピードが出るか試してみないとわからないですね。

サウンドキャプチャの方はQAudioRecorderを使えばなんとかなりそうですが、サンプルがあるみたいなので読んでみないといけません。

入力デバイスのコントロールはOS依存な実装になりそうな予感がします。

Ver.1.2.0 リリース

以下からダウンロードできます。(Windows/Linux/Mac/FreeBSD版)

https://github.com/funfun-dc5/qtbrynhildr/releases

Android/iOSへの対応を実装して1.2.0としようと思っていたのですが、結構な修正量となったのとタブレット用の調整がもう少しかかりそうなので、RC10を1.2.0としてリリースします。

(*1) Mac版は昨日公開されたXcode-7.2でビルドしました。サイズがやや大きくなっています。

(*2) FreeBSD-10.2版はビルドしたものを試用版として固めたものです。

(*3) Cygwin版は必要な方があれば作りますけど…いないか。

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
c0ea94b3f2077c75bf455b69228e79a9dea854dd6ef5d8c5039a74f3442e2c16 *qtbrynhildr-documents-20151210.zip

b7b14eab4dc76fbf9536510953150d72326f133d5b69378ed8de46185221e628 *qtbrynhildr-freebsd_x64-v120.tar.xz

23e30518eb13a3038e48eecebb54d336165557df74ed3e3cba25658f80afe144 *qtbrynhildr-linux_x64-v120.run

07b9f54eb0634e4e4d3d5a3aa71f85b7b0e28b73e4c51ee77304f618369eff44 *qtbrynhildr-linux_x86-v120.run

5dd3599ecec002fe970c3f1a2396ea8b0368befcbf3c180d14de0cfc43e9cf29 *qtbrynhildr-macosx_x64-v120.dmg

fa4ecad424c28835bc8d117c1d174bca082f303b2c1c30e35e777cdbead2fea5 *qtbrynhildr-windows-v120.exe

2015年12月 9日 (水)

Ver.1.2.0-RC10 リリース

Ver.1.2.0-RC10 をリリースします。

以下からダウンロードできます。(Windows/Linux/Mac版)

https://github.com/funfun-dc5/qtbrynhildr/releases

見た目にはBrynhildr 2.0.0-RC3で追加された「PrintScreen キー及びAlt キー + PrintScreen キー」の送信機能追加くらいですが…

Androidで動いてはいますがテスト用の実機であるNexus7の調子が悪くなったので初期化し直してやっとまともにテストできるようになりました。

-----------------------------------------------------------------------------------
Ver.1.2.0-rc10
-----------------------------------------------------------------------------------
[新規機能]
・PrintScreen キー/Alt キー + PrintScreen キーを「キーを送る」に追加
・ステータスバーへのフレームレート(FPSおよびデータレート)表示機能を追加

[その他変更]
・サーバタイプの初期値を"Windows 7"から"Windows 10"に変更
・Cygwin/iOSサポート用小変更

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
996890123890ad97a61763294a17ecd5521c6cb81350c23144e8ba9c0faf14fd *qtbrynhildr-document-20151208.zip

026c8614e908041515b9ca7ad8f9500a761a2d457d9230ff27ded8ab9ebe227c *qtbrynhildr-linux_x64-v120-rc10.run

bd1dd95dd3cb823cc974cde11a11b7c4e25345907cbf3a8c7d255cf5e26e6d19 *qtbrynhildr-linux_x86-v120-rc10.run

75a579ea6d16bdd52f84e61c81ae96bd009553048129316d82e112288eafb45b *qtbrynhildr-macosx_x64-v120-rc10.dmg

b0b61568ab1c8a37a0c55bbe7175321281347c4794c4f572d7bc3ebfb0200998 *qtbrynhildr-windows-v120-rc10.exe

« 2015年11月 | トップページ | 2016年1月 »

無料ブログはココログ
2017年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30