HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0612
qlb関数に大きな引数を渡すには2解決


qlb

リンク

2011/6/12(Sun) 15:37:40|NO.39652

midiapi for HSP3を使って次のようなプログラムを書きました。

#include "midiapi.as"
MidiOpen 3
SendMidiMsg2 0xF042406E08000001F7

このとき、どうやら関数SendMidiMsg2には引数として0x1F7が渡ってしまっているようなのですが、
どうすれば全桁分を引数として渡すことが出来ますか?



この記事に返信する


ひらまる

リンク

2011/6/12(Sun) 15:54:41|NO.39653

自分は詳しくないのでですが
たしかint型の変数に入る最大の値は30億くらいだったと思います。

それを超えると次のビットがオンになって負の数になる? みたいなこともあった気がします。
そして問題なのは、HSPでは整数はint型しか使えないということです。

SendMidiMsg2がどのように使う命令なのかはわかりませんが、
HSPのモジュールとして提供されていて、引数をintで取っている場合、
0xF042406E08000001F7のような大きな値は引数として渡せない可能性があります。

MIDIには詳しくないのですが、引数としてそのような16進数の大きな値が必要ならば、
midiapi.asというモジュールでは、なにかHSPで使うための対策があるのではないでしょうか。
今一度、midiapi.asのマニュアルを読んでみることをおすすめします。



qlb

リンク

2011/6/13(Mon) 21:32:50|NO.39669

その方法で出来ました。ありがとうございます!
というか、ちゃんと読めばSendMidiLongMsgがあるのに気づけましたね…すみません



ONION software Copyright 1997-2021(c) All rights reserved.