kujirahand / sakuramml-rust Goto Github PK
View Code? Open in Web Editor NEWMML Compiler SAKURA Rust
License: MIT License
MML Compiler SAKURA Rust
License: MIT License
以下のようなコードで、Subの扱いがおかしくなっている。要調査。
Rythm{
l8
v80 (Sub){ [4 hrhr rrhr ] }
v110(Sub){ [4 rhrh hhrh ] }
v90 (Sub){ [4 rrrr srrr ] }
v110 [4 brbr :brbr ] brbb
}
増えてきたので
[TimeSignature] value must be 4,4 or 6,8
未実装のヘッダファイルなら警告出す
少しずつやる
以下のURLに配置しているサクラのバージョンが古い。できれば書き出しの場合もバージョン情報を明示するように
https://sakuramml.com/picosakura/tools/wav_converter.html
Unison5thが動いていない
Unison5th { ceg }
STRによる変数定義が関数呼び出しに対応していない
以下のように記述できるようにする。
STR N=FUNC_CALL()
runnerのDefStrの定義を見る
/** リズムパートに関する命令
** GS_RHYTHM(val)
◇リズムパートの変更をします。
val =
00:楽器 01:ドラムパート1 02:ドラムパート2
*/
Function GS_RHYTHM(_D) {
Int _TCH = Channel; //private
Int _CH; //private
If(_TCH==10) {
_CH = $00;
} Else {
If(_TCH<10) { _CH = _TCH; } Else { _CH = _TCH -1; }
}
_CH = $10 + _CH;
SysEx=$F0,$41,(DeviceNumber),$42,$12,{$40,(_CH),$15,(_D)},$F7;
}
以下のような表現がこれまで可能だった。
P.onNoteWaveR((0,127,!8),(127,0,!8))
https://sakuramml.com/cgi/skr-bug2/index.php?m=thread&threadid=65
タイの後の付点が認識されない
【再現方法】
ド4^4
ド4.^8
ド8^4. //これだけ短い
ド2
PitchBendにonNoteWaveが未実装
CONTINUE/BREAKの実装
よく使われている
コンパイルエラーが多すぎるときトリムして返すように
続く部分が""のとき、(なし)とか(none)とか入れる
変数名と関数名に予約語を登録できないようにする
PlayFromでPitchbendなどが未実装
songs.rs の play_from を確認すること。
ResetGS/ResetXGでDeviceNumberが考慮されていない問題
サクラv2のstdmsg.hを見ると、考慮されている。
テストを強化する。
KeyFlag、シャープ、フラットなど
マクロの展開で行番号が0になる
以下のようなコードで、Leが空になる。
Function C(STR Le){
Print(Le)
Str _CHORD = {'c*e*g*'};
_CHORD = _CHORD + Le;
Print(_CHORD)
_CHORD;
}
l8 [2 C{8} ]
ResetGM命令のTimePtrの位置を確認する
RestGS/RestXG
mml_defでUpperCommandを登録したので予約語にコマンドを自動登録するようにする
現在、手動で記述しているので、自動登録にする
以下のコードがうまく動かない
Function C(STR AA){
AA
}
C{ceg}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.