★阿修羅♪ > 番外地7 > 112.html
 ★阿修羅♪  
▲コメTop ▼コメBtm 次へ 前へ
奇跡の再開発、リアルタイム衛星画像でデスクに癒やしを ・日本の空・世界の空♪スクリーンセーバー誕生秘話(開発中)
http://www.asyura2.com/17/ban7/msg/112.html
投稿者 上野みのる 日時 2017 年 3 月 19 日 10:55:29: LmDrl1x45Vdgw j@OW7ILdgsyC6Q
 

(回答先: 日本の空ライブスクリーンセーバー旧版の感想一覧。2005年〜 投稿者 上野みのる 日時 2017 年 3 月 08 日 14:55:08)

2016年1月スクリーンセーバーの動きが完全に、止まった。
画像サーバーが、解約されていた。

2015年頃からすでに動かなくなっていたが、2015年末に一時的に再開していたのだ。それが完全に止まった。

気象衛星ひまわりも高解像度化し毎時間安定して画像が取得できる時代、それを簡単に閲覧する方法が、失われた。

このスレはPCにリアルタイムの衛星画像を表示することに尽くしたエンジニアの記録である。



2003年6月。会社に行くが毎日何のやることも、ない。
設計が大幅に遅れ製造の仕事が、ない。
契約上会社に行き机に座る。10時のお茶、12時の昼食、15時のお茶、それ以外に何の仕事も、ない。
言い方を変えればPCの前に座っているだけでお金がもらえる。
しかし毎日何もしないのは堕落しそうで恐ろしく、苦痛だった。

ネットにつながったPCであちこちのサイトをながめていたが、気象衛星ひまわりが毎時配信する画像を見て今後の天気を予想するのが唯一の楽しみだった。

そのとき、ひらめいた。

毎時の衛星画像を連続して表示したらものすごく綺麗なんじゃないかな。

そういうソフトウエアを探してみたが、どこにもない。
ないなら自分で作ろう。

★日本の空・世界の空♪ライブスクリーンセーバーの誕生が決まった瞬間だった。

会社ではPCの前に座ってさえいれば全く問題無いので、会社ではひたすらスクリーンセーバーの設計作業に没頭した。アイディアを書き留め、スクリーンセーバーの作り方をWEBで探した。帰宅後に製造した。

会社では、同僚数名がひましてるのにひたすらPCに向かって何かをしている上野に疑惑の目が集まった。上野は気にしなかった。自分のソフトウエア開発の向上のためなら努力を惜しまなかった。なにより連続衛星画像が見たかった。

その後会社での仕事が忙しくなってきたが、自宅での製造は続いた。

2003年末に完成した。ベクターにフリーソフトとして掲載した。

各種のフリーソフト紹介雑誌に掲載され、自宅には掲載雑誌のサンプル本が積み上がった。

次々に増える別種類の衛星画像にも対応した。
世界各地の衛星画像も表示した。
大人気になった。

類似ソフトは出る事がなく、衛星画像のスクリーンセーバー部門を制覇した。

上野はいつしか毎時表示される衛星画像に飽きていた。
10年以上も運用していたからか興味が全く無くなっていた。
自分契約のサーバーに画像を集めてそれをスクリーンセーバーがダウンロードしていることも忘れていた。
そして、毎年課金されるサーバーを解約していた。

異変は起こった。

スクリーンセーバーには何も表示されなくなっていた。自分が使ってないから、スクリーンセーバーが動かないことにも気づいてなかった。スクリーンセーバー公開から12年が過ぎていた。

-----------------------------------------

応援メッセージもなくなった。
類似ソフトも存在しない。
誰も連続衛星画像を欲しい人はいないのか。

2017年仕事が忙しくなってきた。15分経過したら画面が消える。
あれ?ここに連続衛星画像を表示したら癒やされるんじゃないか?

★日本の空・世界の空♪ライブスクリーンセーバーの再開発が決まった瞬間だった。

開発コストはどうする?有料にするか?確かに素晴らしいツールを作ってお金をもらうのも気持ちがいいだろう。しかし有料にすると誰も使わない。
フリーソフトにお金を払う人はいない。フリーソフトはみんな無料だ。

よし、無料に決めた。無料公開してみんなに使ってもらおう。

癒やしを拡散して、拡散した癒やしで自分も癒やされよう。方向性は決まった。

日々スクリーンセーバー開発は進んでいる。
リアルタイム衛星画像の連続動画はもうすぐだ。
 

  拍手はせず、拍手一覧を見る

コメント
 
1. 上野みのる[4] j@OW7ILdgsyC6Q 2017年3月19日 11:57:52 : ut6Otvyksk : 9LLP8kB_fOM[4]
今時のスクリーンセーバーを作る時にはマルチモニタに対応したいと思った。
2000年以前から使っているとても使い慣れた開発環境VisualBasic6でのマルチモニタは私には困難だった。
そこで最新の開発環境で作ることにした。

新しい開発環境で作ることができるか心配だった。

まずは最新の開発環境VisualStudio2015を勉強してみることにした。

