Skip to content

kuma4649/MoonDriverDotNET

Repository files navigation

MoonDriverDotNET

MoonDriverの.NET版です。

[概要]
MoonDriverを.NET版に移植したものです。

[機能、特徴]
MoonDriverのコンパイラ、ドライバの機能が使用できます。

[必要な環境]
・Windows7以降のOSがインストールされたPC
・テキストエディタ
・気合と根性

[ご使用の前に]
アーカイブに同梱されているremoveZoneIdent.batを実行し、ゾーン識別子を削除してください。
(ゾーン識別子とは意図せずにダウンロードしたプログラムを実行した際に、動作を抑制するためにファイルに追加される、
セキュリティに関する情報です。意図したダウンロードであっても付加されますので動作に支障がある場合があります。)

[クイックスタート]
コンパイル
同梱のcompile.batにmmlファイル(拡張子は.mdlを推奨)をドロップしてコンパイルを行います。
演奏
同梱のplay.batにmdrファイルをドロップして演奏を行います。
オプションなどの指定は上記のbatファイルを編集して指定してください。
(もちろんコマンドラインから直接指定することもできます。)

[オリジナル版と異なる機能]
コンパイラ
  ・PCMPACKに関する機能

    コンパイル時のオプション  
        -PCMPACK オプション PCMを指定したファイル名でPACKします。  
            書式)  
            -PCMPACK:pcmFileName
                pcmFileName  PCMファイル  
            使用例)  
                -PCMPACK:TEST.PCM  

    .mdlファイル中のmmlとしてのタグ指定  
        #PCMFILE タグ    使用するPCMファイルを指定します。  
            使用例)  
                #PCMFILE TEST.PCM  
            詳細)  
                このタグを指定した.mdlファイルは指定したPCMファイルを使用することを宣言します。  
                コンパイルによって生成された.mdrファイルに、PCMPACK機能によってPCMを同梱しなかった場合は、  
                演奏時にドライバがこのファイル名を参照し、ファイルを読み込みます。  
                後述の#PCMPACKタグによってPCM同梱を指定した場合は、  
                コンパイル時にコンパイラがこのファイル名を参照し、ファイルを読み込み.mdrファイルに同梱します。  
                尚、MoonDriverDotNETではPCMPACKをコンパイルオプションとして指定することが可能です。  
                その場合はオプションで指定したファイル名をPCMファイルとして使用します。  

        #PCMPACK タグ    PCMをPACKするかどうか指定します。  
            書式)  
                #PCMPACK [ ON | OFF ]  
                    ON PACKする  
                    OFF PACKしない(規定値)  
            使用例)  
                #PCMPACK ON  
            詳細)  
                このタグを指定した.mdlファイルはPCMファイルを同梱(PACK)するかどうかを指定します。  
                ONを指定することで同梱します。OFFは同梱しません。  
                同梱を指定することで、コンパイラは指定したPCMファイルの内容(PCMデータ)を.mdrファイルに追加します。  
                演奏時、ドライバは.mdrファイルに同梱したPCMデータを使用するようになり、新たにPCMを読み込みません。  
                尚、MoonDriverDotNETではPCMPACKをコンパイルオプションとして指定することも可能です。  
                その場合はオプションが優先されます。  

    オプション、#PCMFILE、#PCMPACKの指定優先順位
        -PCMPACKオプションを指定すると、コンパイラは#PCMFILE、#PCMPACKタグを無視します。  

[著作権・免責]
MoonDriverDotNETはMITライセンスとします。
著作権は作者が保有しています。
このソフトは無保証であり、このソフトを使用した事による
いかなる損害も作者は一切の責任を負いません。

以下のソフトウェアのソースコードをC#向けに改変し使用しています。
又はコード/dllを使用させていただいております。
これらのソース/バイナリは各著作者が著作権を持ちます。
ライセンスに関しては、各ドキュメントを参照してください。

・moon_driver/mmckc -> ? -> コード参考、移植、改変
・musicDriverInterface -> MIT -> dll動的リンクで使用

[SpecialThanks]
本ツールは以下の方々にお世話になっております。また以下のソフトウェア、ウェブページを参考、使用しています。
・ぼうきち さん
・Manbow-J さん
・ゆみちゃん さん

・moon_driver/mmckc
・Visual Studio Community 2019
・さくらエディター
・NAUDIO
・沢山の素晴らしい音楽データ並びにそのプログラマの方々