# MasterVC - MOS Master Volume Controller

本ソフトは Windows 10 以降で音量調節を行うものです。

ホットキーにより音量調節をサポートしているので、デスクトップにウインドウを表示させることなく音量調節／ミュート操作が行えます。

フルスクリーン動作のゲームをプレイ中の場合にでも、ゲームを中断することなく音量を調節が可能になります。内臓スピーカやヘッドホンでサウンドを聞いてる方も、音量コントロールを出す必要が無いので重宝するかと思います。

また、トレイアイコンで現在のボリュームが表示されるので、いつでもすぐに現在の音量が分かります。

出力デバイス切り替え機能により、本体スピーカやヘッドセットの出力先を速やかに切り替えることができます。

タッチ（マウスクリック）操作に対応しました。
トレイアイコンをタッチ→Tips表示をタッチで音量とミュートの操作が可能です。

また、プラグインによる機能拡張が可能です。

以下のプラグインが同梱されています。

  - FixMixer : 音量を監視し固定化することが出来ます。
  - mmvcNeko : ホットキーによるウインドウを移動/リサイズができます。
  - wndalpha : ホットキーでウインドウの透明度を変更できます。
  - dxbeep : MasterVC の操作時に、"ピッ" と音を鳴らします。
  - tbwheel : タスクバー上でマウスホイールによる音量操作ができます。


# 操作方法（デフォルト設定の場合）

## 起動方法

 - mmvc.exe を実行してください。


## キーボードによる操作

  - Ctrl + Shift + ,(コンマ) : ボリューム10%ダウン
  - Ctrl + Shift + .(ピリオド) : ボリューム10%アップ
  - Ctrl + Shift + M : ミュートON/OFF

  - Ctrl + Shift + V : メニューのポップアップ

  - Ctrl + Shift + C : 制御コントロール切り替え（複数登録時のみ）

  - Ctrl + Shift + O : 出力デバイス切り替え（デバイスが複数ある場合）
  - Ctrl + Shift + I : 入力デバイス切り替え（デバイスが複数ある場合）

  ※MasterVC より、音量操作を行った際、画面中央に Tips が表示されます。


## タスクトレイアイコン上での操作

  - 右クリック : システムメニューのポップアップ

  - 左クリック : Tips表示
    
    左クリックによる Tips 表示中(MasterVCがアクティブ中に)に
    マウスのホイール操作を行う事で音量の増減を行うことができます。

  - 左ダブルクリック : ランチャー登録 0 番の起動  
    （ポップアップメニューの VolumeControl と同じ）

  - 中ボタンクリック／ホイール押下 : ミュートの ON/OFF

  - マウスホイール操作 : ボリュームの増減  
    （トレイアイコン上でホイール使用 が ON の場合のみ）


## システムメニュー(右クリックメニュー)

  - ?:コントロール名[??%] : コントロールを選択します。  
    チェックマークのついているコントロールが選択中のコントロールです。

  - Volume Control : （ランチャー機能）  
        システム標準の音量設定を開きます。

  - Audio Property : （ランチャー機能）  
        サウンドとオーディオ デバイスのプロパティを開きます。

  - Setup... : MasterVC 設定画面を開きます。
  - Info... : バージョン情報／コントロール情報を表示します。
  - Exit : MasterVC 終了

  以下、メニューに音量操作を追加 が ON の場合のみ

  - Mute : ミュートON/OFF
  - VolUp : ボリューム10%アップ
  - VolDown : ボリューム10%ダウン

  ※（ランチャー機能）項目は設定で変更可能です。


## Tips表示上の操作

  - コントロール名および状態表示をタップ（クリック） : ミュートON/OFF
  - 音量バーをクリック : 音量を変更


# 環境設定

システムメニューの Setup を選択して下さい。MasterVC Setup が起動されます。設定を変更しＯＫボタンを押すと、MasterVC が再起動され変更が反映されます。

MasterVC Setup は見ればわかるように作ったつもりですが、いくつか説明しておきます。

  - ホットキー登録で、各キー設定の横にある Ctrl,Shift,Alt,Win ボタンを選択状態にした場合、ホットキーの装飾キーとして押すキーに設定されます。
  - ランチャー登録の 0 番は、トレイアイコンダブルクリックで起動可能です。トレイアイコンダブルクリックの動作は変更できません。