・2015/11/16 調査・インスト初回、簡単入門WEBを始めた。
・2015/11/17 インスト2:全部インストしてでかすぎるのでやめた。
 インスト3:ディフォルト設定でインスト
 簡単入門WEBを読んで居眠り
・2015/11/18:簡単入門WEBを一通り完了。だいたいの雰囲気は掴んだ。

連載:簡単! Visual Studio 2015入門
http://www.atmarkit.co.jp/ait/subtop/features/dotnet/vs2015primer_index.html
詳細な事がいろいろ書いてあるが、こういうのは全部後にまた読むとして
まずは飛ばして覚えちゃおう。

連載:WPF入門
http://www.atmarkit.co.jp/ait/subtop/features/dotnet/app/introwpf_index.html
全部チラ見したけど、なんか覚えることがおおそう。
チュートリアルでもやってみるか。
・2015/11/19
HTML解析の方法を読んだ。
・2015/11/20
画像URLの取得サンプルができた。

・マルチモニタサンプルコード

指定したモニターにフォームを表示する
http://dobon.net/vb/dotnet/form/showonmonitor.html

HSP:マルチディスプレイ対応スクリーンセーバーの作成
http://nmtysh.hatenablog.com/entry/2009/12/17/223000

できそうな気がしてきた。


2. 上野みのる[5] j@OW7ILdgsyC6Q 2017年3月19日 13:15:27 : ut6Otvyksk : 9LLP8kB_fOM[5]
旧スクリーンセーバーを作ったときもそうでしたが、スクリーンセーバーを1から作るのは大変。WEBにサンプルコードをダウンロード可能な状態で置いてくれる人が居るかもしれないと探してみたら各種あった。

スクリーンセーバー サンプル
https://msdn.microsoft.com/en-us/library/ms686421%28v=vs.85%29.aspx 純正
http://vividcode.hatenablog.com/entry/csharp/screensaver 使える
http://n-kami.cocolog-nifty.com/blog/2014/07/2-d769.html 
https://www.upken.jp/kb/vcpp-screensaver.html
http://kgussan.ojaru.jp/prog-win.html
https://teratail.com/questions/8947
http://uchukamen.com/WPF/WpfScreensaver/

そしてそのまま使えるマルチモニタスクリーンセーバーソースファイルが提供されていた。
http://n-kami.cocolog-nifty.com/blog/2013/08/post-9353.html 

このソースファイルを元に、リアルタイム衛星画像を次々に表示していくスクリーンセーバーが作れそう。すでにマルチモニタが実装されているのがうれしい。


3. 上野みのる[6] j@OW7ILdgsyC6Q 2017年3月19日 13:34:41 : ut6Otvyksk : 9LLP8kB_fOM[6]
画像のダウンロード元を確認してみた。

全球 デジタル台風の画像一覧
http://agora.ex.nii.ac.jp/digital-typhoon/help/satellite.html.ja

地域 高知大学
http://weather.is.kochi-u.ac.jp/

いろんな衛星画像があってすごい!
http://www.ssec.wisc.edu/data/
http://www.ssec.wisc.edu/data/composites.html
http://www.ssec.wisc.edu/data/comp/cmoll/

高知大学気象情報頁には注意書きがある。http://weather.is.kochi-u.ac.jp/wiki/archive/x_e3_82_ac_e3_82_a4_e3_83_89_e3_83_a9_e3_82_a4_e3_83_b3
一気にダウンロードすんな。ファイルが無いのにダウンロードをやろうとするな。サーバーが空いてる時にやってくれ。

スクリーンセーバーを作る前に、ダウンロードする仕組みが重要。

過去版はスクリーンセーバー稼働時に画像をダウンロードしていたが、今回はダウンロードソフトとスクリーンセーバーを別にする。PC通常動作時に大量の画像をサーバーに負荷をかけないようにゆっくりとダウンロードする。そしてスクリーンセーバーは画像の表示に専念する。


4. 上野みのる[7] j@OW7ILdgsyC6Q 2017年3月19日 13:43:33 : ut6Otvyksk : 9LLP8kB_fOM[7]
Visual Studio 2015 C# でスクリーンセーバーサンプルも動作したし、できそうな気がしてきたので開発環境であるVisual Studio 2015 C#の勉強をしてみた。

最初に参考になりそうなサイト

連載:簡単! Visual Studio 2015入門
http://www.atmarkit.co.jp/ait/subtop/features/dotnet/vs2015primer_index.html

連載 改訂版 C#入門
http://www.atmarkit.co.jp/ait/subtop/features/dotnet/csharp_abc2_index.html

連載:WPF入門
http://www.atmarkit.co.jp/ait/subtop/features/dotnet/app/introwpf_index.html
WPFでつくるかフォームで作るか。

連載:Windowsフォーム開発入門【Visual Studio 2010対応】
http://www.atmarkit.co.jp/fdotnet/chushin/introwinform_index/index.html

WPFの方が3倍くらい高速。フォームアプリでWPFを使うサンプル
http://jsdiy.web.fc2.com/software/wpftest/

