#PATH_WAV
実装済み、#TEXTxx
や0.01
0.001
という仕様は、ある種のユーザに悲しみをもたらすかもしれません;HTML serialization で タグを省略 すると、予想外の DOM ツリーが構築される場合がある
omit tags | equivalent (p+table ) | lte IE7 (p>table ) |
---|---|---|
|
|
|
p{display:none} :root p{display:block}
などと書いていると、旧 IE が悲惨GPL ライセンスってことはアンゴルモアをソースコード添付しつつバイナリ二次配布も許されちゃうよね…
という邪悪な思考が浮上してきて…
It's very helpful to see BMS command memo & your blog to check bms files.
Thanks for useful info every time :) !
#RANDOM
is Function Scope; (because random loading function
)No. Probably, #RANDOM
is merely a Variable.
#IF
to #ENDIF
is as Local Scope.#RANDOM
within #IF
-#ENDIF
section is block scope local variable.BMS code | JavaScripty pseudo model |
---|---|
|
|
Notes:
1
to scopes without #RANDOM
.The viewer (it is not IIDXv) which supports nested syntax cannot parse #00111:11
of the following.
BMS code | JavaScripty pseudo model |
---|---|
|
|
#RANDOM
and #IF
, and nested syntax is also permitted, the appropriate model which I can imagine is only this. And supposing this idea is right, I must rewrite all of cmds.htm & outliner. But I have not done it yet. orz#0011x:xx
and #0011x:00xx
should be parsed exclusively.
But in BM98, both may appear simultaneously.
Is this a bug ? Or is this by design ? What should be the "correct parsing", I do not know.
However, at least IIDXv, HDX, and Angolmois parse the above-mentioned example as expected.#ENDRANDOM
is unnecessary if #RANDOM
is not block structure ... mmm ...Confusing example:
Valid but unrecommended | Invalid |
---|---|
|
|
Of course, these are obvious for programmer. I am not.
#RANDOM
is too difficult for me, I cannot understand it yet ... orzhref="http://nekokan.dyndns.info/%7Epupuly/"
href="http://pupuly.frogcat.jp/"
live: href="http://pupuly.net/"
[] dead
突然のお知らせで大変申し訳ありませんが、特に何もなければ、今月をもちましてpupulyの全データを削除する予定です。 #pupuly
href="https://pupuly.nekokan.dyndns.info/"
#if 64
のスクロール精度がちょっぴり回復したこんにちは, lifthrasiir です.
- この前の文で過ち翻訳されたのがあったが,
#LNTYPE 2
で連続される値段が違う時の処理を "Angolmois が" 変えるという話です. (連続された LN があってもあまり役に立たないから.) 昔の文書 は Rhythm-it の文書 と BMS ファイルたちを見て書いたことだからそんなに几帳面ではないです. orz
#00151:1111222233334444
がどのように parse されるのか、まったく予想できないのが難しいです;
- Angolmois は最近早く開発されているので毎 revision ごとに BMS command memo を修正する必要はなさそうです. alpha 2 が出る前までは.
- どうだっていい話だが, サーバー事情で 19 日夜明けに hg.mearie.org を接続することができません. もし必要ならば https://bitbucket.org/lifthrasiir/angolmois/ とか GitHub を利用してください. :)
#SETRANDOM n
, #ENDRANDOM
, #ELSEIF n
, Nested flow-control#00111:FF
gone ???#RANDOM
has default value 1
, #ENDRANDOM
resets value of current scope#xxx07
(BGA LAYER)[IIDXv&HDX] support for the option flag (for explicitly specifying the floating-point type)
#00102:12.375f
(Compatibility is likely to fail obviously ... )#wav[01-ZZ]
(SF
to ZZ
)#LNTYPE 2
] added note "all indexes should be the same"#RANDOM n
] added: #RANDOM BMS list<data>
chunk, etc. )<table>
] removed obsolete attribute: border="1"
It excludes such encodings as UTF-7, UTF-16, GSM03.38, and EBCDIC variants.
It excludes UTF-16 variants, as well as obsolete legacy encodings such as UTF-7, GSM03.38, and EBCDIC variants.
Isn't XHTML5 also XML any longer? Can LRX be manipulated on the Web?
#WAVxx fat-header.wav
(e.g. Boléro has a lot of metadatas)#WAVxx skinny.wav
(e.g. DJ BATTLE 2011 has a lot of zero-byte-waveforms)README.md
をよく見たら 「libstdc++-*.dll
と libgcc_*.dll
をコピーしてね」 って書いてあったのでその通りにしたら成功したどうしても英語よりは (翻訳機ではあっても) この方が良いですね. またあいさつさせていただきます, lifthrasiir です. 明けましておめでとうございます.
私は言語が不自由なので、ご配慮は非常にありがたいです! hitkey です、明けましておめでとうございます!
Angolmois 話ですが... まだバグが多いです. ;_; POOR BGA も支援するのにバグで出なかったです. (d4861a2 で直したが, 変更点を見れば本当に荒唐です.)
#LNTYPE 2
処理はzz
を11
で直せばまともに動きます. 元例題は LN 二つが付いたことで解釈するのに, 実際によく動かないから直したほうがましです.
POOR BGA は for
ループが 1 回足りなかった んですね! #LNTYPE 2
はもしかすると ruv-it! が寛容なだけで、実際の MGQ は 「同じ番号の連続」 に限られる んでしょうか? だとすれば、そっちに合わせるほうが安全ですね・・・ アドバイスありがとうございました! cmds.htm の該当箇所もいずれ直しておきますー
譜面スクロールが変なことはさまざまがあるが基本的に SDL_mixer が正確な時に音を再生させないからだから簡単に直しにくいです.
#WAVxx
を消したら本当にスクロール精度が向上しました・・・ FFmpeg + SDL なる記事を見つけましたが、私は言語的にも技術的にも内容を理解できないので、参考になるかどうかは不明です、ごめんなさい;
bmsplayer_data2010.shtml には PMS 支援になると書いているのに, 事実は再生はなるが 5KEY DP で出ます.
あ、それは for possible PMS support
を私が勘違いして先走った箇所です; たいへん失礼しました!
そして
#BMP
/#WAV
フォーマット支援は Angolmois ではなくて SDL_image / SDL_mixer が支援してくれるのためよく分からないです. (WebP 支援も今度初めて分かりました.)
MP3 が再生できないのは私のコンピュータ環境が汚いのが原因だと思います。 WebP は私も驚きましたが、今後の WebP のバージョンアップ次第では予想外に有力な選択肢になるかもしれません ?_?
その他にもあらゆる問題があるのに, 根本的には Angolmois は ショートコーディング をして作られたんだからそうです. 1.0 final は本当にシュールしますね. (今も自分は 2000 行制限を置いています. それで新しい機能が入って行く前昔のコードが整理されます...)
本来は Angolmois は 1.0 で終わらせて, theseit ということを作ろうとしたが, 多くの OS でまったく同じく動くようにしようとするから多くのことを直接作成しなければならなくてよくできなかったです.
それでまずは Angolmois にだけ集中しようと思います. Github に issue tracker を作ったが, 英語ではあってももし関心あれば訪問してください.
https://github.com/lifthrasiir/angolmois/issues
あ, そして 2010s と書いたこと は完璧な私の間違いです orz
mid-2010s
は Nekokan さんによる日本語訳 における幾つかの注釈のうちのひとつですが、本日さっそく修正されていたので 二人ともヤバいと思いました! 本日版ではもう一箇所、406 行目の by splitting
が by separating
に変更されていましたが、私の英語力では何が違うのか理解できません!#bmp00
/ #xxx06
が表示されないバグが修正されました!README.md
の一部の誤りが修正されました!あ、動画も使える! MPEG1 形式、かつ 256x256 の近似サイズなら再生可能っぽい
#BMPaa a.mpg
#BMPcc c.mpg
#00104:aa0000cc
別々のスロットに複数の動画を定義して使い分けることもできる
bemaniaDX 形式の #STP
が bemaniaDX よりもまともに動作する
#bmp01 excite.jpg
#STP 001.999 2000
#00204:01
#00411:11
この例はスクロール停止後に画像を表示することを期待したもの
しかし、実際はスクロール停止と同時に画像が表示されてしまう (仕方ない気はする)
コマンドや値の区切り文字は 「1 個以上のスペース またはタブ (2013-01: Fixed)」 (タブや全角スペースは不可)
#STP 999.125 100
なども問題なく解釈される
分岐は #RANDOM n
, #SETRANDOM n
, #IF n
, #ELSEIF n
, #ELSE
, #ENDIF
, #ENDRANDOM
をサポート
次の例は ruv-it! では見た目が同一になるが、Angolmois では予想外の結果になる :
#LNTYPE 1 (RDM-type #1) |
#LNTYPE 2 (MGQ-type) |
#LNOBJ zz (RDM-type #2) |
---|---|---|
|
|
|
追記 : これは Angolmois の #LNTYPE 2
の仕様によるもので、「バグ」 ではない
追記 : ただし INTERNALS.md によれば、「互換性がなければこの仕様は変更するかもしれません。」
(This behavior may change if it turned out to be incompatible.
)
#bmp00
や #xxx06
による POOR 画像は表示されないっぽいロングノートは nanasigroove 1 と同じ方式に見える、つまり、
libstdc++-6.dll
が見つからない」 と怒られ、ドロップ起動できなくなった;音声ファイル : 普通の WAV 以外に、Ogg Vorbis, FLAC を再生できる
画像ファイル : BMP 以外に、PNG, GIF, JPEG, TIFF, WebP (!?) を表示できる
アルファチャンネルは含まない (半透明画像をレイヤーにしても、下の画像が透けて見えたりはしない)
追記 : angolmois-028e49caa6bd () にて、アルファチャンネルがサポートされた
MP3 や動画も再生できそうに見えるけど、(きっと自分がコンパイルをしくじったせいで) 再生できてない
.mpg
は再生できた (複数定義して再生することも可能)#BGAxx
は、BMP 以外へも適用可、負数可、区切り文字連射可、#BMP
番号との競合は不可:
Launch failed | Success |
---|---|
|
|
追記 : これは Angolmois の #BGAxx
の仕様によるもので、「バグ」 ではない
01-ZZ
まで問題なく使用できる#BPMxx n
や #STOPxx n
による譜面スクロールの精度が怪しい?
#if 64
とか)DirectSound 初期化時にバッファ設定をしないといけないんで、
4.4k-16bit
という設定にしています。<=:彡
4.4k
とか言ってたが44k
ですね…。<=:彡
44k-16bit
以外の音声が綺麗に再生されないのは仕様」 なのでしょうか?ほっほっほ
#GAU 1
のとき、実際にグルーヴゲージも表示されるようになりました!start.wav
は実行ファイルに組み込まれたようです (音声オフにはできない?)44100Hz - 16bit
でない音声」 が、再生時に明らかにノイズが発生してます・・・README.md
の親切な解説に導かれて、私は MinGW によるコンパイルに成功しました!filename: | from: |
---|---|
angolmois-5e3dedabe29b.zip | http://hg.mearie.org/angolmois/file/5e3dedabe29b |
mingw-get-inst-20120426.exe | https://sourceforge.net/projects/mingw/files/ |
SDL-devel-1.2.15-mingw32.tar.gz | https://www.libsdl.org/download-1.2.php |
SDL_image-devel-1.2.12-VC.zip | https://www.libsdl.org/projects/SDL_image/release-1.2.html |
SDL_mixer-devel-1.2.12-VC.zip | https://www.libsdl.org/projects/SDL_mixer/release-1.2.html |
smpeg.h | http://svn.icculus.org/*checkout*/smpeg/trunk/smpeg.h |
MPEGfilter.h | http://svn.icculus.org/*checkout*/smpeg/trunk/MPEGfilter.h |
mingw-get-inst-20120426.exe を実行する (インストール場所とかは初期値のままで)
Download latest repository catalogues
・・・ よくわかんないけど一応チェックしておくC Compiler
, C++ Compiler
, MinGW Developer ToolKit
は必須なのでチェックしておくMSYS Basic System
は・・・ DevTool に含まれてるらしいけどよくわかんないので一応チェックC:\MinGW
に、以下に挙げるものをコピーする (「すべて上書き」 で問題なし)
C:\MinGW\include
に、以下に挙げる C 言語 ヘッダファイルをコピーする
xxx.h
ファイルC:\MinGW\lib
に、以下のいずれかをコピーする
C:\MinGW\lib\x86
の中身全部をコピーするC:\MinGW\lib\x64
の中身全部をコピーする (たぶん)angolmois-5e3dedabe29b.zip の中の angolmois-5e3dedabe29b フォルダを、適当な場所に展開する
D:\angolmois-20130108
に配置したことにして、話を進めるD:\angolmois-20130108
に、以下に挙げる dll をコピーする
スタート → すべてのプログラム → MinGW → MinGW Shell から、以下のコマンドを入力する
cd /d/angolmois-20130108
make
(angolmois-5e3dedabe29b.zip 版なら、これだけで万事うまくいくはず)
D:\angolmois-20130108\angolmois.exe
が現れていることを確認し、そのまま起動テストする
./angolmois.exe -w
以下のようなエラーが出た場合は、たぶんディレクトリ構成が間違ってる
angolmois.c:29:17: fatal error:SDL.h
: No such file or directory compilation terminated.
スタート → すべてのプログラム → MinGW → MinGW Shell から、
cd /d/angolmois-20130108
でアンゴルモア本体フォルダに移動しておくangolmois -w "/d/bms/yamajet_is_sugoi/foon_5n.bms"
とか指定するangolmois -w "D:\bms\yamajet_is_sugoi\foon_5n.bms"
とかでもいいangolmois -w
なら譜面ファイル選択ダイアログexit
で MinGW Shell を終了README.md
を参照このショートカットのプロパティから、「リンク先」 (Target:) を次のように変更する
C:\WINDOWS\system32\cmd.exe /v:on /q /c for /l %n in (1,1,2) do if %n==2 (for %q in (!x!) do start "" /b /min "D:\angolmois-20130108\angolmois.exe" -w %q) else set x=
(実行ファイルパスとオプションは、自分の都合の良いように適宜変更する)
しかし、譜面のパスに Kanji や Kana が含まれてると、起動に失敗する。。。
「libstdc++-6.dll
が見つからない」 などのエラーが出る場合は、その dll を C:\MinGW\bin
から探して、angolmois.exe の同位にもコピーしておく
#wav[01-SF]
の 1024 種類に制限されていましたが、ついに #wavZZ
をサポート!#STOP
がすげえかっこいいです!PMSee-V ウィンドウが非アクティブのとき、裏で音声が再生されないように変更されてる? (Fixed in v2.1.1)
「譜面エディタから PMSee-V (常に最前面化する設定) を呼んで、流しチェックしながらエディタをスクロール」 みたいな操作ができなくなるので、自分には微妙に不便かも・・・
p{display:inline; transform:skewX(15deg);}
が効いてしまっているmath{display:block;}
が変形しない (内部 CSS による疑似サポートだから?)svg{transform:skewX(-15deg);}
が中途半端に効いてて残像拳わろすol{display:flex;}
で番号が 0
になるのは、いまのところ Firefox のみinline-xxx
、一部 SVG 類{font-style:italic;}
をあてるほうが無難かなーatomic inline-level element
:ここからテスト (ブラウザによっては正常に表示されないけど気にしないでください):
inline-block
inline-flex
inline-
>
table-
+
table-
>
table-
p{display:inline; transform:skewX(15deg);}
p{display:block; transform:skewX(15deg);}
: ここまでテスト
<math>
は inline-block
でも駄目で、block
を適用しないと変形しない ? (Firefox)<ol>
に {display:flex;}
を適用すると、Firefox で番号が全部 0
になる (当然の措置かも){font-family:Meiryo;}
を綺麗に傾けて表示するなら、文字は大きくする必要がありそうSVG による斜体化で気づいた点 :
CSS による斜体化で気づいた点 :
transform
は {display:block;}
にしか効かない?となると、斜体化したいブロックの中に 「斜体がある書体」 が混じってると、ちょっと困るかも
追記 : inline-block
などでインラインボックスを局所的に変形できるので、何も困らない
{ italic + Consolas}
(ここはメイリオ) {transform + italic + Consolas}
(ここはメイリオ) {transform + Consolas}
・・・ あーたしかに見た目が変わるけど、Consolas は元々の斜体がキモいから、あんまり困らなかった
なんとなく開いてみた初期の日記が古いものほどカオスでお茶噴く
何があったのってくらいノリが今とまるで違ってたのね
彼はたぶん、当時でいうところの 「テキストサイト」 を勘違いしてたんでしょう!
pointer-events
も無い SVG Tiny 1.1 の存在意義が不明<title>
でツールチップを出せる (Opera はステータスバーが反応する)<desc>
は <img alt="..." />
的なアクセシブルテキスト<style>
や <script>
が使える (Tiny 1.2 は <script>
のみ?)既定値と CDATA 宣言に注意する (<script type="application/ecmascript">//<![CDATA[
)
text/html
の文書内でこれをやっちゃうとまずいのでは・・・インライン SVG では 注意点がいくつか :
<foreignObject>
の直下は HTML の<title>
は HTML 文書上では<g hidden="hidden">
や <g draggable="true">
はダメ)<style>
」 が剥がれる<use xlink:href="#id" />
を 中クリックすると、新しいタブで開くwidth="100%"
が 機能しない (「ゴムゴムの画像」 とかもできない)Resource interpreted as Document but transferred with MIME type image/svg+xml
Firefox で JavaScript を無効にすると、begin="mouseover"
などのイベント系トリガーが発火しない
(経過時間系、連動系、リピート系などの指定は、js 無効時も動作する (場合もある))
<style>
が剥がれうることを除けば、CSS や js が無効でも動作するOpera は CSS や js が無効でも動作するし、「アニメーションを無効」 で停止させることもできる
SVG は 非対応ブラウザにもテキストが露出する ので、HTML とは別のファイルに分けないと使いづらい
text{display:none;}
や <foreignObject display="none">
など、Lynx から丸見えで残念SVG を別ファイルにして HTML から参照するなら、いまのところ <object>
しかない気がする
<picture>
なら、後方互換性はむしろ高まり、意味的にも適切・・・ なのかなー<object>
のフォールバックを試す<object data="xxx.htm">
/ HTMLObjectElement.contentDocument.defaultView
- IE9: yesgeneric embedded object
に画像特化処理を期待するのは筋違いだけど追記 : Lynx はそもそも外部リソースを取得しない (埋め込み要素は代替テキストに全置換する)