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

2015年10月

2015年10月28日 (水)

サーバ側でスケーリングしてもらうのがよい?

Nexus 7 でフルスクリーン化して動かしてみましたが、デスクトップの更新が非常に遅れます。前回試した時は遅延していたイメージがないので、確認のためフルスクリーンを解除して再度試してみました。

やはり、フルスクリーンにしなければほとんど遅延しません。

フルスクリーン機能で行っていることは送られてきたjpeg画像をスケーリングしてから描画するという違いだけです。ということは、スケーリングするために遅延するということになりますね。

WindowsやUbuntuのようなデスクトップPCならクライアント側(Qt Brynhildr)でスケーリングすることはそんなに大変ではありませんが、タブレットやスマフォのようなデバイスだと一秒間に10枚程度のjpeg画像をスケーリングしながら描画するのはちょっと大変みたいです。別スレッドでサウンドも再生してますし。

そういえば、少し前にKeroRemoteについてIchiGekiさんにお尋ねしたことがありました。

確か…iOSデバイス側でスケーリングして描画するのは大変なので、サーバ側でスケーリングして、必要な領域の画像データだけ転送するようにしている、という感じだったと思います。

サーバー側でスケーリングを行ってもらうように変更する仕組みはすでに入れてあるので、非力なデバイスの場合はこちらを標準にするようにしたほうが良さそうですね。そうすれば、タブレット側ではスケーリング処理をせずに最小限の領域の描画だけで済みます、たぶん。

(追記)

フルスクリーンでなく等倍で表示させてもやはり遅れますね…どちらでスケーリング処理を行うかという問題でもなさそうです。Nexus 7でのjpeg描画処理自体が間に合っていないのでしょうね…さて、どうしたものか。

2015年10月26日 (月)

Ver.1.2.0-RC7 リリース

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

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

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


タブレットをサポートするために必要なフルスクリーン化のためのベース機能の実装とWindows10での不具合修正を行いました。

(今の所スクリーンサイズの幅、高さの比を保った拡大・縮小のみのサポートですが)


使い勝手向上のためにまだ以下が必要そうです。

(1) タブレットでソフトウェア・キーボード/ボタンをもう少し使い易く…

(2) タブレットでのピンチ・イン/アウトによる拡大、縮小への対応

-----------------------------------------------------------------------------------
Ver.1.2.0-rc7
-----------------------------------------------------------------------------------
[新規機能]
・フルスクリーン化機能を調整して有効化
メニュー項目を追加

[不具合修正]
・ステータスバーを非表示にした時に必ずスクロールバーが表示される不具合(Windows10のみ)
(環境依存のサイズ補正値がWindows10に対応していなかった...)

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
6ceb3de6e7dfe5f362c39186873d8dff9f666d69d39584f1e04b4292217bc331 *qtbrynhildr-ubuntu_x64-v120-rc7.run

503db94b791129dddb9d68d4f4c8e02d02ab23d6c86c2e507febac666091d6a6 *qtbrynhildr-ubuntu_x86-v120-rc7.run

d81693de030d6b93c02be1da3b88a47ca2bb33bf0c32969727d6deea5febac7b *qtbrynhildr-windows-v120-rc7.exe

2015年10月22日 (木)

Ver.1.2.0-RC6 リリース

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

以下からダウンロードできます。

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

いくつかの不具合を修正しました。

Xcodeを7.1にアップデートしました。(MacOSX版)

FreeBSD 10.2 (i386) もビルド可能なはずですがまだ環境がないのでビルドしていません。
#数が増えるとリリース作業が大変…

-----------------------------------------------------------------------------------
Ver.1.2.0-rc6
-----------------------------------------------------------------------------------
[その他変更]
・サーバのホストタイプに"Windows 10"を追加
・-serverオプションにホストタイプ指定を追加

[不具合修正]
・メニューバーにキーボード・ニーモニックが表示されない不具合修正(Windows版)
・サーバに接続していない状態でソフトウェア・キーボード/ボタンを表示しようとすると
クラッシュする不具合修正(Ver.1.2.0 RC5のみ)

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
2791b12657e150ea0697cad355160767fb3eb11d66ba1e4acc25370d16b78661 *qtbrynhildr-freebsd_x64-v120-rc6.tar.xz

