MIDIシーケンサ編
とりあえずマウスでMIDIノートを置いていき再生するまでの動画。すごく単純なドラムの打ち込みです C++でCreateWindowして遊んでる pic.twitter.com/BI7tH7PLFw — d-kami (@d_kami) 2018年5月6日
よくある現在演奏している部分を表す線を表示させ画面上を移動していくのだが…いろいろミスしてしまったので朝起きたらなんとかする。一応演奏はしてくれる…
クリックした位置に16分音符を置いてみた例。青系の色が多いのでややこしいかも?
MIDIデータをどうやって管理するかとかどういう形式でファイルに保存するかとかSMFにどうやって変換するかとか考えてたけど余計なことを考えずにとりあえず作っていくのがいいかもね。迷いすぎて作業が進まなくなるのはよくない
最低限の描画ができたので音を鳴らすようにする。まだどこで音を鳴らすかというよりはとりあえずクリックした高さの音を鳴らすという感じにした。ここらへんは音の変化がわかりやすいドラムで試したところ無事バスドラムやスネアの音を鳴らすことができた。…
とりあえずMIDIシーケンサーの打ち込み部分っぽいやつの見た目ができてきた。あとはこの表示されたセル(?)をクリックすると音が鳴ったり鳴らなかったりするわけですな(鳴れよ
雑にスクロールバーの処理を入れてスクロールに成功した。まだまだやらなければいけないことは多い
GDI+とやらで雑に描画。ついでにスクロールバーも作ってみたけど機能せず
何故だかWin32API使ってMIDIシーケンサを作ろうとしている。とりあえずピアノロール部分をCreateWindowExで作れるようにRegisterClassExしてる。よくわかってないけど、CreateWindowExのdwStyleにWS_CHILD | WS_BORDER | WS_VISIBLEと書いて、なんとか子ウイ…