Software – monta@site https://monta.moe.in/wp 日記プラス、皆様に役立つレビューを掲載。「もんた あっと さいと」と読んでください Fri, 28 Jan 2022 06:19:41 +0000 ja hourly 1 https://wordpress.org/?v=5.2.21 [ソフトウェア]CoreAudioAPIでピークメーター表示する「AudioMeter」 https://monta.moe.in/wp/2014/04-01/00-43_1538 https://monta.moe.in/wp/2014/04-01/00-43_1538#respond Mon, 31 Mar 2014 15:43:12 +0000 http://monta.moe.in/wp/?p=1538

本ソフトはWindows Vista以降に実装されているCore Audio APIを利用したピークメーター表示ソフトです。
Windows上で鳴っている音をモニタリングすることができます。
ただし、WASAPI排他モード、ASIOなどサウンドデバイスに低レベルなアクセスをするアプリケーションの音はモニタリングできませんのでご了承ください。


縦表示や透過度設定(マウスホイール操作)もできます。
■ダウンロード:AudioMeter_140402.zip

【動作確認環境】
・Windows 7 64bit
 (XPではCore Audio APIが使用不可なため起動できません)

【使い方】
AudioMeter.exeを実行してください。
各種設定メニューはUI上で右クリックしコンテキストメニューを呼んでください。
また、タスクトレイにも常駐します。
デバッグが不十分なので表示がおかしくなったらAudioMeter.iniを削除してください。
さて、AudioMeterには普通のピークメーター表示以外に「画像マスクモード」という表示方法を備えています。
透過PNGのアルファ値が設定してある部分にピークメーターを描画するというものです。
というわけで本日4/1限定で


「ラ」のマスク画像がプリセットしちゃいました☆
※「ラ」マークは特定の学園アイドルアニメ、声優ユニット、シャンシャンするゲームその他とは一切関係がありませんのでご注意ください。
なお明日以降は(・8・)画像に切り替わります。
4/2追記:同梱画像を無害な(・8・)に差し替えました。

Core Audio APIの仕組みとしてはMSDN Blogの「楽しいハック講座 (4) Windows7 オーディオアーキテクチャの概要」をご参照ください。


こんな感じにWindowsのオーディオ再生は数段階のレイヤーを経て最終的にサウンドデバイスへ出力されているのです。]]>
https://monta.moe.in/wp/2014/04-01/00-43_1538/feed 0
RADEONでモニタを省電力モードにするとPCが再起動してしまう問題 https://monta.moe.in/wp/2011/01-17/23-59_831 https://monta.moe.in/wp/2011/01-17/23-59_831#comments Mon, 17 Jan 2011 14:59:32 +0000 http://monta.moe.in/wp/?p=831 『MonitorOffTimer』をご使用いただき誠にありがとうございます。

こんにちは、montaです。

※MonitorOffTimer(モニタの電源を切るだけのアプリ)はmontaが必要な機能だけを盛りこんで作った手抜きアプリです。


さてPCの構成を一新してからというもの、モニタの電源を切る(省電力モードにする)と何故かブラックアウトしたまま強制再起動してしまうという非常にイヤ~な現象がたまに発生していました。
※あくまでソフトウェア経由でモニタの電源を切った場合です。電源スイッチをハードウェア的に切る場合は問題ありません。

