mieki256's diary



2021/08/15() [n年前の日記]

#1 [dxruby] bassrbをfiddleを使って動くように修正してみた

_一昨日_昨日 に続けて作業。

DXRuby 利用時、ogg サウンドファイルの再生に利用できるライブラリ bassrb (Bass.rb) を、今時のRuby (3.0.x 等)でも動かせるように fiddle を使って処理するように修正してみた。ライセンスは、オリジナル版に倣って Public Domain ってことで。

_Bass.rb (fiddle使用版。動作には bass.dll が必要)

Ruby 1.8, 1.9 で動かす場合はオリジナル版の処理を通って、Ruby 2.0 以降で動かす場合は fiddle を使って処理するようにしてある。

最新版の bass.dll は、以下から入手できる。

_Un4seen Developments - 2MIDI / BASS / MID2XM / MO3 / XM-EXE / XMPlay

以下の環境で動かして、ogg が再生できることを確認できた。一応、最新版の bass.dll 2.4.16.3 (2021/07/21) をダウンロードして動作確認した。
DXRuby + Bass.rb を利用して ogg を Stream 再生する使用例は以下。ruby ogg_play_stream_bassrb.rb で実行できる。DXRuby のウインドウが開いて、キー入力に応じて再生テストができる。

_ogg_play_stream_bassrb.rb
_loop_bgm.ogg

DXRuby + Bass.rb を利用して ogg を Sample 再生する使用例は以下。ruby ogg_play_sample_bassrb.rb で実行できる。

_ogg_play_sample_bassrb.rb
_jingle.ogg

一応、関連ファイルを全部まとめて zip にして置いておきます。

_ogg_play_with_baserb_20210818.zip
_ogg_play_with_baserb_20210815.zip

ちなみに、bass.dll は、Vox.dll と違って、ogg のループ再生もちゃんと鳴らしてくれる。Vox.dll で再生するとループする時に変な聞こえ方になるけれど、bass.dll は滑らかに(?)ループする。

ただ、bass.dll の商用利用はライセンス料がかかるので注意…。無料で公開する何かしらに添付して使う分にはライセンス料はかからないけれど、おそらく同人ソフトを作って販売する、といった場合にはライセンス料を払うことになるのではないかなと…。たぶん。

2021/08/18追記。 :

Bass.rb の一部の記述でバグってたので修正。

以上です。

過去ログ表示

Prev - 2021/08 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project