WPFパフォーマンス関連の記事まとめ
http://qiita.com/Koki_jp/items/f6ef5bbb2da9be44744c
今は書いてある事が全く理解できないが、そのうち必要になりそうな気がする。


5. 上野みのる[8] j@OW7ILdgsyC6Q 2017年3月19日 14:01:39 : ut6Otvyksk : 9LLP8kB_fOM[8]
Webページからリンク文字列を抜き出すサンプル・プログラム ビルドOK。出力確認。これ使える。【R】
http://www.atmarkit.co.jp/fdotnet/dotnettips/687nondispbrowser/nondispbrowser.html

非同期 画像ダウンロードサンプル 画像の非同期ダウンロード成功【D】
http://dobon.net/vb/dotnet/internet/downloadfile.html

【R】で取得した1日分の画像ファイル http://weather.is.kochi-u.ac.jp/sat/hdfe/2017/03/19/ の最大24枚の画像URLを【D】でダウンロードしたら問題発生。

非同期ダウンロードだからプログラムループはどんどん進む。
2枚目のダウンロードをしようとした時点で実行時エラー。重複ダウンロードはできぬ。

重複ダウンロードするサンプルは各種あるが、ここでやりたいのはサーバーに負荷をかけないゆっくりダウンロード。
同期処理でダウンロードが終わってから次のダウンロードをすればいいだけなんだけど、それではダウンロード中のフォーム動作が止まってしまう。

(改善案1)ダウンロード完了時に発生するイベントを拾って、次のダウンロードを始める。
まぁ、これなら動くだろう。しかしなんか複雑になりそう。ダウンロード間隔の調整がめんどくさそう。結局ゆっくりダウンロードのためにはタイマーが必要になるし。そこで次の案を考えた。

(案2)ダウンロードの準備ができたらタイマー1を稼働させる。タイマー1で発生するイベントを拾ってダウンロードする。
 ただし、すでにダウンロード中の時は何もしない。

これなら簡単な構造でうまく連続ダウンロードできそうだし、ダウンロード間隔の調整もタイマー1の調整だけで済みそうだ。(←今ここ)


6. 上野みのる[9] j@OW7ILdgsyC6Q 2017年3月19日 14:04:24 : ut6Otvyksk : 9LLP8kB_fOM[9]
もし★日本の空・世界の空♪スクリーンセーバーの再開発を希望している方がいらっしゃいましたらこちらにコメントいただけますと励みになります。

そんな人いるのかなぁ?


7. 上野みのる[10] j@OW7ILdgsyC6Q 2017年3月19日 21:08:56 : ut6Otvyksk : 9LLP8kB_fOM[10]
ソースコード管理。

無料のBitbucketを使おうとしてあれこれ調べてみたが、WEBに存在する資料でどうしてもうまくいかない。
そもそもよくわかってないので、もう少し調べればうまくいくのかな?と思ってうまくいっている例を参考にしてやってみるが、どうしてもうまくいかない。

そのうちに見つけたのは、Visual Studio【2015】 では、Bitbucketがうまく使えないってこと。
2012とか2013のうまくいった例があったので、それを見ていたのだが、2015はだめだったようだ。

マイクロソフトが標準で提供しているVisualStudioにサインイン、ってのをすればできそうな感じがあるのでそれでやってみたが、やっぱりよくわからん。

VisualStudioのバージョンが違うから書いてあるとおりにできないのか、やり方が違っていて書いてあるとおりにできないのか、
設定が違っているので書いてある通りにできないのか、VisualStudioアカウントにログインしてないから書いてある通りにできないのか
よくわからん。

まぁ、いいや。ローカルでならソースコード管理できるみたいなので、まずはローカルで一番簡単なコミットだけやっとこ。


8. 上野みのる[11] j@OW7ILdgsyC6Q 2017年3月20日 08:01:51 : ut6Otvyksk : 9LLP8kB_fOM[11]
■ソースコード管理
Visual Studio 2015 で Git ! 〜 ブランチを利用してみる
http://increment-i.hateblo.jp/entry/visualstudio/online/git/branch
の通りにやってみたら何となく理解できた。これでなんとかなりそうだ。

■ループじゃなくてタイマー処理。
//タイマーで呼ばれたら次の1枚をダウンロードする、というメソッドを作る。そのために次にダウンロードするのが何なのかを
//毎回無駄な処理をすることなく、保持している仕組みを作る。
//というのはループで回すなら、その時の状況というのはループの中で勝手に順番に進んでいくから気にしないんだけど、
//タイマーで呼ばれたら、次!という場合は、”次”というものをすぐに出せる仕組みが必要。
//画像をすべて読み込み済みのSortedリストを作る。今日の分のダウンロードが終わったら、その前日。
//画像読み込み済みリストに入っている日付は飛ばす。最後の日付まで行ったらダウンロードをやめる。
//最後の日付は、フォルダチェックして動的に確認する。
//という仕組みは追々作るとして、まずはタイマーを使った連続ダウンロードがうまくいくかチェックする。


9. 上野みのる[12] j@OW7ILdgsyC6Q 2017年3月20日 14:13:41 : ut6Otvyksk : 9LLP8kB_fOM[12]
■ループじゃなくてタイマー処理で1日分の画像取得OK
前述の日付を遡って1日づつデータをダウンロードする仕組みにとりかかる。

