Arm版の本体も動作
このブログでは、MasterReversiはEdaxと対比する記事を書いている事が多いのだが、Edaxは、ある意味、純粋なリバーシソフトで、CUIになっている。
これに対して、MasterReversiというのは、その後の作者製ソフトを開発するにあたっての、テストプログラムとしての意味合いもあった。
なので、リバーシとは関係ない処理コードも山の様に実装してあって、実際、それらのコードをベースに、MasterReversiのリリース後、AmuseGraphicsとMirror-DTCなんかを開発してリリースした。
つまり、Arm版Windowsにx86版との互換性問題がある場合には、色々なコードが実装されている分、Arm版をビルドしても、正常に動作しない可能性もあった。
このため、Arm版がビルドできた後で、一応、全機能確認をやってみたのだが、全く、問題は発生しなかった。
と、言う事で、マイクロソフト的にも、自社製のPCである所のSurfaceのOSとしてArm版を搭載してきた、だけの事はあるなあ、と、思ったりしている今日この頃だ。
ちなみに、MasterReversiには、デザイン変更用の機能も搭載していて、リバーシとは何の関係もない、画面キャプチャーだとか、音声キャプチャー機能なんかもあったりする。
そして、少なくとも、MasterReversiの初版をリリースした頃には、キャプチャーした音声の編集用ソフトがWindowsに標準搭載されていなかったので、音声編集ソフトとして、WaveClipperを開発し、同梱した。
今回、このWaveClipperについても、Arm化しようかなあ、と、思ったのだが、別に重い処理をやらせる訳ではないし、現行のx86 (32Bitアプリ)でも、Arm版Windowsで普通にエミュレーション動作する事を確認したので、とりあえず、x86版のまま、同梱する事にした。
これは、WaveClipperについては、何年も更新してきていないので、今更、更新したくない、という事もあるのだが、近い将来、Windows10以降で追加された音声キャプチャーAPIに対応させた新版を開発しようかなあ、と、思ったりもしているからだ。
つまり、Arm版を開発するのなら、その新版から! と、思っている訳だ。
新しいAPIを使用すると、プロセスを指定して、その音声だけをキャプチャーできる様になるので、例えば、YouTubeの音声を録音しつつ、ゲームなんかで別の音声を同じスピーカーで鳴らしても、YouTubeの音声だけを録音できる格好になる、筈だ。
筈だ、と、書いているのは、まだ、このAPIをマトモに使っていないからなのだが、マイクロソフトのサイトには、サンプルプログラムがあって、それをビルドして動作確認してみた所では、上記の様な事が出来そうだった訳だ。
もっとも、多くのユーザー的には、そんな面倒くさい事はしない! かもしれない。
にも関わらず、上記機能を搭載しようかなあ、と、考えているのは、作者の手持ち環境では、MacBook Pro 15インチ 2016モデルのWindowsと、今回、開発に使っているASUS Vivobook S15では、キャプチャーする音声の音量が、スピーカー音量の設定で変化してしまう問題があるからだ。
つまり、上記のAPIでは、その音量変化がないので、全てのプロセスをキャプチャー対象として使う格好にしても、上記の問題を回避できる様になるメリットがあるので、そろそろ、Windows7は完全に動作対象外にできる時期にきたので、音声キャプチャー系の処理では、APIを上記に切り替えようかなあ、と、思っている訳だ。
これは何を意味するのか、というと、変更対象はWaveClipperに限らず、AG-デスクトップレコーダー / AG-Webカメラレコーダー / AGMPlayer / AGMAudioMixer / TiMediaServer、 更に、Mirror-DTCサーバーも、変更対象に入ってくる。
なので、AmuseGraphicsとMirror-DTCの次バージョンの開発ネタが出来た! という意味でも、上記のAPIを使いたいのだが、そのテストプログラムとして、WaveClipperを使うかもしれない。
と、いう事で、WaveClipperについては、近い将来、機能強化した新しいバージョンを開発してリリースする可能性があるので、今回は、現行版をそのまま同梱する事にした今日この頃だ。
そう言えば、MasterReversiにも、ループバック録音機能があるので、上記APIを作者製ソフトの標準キャプチャーAPIとした暁には、MasterReversiへの適用も必要になるかもしれないのだが、流石に、MasterReversiのユーザーが、そんな機能を気にする可能性は低いと思われるので、MasterReversiの次バージョンは、サーバー系機能の拡充なんかを行う格好で開発する筈だ。
もっとも、その前に、macOS用のMRWorkerを開発し、Windows版についても、もう少し、MRWorkerのリソースを効率的に使える様に改良しておきたいので、サーバー系機能の拡充は、その次のステップになる筈だ。
と、言う事で、Arm版の開発は通過点に過ぎないので、早くリリースしてしまいたい気もしないでもないのだが、今回、性能向上用の施策を盛り込んだので、その内容をx86/x64版にも適用してみて、問題がない事も確認しておきたい。
なので、リリースは数日後になる筈だ。

