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


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0330
mizuMIDIを自前で解析して再生したい!12未解決


mizu

リンク

2016/3/30(Wed) 13:21:07|NO.75120

mciとかmmloadなどを使わずにpeekとかを使用してmidiを解析して再生することは
可能ですか? バイナリとかあまり分からないので、サンプルお願いします!



この記事に返信する


kanamaru

リンク

2016/3/30(Wed) 14:05:08|NO.75121

できなくもないですが、
なぜ自前で解析して再生したいのですか?



mizu

リンク

2016/3/30(Wed) 14:14:49|NO.75122

なんか、すごくかっこいいからです!



tds12

リンク

2016/3/30(Wed) 17:47:05|NO.75123

HSP2.6時代のものですが、
「HSPあるいはCでSMFをつくる」というサイトがあります。
参考になるかもしれません。



mizu

リンク

2016/3/30(Wed) 18:00:48|NO.75124

tds12様、ありがとうございます。
なんとなく分かった気がしますが...



kanamaru

リンク

2016/3/30(Wed) 19:17:36|NO.75125

調べてみたら、
http://www.placeark.com/program_hsp_module_file/module_smfplayer.hsp
というのがありました。
hsp3用なので、問題なく使えると思います。



mizu

リンク

2016/3/30(Wed) 19:26:00|NO.75126

すごく長いですね...
これって自分のソフトウェアに使っていいんでしょうか?



tds12

リンク

2016/3/30(Wed) 19:42:12|NO.75128

>これって自分のソフトウェアに使っていいんでしょうか?

http://www.placeark.com/program_hsp_module.html
だそうです。



mizu

リンク

2016/3/30(Wed) 19:48:17|NO.75129

短くなりませんかね...
単にMCIやmmloadを使わずに再生できればいいんです...(なんかすみません)



kanamaru

リンク

2016/3/30(Wed) 19:54:41|NO.75130

短くしたいと思ったらダメだと思います。
というより、自前で解析したいと言ってる時点で、
プログラムが長くなるのは覚悟しないとダメです。
少なくとも、
peekではなく、lpeekが使えそう部分が1箇所あるので、
lpeekに書き換えると、少しだけ短くなると思います。
試してないので、書き換えた後の動作は保証できませんが。



tds12

リンク

2016/3/30(Wed) 20:11:42|NO.75131

単にmciを使わずに再生したい(解析は目的ではない)なら、
例のモジュールを#includeして

dialog ,16 SMFP_SET refstr SMFP_PLAYINIT repeat SMFP_PLAY await 3 loop
↑程度のスクリプトで解決できます。



mizu

リンク

2016/3/30(Wed) 20:31:24|NO.75133

ありがとうございます。
モジュール自体を短くしたいです...



SOU1

リンク

2016/3/31(Thu) 05:15:02|NO.75138

おーぷんMIDIぷろじぇくとの各種dllをhspから利用する事が可能ですが、
「モジュールが短くなる」としても「同梱されるdllファイル容量が大き」くなっただけですね。

凝った使い方を想定せず、ただ再生をしたいだけなのであれば
それを最も簡単に達成する為にMCIやmmloadがある、という事を理解したほうが良いかと思います。
上記なたで氏のモジュールはmidiファイルを(ぼちぼち)解析するにはかなり短いソースかと。

これらを利用したくない理由次第かと思うのですが、
「ソースの見た目的にこれらを利用したくない」というのであればもう

#define MCI mplay
とでもしてしまったほうが簡単ですよ。



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