10. 上野みのる[13] j@OW7ILdgsyC6Q 2017年3月24日 19:13:32 : ut6Otvyksk : 9LLP8kB_fOM[13]
日付を遡ってどんどん画像ファイルをダウンロードするロジックのたたき台が完成。
画像提供サーバーが画像ダウンロードの場合3秒の間隔よろしく、ということなので
1日分24個は72秒。一ヶ月分は0.6時間。1年分で7時間くらい。

とりあえず画像がそろったのでスクリーンセーバーの制作に入ろうか。
いやいや、数日空けるとコードを忘れてしまうので、ダウンロードを完成の域までもっていく。

今は画像のチェックのために毎回HDDとNETを比べているが、ダウンロードが完成した日については今後もうチェックしないでOKという仕組みを組み込む。

その仕組みは、昨日以前の日付の場合、ダウンロード完了したら、あるいはすでにダウンロードが完了していたら、ダウンロード完了リストに追加。そのリストは時々ファイルに書き込む。起動時に読み込む。これで無駄なチェックをしなくて済む。

というのも、画像のダウンロードはきっちり3秒間隔で処理しているのだが、フォルダのチェックを高速にやろうと考えて1秒に100頁くらいのフォルダのチェックを5分くらいやってたら画像サーバーにブロックされてダウンロードができなくなった。こうならないように、不要なアクセスを極力減らす仕組みを組み込む。


11. 現場監督[1] jLuP6orEk8I 2017年3月25日 09:04:47 : KQIn6jfrys : pjjT58JrvJA[1]
再始動ありがとうございます。
ずっと待っておりました!
完成をお待ちしております。

12. 師人[1] jnSQbA 2017年3月25日 10:58:39 : pAAnfWj7sg : M8GBz3jEjtI[1]
待ってました!
以前のようにワクワクするようなスクリーンセーバが出来上がることを楽しみにしています。

頑張ってください〜(^^)


13. 上野みのる[14] j@OW7ILdgsyC6Q 2017年3月26日 06:16:26 : ut6Otvyksk : 9LLP8kB_fOM[14]
わお!コメントありがとうございます。
待っててくれる人がいるなんて!
飛び上がるほど嬉しいです。

昨日までに画像の連続ダウンロードと、
画像の連続表示のたたき台が完成しました。

久しぶりの画像の連続表示で、一人で感動してます。

連続表示をゆっくり眺めながら、こんな機能も欲しい、
こんな風にできたらいいな、と開発案件がどんどん思い付くので
これからが大変です。

それはそれとして、まずは荒削りでも皆さんに使っていただける形にして公開予定です。

今はまだ自分のHDDの決まった場所にデータをダウンロードするようになっているので、少なくともインストールした場所にデータを保存するようにしてベータ版として公開すべく開発を進めます。

もう少しお待ちくださいませ。


14. ゆうくん[1] guSCpIKtgvE 2017年3月26日 23:40:49 : GHmRnj22pQ : VxArDUTS9dg[1]
キター!!

画像が更新されなくなって、もうどれくらいの月日が流れたでしょうか。。。
それでも今も、会社・自宅共にこのスクリーンセーバーで最初のページだけ表示させています。

作者殿の負担であれば、
ダウンロードは個別にする仕様にして、使い続けた人だけが連続画像を楽しめる仕組みでもいいかな。なんて思ったり。
今度は、ダウンロードに失敗しても次の画が見られる仕様にして欲しいなぁ。

完成を楽しみにしております!!


15. 上野みのる[15] j@OW7ILdgsyC6Q 2017年3月27日 06:14:16 : ut6Otvyksk : 9LLP8kB_fOM[15]
14期待のコメントありがとうございます。未だに表示していただいているなんて衛星画像が大好きなのが伝わってきてとても嬉しいです。
今は私のPCの環境でのみ動くバージョンですが、できる限り早期にプロトタイプ版を公開させていただきます。きっと喜んでいただけることでしょう。

どの環境でも普通に動くようにするために、インストーラーの開発をする必要があるのですが、これが結構めんどくさくて1つのプログラムを作るようなものなんです。この3月に新開発環境VisualStadio2017がマイクロソフトから公開されたので、どうせこれから新しくインストーラーを作るんだからと、今までの開発環境VS2015からVS2017に乗り換えることにしました。というのもこんな風にInstallerProjectsが提供されているようなので、できるんじゃないかなと。

Microsoft Visual Studio 2017 Installer Projects
https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.MicrosoftVisualStudio2017InstallerProjects#review-details

それじゃぁ、と、こんな記事もあるので今までの開発環境であるVS2015を完全にアンインストールしているところ。実行終了まで30分くらいかかりました。

Visual Studio 2017のインストール前に、Visual Studio 2013/2015と2017プレビュー/RC版を完全にアンインストールするには?
http://www.atmarkit.co.jp/ait/articles/1703/13/news034.html