a9228616e621d8d146473e7079d019d3b110738208bd01888d259f0fb5fe188c *qtbrynhildr-macosx_x64-v120-rc6.dmg

497d2201f770634b192c0462e8f9bf01f1a52b9307d663bda46c1f4923c2d464 *qtbrynhildr-ubuntu_x64-v120-rc6.run

06ca59d83318b562b43ef2b13ba418bc1a21793a2b123707d1b560fb36f96dce *qtbrynhildr-ubuntu_x86-v120-rc6.run

877a77454162bc70c60a2bedd6063fa076cf67c723c234bc436c25518a5f1c7f *qtbrynhildr-windows-v120-rc6.exe

やっぱり、しばらくQt 5.4.2で

Qt5.4.2だと複数アプリケーションの同時サウンド再生は問題ないのですが、Qt5.5.1だとうまくいきません。

Qt5.4.xで気になっていたのはWindowsでのキーボード・ニーモニック表示の振る舞いの違いだけなので、staticリンク用につくるQt5.4.2にパッチだけあててしばらく様子をみることにしました。

Macサポート用に実装されたコードのために一時的に不具合となったそうです。

https://codereview.qt-project.org/#/c/109253/

一部の処理を #ifdef Q_OS_MAC ~ #endif でMac以外の時に無効化すればよいようです。

ノートPCが現在全力でビルド中です…3時間程かかります…


(追記)

ビルドが終わりました。 キーボード・ニーモニックが表示されました。

Menu


2015年10月20日 (火)

不具合のお知らせ

Ver.1.20-RC5 の不具合についてです。

起動してからサーバに接続する前に、「表示」メニューから「ソフトウェア・キーボード」もしくは「ソフトウェア・ボタン」を選択すると、もれなくお亡くなりになります(;ω;)

サーバに接続した時のみメニュー項目を有効にする処理を入れ忘れていて、いつでも選択可能状態でした…酷い不具合ですよね。

あと不具合ではないのですが、「サーバに接続」ダイアログで選択可能なホストタイプに「Windows10」が入っていません。今のところ「Windows XP」以外を選択すれば動作上問題はありませんが、次の版で「Windows10」を追加しますので、それまでは「Windows 7」でも選択しておいてください。

修正はすでに終わっているのですが、RC6をすぐ出したほうがよいのでしょうかね…

あと個人的にはコマンドライン・オプションでホストタイプも指定したいなぁと思っていたりします。

Ws000001


2015年10月19日 (月)

Qt5.5.1がリリースされました…

Qt 5.5.1 が15日にリリースされてました。

http://blog.qt.io/blog/2015/10/15/qt-5-5-1-released/

(追記)

Ubuntu 14.04 で試してみたら、以前発生していたサウンド再生に関する不具合は直っているようです。これで5.5に移行できるかもしれません。

(追記2)

と思いましたが、いろいろ試すと条件に寄ってはサウンドデバイスのオープンに失敗してサウンド再生が同時にできない場合がありますね…

私のUbuntu環境のALSAのミキシング設定の問題のような気がしてきました… (;ω;)

2015年10月16日 (金)

Ver.1.2.0-RC5 リリース

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

以下からダウンロードできます。

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

(1) いくつかの仕様変更

(2) 動作テスト用にFreeBSD(10.2:x64)版を試作

-----------------------------------------------------------------------------------
Ver.1.2.0-rc5
-----------------------------------------------------------------------------------
[その他変更]
・テンポラリファイルの作成場所を変更
・ログファイルの作成先をテンポラリディレクトリ下に変更
UNIX系環境では環境変数TMPDIR下 or /tmp下, Windows環境では%TEMP% or %TMP%下
・マニュアル修正 (FAQ追加)

[不具合修正]
・アイコンイメージを透過PNGに修正(MacOSX版)
・ステータスバーの文字列(接続状態およびフレームレート)表示不具合

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
a73c56af97d1d978ef49d8240c7118e615d6f98f49e0f40cb9a16f162dd7b51a *qtbrynhildr-freebsd_x64-v120-rc5.tar.xz