このままでは怖くてディスプレイの電源を切ることができないので色々なパターンで検証したところ、次の条件が重なると件の問題が発生するようです(`・ω・´)

・マルチディスプレイ用にRADEONを2枚以上挿している
・どちらのRADEONにもモニタが最低1つ接続され、デスクトップ上に存在している
 (どちらのモニタがプライマリであっても関係なし)
・Catalystのバージョンは10.12動画再生支援が働いている(ex:Windows Media Player、YouTube、ニコニコ動画)


■参考:PC構成
 CPU:intel Core i7 920(2.66GHz)
 MB:ASRock X58 Extreme3
 Mem:DDR3-1333 24GB(4GBx6)
 VGA:RADEON HD5770 1GB GDDR5 (SAPPHIRE 11163-02-20R)
    RADEON HD5450 512MB DDR2 (HIS)
    ※共にPCI-E2.0×16接続(非CrossFire)
 Catalyst Version:10.12
 OS:Windows7 64bit Ultimate
 Display:W241DG x2(HD5770)
     IBM L200p、REGZA 37Z1(HD5450)
この条件で拙作MonitorOffTimerもしくはWindowsのコンパネから「ディスプレイの電源を切る時間:1分 」とすると、モニタの電源が消えた瞬間に100%再起動がかかります。
ブラウザのタブが1つでもyoutube動画を含んでいたらアウトです。

どうやら接続されているモニタが省電力モードに移行すると、たとえ現在動画再生中であっても問答無用で再生支援を強制終了させるようです。
恐らくWindowsの低レベルな部分をフックしたまま強制終了するのでしょう。そして結果的にOS丸ごと落ちる……と。


対策案としては、「RADEONを窓から投げ捨ててGeForceに宗旨替えする」……という案もありますが手っ取り早い方法は「Catalyst10.11以前を使う」ということでしょう。
10.9、10.10、10.11を試したところ、この怪奇な現象は発生しませんでした。10.12でのみ発生します。仕方なくないね!どうにかしろAMD!

このサイトはせっかくカスタマイズしたChromePlusの設定が全部消えたmontaがお送りしております。]]>
https://monta.moe.in/wp/2011/01-17/23-59_831/feed 2
WindowReunion ver1.1.2 https://monta.moe.in/wp/2010/09-01/23-52_791 https://monta.moe.in/wp/2010/09-01/23-52_791#respond Wed, 01 Sep 2010 14:52:51 +0000 http://monta.moe.in/wp/2010/09-01/23-52_791
ウインドウをプライマリに集めるアプリ『WindowReunion』


をちょこっとバージョンアップしました☆
どれくらい使ってくださっている人がいるかは判りませんが、monta的には中々便利なツールです。

■ダウンロード:WindowReunion112.zip

主な変更点

 ・Windows7のガジェット(プロセスネーム:sidebar)を移動すると不具合があったため、暫定措置として
  ガジェットに対しては一切移動をかけないようにした。
以上です。
引き続き、バグ報告や機能追加の要望はお気軽にどうぞ☆]]>
https://monta.moe.in/wp/2010/09-01/23-52_791/feed 0
WindowReunion ver1.1.0 https://monta.moe.in/wp/2010/08-14/01-27_782 https://monta.moe.in/wp/2010/08-14/01-27_782#respond Fri, 13 Aug 2010 16:27:48 +0000 http://monta.moe.in/wp/2010/08-14/01-27_782
ウインドウをプライマリに集めるアプリ『WindowReunion』


をちょこっとバージョンアップしました☆
どれくらい使ってくださっている人がいるかは判りませんが、monta的には中々便利なツールです。

■ダウンロード:WindowReunion110.zip

主な変更点


対象ウインドウを「すべて」「ウインドウタイトルが取得できたもの」「指定」の3種から選べるようにしました。

従来までは「すべて」モードで動いていたので、「デスクトップ上には存在していてもタスクバー上には存在していないアプリ」(例:デスクトップウィジェットの類)も強制的にプライマリに集まってしまいました。
それらのアプリは集めたくない場合には「ウインドウタイトルが取得できたもの」ラジオボタンにチェックを入れて「Reunion」ボタンを実行してください。

また、ピンポイントでウインドウを指定したい場合は、「指定」ラジオボタンにチェックを入れ、プライマリに移動させたいプロセスをコンボボックスから選択した上で「Reunion」ボタンを実行してください。


「更新ボタンを押すことでコンボボックスの中身は更新されます。
以上です。]]>
https://monta.moe.in/wp/2010/08-14/01-27_782/feed 0
ウインドウをプライマリに集めるアプリ『WindowReunion』 https://monta.moe.in/wp/2010/03-21/13-20_721 https://monta.moe.in/wp/2010/03-21/13-20_721#comments Sun, 21 Mar 2010 04:20:38 +0000 http://monta.moe.in/wp/2010/03-21/13-20_721
『WindowReunion』と名付けました。

「終了時の座標を覚えているアプリケーション」が次の例になった場合にも、WindowReunionは活躍します。

例1:PCを起動しつつ、セカンダリディスプレイの映像入力をHDMIなどに切り替えてゲーム機の映像を映している場合。

例2:ディスプレイの解像度や構成を変えた後に「終了時の座標を覚えているアプリケーション」を起動させたら、
   現在のディスプレイの画面外に表示されてしまった場合

どちらの場合でも簡単にプライマリ上に呼び戻せます。


■ダウンロード:WindowReunion112.zip
※2010-09-01にv1.1.2に更新しました

動作確認環境
・Windows XP SP3 32bit ※「.NET Framework2.0」以上必須(推奨3.5)
・[推奨]Windows 7 32bit/64bit

使い方:WindowReunion.exeを起動させてReunionボタンを押すだけ

Before


After


仕組みとしては、EnumWindowsで列挙した全てのウインドウハンドルに対してSetWindowPosをキメているだけなので、このWindowReunionを実行したことによって、もしかしたら見えてはいけないウインドウがタスクバー上に出現してしまうかも知れません。
その他、不具合が起きてもmontaは一切責任を負いませんので予めご了承ください。

それにしても、どうやってもSteamクライアントだけ移動できないんですよ。
まぁセカンダリディスプレイで何かしつつ、Steamでも何かしたいというパターンは限られるので、そこまで困ることはないですよね?

追記(2010-08-14): Steamクライアントがバージョンアップしたら普通に動くようになってました。]]>
https://monta.moe.in/wp/2010/03-21/13-20_721/feed 5
モニタの電源を切るアプリ『MonitorOffTimer』 https://monta.moe.in/wp/2009/10-30/18-57_659 https://monta.moe.in/wp/2009/10-30/18-57_659#comments Fri, 30 Oct 2009 09:57:49 +0000 http://monta.moe.in/wp/2009/10-30/18-57_659
電源を入れっぱなしですと電気代がもったいないですし、無駄にバックライトの寿命も縮まります。
そこでモニタの電源をソフトウェア的に切りたいわけですが、Windowsには「モニタの電源を切るボタン」が標準で用意されておらず、わざわざコントロールパネルの電源管理を開いて「モニタの電源を切る時間  1分」と設定しなくてはいけません。
これは面倒です。復帰したときにわざわざ設定時間を元に戻す手間もいります。

『簡単にモニタの電源を切ってくれるソフトはないかなぁ……』と思い、グーグルで「モニタ 電源 オフ」的なワードで検索するとズバリ目当ての機能を持った某ソフトが出てきました。
しかし、その某ソフトは使い勝手が悪いのです。
・起動の度に一々、「モニタの電源を切りますか?」というダイアログが出てくる。切りたいから起動してるのにね!
・マウス左クリックで通常に復帰する仕様となっていますが、ウチの環境では復帰に失敗することが多く(モニタの電源のON OFFが高速に切り替わる。明らかに電源回路に悪そう)、怖くて使いづらい。

なので希望の仕様を満たしたものを自分で作りました☆
『MonitorOffTimer』です。
■ダウンロード:MonitorOffTimer105.zip
動作確認環境
・Windows XP SP3 32bit ※「.NET Framework2.0」以上必須(推奨3.5)
・Windows 7 32bit/64bit

「Monitor」「Power」「Off」の組み合わせの名前のソフトがあったので、被らないようにした結果、こんな妙な名前になりました。(こんな単機能なアプリに独自の名前を付けるのもアレですしね)

2つのexeを同梱しています。

・「MonitorOff_closing.exe」
 →実行したらモニタの電源を切って、アプリも即終了
  復帰は普通にマウスを動かしたり、キーボードを叩けばOKです。
 
・「MonitorOffTimer.exe」
 →実行したらモニタの電源を切るまでは上と同じです。

こんなアプリが居残り続けます。
タイマーが有効な限り、120秒間隔でSendMessage(handle, 0x112, 0xf170, 2)を送り続けます。
※モニタの現在の電源状態を判定していないため(面倒だったので)、例え既に電源がOFFになっていても、電源をOFFにするSendMessageを絶えず送り続けます。

当方の環境では特に問題は起きていませんが、この仕様によりお使いのモニタが壊れても、一切責任を負いませんのでご注意ください。

電源OFF状態からマウスで復帰しても、タイマーは有効なままなので、例えば就寝中にウイルスチェックなどのアプリが強制モニタONで立ち上がったり、ネコがマウスを触って不意にモニタがONになった場合でも120秒以内にモニタは再びOFFにされます。
[キーボード操作]
・ESCキー
 →キーボードのESCキーでタイマーが無効に切り替わります。
 ※ESCキー単体が動作するのはMonitorOffTimerのウインドウアクティブ時に限ります。

・Shift+ESCキー
ウインドウがアクティブでなくとも、Shift+ESCキーを押すことでタイマーを無効にできます。
(ホットキーとして登録済み)

※タイマー無効時にESCキーを押せばアプリが終了します。(つまりタイマー有効時にESCキーを2回押すとアプリが終了します
[コマンドラインパラメータ]
オプション機能としてコマンドラインパラメータで動作をカスタマイズすることができます。

・/TIME=任意の秒数(1~86400秒)
 →任意の秒間隔でモニタの電源を切るようになります。
 例:MonitorOffTimer.exe /TIME=600 (10分間隔で切りたい場合)

・/ON
 →起動時にモニタの電源を切らないようになります。(タイマーの秒数が来るまでモニタの電源は切られません)
 例:MonitorOffTimer.exe /ON

・/DELAY=任意の秒数(1~86400秒)
 →起動するまでの待ち時間を指定できます。例えばアプリをマウスでクリックしてからマウスを静止させるまでの間を待たせることができます。無線マウスならこの間に電源を切ってください。
 例:MonitorOffTimer.exe /DELAY=5 (5秒後にアプリを起動させてモニタの電源を切りたい場合)
  MonitorOff_closing.exe、MonitorOffTimer.exe両方に対応しています。

・/LOOP=回数
 →タイマーを何回連続で動作させるか指定することができます。指定回数に達したらアプリは自動的に終了します。
 例:MonitorOffTimer.exe /LOOP=10 (10回モニタの電源をOFFにしたらアプリを終了させる)

各パラメータは複数同時に指定することもできます
例:MonitorOffTimer.exe /DELAY=5 /TIME=600
※MonitorOffTimer.exeのショートカットを作ると、コマンドラインパラメータは設定しやすいです。

【履歴】
■1.0.5 2017/01/22
 ・開発環境をVisual Studio 2017 RCに更新
  (コード部分の修正はありません)

■1.0.4 2015/07/26
 ・コマンドラインパラメータに/DELAY=秒数, /LOOP=回数を追加
  ※/DELAYパラメータはMonitorOff_closing.exe、MonitorOffTimer.exe両方に対応
 ・MonitorOffTimerのUIにモニター消灯までの「残り秒数」を追加

■1.0.3beta 2014/01/13
 ・MonitorOff_closing.exeに「起動→モニタの電源OFF→2秒待機→再度モニタの電源OFF→終了」という処理を仮実装(Ver.1.0.3限定)

■1.0.2 2012/02/18
 ・Google Chromeが起動している環境で正常に動作しない不具合を修正
 ・コマンドラインパラメータの設定を追加
 ・フリーの電球アイコンを指定(EXEサイズが大幅アップ!)

■1.0.1 2010/08/23
 ・一部の文言の修正

■1.0.0 2009/10/30
 ・初版リリース

検索用キーワード:省電力モード]]>
https://monta.moe.in/wp/2009/10-30/18-57_659/feed 24