ついでにDDUなるディスプレイドライバも完全にアンインストールするツールを見つけたのでしてみているところ、レジストリのクリーンアップを開始で、止まってしまって、フリーズしてるのか実行してるのか不明。。。とほほ。

これが終了した後にVS2017を入れてみます。


16. 上野みのる[16] j@OW7ILdgsyC6Q 2017年3月27日 16:43:24 : ut6Otvyksk : 9LLP8kB_fOM[16]
前述の Microsoft Visual Studio 2017 Installer Projects は全然使い方がわからなかったのですが、
Advanced Installer for Visual Studio 2017 でやりたいことが全部できる事がわかった。
やりたいこととは
(1)インストールしたフォルダをレジストリにセットすること。そのフォルダ以下にダウンロードした画像をセットする。
(2)スクリーンセーバーをWindowsフォルダに配置すること。
(3)自動でスクリーンセーバーの設定をすること。
(4)1つのインストーラーでスクリーンセーバーとダウンローダーの2つの実行ファイルを設置すること。
これで後工程を憂うことなく設計できます。

ただし、このインストーラーでは日本語が全く使えないので英語表記のみでのインストーラーになります。

全く使ったことが無い道具を選定して調査するのは時間がかかって疲れますが一度わかってしまえば後はすぐです。

●インストールで設定したレジストリを読んでダウンロードしたファイルを保存。
●スクリーンセーバーが起動したら、ダウンロードしたファイルを読み込んで表示。
●ダウンロード前にスクリーンセーバーが起動したら、ダウンローダーを自動起動してダウンロード開始。
●スタートアップにダウンローダーを入れておけば自動でダウンロードして便利。●ダウンローダーでスクリーンセーバーの設定も可能。
●ダウンローダーだけで衛星画像連続表示可能に。


17. 上野みのる[17] j@OW7ILdgsyC6Q 2017年3月28日 07:33:49 : ut6Otvyksk : 9LLP8kB_fOM[17]
現在開発中のスクリーンセーバーでは動画再生中に速くしたり遅くしたり少し戻ったり少し進んだり
A−Bリピートしたり拡大縮小したりスクリーンセーバーではなく普通にPC使用時にも画面の端っこで表示したり、などを考えています。

そのために今までの開発手法のWindowsFormではなくWPFを使って実装しようと思っています。

全く新しい開発手法のため、といってもこの本が出たのが10年前だけど未だに良い参考書がこれくらいしかない、というWindows開発環境の参考書籍業界はどうなってんの?という感じなんですが、系統的な勉強ならWEBより参考書で勉強をすすめようと考えて本を探したらこれが一番良さそうなんですが、、、高い!5000円もします。