# プラグイン

プラグインより MasterVC の機能を拡張できます。
MasterVC本体とプラグイン合計でホットキーは64個まで登録可能です。  
（デフォルトの状態で 6個のホットキー登録を使用しています）


# 注意事項

  - オンラインゲームやストアアプリ等、一部のアプリケーションを実行中の場合、
    MasterVCのホットキーが効かなくなる場合があります。

  - コントロールの登録は、初期設定のデフォルトミキサで通常は問題ありません。
    コントロールはミキサ(サウンドデバイス)→コントロールの順に選択します。
	通常はマスタ音量([M]と記載)のコントロールを選択してください。

  - 音量バランス設定について
    チャンネル数が２チャンネルのコントロールでのみ適用されます。
    ２チャンネル以上のコントロールは、すべてのチャンネルの音量が均一になります。

  - トレイアイコン上でマウスホイール使用を ON にしていると、タスクトレイアイコン上にマウスを移動した際にウィンドウフォーカスが MasterVC に移動します。
    これは、ホイール操作のマウスイベントを受け取るためにウィンドウをアクティブにする必要があるためです。

  - 基本設定の「物理メモリを節約する」を有効にすると、物理メモリの消費を低減できます。  
    実際には MasterVC を３秒間操作しないで放置しておくと、不要メモリをスワップします。あくまでもスワップですので、MasterVC自体の動作の快適さは若干失われる場合があります。


# サポート・免責・再配布について

本ソフトウェアの使用によって生じた損害等については、作者は何ら保証する義務を負わないこととさせて頂きます。  
再配布に関しては、アーカイブに変更を加えない限り作者に連絡の必要ありません。（配布により金銭的利益を得る場合を除く）

