MML実装
おとといあげた実装したいコマンド群、あとはタイと繰り返しと和音を残すところまできた。 ちょっと今の作りだとやりにくくなってきたからリファクタリングしたい気持ち。 ノートオンオフを一つのメソッドにしてしまっているのを何とかしないとタイと和音ができない気がする。
POSTS
おとといあげた実装したいコマンド群、あとはタイと繰り返しと和音を残すところまできた。 ちょっと今の作りだとやりにくくなってきたからリファクタリングしたい気持ち。 ノートオンオフを一つのメソッドにしてしまっているのを何とかしないとタイと和音ができない気がする。
InspironにDellのOSリカバリーツール使ったら、途中で先に進まなくなってWindows起動しなくなってしまった。 Surface Goでリカバリー用USB作って何とか復旧。 ただしWindows11Homeだと同じところで落ちたので、Windows11Sモード版で入れなおした。 設定 Sモード解除 タッチパッドの Read more
とりあえず Timidity で再生できるSMFを吐き出すことはできるようになったのだけれど、なんか違う。 複数トラック作成しても、1トラック分しか再生されてないように聞こえる。 プログラムチェンジを入れても音色が変わらない。 何が間違っているのか・・
昨日のgo runとgo testで挙動が違うのは、os.argsのインデックスが間違っていただけだった・・ os.args[0] はコンパイルしたバイナリで、欲しかったものはos.args[1] でとれた。 なんか初歩的なところで時間溶かした。。
昨日マークダウンからMMLを抜き出すところをとりあえず作ったので、 今日はMMLをSMF形式に変換するところを作る。 なかなか思ったように動いてくれない。。 go test と go run で挙動が違うのなんでだ・・
マークダウンからテーブル部分をmmlとして読み込むところを作っていたら日付が変わってしまって毎日更新に穴があいてしまった。
main.go と、とりあえず固定値を返すパッケージを書いた。 package main import ( "fmt" "os" "github.com/umemak/mdmml" ) func main() { src, err := os.ReadFile(os.Args[0]) if err != nil { fmt.Printf("%+v\n", err) os.Exit(1) } mm := mdmml.NewMDMML(src) os.Stdout.Write(mm.SMF()) }