http://amzn.asia/37jVCuv
エッセンシャルWPF:Windows Presentation Foundation (Programmer's SELECTION)
5184円

この本では『Windows Formに比べてスクロールバー・拡大・縮小やクリックイベントの記述が簡単。』という手法が学べるので期待しています。

もし良かったら先着1名様ですが、この本をプレゼントしていただけるとものすごく助かります。プレゼントをしてくださった方はお礼としてスクリーンセーバーのヘルプ画面等に開発協力者としてお名前もしくはペンネームを記載させて頂こうと考えています。

今までは基本はWEBで勉強し、参考になりそうな本で図書館にあるのは借りてきて勉強し、開発ツールは無料だし、使うのは私の時間とやる気だけだったんですが、WPFの勉強のためこの本は必要になりそうです。どうぞよろしくお願いします。

引き続きスクリーンセーバーの開発頑張ってます。 
上野みのる欲しい参考書1冊: http://amzn.asia/37jVCuv


18. 上野みのる[18] j@OW7ILdgsyC6Q 2017年3月28日 21:26:01 : ut6Otvyksk : 9LLP8kB_fOM[18]
せっかく見つけたAdvanced Installer for Visual Studio 2017ですが
やっぱり気になっているのが全部英語表記なこと。設定に日本語入れると文字化けしちゃうし。

これをインストール使用としている普段英語使わない人はギョっとしちゃうかもなぁ、なんか良い他のものないかなぁと
引き続きあれこれ探してみましたが。。。

http://blog.livedoor.jp/reah_at/archives/32018406.html
2013年08月24日
WiXによるインストーラの作成でハマったのでメモ

何かソフトウェアを作ってみよう。
よし出来た、公開しよう。では公開用にインストーラでも作ろう。

「インストーラ」 「作り方」 でググる。有名な InstallShield が引っかかったぞ!
なんと、Visual StudioにはInstallShieldがバンドルされているらしいぞ!やったね!
ちょうどVisual Studioで開発していたところなんだ。
…あれ、インストーラ作成の項目どこだよ?
なんと、無料版のVisual Studio ExpressにはInstallShield が付いていないらしいぞ。困った…

そんなユーザは山のようにいるのではなかろうか。
−−−−−−−−−−−−−−−−−−−−−−−−−−
居ますよ、ここにも。

この記事がとても参考になったのですが、WindowsInstallerは3つしかない。
InstallShield 2016 Express Windows 日本語版 \118,500 なんか桁違いに高いです。
Advanced Installer for Visual Studio 2017 無料。多機能版は4万円
WiX 無料

WiXの紹介記事を見るとインストールしたフォルダをレジストリにセットする機能がない。
あるのかもしれないが、画面で解説してくれているサイトがすぐに見つからないので、私にはできない。
InstallShieldは高すぎるので対象外。
ということで、Advanced Installerの英語版を使うのが最適ってのがわかりました。

昨日と全くなにも変わってないようで、大きな違いです。

他にももっと良いものがあるかも、と心のどこかで思っていたのが昨日。
他にはもうない。これしかない、と思っているのが今日。

なんか、買物でもこういうのありそうですね。恋愛なんかも。

スクリーンセーバーで衛星画像を動かしていると、あれやこれやとアイディアが浮かんできますが、動画のように再生中にカクカク引っかかりが出てます。これは以前のバージョンも同じなんですが、表示する直前にファイルからメモリに読み込むからカクカクするんであって、事前にファイルからメモリに呼び出しておけばもっとスムーズに表示できるんじゃないのかなぁ、と。
マルチスレッドのサンプルコードはWEBにたくさんあるので、とりあえず普通に動くようになったらテストしてみます。音声再生ソフトも1秒〜3秒くらいバッファしてるしね。


19. 上野みのる[19] j@OW7ILdgsyC6Q 2017年3月31日 07:44:35 : ut6Otvyksk : 9LLP8kB_fOM[19]
2つのモニタでスクリーンセーバーをながめていたところ、数分後に左右のモニタで違う画像を表示している事に気がつく。
ソースを確認すると、それぞれのモニタで別のフォームオブジェクトを保持し、そのフォームオブジェクトがそれぞれ画像オブジェクトを保持して、別の動きをしている事に気がつく。
そもそも、他の人が作ったスクリーンセーバーサンプルを改変することで作っているので基本動作原理がわかってない。
わかってないが動けばいいやということで開発を進めているってこと。
で、この対応、どうすればいいんだ?とソースをながめて考えた。
それぞれのフォームオブジェクトで画像オブジェクトを持つのが原因であれば、フォームオブジェクトの外で画像オブジェクトを持つのがいいんじゃないか?この方法の実現方法がわからない。考えたがわからないのでやめた。
次に、メインモニタのフォームオブジェクトで画像オブジェクトを保持し、サブモニタのフォームオブジェクトではメインのフォームオブジェクトが保持する画像オブジェクトを参照すればいいんじゃないか?ということに気がついた。で実装完了。
サブモニタが画面を更新するのはどうやんの?とそもそも動作原理がわかってないので困ったが、ソースを眺めながらいくつか思い当たる方法を試してみると、2つめの方法で実現できたのでよかった。

画像オブジェクトあたりのカスタマイズをしたついでに、カクカク動くのをなんとかするために、画像キャッシュオブジェクトをこのまま作っちゃおうと計画中。

そのために、メインモニタのフォームオブジェクトに追加でタイマーを設置して、そのタイマーイベントで画像を先読みしたらいいんじゃないか?と構想中。その構想が正しく動作する条件として、タイマー自体の独立性を確認したい。画像表示タイマーが遅くなっている時も、画像先読みタイマーはちゃんと動くのかってこと。

そこでまず、画像キャッシュオブジェクトを作り込む前に、それぞれのタイマーにストップウオッチを付けて、結果をエクセルグラフに表示して、画像表示が遅い時もキャッシュが無関係に読み込まれることを確認してみようと思っているところ。

ストップウオッチは、デバッグログをファイルに書き出そうと計画。

検索してみると、いくつか簡単な方法でできるみたいだ。
TraceやDebugのWriteメソッドでファイルに出力する
http://dobon.net/vb/dotnet/programing/tracelisteners.html
http://www.atmarkit.co.jp/fdotnet/dotnettips/1006setout/setout.html

ついでに、デバッグコードをソース無いに書き込んだとしても、デバッグレベルを調整するだけで
配布時にはその部分を無視してくれる仕組みがVisualStudioにあったはずで、最初勉強したときは
まだ必要ないからあとで見ようと思っていたのだが、今がその時みたいなので見てみる。


20. 上野みのる[20] j@OW7ILdgsyC6Q 2017年4月01日 06:20:59 : ut6Otvyksk : 9LLP8kB_fOM[20]
画像をなめらかに表示するというのは確かにいいのだが、
今はとにかくスクリーンセーバーを早期に公開するための開発に特化しよう。
細かいことはその後だ。

公開のために必須の機能
(1)画像を保存するフォルダをレジストリから取得する
(2)ダウンローダーの配置フォルダが変わったら、画像の保存するフォルダも変更するか確認する。
(3)取得画像に全球を追加する。
(4)HDDがパンクしそうになってきたら警告を発信して画像の削除を行う。
(5)スクリーンセーバーが画像ダウンローダーを起動する。
(6)スクリーンセーバー、画像ダウンローダーともに重複起動しないようにする。
(7)バージョンアップを告知する機能

なめらかに画像を切り換える仕組みはその後だ。
まずは画像を5秒分前もって読み込んでおく。画像をHDDからメモリに読込む速度を計測してその速度で画像を切り換える。そうすることでカクカクしないでなめらかに動く。


21. 上野みのる[21] j@OW7ILdgsyC6Q 2017年4月01日 18:52:08 : ut6Otvyksk : 9LLP8kB_fOM[21]
画像をなめらかに表示するために画像をキャッシュに読み込んでおくという案に良いアイディアが浮かんだのでメモ。
画像1個を10回読むより画像10個を1ファイルにまとめて1回読むとファイルの読みにかかるオーバーヘットが減るので
相当速くなるはず。高解像度画像では1日分5メガ、1月分150メガ。1月分を1ファイルにして保存しておけば相当高速で表示できるんじゃないかな。

22. 上野みのる[22] j@OW7ILdgsyC6Q 2017年4月01日 19:32:35 : ut6Otvyksk : 9LLP8kB_fOM[22]
オブジェクトの内容をバイナリファイルに保存、復元する
オブジェクトのバイナリシリアル化、逆シリアル化を行う
https://dobon.net/vb/dotnet/file/binaryformatter.html

これが使えそう。まぁ、これは後々の高速化で使いたいが今は公開に向けた作業をしよう


23. 上野みのる[23] j@OW7ILdgsyC6Q 2017年4月07日 07:00:07 : ut6Otvyksk : 9LLP8kB_fOM[23]
おおむね普通に動くようになっている。
今は画像ダウンロード期間の調整中。ダウンロードの最も過去よりももっと過去をチェックしようとして日付が若返っていくのが止まらない。なんか壮大な無駄を見ている感じがしてつらい。これを修正。
設定で、ダウンロード期間を3ヶ月、12ヶ月、すべて、などを設定できるようにしたい。数字を入れてもいいかな。
読み込みが完了したTo,とFromをレジストリに保存しておいて、その期間はもう二度とチェックしない、というのもいいな。
レジストリに保存した読み込み完了期間やファイルに保存した読み込み完了期間をクリアする仕組みがあったらいいな。
そもそもファイルに保存しているのにレジストリに保存する意味あるか?

24. 師人[2] jnSQbA 2017年5月09日 21:04:42 : hUopUAKVZw : PkuTaQCQIuM[1]
開発作業お疲れさまです。

ところで、以前のスクリーンセーバーを使い続けているのですが、最近ひまわり画像が表示されるようになった気がします。
少し前はアメダス画像だけだったと思うのですが…

これは気のせい…なのか、何かの前兆なのか…

どちらにしても新バージョンが楽しみです♪


25. 上野みのる[24] j@OW7ILdgsyC6Q 2017年5月22日 14:01:54 : ut6Otvyksk : 9LLP8kB_fOM[24]
本日13時30分ごろベクターにUPしました。公開まで今しばらくお待ちください。

モニタサイズHD、メモリ8G以上で高速動作します。

まだベータ版、作成途中ですが、完成を待つよりベータ版で公開してリクエストを反映していきたいな、と。

24 のコメントありがとうございます。実は23のコメントの後しばらく開発の手が止まっていました。24のコメントを見て再度発憤し公開にこぎ着けました。


26. 上野みのる[26] j@OW7ILdgsyC6Q 2017年5月24日 15:43:28 : ut6Otvyksk : 9LLP8kB_fOM[26]
ベクターで最新版がダウンロード可能になりました。

★日本の空と地球♪ライブスクリーンセーバーR2(ベータ版)0.1.1.1(2017.05.22)
http://www.vector.co.jp/download/file/win95/amuse/fh689689.html

よかったら感想をお聞かせください。


27. 上野みのる[27] j@OW7ILdgsyC6Q 2017年5月24日 22:23:56 : ut6Otvyksk : 9LLP8kB_fOM[27]
動画にしてみました。こんな感じで表示されます。
https://youtu.be/QK49fPULphg

28. 師人[3] jnSQbA 2017年5月24日 22:48:46 : hUopUAKVZw : PkuTaQCQIuM[2]
アップおめでとうございます!
スマホから投稿なのでまだ体験できていませんが、YouTubeを拝見しました。

サイコーですね♪
早くPCで見てみたい。

とりあえず開発作業お疲れさまでした!


29. 現場監督[2] jLuP6orEk8I 2017年5月26日 09:14:52 : dRMe5WIS0k : mcYEXWVIW7Y[1]
β版の完成おめでとうございます!
今後の開発も期待しています。

30. 上野みのる[28] j@OW7ILdgsyC6Q 2017年5月26日 11:45:20 : ut6Otvyksk : 9LLP8kB_fOM[28]
師人さん、現場監督さん、ベータ版完成の祝辞コメントありがとうございます。

引き続き便利にしていく予定です。どうぞよろしくお願いします。


31. 雨水[1] iUqQhQ 2017年9月08日 11:01:22 : GGDfb8R08U : 6CUHo2NZVec[1]
旧バージョンが動かなくなり残念に思いつつ、暫く忘れていましたが、本日急に思い立って検索してみました。

なんと!開発再開されていたとは!
早速β版をダウンロードさせていただきました!


当方、会社PCがWindows7 Professional(64bit)ですが無事動作しております!

当時は、会社PCのディスプレイも、19インチ液晶のSXGAでしたが、今は27インチのワイド液晶1920x1080。
高解像度の画像が、大迫力でスクリーンセイバー表示されました!

オフィスなのに、思わず「おぉ!」と歓喜の声を上げて、周りからプチ注目を集めてしまいました。。

開発応援しています!頑張ってください!


32. ロケット[1] g42DUINig2c 2017年9月11日 17:26:34 : GGDfb8R08U : 6CUHo2NZVec[2]
以前愛用していた者です。
復活おめでとうございます!
機能開発応援しています!頑張ってください!

33. ロケット[2] g42DUINig2c 2017年9月11日 17:30:12 : GGDfb8R08U : 6CUHo2NZVec[3]
すみません、コメントの仕方がわかっておらず2回投稿してしまいました。失礼しました。

34. 上野みのる[29] j@OW7ILdgsyC6Q 2018年2月11日 17:24:32 : ut6Otvyksk : 9LLP8kB_fOM[29]
前回の投稿が2017年5月26日、今日は2018年2月11日。
9ヶ月経過してしまいました。
全然お金にならないことを頑張ってもどうなんだ、とか自分の中で葛藤がありしばらく放置していましたが、
まぁ、とりあえず前に進もうと考えてまた今日から少しづつ開発を進めようと思っています。
ベクターの登録カテゴリでWIn10じゃなくて、以前のままの”WindowsMe/98/95用ソフト”で登録されてしまったのもモチベーションがだだ下がった原因の一つです。これだと誰にも見つけてもらえない。全くひどいことをするベクターだ。

次回版は全く新しい名前でWin10のカテゴリに登録してもらう予定。


35. 上野みのる[30] j@OW7ILdgsyC6Q 2018年7月05日 09:52:44 : ut6Otvyksk : 9LLP8kB_fOM[30]
台風が通り過ぎたのに大雨が降っているので久しぶりにスクリーンセーバーを立ち上げてみました。

なかなか圧巻です。すばらしい。

これ、どうしようかなぁ。。。


36. 常用ユーザー[1] j@2XcIOGgVuDVYFb 2018年9月27日 10:50:31 : vHxHGeK8xg : B5sFnXrolrw[1] 報告
復活してから、ずっと会社WinPCのスクリーンセイバーで使っていますよ!
早く正式版をリリースいただけるのを首をながーくして待ってます!

実際はなかなか課金するユーザは少ないかもですが、私は少なくとも買います!

プライベートではMac使っているので、なんならMac版も欲しいくらいです。

無理せず、でも正式リリース頑張ってください!

37. 2019年10月12日 22:31:58 : JxAmyqrAck : QjNaemtlOURWVWc=[1] 報告
Paint.NETのようにWindows Store版を有料でリリースというのありかもしれませんね。
38. 師人[4] jnSQbA 2020年1月16日 18:12:52 : TOn7L9MFxY : MUdwRTJaQ0VveE0=[1] 報告
いつも雲の動きを楽しんでいます♪

ずっと10月の台風が動いてるなぁ…と思っていたら、
ダウンローダーが動いていない事が分かりました。

なにか対策などはあり得ますか?

39. 師人[5] jnSQbA 2020年1月23日 16:55:49 : Rthh25Fg2A : My52SkZUMnp3VzI=[1] 報告
何故かまた新たな画像の取得が始まりました…
PC環境などについては何も変わったことは無いと思っているのですが。

とりあえず新たな雲の動きを楽しんでいます〜♪

40. 上野みのる[31] j@OW7ILdgsyC6Q 2022年4月18日 19:42:06 : ut6Otvyksk : N0poRHhZYU56UUk=[1] 報告
どうも、Windows10のセキュリティがダウンローダーを強制停止してしまうようで、画像がダウンロードできなくなっているようです。

困った。。。

  拍手はせず、拍手一覧を見る

フォローアップ:


★登録無しでコメント可能。今すぐ反映 通常 |動画・ツイッター等 |htmltag可(熟練者向)
タグCheck |タグに'だけを使っている場合のcheck |checkしない)(各説明

←ペンネーム新規登録ならチェック)
↓ペンネーム(2023/11/26から必須)

↓パスワード(ペンネームに必須)

(ペンネームとパスワードは初回使用で記録、次回以降にチェック。パスワードはメモすべし。)
↓画像認証
( 上画像文字を入力)
ルール確認&失敗対策
画像の URL (任意):
投稿コメント全ログ  コメント即時配信  スレ建て依頼  削除コメント確認方法

▲上へ      ★阿修羅♪ > 番外地7掲示板 次へ  前へ

★阿修羅♪ http://www.asyura2.com/ since 1995
スパムメールの中から見つけ出すためにメールのタイトルには必ず「阿修羅さんへ」と記述してください。
すべてのページの引用、転載、リンクを許可します。確認メールは不要です。引用元リンクを表示してください。
 
▲上へ       
★阿修羅♪  
番外地7掲示板  
次へ