最新情報、およびサポートは、下記にて行っています。

  - [Note]( https://note.com/mos9620 ) 
  - [GitHub]( https://github.com/mos9620/master-vc/releases )


# 改版履歴

  * 4.5.0 - 2026/08/16
    - mmvc.ini, resource.ini ファイルの仕様を変更
    - 設定プログラムを mmvcset.exe を mmvcset.dll に変更。
    - マルチライン表示の際、固定表示対象外のコントロール選択時は最下段で表示するように表示順序を調整
    - 解像度変更時のフォントサイズを調処理を変更。解像度の基準を設定保存時ではなく、アプリ起動時に変更。
    - 画面の拡大率に応じて Tips の表示サイズを調整するように修正。
    - ダークモード対応（Setupダイアログのダークモードは不完全です）
	- その他不具合修正
    - ビルド環境を Build Tools for Visual Studio 2026  に変更

  * 4.2.1 - 2025/04/12
    - デフォルトデバイスが取得できない（マイク無し等）時に起動できないのを修正

  * 4.2.0 - 2025/02/10
    - アプリ起動時、フォアグラウンドでウインドウを表示する用に修正
      　（情報提供. Tomkeifer 様）
    - デフォルトデバイスの切り替え機能を追加
    - 高DPI時の設定ダイアログ挙動を修正
    - resource.ini ファイルの文字コードを Unicode に変更
    - 設定ファイルを Unicode に変更（新規作成時のみ）
    - その他不具合修正
    - ビルド環境を Build Tools for Visual Studio 2022  に変更

  * 4.1.0 - 2019/04/21
    - USBオーディオ等でマスタ音量やマイク音量が操作できない不具合を修正
    - 64bit版を同梱
    - Tips表示上でのタッチ（クリック）操作に対応しました
    - Tips表示にフラットバータイプを追加
    - Tips表示中にマウスオーバーするとビジーアイコンになるのを修正
    - 起動時のTips表示を行わないようにした
      　（タッチ操作対応で誤って押してしまうのを防ぐため）
    - 高DPI対応
    - その他不具合修正
    - コンパイル環境を Microsoft Visual C++ 2019 に変更

  * 4.0.0 - 2012/02/15
    - コンパイル環境を Microsoft Visual C++ 2010 Express Edition に変更
    - バイナリの文字コードを Unicode 形式に変更
    - 上記に伴い、プラグインAPIを更新、旧プラグインは使用できなくなります。
    - アイコンイメージを更新
    - WindowsXP 以前のOSで起動しなくなったため、一部APIの動的ロードを廃止。
    - コントロール登録毎にTips文字色、アイコンを変更できるようにした。
    - 音量０の時、文字色をミュートにする設定を追加。
    - アイコンの音量数字の色をTipsのカラーと連動する設定を追加。
    - アイコンイメージの扱い方をpng形式に変更。
    - Tips表示の複数行表示に対応。
      　登録コントロールの４番目までの項目が列挙されます。
    - アイコンイメージを resouce.ini で編集できるようにした。
    - Tips書式を resouce.ini で編集できるようにした。

  * 3.7.1 - 2011/01/07
    - mmvc.exe と同一ディレクトリの mmvchook.dll のみ使用するように修正。
    - トレイアイコンのメニュー表示後、タスクバーにゴミが残るのを修正

  * 3.7.0 - 2010/06/30
    - コンパイル環境を Microsoft Visual C++ .NET 2002 に戻した
    - トレイアイコンであまり使われてなさそうなデザインを削除
    - Windows Vista/7 で、余計なミキサを表示しないようにした。
    - ミキサ名が32文字までしか保存されていなかったのを修正。
    - ミキサ制御ライブラリを色々修正
    - プラグインAPIを更新、旧プラグインは使用できなくなります
      　（プラグインAPIに、ミキサ制御APIを追加）
    - コントロール・ランチャーの設定画面を修正
    - 環境によってバルーンTipsが表示されなくなっていたのを修正
    - キーボードでトレイアイコンにアクセスできなかったのを修正

  * 3.6.9 - 2009/12/28
    - スリープ時にミキサをクローズ、復帰時に再オープンしていたのをやめた。
        （スリープ復旧時の動作を安定化させるために入れたつもりだったが、
          エラーを引き起こしていた）

  * 3.6.8 - 2009/11/22
    - Windows Vista/7 の Internet Explorer の保護モードが有効の時、
        ホットキーが効かなくなる件の対策
    - 登録リスト情報のバッファ管理を修正
    - ウインドウのフォアグラウンド化処理を修正
    - レイヤーウインドウを使用しない場合に、タイトルバーが表示
        されていたのを修正
    - ホットキーがコマンドプロンプト上でも使用できるように修正
    - ホットキー入力判定処理を改善

  * 3.6.7 - 2009/09/19
    - Windows Vista でマスタ音量以外の左右バランス調整が出来るように
        しました。
    - Windows Vista でマスタ音量以外の音量設定値が、
        Windowsから設定した値と近くなるように補正しました。
        （Windowsがやってるデシベル→線形変換の式がわからんので、多少ズレます）

  * 3.6.6 - 2009/07/25
    - Windows Vista で、一部のコントロールが表示されないのを修正

  * 3.6.5 - 2009/05/30
    - スタートアップに登録して起動したとき、タスクトレイアイコンが
        表示されないことがあるのを修正。
    - ダイアログボックスフォントにWindowsのメッセージボックスフォントを
        利用するように修正。(表示が崩れるかも)
    - ソースコードを大幅リフレッシュ
    - Windows7(RC版)で動作を確認

  * 3.6.4 - 2008/05/11
    - レイヤーウインドウ時、Tipsが時間で消えなくなることがあったのを修正。
    - Tipsが画面をはみ出す場合、後ろをカットするように修正。
    - mmvcneko 用の改造。

  * 3.6.3 - 2008/01/31
    - TVタイプ表示のためのTips表示拡張処理で、
        表示内容によっては文字化け＆暴走するバグを修正。
    - 縁取り表示のアルゴリズムを改善
    - プラグインAPIを更新(旧プラグインは使用できなくなります)

  * 3.6.2 - 2008/01/20
    - レイヤーウインドウ時のTips表示処理を一新
    - 文字の縁取り表示機能を追加（レイヤーウインドウ時のみ）
    - ＴＶタイプ表示を追加
    - ＴＶタイプ表示、レイヤーウインドウ、縁取り表示、をデフォルト設定に
    - コンパイル環境を Microsoft Visual C++ 2008 Express Edition に変更

  * 3.6.1 - 2007/06/26
    - Vistaでマスタ音量以外の音量調整ができるようになりました。
        しかし、マスタ音量以外ではバランス設定が保存されず、
        すべてのスピーカの音量が均一になります。

  * 3.5.1 - 2007/06/12 [Vista非対応版]
    - 3.6.0 のソースコードからVista対応を無効にして、
        旧環境（Microsoft Visual C++ .NET）でコンパイル。
        Vista対応以外は同等の修正が入っています。
    - XP以前の環境ではこちらのが若干軽量。

  * 3.6.0 - 2007/06/08
    - コンパイル環境を Microsoft Visual C++ 2005 Express Edition に変更
    - Windows Vista の音量制御（マスタ音量制御のみ）に対応。
    - これに伴い、音量制御のコア処理を修正(CoreAudioAPI対応)。
        (XP以前では従来のMultimediaAPIを使用します)
    - デフォルトアイコンをVistaっぽいものにした。
    - iniファイルがない場合でも、ランチャーの初期設定が入るようにした。
        （これに伴い、iniファイルをアーカイブから外しました）
    - コントロール設定のミキサ選択で、<デフォルトミキサ>を選べるようにした。

  * 3.5.0 - 2006/11/17
    - タスクトレイアイコンのビットマップを選択できるようにし、
        ３ケタ(100%)分表示可能にした。
    - バルーンチップ表示機能を追加。（というか復活）
    - 設定画面のプロパティシートをツリー型にした。…まぁ、そんなに設定
        設定の数がないので全然意味ないですが。
    - 音量変更ステップ量の変更で、数字入力を可能にした。2% とかの設定
        をしたいとの要望もこれでＯＫなはず。
    - プラグインの管理方法を変更。mmcv.exe と同階層の plugin フォルダ
        にあるプラグインを列挙するようにした。
    - Tipsのデフォルトフォントを 「ＭＳ Ｐゴシック 24px(18pt)」に変更。
    - プラグインの最大登録数を無制限に。
        ※旧プラグイン設定は読み込まれなくなります。
    - システムサスペンド時に、ミキサを解放するようにした…つもり。
    - 物理メモリを節約するモードを追加。
    - とにかく内部のつくりにガシガシ手を入れた

  * 3.1.4 - 2006/01/31
    - プラグインのロードに失敗した場合、mmvc本体がコケていたのを修正

  * 3.1.3 - 2005/07/30
    - コントロール変更の際、Tips表示されなくなっていたのを修正

  * 3.1.2 - 2005/07/16
    - chgiconプラグイン用にプラグインインタフェースを拡張。
    - バルーンヘルプの表示機能をchgiconプラグインに移した。
    - 登録済プラグインのDLLファイルが削除されていた場合、Setupが異常終
        了するのを修正。

  * 3.1.1 - 2005/07/10
    - プラグイン未登録状態でセットアップが落ちることがあったのを修正。
    - こっそりとバルーンヘルプに対応。mmvc.ini の直接編集で設定できます。

  * 3.1.0 - 2005/06/02
    - プラグインの仕様をかなり変更。
        以前のプラグと互換がなくなってしまいました。ごめんなさい。

  * 3.0.2 - 2005/05/01
    - トレイアイコンのダブルクリック処理が出来なくなっていたのを修正。
    - MasterVC 以外で音量を修正した場合に、ミキサ情報が更新されていな
        かったのを修正。

  * 3.0.1 - 2005/03/20
    - ミキサ名の比較処理にバグがあり、コントロールがERRORになったり、
        登録できなかったりする事があったのを修正。

  * 3.0.0 - 2005/02/27
    - いろいろ修正。以下、主なものだけ。
    - iniファイルに設定を保存するようにした。
    - 全ランチャーにホットキーを設定できるように。
    - プラグインモジュール機能の追加。
    - ポップアップメニュー表示時と、タスクトレイでホイール使用時で、
        アクティブにならない事があるのを修正。
    - 文字列データをリソース化した。いつかは多言語対応？
    - アイコンをＸＰ系の物にしてみた…

  * 2.1.2 - 2004/11/27
    - Tips のアンチエイリアス方法を選択できるように修正
  * 2.1.1 - 2003/12/14
    - 初期設定状態でTipsが正しく表示されない問題を修正。
        （フォント未設定時は、メッセージボックスと同じフォントで表示）
  * 2.1.0 - 2003/10/16
    - ミキサ管理をID管理指定からミキサ名管理に変更にした。
        （XP で、USB Audio等を着脱した際、ミキサIDが変わってしまうため）
    - ホットキーの装飾キーを個別に設定できるようにした。
    - ランチャー起動ホットキーを追加。
    - 不要そうな設定項目を排除した。
    - 細かな動作の改善(？)。
    - 全ソースコードリフレッシュ。
    - ランチャーのコマンドライン登録が出来なくなっていたバグを修正。
  * 2.0.2 - 2003/05/20
    - カーソルキー等、一部のキーを設定しても操作できないバグを修正。
  * 2.0.1 - 2003/04/21
    - 環境により(多分、9x/Me 環境)でセットアップのコントロール設定ができな
        いバグを修正
    - セットアップのコントロールとランチャーの登録リストの最下段で↓ボタン
        を押したときの挙動がおかしいバグを修正
  * 2.0.0 - 2003/03/05
    - 開発環境を VC.NET にしました
    - 情報ダイアログボックスが豪華に
    - セットアッププログラム作り直し
         ※開発環境移行のため、大分変わっておりますが、
           MasterVCは私の勉強用プログラムでもあるので、ご容赦ください。
  * 1.8.0 - 非公開
    - セットアップのページ構成を変更
    - Tips 表示、タスクトレイアイコンにデバイスエラー状態表示を追加
    - デバイスエラー警告を表示しないスイッチを追加
    - デバイスエラー検出時に再オープンを試みるするスイッチを追加
        …… USB オーディオデバイス対応です
  * 1.7.1 - 非公開
    - tips のフォントと色を変更したときには、枠線を出さないようにした。
    - tipsの文字のみ表示オプションを追加[win2k]
        （レイヤーウインドウの指定色透過機能の応用です）
  * 1.7.0 - 2002/01/24
    - tips 表示のレイヤーウインドウ（半透明）化に対応[win2k]
        レイヤーウインドウ化する事で、フルスクリーン表示中の音量調整時に
        tips が瞬時にかき消される現象を回避できる場合があります。
    - tips のフォントと色を変更できるようにした。
        設定しない場合は、ツールチップっぽく表示されます（既存動作）
  * 1.6.1 - 2001/10/12
    - レジストリの保存時にバグがあったので修正。
        （文字型のデータのサイズ指定にミスがあった）
  * 1.6.0 - 2001/09/29
    - ホイールでの音量操作を逆にした。
        （windows標準では、上ホイール＝小、下ホイール＝大らしいので）
    - ホイールの操作を反転させるオプションを追加。
    - アイコンを変えた。渋めのデザインにしたつもりだが……そうでもない？
    - コントロールの新規登録時、選択したコントロール名でラベル名を自動でつ
        けるようにした。
    - レジストリ未登録時のデフォルトのラベルもコントロール名をつけるように
        した。
    - セットアップで、コントロールと外部プログラムの順番入れ替えを可能にした。
    - セットアップの音量ステップ値のスライドコントロールに１％の設定を追加
    - セットアップで、外部プログラムのコマンドラインボックスにファイルをド
        ロップ可能にした。
    - セットアップが最大化出来てしまっていたのを修正
  * 1.5.0 - 2001/07/08
    - コントロールの登録のやり方を変えました。おかげで以前のコンロール（デ
        バイス）の設定が引き継げません。その代わり、windows 標準のボリューム
        コントロールと同じだけのデバイスが列挙されるようになったはず。ついで
        に、登録数を16個に増やしました。
    - 外部プログラムの登録方法を修正。16個まで登録可能にしました。おかげで
        以前までの外部プログラム登録の設定が引き継げません。
    - 各制御対象を『デバイス』と表記してあったのを『コントロール』に変更。
    - その他、細かくインタフェースを修正。
  * 1.4.1 - 2001/05/27
    - MasterVC でフックしたキー入力処理後に、次のアプリケーションにキー入
        力が渡っていたのを修正。
    - MasterVC Setup のデバイスリストに使用できないデバイスが表示されるバ
        グを修正。
    - 音量ステップ値が５％単位で設定されていない場合も値を保存するようにし
        た。（レジストリに直接書き込むことで、音量ステップ値を５％単位以外に
        設定することができます）
  * 1.4.0 - 2001/05/16
    - ソースコードを全面的に作り直し。
    - ユーザーインタフェースの改良。
    - MasterVCセットアップのページ構成修正、レジストリ削除機能を追加。
  * 1.3.0 - 2000/06/30
    - ホイールマウス対応
    - mmvc.reg を廃止。それに伴いレジストリの内容をまたまた大幅修正しまし
        た。レジストリエディタにて一旦、MasterVC の設定を消去することをお勧
        めします。
            [HKEY_CURRENT_USER\Software\MOS.Private\MasterVC]
  * 1.2.0 - 2000/04/10
    - コンフィグプログラム追加
    - コンパイラを Builder3 → Builder5 に。
  * 1.1.4 - 2000/03/27 - 非公開
    - Tips 表示に、リソース浮きがあったので修正（またリソース開放順序をま
        ちがえてた）。
    - 変更ステップ量の設定を "Division" → "Step" に変更しました。変更ステッ
        プ量をパーセンテージで指定するようにした。
    - 外部プログラム起動 API を ShellExecuteEx から WinExec に変更。それに
        伴い、レジストリ設定も変更。（"Ext?_Exec" と "Ext?_Para" を統合しま
        した）
    - "TipDisp"の設定フラグ値を変更。
    - "Dev?_Pan"で、左右の音量バランスを設定できるようにした。本当は現在の
        バランスを継続するようにしたかったんだが、音量が小さくなるほど、精度
        が落ち（実際には左右の音量で制御しているため）０になった時点で情報が
        失われるため、あきらめることにした。
    - 左クリックメニューの廃止（むしろ邪魔なんだもん）
    - ボリューム増減の際の計算方法を変更。増減時の計算ズレが発生しなくなる
        ハズ……（計算式まちがってなければ）
    - メニュー表示を修正。
    - その他、内部的修正。
  * 1.1.3 - 2000/01/29 - 非公開
    - タスクトレイアイコンを消せるようにした。mmvc.reg に "TrayIcon" を追
        加。
    - "FitStep" をデフォルトで ON にした。
    - ミキサ制御まわりの内部的な更新。
    - Info... で、ミキサの時もデバイス名を表示するようにした。（）内のデバ
        イス ID は嘘ですが……
  * 1.1.2 - 1999/10/01
    - ミュート不可のデバイスを扱えなかったバグを修正。
    - 制御キーに Windows キーを使えるようにした。
  * 1.1.1 - 1999/08/30
    - ツールチップもどきを表示できるようにした。一応、デバイス切替機能の対
        応機能のつもり。（メインウインドウ隠しっぱなしってのも勿体無いし）
        ――詳しくは mmvc.reg 参照。
    - ツールチップ表示対応のため、ミュート表示の方法を変更。
    - "Info..." のミキサ ID の表示がバグってたのを修正（恥～～）
  * 1.1.0 - 1999/07/22
    - WindowsNT 上でも動作するようにした。ってゆーか、NT 上で動作しなかっ
        たバグを修正(恥;)
    - メニューあたりのインタフェース(？)等を変更。
    - ミキサだけでなく、収容デバイスも制御できるように、CommandVC の音量制
        御部を移植した。
    - ミキサ変更/デバイス変更機能を追加。
  * 1.0.5 - 1999/05/21
    - ミキサハンドルを開放せずに終了するルートがあったので修正。
    - オマケとして CommandVC を付属させた。
  * 1.0.4 - 1999/05/02
    - ホットキーからのメニューポップアップで左クリックメニューがポップアッ
        プしてしまっていたのを修正。
  * 1.0.3 - 1999/02/15
    - ミュート中もメニューに音量を表示するよう変更。
    - 左クリックメニューを追加。
    - 制御キー設定で、Ctrl,Alt,Shift 全て OFF の設定可能にした。
  * 1.0.2 - 非公開
    - ボリューム変更ステップ量の指定を、直接指定から分割数指定に変更。
    - ボリューム変更時 ステップ位置へ合わせる機能を追加。
  * 1.0.1 - 1998/11/12
    - 公開版。

