GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
別スレッドで藤田様がperlを使わずにWAVデータをスケッチに取り込むLoadBinFile()というマクロをGR-KURUMI用に作成されているのですが、それを流用してGR-CITRUS + IDE for GRでWavMp3pの内蔵ROMデータ再生が可能か試してみたところ、無事再生することが出来ました。(決して、ウェブコンパイラが嫌いという訳では無いのですが、これが出来るようになったら、それはそれで面白そうな気がしましたので、、、)以下の画面コピーはスケッチブックフォルダの下のlibrariesフォルダの下に内蔵ROM版WavMp3pライブラリ(iodefine.hに関してインクルード文のパス調整をしたり、libmad-0.15.1bフォルダのマージをしたり、example\ROMフォルダの追加をしたりしていますが)を置いた場合のものです。実は、最初はIDE for GR内部のhardware\arduino\rx631\librariesフォルダの下に置いて試していた(ライブラリをプリビルドしておくといったビルド高速化の余地が出来る)のですが、別スレッドの雲行き的に躊躇して置き場所を変更しました。(後日zipファイルに固めて投稿するつもりです。でも、内蔵ROM版とSDカード版でWavMp3pライブラリのソースに差があるのが悩ましいですが、、、)なお、GR-KURUMIではGNURL78の__farキーワードの制限(2017/2/28 7:58, 19:22)でinoファイルの他にcファイルも使わなければならないのですが、GR-CITRUSのGNURXでは該当しませんのでinoファイルのみで出来ました。(後日loadbinfile.hやloadwavfile.hはライブラリフォルダヘ移そうかと思っています、、、)ちなみに、スケッチブックフォルダはメニュー[ファイル]→[環境設定]で開く環境設定ダイアログで任意のフォルダを指定することが出来ます。(なお、スケッチブックフォルダの下にsoundsフォルダを作ってあるのは、単なる私のローカルルールです。)
ありがとうございます。反応があるのは嬉しいです。
約 3年前にほゞ同じ方法でバイナリファイルを扱う試みは行っているのですが、その際には反応もなかったので尚更です。
GR-KURUMI/COTTON/ADZUKIではGNURL78の__farキーワードの制限(2017/2/28 7:58, 19:22)でinoファイルの他にcファイルも使わなければならことについて藤田様より「現状の Wavp ライブラリを極力改変せず、追加するマクロを簡単なものとする前提では .c の中で __far を使用するのが善策という考えです。」と返事を頂いていたものの、藤田様と岡宮様のやりとり(2017/2/27 18:13 - 21:33, 2017/2/28 19:33 - 23:17, 2017/3/1 6:32)を読んでいて、どこを落としどころと考えるかとか、どこまでこだわりを持つかとか、そういったことは人それぞれ、だと思いましたのでcファイルを使わずに出来ないものか試行錯誤してみました。その結果、(1)loadwavfile.hファイル中のLoadWavFile()マクロでアセンブラ記述を使用し、かつ、(2)wavp_b2ca.hファイル中で.cファイルか.cppファイル(.inoファイル)かを__cplusplusの定義の有無で判定して__farキーワードが使えない後者の場合に幾つか構造体を併用する、というやり方で、ひとまずcファイルを使わずにinoファイルのみで出来るようになりました。(すみません。GRボードではなく秋月電子さんのR5F100LGAFB変換モジュールで試しました。やり方は以前に投稿したブログの通りです。)スケッチフォルダのsketch_mar02a.inoスケッチフォルダのloadbinfile.hスケッチフォルダのloadwavfile.hWavpライブラリフォルダのwavp_b2ca.hなお、先日のWavMp3pライブラリと同様に、Wavpライブラリはスケッチブックフォルダの下のlibrariesフォルダの下に置き、example\ROMフォルダを追加してみました。