ステップ型シーケンサのプログラム、フォームのロード時のUI描画

DirectSoundによるドラム マシンの作成のC#ソースファイル
Form1クラスのmainメソッドで、Application.Run(new Form1());が実行されると、RythmMachineApp()コンストラクタ内で各トラックがセットアップされて、BuildUI(control)によるUI生成が行われます。

BuildUI()

ソースファイルRythmMachineApp.cs、RythmMachineAppクラス。
引数はSystem.Windows.Forms.Control型。

プログレスバーの初期状態を表示する

このアプリケーションでは、繰り返し演奏する16ステップ間の現在位置をプログレスバーで表現しています。16ステップ目でプログレスバーの長さが100%になり、再び長さが最小になって1ステップ目に戻ります。
//System.Windows.Forms.ProgressBarオブジェクトの各プロパティを設定

トラック数個のグリッドの初期状態を表示する

プログレスバーの下には、各トラック(Wavファイル)ごとに各ステップの音のOn、Offを指定するためのUIが表示されます。このUIはこのアプリケーション独自のもので、Chronotron.UIというネームスペースの中で定義されています。
//トラック数の分を繰り返すループの中で、トラックごとの初期状態を表示する。

  • トラック名(楽器名)を表示するレーベルのプロパティを設定
  • 独自のネームスペース Chronotron.UIで定義されているBeatControl型のコントロールで、ステップ数分(16回)の繰り返しループで各ステップのサウンドのOn、Offを1個1個設定する。