//private void WriteLog(LogLevel arg1, string arg2) //{ //disp?.Invoke(arg2); //} public void InitDriver( string fileName , List <Action <ChipDatum> > oPNAWrite , List <Action <byte[], int, int> > WritePCMData , Action <long, int> oPNAWaitSend , bool notSoundBoard2 , musicDriverInterface.MmlDatum[] mubBuf , bool isLoadADPCM , bool loadADPCMOnly) { List <ChipAction> lca = new List <ChipAction>(); mucomChipAction ca; ca = new mucomChipAction(oPNAWrite[0], null, oPNAWaitSend); lca.Add(ca); ca = new mucomChipAction(oPNAWrite[1], null, null); lca.Add(ca); ca = new mucomChipAction(oPNAWrite[2], WritePCMData[2], null); lca.Add(ca); ca = new mucomChipAction(oPNAWrite[3], WritePCMData[3], null); lca.Add(ca); ca = new mucomChipAction(oPNAWrite[4], null, null); lca.Add(ca); driver.Init( lca //fileName //, oPNAWrite //, WritePCMData //, oPNAWaitSend , mubBuf , null , new object[] { notSoundBoard2 , isLoadADPCM , loadADPCMOnly , fileName }); }
public void InitDriver( string fileName , Action <ChipDatum> OPL4Write , Action <long, int> OPL4WaitSend , musicDriverInterface.MmlDatum[] mdrBuf , ChipRegister chipRegister ) { musicDriverInterface.Log.writeMethod = disp; musicDriverInterface.Log.off = 0; setting = Audio.setting; this.chipRegister = chipRegister; int jumpIndex = -1; if (compiler != null) { CompilerInfo ci = compiler.GetCompilerInfo(); if (ci.jumpClock != -1) { jumpIndex = ci.jumpClock; } } object addtionalMoonDriverDotNETOption = new object[] { fileName,//string srcFile; (Func <string, Stream>)appendFileReaderCallback, Common.SampleRate, jumpIndex }; object[] addOp = new object[] { fileName, //(Func<string, Stream>)appendFileReaderCallback, (double)Common.SampleRate, jumpIndex }; List <ChipAction> lca = new List <ChipAction>(); MoonDriverChipAction ca = new MoonDriverChipAction(OPL4Write); lca.Add(ca); driver.Init( //fileName //, OPL4Write lca , mdrBuf , appendFileReaderCallback //,OPL4WaitSend , addOp ); }
//private void WriteLog(LogLevel arg1, string arg2) //{ //disp?.Invoke(arg2); //} public void InitDriver( string fileName , Action <ChipDatum> oPNAWrite , Action <long, int> oPNAWaitSend , bool notSoundBoard2 , musicDriverInterface.MmlDatum[] mubBuf , bool isLoadADPCM , bool loadADPCMOnly) { driver.Init( fileName , oPNAWrite , oPNAWaitSend , mubBuf , new object[] { notSoundBoard2 , isLoadADPCM , loadADPCMOnly }); }
public void InitDriver( string fileName , Action <ChipDatum> oPNAWrite , Action <long, int> oPNAWaitSend , Func <ChipDatum, int> ppz8Write , Func <ChipDatum, int> ppsdrvWrite , Func <ChipDatum, int> p86Write , bool dummy_NotSoundBoard2 //参照しません , musicDriverInterface.MmlDatum[] mBuf , bool isLoadADPCM , bool loadADPCMOnly , ChipRegister chipRegister , bool isGIMICOPNA) { musicDriverInterface.Log.writeMethod = disp; musicDriverInterface.Log.off = 0; setting = Audio.setting; this.chipRegister = chipRegister; isNRM = setting.pmdDotNET.soundBoard == 0; isSPB = setting.pmdDotNET.soundBoard == 1; isVA = false; usePPS = setting.pmdDotNET.usePPSDRV; usePPZ = setting.pmdDotNET.usePPZ8; this.isGIMICOPNA = isGIMICOPNA; int jumpIndex = -1; if (compiler != null) { CompilerInfo ci = compiler.GetCompilerInfo(); if (ci.jumpClock != -1) { jumpIndex = ci.jumpClock; } } object[] addtionalPMDDotNETOption = new object[] { isLoadADPCM, //bool loadADPCMOnly, //bool setting.pmdDotNET.isAuto, //bool isAUTO; isVA, //bool isNRM, //bool usePPS, //bool usePPZ, //bool isSPB, //bool envPmd, //string[] 環境変数PMD envPmdOpt, //string[] 環境変数PMDOpt fileName, //string srcFile; "", //string PPCFileHeader無視されます(設定不要) (Func <string, Stream>)appendFileReaderCallback, jumpIndex }; string[] addtionalPMDOption = GetPMDOption(); List <ChipAction> lca = new List <ChipAction>(); PMDChipAction ca = new PMDChipAction(oPNAWrite, oPNAWaitSend); lca.Add(ca); driver.Init( lca //fileName //, oPNAWrite //, oPNAWaitSend , mBuf , null //ここのコールバックは未使用 , new object[] { addtionalPMDDotNETOption //PMDDotNET option , addtionalPMDOption // PMD option , ppz8Write , ppsdrvWrite , p86Write }); //AUTO指定の場合に構成が変わるので、構成情報を受け取ってから音量設定を行う isNRM = (bool)addtionalPMDDotNETOption[4]; //4 = isNrm isSPB = (bool)addtionalPMDDotNETOption[7]; //7 = isSPB isVA = (bool)addtionalPMDDotNETOption[3]; //3 = isVA usePPS = (bool)addtionalPMDDotNETOption[5]; //5 = usePPS usePPZ = (bool)addtionalPMDDotNETOption[6]; //6 = usePPZ string[] pmdOptionVol = SetVolume(); ////ユーザーがコマンドラインでDオプションを指定していない場合はpmdVolを適用させる //if (!pmdvolFound && pmdOptionVol != null && pmdOptionVol.Length > 0) //{ // ((PMDDotNET.Driver)driver).resetOption(pmdOptionVol);// //} }