// ---- ying_midipipe_MIDIPipeRoot.cpp: auto generated by YInG - the YAC interface generator (Thu, 30/May/2019 11:34:54)

void  YAC_CALL MIDIPipeRoot__allocDeviceSlots(void *, yacmemptr    );
sSI   YAC_CALL MIDIPipeRoot__getMaxDevices(void *                  );
void* YAC_CALL MIDIPipeRoot__allocDevice(void *, yacmemptr         );
void* YAC_CALL MIDIPipeRoot__getDeviceByIdx(void *, yacmemptr      );
void  YAC_CALL MIDIPipeRoot__freeDevices(void *                    );
void  YAC_CALL MIDIPipeRoot__allocPipeSlots(void *, yacmemptr      );
sSI   YAC_CALL MIDIPipeRoot__getMaxPipes(void *                    );
sSI   YAC_CALL MIDIPipeRoot__getNumPipes(void *                    );
void* YAC_CALL MIDIPipeRoot__allocPipe(void *, yacmemptr           );
void* YAC_CALL MIDIPipeRoot__getPipeByIdx(void *, yacmemptr        );
void* YAC_CALL MIDIPipeRoot__getPipeByUsedIdx(void *, yacmemptr    );
void  YAC_CALL MIDIPipeRoot__freePipes(void *                      );
void  YAC_CALL MIDIPipeRoot__freePipe(void *, yacmemptr            );
sSI   YAC_CALL MIDIPipeRoot__findFirstUnusedIdx(void *             );
sSI   YAC_CALL MIDIPipeRoot__findFirstUsedIdx(void *               );
sSI   YAC_CALL MIDIPipeRoot__findLastUsedIdx(void *                );
void  YAC_CALL MIDIPipeRoot__setSoloPipe(void *, yacmemptr         );
void* YAC_CALL MIDIPipeRoot__getSoloPipe(void *                    );
void  YAC_CALL MIDIPipeRoot__resetAllAndEmit(void *                );
void  YAC_CALL MIDIPipeRoot__emitAutoNoteOffs(void *               );
void  YAC_CALL MIDIPipeRoot__processAllPipesAndEmit(void *, yacmemptr);
void  YAC_CALL MIDIPipeRoot__seek   (void *, yacmemptr             );
void  YAC_CALL MIDIPipeRoot__reset  (void *, yacmemptr             );
void  YAC_CALL MIDIPipeRoot__clearMIDICache(void *                 );
void  YAC_CALL MIDIPipeRoot__clearMIDICacheForDev(void *, yacmemptr);
void* YAC_CALL MIDIPipeRoot__uiGetPipeBeforeIdx(void *, yacmemptr  );
void* YAC_CALL MIDIPipeRoot__uiGetPipeAfterIdx(void *, yacmemptr   );
void  YAC_CALL MIDIPipeRoot__handleSongSpeedChanged(void *         );