627c5d337f7d5e3ebf40cb28fd232dd8ecc42ac58994d67f49a77718d1c24a5c *qtbrynhildr-macosx_x64-v120-rc5.dmg

5812a1af3b02833b4b674fa9f079d5343a3c9087d96301f687d2727ece509af8 *qtbrynhildr-ubuntu_x64-v120-rc5.run

018e1fcbd30b57e173773516123297698356d89ca690287ea0123658d0d0e0ac *qtbrynhildr-ubuntu_x86-v120-rc5.run

86ae3a45080f99bc606c6edbaa840ecb23021a43b4f039afdb7de14e76bde30a *qtbrynhildr-windows-v120-rc5.exe

Qt Brynhildr on FreeBSD

やっぱり気分転換で、FreeBSD 10.2 でビルドしてみました。(気分転換ばかりしているような…)

パッケージとして配布されているのはQt5.4.1のようです。Qt5.4.2を自分でビルドすればいいのかもしれませんが、動作確認程度なので5.4.1で試してみることにしました。

VMware に FreeBSD 10.2 をインストールするところから始めました(◎´∀`)ノ

FreeBSDをちゃんと触るのは久しぶりなので、いろいろと変わっているようですね。

とりあえずX11が起動するところまで設定して、ソースコードをftpで転送後、ビルド用setupスクリプトを3箇所ほど修正しました。

clangによるmakeは順調に進みましたが、最後のリンクでエラーとなります。

「libQt5Widgets が見つからないよ」

とのことですが、原因を探るのは後にしてとりあえずMakefileのLFLAGSに"-L/usr/local/lib"を追記して解決しておきました。

Freebsd_64_20151016130437

環境変数LANGとX11の日本語フォント周りをまだ整備していないので、英語表記になってます。あとサウンド関係の整備もまだなので、「サウンドデバイスを確認しろ」とQt Brynhildrがメッセージを出力します。まぁ、基本的には大丈夫そうですが…

# twm、懐かしいですねぇ。

2015年10月15日 (木)

タブレット、スマホのデスクトップ画面サイズ制御

今更ですが、タブレットやスマホについて通常のデスクトップPCと同じように表示ウィンドウそのもののサイズを変えるというのは少し使いづらいということに気づきました。

タブレットやスマホの場合常にウィンドウはフルスクリーン状態であり、画面サイズ自体がデスクトップPCよりも小さいので、表示サイズはフルスクリーンサイズに固定してピンチイン、アウトで拡大縮小という方が自然のような気がします。

現状のQt Brynhildrだとデスクトップ版と同じ動作なので通常のタブレット、スマホアプリと比べて不自然ですね…

2015年10月12日 (月)

Apple Developer Programに登録しなければ・ならない

iOS版も試したいのですが、私の持っているiPhoneで試すには、アップルさまに会費を払わなくてはならないそうです。

「Apple Developer Programに参加するには年会費8,400円が必要」と私の持っている本には書いてあったのですが、現在は11,800円に値上げされてました(;ω;)

まずは、Xcodeに入っているiOSシミュレータで試してみます…

2015年10月11日 (日)

Nexus 7 で使ってみました

Nexus 7 で動作させて問題点を確認しました。

1, メニューバーを非表示としたのでソフトウェア・キーボード/ボタンを表示/非表示する手段がなくなった(o^-^o)

「表示」メニューに暫定で追加して様子をみる。

2, ステータスバーが2つ表示されるのは、リサイズ時のウィンドウのアップデートが正常に出来ていないためらしい

明示的にリフレッシュする仕組みを入れる。

3, リサイズ時に不要なスクロールバーが表示されることがある

ウィンドウサイズ調整のためのパラメータを修正する。

4, 画面サイズに比べてダイアログ及びソフトウェア・キーボード/ボタンのサイズが小さすぎる

調整する。

5, 画面サイズにジャストフィットする機能が必要

フルスクリーン化と合わせて検討する。

6, 画面サイズが小さいので画質は最低をデフォルトとしても問題なさそう

タブレット、スマフォの時だけ?

(追記)

作者のGUIデザイン力に難があるような気がします(o^-^o)

QDockWidgetだとデスクトップ画像サイズに依存してしまうので、再検討が必要かもしれません。

Screenshot_20151012191954


2015年10月 9日 (金)

なんとなく Nexus 7 で動きましたが…

実機で動かすために Nexus 7側の設定まで行ってましたので、今度はPC側の設定をしてみました。

まず付属のUSBケーブルを使って、PCに繋ぎます。PCはWindows 10 に先日アップデートしました。

AVDでの実行環境を構築済みのQt Creatorを起動して普通に実行してみます。

実行先を選択する設定ダイアログが出たのですが、AVDしか選択欄に出ません。

最初に疑う所はWindowsがNexus 7を認識しているかですね。デバイスマネージャを開いてみるとやはり不明なデバイスのところにNexus 7と出ています。android SDKにwindows向けのデバイスファイルが入っているので、これをインストールしました。 [Android Composite ADB Interface]というのが表示されたら O.K. でしょうか。

再度Qt Creatorで実行してみます。

実行選択先に実機のNexus 7が表示されました。実機の方のNexus 7を選択してしばらくするとAVDでみたことのある画面が表示されました。

現状端末の回転に従って、ぐるぐる回ってしまうので横にしてから Windows 7 サーバに接続してみました。

Screenshot_20151009163655

Nexus 7の方がFullHDで画面が広いので、同サイズだとこんな感じになりますね。なぜか「接続中」のステータスが2箇所に出てます(*^-^)

あと、Nexus 7では現在のサイズ固定の「サーバに接続」ダイアログが小さすぎて見難いし、操作もしづらいです。

Screenshot_20151009163716

調整すべき所がたくさんあって、前途多難な予感がします…

まずは、右上の"…"があればいいのでメニューバーはタブレットでは非表示にして良さそうですね、
同様に恐らくQt側のステータスバーも非表示にして良さそうですので、Androidの時は表示フラグを落とすことにしましょう。(もしかして2つとも非表示になってしまう?)

両方共非表示にしました。

Screenshot_20151009180953


スッキリしました。で、接続すると、

Screenshot_20151009181014


ステータスバーが出ませんね。メニューからステータスバーを表示させると、

Screenshot_20151009181025


1つだけ出ました。ということは、ステータスバーは本来は1つだけ表示されるものなので、表示させる設定で問題ないということですね。ステータスバーのリフレッシュがうまくいってないということかもしれません。

Screenshot_20151009182412

(追記)

Android版をビルドする場合に「constexpr をつけなさい」というエラーが出ます。

素直に従って constexpr を付けるとWindowsの環境では

「constexpr はC++11でサポートされたものだから-std=c++11をつけろよ」

と言われ、こちらも素直につけると今度はQt用ヘッダー周りでエラーになります。

面倒そうなのでとりあえずconstexprを記述しておいてC++11をサポートしていないコンパイラの時は constexpr を無効にするようにしました。あまりよろしくはないかもしれませんが。

#if __cplusplus < 201103L
#define constexpr /* */
#endif

2015年10月 7日 (水)

ログファイルの作成場所

Mac Book Airを El Capitan にアップデートしました。Ver.1.2.0-rc4を/Applications にインストールして起動したら

「ログファイルのオープンに失敗しました!」

と表示されます。システムディレクトリなので書き込み権がありませんよね…
(注) ログファイルは作成されませんが起動はできます。

実行ファイルと同じ場所に作るのは仕様としてあまりよくなさそうです。というわけで、テンポラリな場所に作るように変更しました。

QDir::tempPath() で標準のテンポラリパスが取得できるので、その下にqtbrynhildr.logを作るようにしました。
具体的には、UNIX系環境だと環境変数TMPDIR下、それが未定義なら"/tmp"の下、Windows環境だと環境変数TEMPもしくはTMPの下だそうです。

上記は初期設定としておいて、後で任意に変えられるようにした方がよいですね、多分。
システム再起動の度にログが消えると困ることもありそうです。

2015年10月 6日 (火)

Ver.1.2.0-RC4 リリース

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

以下からダウンロードできます。

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

主な修正は

「サービスに登録したサーバに接続している時のユーザアクセス制御(UAC)による通信断への対応」

です。

これまでは通信が途切れるとメッセージを出力して切断したままでした。上記の対応で何回かリトライしてだめなら、メッセージを出力して未接続の状態になります。この結果サービスに登録された状態でUACが働いた場合に切断されますが、リトライすることで再接続し、操作を継続できます。また、ログオフした時も同様です。

(これまでの版でも手動で繋ぎ直せば繋がりますが、2回以上再接続する必要があると思われます)

-----------------------------------------------------------------------------------
Ver.1.2.0-rc4
-----------------------------------------------------------------------------------
[その他変更]
・アプリケーションアイコンを設定(MacOSX版)
・一部表示を多言語化(日本語化)

[不具合修正]
・UACの制御が入った時に起こる通信切断に対応していなかった不具合修正
・変数の未初期化により起動時に内部エラーとなる場合がある不具合修正(Ver.1.2.0 RC2/3のみ)

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
8cfc27f2af9ef2e3a729dc08b9d17250e3e5dd5f921ee1283ad7f0d6bfe26a50 *qtbrynhildr-macosx_x64-v120-rc4.dmg

13e50bc75f09a73eeba49de4381d9b954d6392abc9019da73380f035a9565afe *qtbrynhildr-ubuntu_x64-v120-rc4.run

aa4fccc7ccb5379a9aa93347ee63ad0b4ca6bdb5cfa31c208dfdf58ec7e748ff *qtbrynhildr-ubuntu_x86-v120-rc4.run

b50bbe938b6edc31fcd7e55ab3090e62aac66e2b1407decc794337643249720f *qtbrynhildr-windows-v120-rc4.exe

2015年10月 5日 (月)

Mac版のアイコンを設定する

Mac版(RC3)を立ち上げるとDockにアイコンが現れるのですが、なんかよく分からないアイコンです。
アイコンを設定していないので当然なのですが、やっぱりカッコ悪いので設定しました。

qmakeを使う場合は、qtbrynhildr.proに以下を追加すればよいそうです。

# for MacOSX
macx {
ICON = images/qtbrynhildr.icns
}

qtbrynhildr.icns はどのように用意すればいいのでしょう。

検索すると以下のページが見つかりました。

http://icondrop.net/tips/howto_create_mac_icon

要約すると、ディレクトリの下に必要なサイズの画像ファイルを指定のファイル名で集めて、端末でコマンド(iconutil)を実行すると出来上がるようです。

とりあえず48x48の画像ファイルを.pngに変換して、強引に32x32サイズのファイルと偽って置いて作ってみました。用意されていない無いサイズが必要な場合は勝手に拡大/縮小するらしいので。

20151005_162431

ん、透過してほしいところが透過になってませんねぇ。.pngファイルをちょっと修正する必要がありますが、とりあえずはこれでよしとしておきます。

2015年10月 4日 (日)

SSDが新しくなりました

思ったよりも早く新しいSSDが届きました。
故障したSSDはすでに生産終了モデルだったので現行モデルが送られてきましたヽ(´▽`)/
保証期間は90日もしくは故障したSSDの保証期間の長い方とのことでした。

クラッシュ直前に取ってあったディスクイメージを復旧して動作確認後、ここ一週間分のアプリケーションのアップデートを行いました。

これを機にそろそろWindows10へ移行してみてもいいのかもしれませんねぇ。
Macも10/1にリリースされたEl Capitanに移行したい…

パブリックモード以外のモードに対応するためにBrynhildrのソースコードの購入とかも考えるんですが、ソースコードの開示はできないのでQt Brynhildrとは別物にしないといけないのですよねぇ、その前に資金の問題とかありますけど(^-^;

VP8/9とか少し眺めています。

なんか取り留めのないつぶやきになりました…

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