// ------------------ YAC class "MIDIPipeRoot" reflection map (implementation) ------------------
sUI          YAC_VCALL MIDIPipeRoot::yacMemberGetNum                  (void) {return 0;}
const char **YAC_VCALL MIDIPipeRoot::yacMemberGetNames                (void) {return 0;}
const sUI   *YAC_VCALL MIDIPipeRoot::yacMemberGetTypes                (void) {return 0;}
const char **YAC_VCALL MIDIPipeRoot::yacMemberGetObjectTypes          (void) {return 0;}
const sU8  **YAC_VCALL MIDIPipeRoot::yacMemberGetOffsets              (void) {return (const sU8**)0;}
sUI          YAC_VCALL MIDIPipeRoot::yacMethodGetNum                  (void) {return 29;}
const char **YAC_VCALL MIDIPipeRoot::yacMethodGetNames                (void) {static const char *r[]={"operator", "allocDeviceSlots", "getMaxDevices", "allocDevice", "getDeviceByIdx", "freeDevices", "allocPipeSlots", "getMaxPipes", "getNumPipes", "allocPipe", "getPipeByIdx", "getPipeByUsedIdx", "freePipes", "freePipe", "findFirstUnusedIdx", "findFirstUsedIdx", "findLastUsedIdx", "setSoloPipe", "getSoloPipe", "resetAllAndEmit", "emitAutoNoteOffs", "processAllPipesAndEmit", "seek", "reset", "clearMIDICache", "clearMIDICacheForDev", "uiGetPipeBeforeIdx", "uiGetPipeAfterIdx", "handleSongSpeedChanged"}; return r;}
const sUI   *YAC_VCALL MIDIPipeRoot::yacMethodGetNumParameters        (void) {static const sUI r[]={2, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 4, 2, 1, 0, 1, 1, 1, 0}; return r;}
const sUI  **YAC_VCALL MIDIPipeRoot::yacMethodGetParameterTypes       (void) {static const sUI rt0[]={1,3};static const sUI rt1[]={1,};static const sUI rt2[]={0,};static const sUI rt3[]={1,};static const sUI rt4[]={1,};static const sUI rt5[]={0,};static const sUI rt6[]={1,};static const sUI rt7[]={0,};static const sUI rt8[]={0,};static const sUI rt9[]={1,};static const sUI rt10[]={1,};static const sUI rt11[]={1,};static const sUI rt12[]={0,};static const sUI rt13[]={3,};static const sUI rt14[]={0,};static const sUI rt15[]={0,};static const sUI rt16[]={0,};static const sUI rt17[]={3,};static const sUI rt18[]={0,};static const sUI rt19[]={0,};static const sUI rt20[]={0,};static const sUI rt21[]={3, 3, 3, 1,};static const sUI rt22[]={1, 1,};static const sUI rt23[]={1,};static const sUI rt24[]={0,};static const sUI rt25[]={1,};static const sUI rt26[]={1,};static const sUI rt27[]={1,};static const sUI rt28[]={0,};static const sUI *r[]={rt0, rt1, rt2, rt3, rt4, rt5, rt6, rt7, rt8, rt9, rt10, rt11, rt12, rt13, rt14, rt15, rt16, rt17, rt18, rt19, rt20, rt21, rt22, rt23, rt24, rt25, rt26, rt27, rt28}; return r;}
const char***YAC_VCALL MIDIPipeRoot::yacMethodGetParameterObjectTypes (void) {static const char *rs0[]={0,"",};static const char *rs1[]={(const char*)0,};static const char *rs2[]={(const char*)0,};static const char *rs3[]={(const char*)0,};static const char *rs4[]={(const char*)0,};static const char *rs5[]={(const char*)0,};static const char *rs6[]={(const char*)0,};static const char *rs7[]={(const char*)0,};static const char *rs8[]={(const char*)0,};static const char *rs9[]={(const char*)0,};static const char *rs10[]={(const char*)0,};static const char *rs11[]={(const char*)0,};static const char *rs12[]={(const char*)0,};static const char *rs13[]={"MIDIPipe",};static const char *rs14[]={(const char*)0,};static const char *rs15[]={(const char*)0,};static const char *rs16[]={(const char*)0,};static const char *rs17[]={(const char*)0,};static const char *rs18[]={(const char*)0,};static const char *rs19[]={(const char*)0,};static const char *rs20[]={(const char*)0,};static const char *rs21[]={"MIDIPipeFrame", "MIDIPipeFrame", "MIDIPipeFrame", (const char*)0,};static const char *rs22[]={(const char*)0, (const char*)0,};static const char *rs23[]={(const char*)0,};static const char *rs24[]={(const char*)0,};static const char *rs25[]={(const char*)0,};static const char *rs26[]={(const char*)0,};static const char *rs27[]={(const char*)0,};static const char *rs28[]={(const char*)0,};static const char**r[]={rs0, rs1, rs2, rs3, rs4, rs5, rs6, rs7, rs8, rs9, rs10, rs11, rs12, rs13, rs14, rs15, rs16, rs17, rs18, rs19, rs20, rs21, rs22, rs23, rs24, rs25, rs26, rs27, rs28}; return r;}
const sUI   *YAC_VCALL MIDIPipeRoot::yacMethodGetReturnTypes          (void) {static const sUI r[]={4, 0, 1, 3, 3, 0, 0, 1, 1, 3, 3, 3, 0, 0, 1, 1, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0}; return r;}
const char **YAC_VCALL MIDIPipeRoot::yacMethodGetReturnObjectTypes    (void) {static const char *r[]={"", (const char*)0, (const char*)0, "MIDIPipeDevice", "MIDIPipeDevice", (const char*)0, (const char*)0, (const char*)0, (const char*)0, "MIDIPipe", "MIDIPipe", "MIDIPipe", (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, "MIDIPipe", (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, "MIDIPipe", "MIDIPipe", (const char*)0}; return r;}
const void **YAC_VCALL MIDIPipeRoot::yacMethodGetAdr                  (void) {static const void *r[]={(void*)Object__operator, (void*)MIDIPipeRoot__allocDeviceSlots, (void*)MIDIPipeRoot__getMaxDevices, (void*)MIDIPipeRoot__allocDevice, (void*)MIDIPipeRoot__getDeviceByIdx, (void*)MIDIPipeRoot__freeDevices, (void*)MIDIPipeRoot__allocPipeSlots, (void*)MIDIPipeRoot__getMaxPipes, (void*)MIDIPipeRoot__getNumPipes, (void*)MIDIPipeRoot__allocPipe, (void*)MIDIPipeRoot__getPipeByIdx, (void*)MIDIPipeRoot__getPipeByUsedIdx, (void*)MIDIPipeRoot__freePipes, (void*)MIDIPipeRoot__freePipe, (void*)MIDIPipeRoot__findFirstUnusedIdx, (void*)MIDIPipeRoot__findFirstUsedIdx, (void*)MIDIPipeRoot__findLastUsedIdx, (void*)MIDIPipeRoot__setSoloPipe, (void*)MIDIPipeRoot__getSoloPipe, (void*)MIDIPipeRoot__resetAllAndEmit, (void*)MIDIPipeRoot__emitAutoNoteOffs, (void*)MIDIPipeRoot__processAllPipesAndEmit, (void*)MIDIPipeRoot__seek, (void*)MIDIPipeRoot__reset, (void*)MIDIPipeRoot__clearMIDICache, (void*)MIDIPipeRoot__clearMIDICacheForDev, (void*)MIDIPipeRoot__uiGetPipeBeforeIdx, (void*)MIDIPipeRoot__uiGetPipeAfterIdx, (void*)MIDIPipeRoot__handleSongSpeedChanged}; return r;}
sUI          YAC_VCALL MIDIPipeRoot::yacConstantGetNum                (void) {return 0;}
const char **YAC_VCALL MIDIPipeRoot::yacConstantGetNames              (void) {static const char*r[]={""}; return r;}
const sUI   *YAC_VCALL MIDIPipeRoot::yacConstantGetTypes              (void) {static const sUI r[]={0}; return r;}
yacmemptr    YAC_VCALL MIDIPipeRoot::yacConstantGetValues             (void) {static sUI r[]={0,};yacmemptr m; m.ui=(sUI*)r; return m;}

YAC_C(MIDIPipeRoot, "MIDIPipeRoot");

void  YAC_CALL MIDIPipeRoot__allocDeviceSlots(void *_o, yacmemptr _args      ) {((MIDIPipeRoot*)_o)->allocDeviceSlots(_args.mem[0].si);}
sSI   YAC_CALL MIDIPipeRoot__getMaxDevices(void *_o                          ) {return (sSI)((MIDIPipeRoot*)_o)->getMaxDevices();}
void* YAC_CALL MIDIPipeRoot__allocDevice(void *_o, yacmemptr _args           ) {return (void*)((MIDIPipeRoot*)_o)->allocDevice(_args.mem[0].si);}
void* YAC_CALL MIDIPipeRoot__getDeviceByIdx(void *_o, yacmemptr _args        ) {return (void*)((MIDIPipeRoot*)_o)->getDeviceByIdx(_args.mem[0].si);}
void  YAC_CALL MIDIPipeRoot__freeDevices(void *_o                            ) {((MIDIPipeRoot*)_o)->freeDevices();}
void  YAC_CALL MIDIPipeRoot__allocPipeSlots(void *_o, yacmemptr _args        ) {((MIDIPipeRoot*)_o)->allocPipeSlots(_args.mem[0].si);}
sSI   YAC_CALL MIDIPipeRoot__getMaxPipes(void *_o                            ) {return (sSI)((MIDIPipeRoot*)_o)->getMaxPipes();}
sSI   YAC_CALL MIDIPipeRoot__getNumPipes(void *_o                            ) {return (sSI)((MIDIPipeRoot*)_o)->getNumPipes();}
void* YAC_CALL MIDIPipeRoot__allocPipe(void *_o, yacmemptr _args             ) {return (void*)((MIDIPipeRoot*)_o)->allocPipe(_args.mem[0].si);}
void* YAC_CALL MIDIPipeRoot__getPipeByIdx(void *_o, yacmemptr _args          ) {return (void*)((MIDIPipeRoot*)_o)->getPipeByIdx(_args.mem[0].si);}
void* YAC_CALL MIDIPipeRoot__getPipeByUsedIdx(void *_o, yacmemptr _args      ) {return (void*)((MIDIPipeRoot*)_o)->getPipeByUsedIdx(_args.mem[0].si);}
void  YAC_CALL MIDIPipeRoot__freePipes(void *_o                              ) {((MIDIPipeRoot*)_o)->freePipes();}
void  YAC_CALL MIDIPipeRoot__freePipe(void *_o, yacmemptr _args              ) {if(YAC_BCHK(_args.mem[0].o, clid_MIDIPipe)){ ((MIDIPipeRoot*)_o)->freePipe((MIDIPipe*)_args.mem[0].o);}}
sSI   YAC_CALL MIDIPipeRoot__findFirstUnusedIdx(void *_o                     ) {return (sSI)((MIDIPipeRoot*)_o)->findFirstUnusedIdx();}
sSI   YAC_CALL MIDIPipeRoot__findFirstUsedIdx(void *_o                       ) {return (sSI)((MIDIPipeRoot*)_o)->findFirstUsedIdx();}
sSI   YAC_CALL MIDIPipeRoot__findLastUsedIdx(void *_o                        ) {return (sSI)((MIDIPipeRoot*)_o)->findLastUsedIdx();}
void  YAC_CALL MIDIPipeRoot__setSoloPipe(void *_o, yacmemptr _args           ) {((MIDIPipeRoot*)_o)->setSoloPipe(_args.mem[0].o);}
void* YAC_CALL MIDIPipeRoot__getSoloPipe(void *_o                            ) {return (void*)((MIDIPipeRoot*)_o)->getSoloPipe();}
void  YAC_CALL MIDIPipeRoot__resetAllAndEmit(void *_o                        ) {((MIDIPipeRoot*)_o)->resetAllAndEmit();}
void  YAC_CALL MIDIPipeRoot__emitAutoNoteOffs(void *_o                       ) {((MIDIPipeRoot*)_o)->emitAutoNoteOffs();}
void  YAC_CALL MIDIPipeRoot__processAllPipesAndEmit(void *_o, yacmemptr _args) {if(YAC_BCHK(_args.mem[0].o, clid_MIDIPipeFrame))if(YAC_BCHK(_args.mem[1].o, clid_MIDIPipeFrame))if(YAC_BCHK(_args.mem[2].o, clid_MIDIPipeFrame)){ ((MIDIPipeRoot*)_o)->processAllPipesAndEmit((MIDIPipeFrame*)_args.mem[0].o, (MIDIPipeFrame*)_args.mem[1].o, (MIDIPipeFrame*)_args.mem[2].o, _args.mem[3].si);}}
void  YAC_CALL MIDIPipeRoot__seek   (void *_o, yacmemptr _args               ) {((MIDIPipeRoot*)_o)->seek(_args.mem[0].si, _args.mem[1].si);}
void  YAC_CALL MIDIPipeRoot__reset  (void *_o, yacmemptr _args               ) {((MIDIPipeRoot*)_o)->reset(_args.mem[0].si);}
void  YAC_CALL MIDIPipeRoot__clearMIDICache(void *_o                         ) {((MIDIPipeRoot*)_o)->clearMIDICache();}
void  YAC_CALL MIDIPipeRoot__clearMIDICacheForDev(void *_o, yacmemptr _args  ) {((MIDIPipeRoot*)_o)->clearMIDICacheForDev(_args.mem[0].si);}
void* YAC_CALL MIDIPipeRoot__uiGetPipeBeforeIdx(void *_o, yacmemptr _args    ) {return (void*)((MIDIPipeRoot*)_o)->uiGetPipeBeforeIdx(_args.mem[0].si);}
void* YAC_CALL MIDIPipeRoot__uiGetPipeAfterIdx(void *_o, yacmemptr _args     ) {return (void*)((MIDIPipeRoot*)_o)->uiGetPipeAfterIdx(_args.mem[0].si);}
void  YAC_CALL MIDIPipeRoot__handleSongSpeedChanged(void *_o                 ) {((MIDIPipeRoot*)_o)->handleSongSpeedChanged();}
