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

void  YAC_CALL MIDIPipe__init       (void *, yacmemptr             );
void* YAC_CALL MIDIPipe__getRoot    (void *                        );
void* YAC_CALL MIDIPipe__getPrevUsedPipe(void *                    );
void* YAC_CALL MIDIPipe__getNextUsedPipe(void *                    );
void* YAC_CALL MIDIPipe__getPrevNonEmptyUsedPipe(void *            );
void* YAC_CALL MIDIPipe__getNextNonEmptyUsedPipe(void *            );
sSI   YAC_CALL MIDIPipe__getPipeIdx (void *                        );
sSI   YAC_CALL MIDIPipe__getPipeUsedIdx(void *                     );
void  YAC_CALL MIDIPipe__setName    (void *, yacmemptr             );
void* YAC_CALL MIDIPipe__getName    (void *                        );
void  YAC_CALL MIDIPipe__setRemark  (void *, yacmemptr             );
void* YAC_CALL MIDIPipe__getRemark  (void *                        );
sSI   YAC_CALL MIDIPipe__getNumNodes(void *                        );
void* YAC_CALL MIDIPipe__getFirst   (void *                        );
void* YAC_CALL MIDIPipe__getLast    (void *                        );
void* YAC_CALL MIDIPipe__getNodeByIdx(void *, yacmemptr            );
void  YAC_CALL MIDIPipe__addNode    (void *, yacmemptr             );
sSI   YAC_CALL MIDIPipe__removeNode (void *, yacmemptr             );
void  YAC_CALL MIDIPipe__unlinkNode (void *, yacmemptr, YAC_Value *);
sSI   YAC_CALL MIDIPipe__getState   (void *                        );
void  YAC_CALL MIDIPipe__setState   (void *, yacmemptr             );
sSI   YAC_CALL MIDIPipe__getPresoloState(void *                    );
void  YAC_CALL MIDIPipe__setPresoloState(void *, yacmemptr         );
void  YAC_CALL MIDIPipe__setSoloNode(void *, yacmemptr             );
void* YAC_CALL MIDIPipe__getSoloNode(void *                        );
sSI   YAC_CALL MIDIPipe__isPipeActive(void *                       );
void  YAC_CALL MIDIPipe__saveSoloState(void *                      );
void  YAC_CALL MIDIPipe__restorePreSoloState(void *                );
void  YAC_CALL MIDIPipe__processFrame(void *, yacmemptr            );
void  YAC_CALL MIDIPipe__seek       (void *, yacmemptr             );
void  YAC_CALL MIDIPipe__reset      (void *, yacmemptr             );
sSI   YAC_CALL MIDIPipe__moveUp     (void *                        );
sSI   YAC_CALL MIDIPipe__moveDown   (void *                        );
void  YAC_CALL MIDIPipe__handleSongSpeedChanged(void *             );
void  YAC_CALL MIDIPipe__setLastEditedNodeIdx(void *, yacmemptr    );
sSI   YAC_CALL MIDIPipe__getLastEditedNodeIdx(void *               );

// ------------------ YAC class "MIDIPipe" reflection map (implementation) ------------------
sUI          YAC_VCALL MIDIPipe::yacMemberGetNum                  (void) {return 0;}
const char **YAC_VCALL MIDIPipe::yacMemberGetNames                (void) {return 0;}
const sUI   *YAC_VCALL MIDIPipe::yacMemberGetTypes                (void) {return 0;}
const char **YAC_VCALL MIDIPipe::yacMemberGetObjectTypes          (void) {return 0;}
const sU8  **YAC_VCALL MIDIPipe::yacMemberGetOffsets              (void) {return (const sU8**)0;}
sUI          YAC_VCALL MIDIPipe::yacMethodGetNum                  (void) {return 37;}
const char **YAC_VCALL MIDIPipe::yacMethodGetNames                (void) {static const char *r[]={"operator", "init", "getRoot", "getPrevUsedPipe", "getNextUsedPipe", "getPrevNonEmptyUsedPipe", "getNextNonEmptyUsedPipe", "getPipeIdx", "getPipeUsedIdx", "setName", "getName", "setRemark", "getRemark", "getNumNodes", "getFirst", "getLast", "getNodeByIdx", "addNode", "removeNode", "unlinkNode", "getState", "setState", "getPresoloState", "setPresoloState", "setSoloNode", "getSoloNode", "isPipeActive", "saveSoloState", "restorePreSoloState", "processFrame", "seek", "reset", "moveUp", "moveDown", "handleSongSpeedChanged", "setLastEditedNodeIdx", "getLastEditedNodeIdx"}; return r;}
const sUI   *YAC_VCALL MIDIPipe::yacMethodGetNumParameters        (void) {static const sUI r[]={2, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 3, 1, 1, 0, 0, 0, 1, 0}; return r;}
const sUI  **YAC_VCALL MIDIPipe::yacMethodGetParameterTypes       (void) {static const sUI rt0[]={1,3};static const sUI rt1[]={3,};static const sUI rt2[]={0,};static const sUI rt3[]={0,};static const sUI rt4[]={0,};static const sUI rt5[]={0,};static const sUI rt6[]={0,};static const sUI rt7[]={0,};static const sUI rt8[]={0,};static const sUI rt9[]={3,};static const sUI rt10[]={0,};static const sUI rt11[]={3,};static const sUI rt12[]={0,};static const sUI rt13[]={0,};static const sUI rt14[]={0,};static const sUI rt15[]={0,};static const sUI rt16[]={1,};static const sUI rt17[]={3,};static const sUI rt18[]={3,};static const sUI rt19[]={3,};static const sUI rt20[]={0,};static const sUI rt21[]={1,};static const sUI rt22[]={0,};static const sUI rt23[]={1,};static const sUI rt24[]={3,};static const sUI rt25[]={0,};static const sUI rt26[]={0,};static const sUI rt27[]={0,};static const sUI rt28[]={0,};static const sUI rt29[]={3, 3, 1,};static const sUI rt30[]={1,};static const sUI rt31[]={1,};static const sUI rt32[]={0,};static const sUI rt33[]={0,};static const sUI rt34[]={0,};static const sUI rt35[]={1,};static const sUI rt36[]={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, rt29, rt30, rt31, rt32, rt33, rt34, rt35, rt36}; return r;}
const char***YAC_VCALL MIDIPipe::yacMethodGetParameterObjectTypes (void) {static const char *rs0[]={0,"",};static const char *rs1[]={"MIDIPipeRoot",};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[]={"String",};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[]={(const char*)0,};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[]={"MIDIPipeNode",};static const char *rs19[]={"MIDIPipeNode",};static const char *rs20[]={(const char*)0,};static const char *rs21[]={(const char*)0,};static const char *rs22[]={(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 *rs29[]={"MIDIPipeFrame", "MIDIPipeFrame", (const char*)0,};static const char *rs30[]={(const char*)0,};static const char *rs31[]={(const char*)0,};static const char *rs32[]={(const char*)0,};static const char *rs33[]={(const char*)0,};static const char *rs34[]={(const char*)0,};static const char *rs35[]={(const char*)0,};static const char *rs36[]={(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, rs29, rs30, rs31, rs32, rs33, rs34, rs35, rs36}; return r;}
const sUI   *YAC_VCALL MIDIPipe::yacMethodGetReturnTypes          (void) {static const sUI r[]={4, 0, 3, 3, 3, 3, 3, 1, 1, 0, 3, 0, 3, 1, 3, 3, 3, 0, 1, 4, 1, 0, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1}; return r;}
const char **YAC_VCALL MIDIPipe::yacMethodGetReturnObjectTypes    (void) {static const char *r[]={"", (const char*)0, "MIDIPipeRoot", "MIDIPipe", "MIDIPipe", "MIDIPipe", "MIDIPipe", (const char*)0, (const char*)0, (const char*)0, "String", (const char*)0, "String", (const char*)0, "MIDIPipeNode", "MIDIPipeNode", "MIDIPipeNode", (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, "MIDIPipeNode", (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0, (const char*)0}; return r;}
const void **YAC_VCALL MIDIPipe::yacMethodGetAdr                  (void) {static const void *r[]={(void*)Object__operator, (void*)MIDIPipe__init, (void*)MIDIPipe__getRoot, (void*)MIDIPipe__getPrevUsedPipe, (void*)MIDIPipe__getNextUsedPipe, (void*)MIDIPipe__getPrevNonEmptyUsedPipe, (void*)MIDIPipe__getNextNonEmptyUsedPipe, (void*)MIDIPipe__getPipeIdx, (void*)MIDIPipe__getPipeUsedIdx, (void*)MIDIPipe__setName, (void*)MIDIPipe__getName, (void*)MIDIPipe__setRemark, (void*)MIDIPipe__getRemark, (void*)MIDIPipe__getNumNodes, (void*)MIDIPipe__getFirst, (void*)MIDIPipe__getLast, (void*)MIDIPipe__getNodeByIdx, (void*)MIDIPipe__addNode, (void*)MIDIPipe__removeNode, (void*)MIDIPipe__unlinkNode, (void*)MIDIPipe__getState, (void*)MIDIPipe__setState, (void*)MIDIPipe__getPresoloState, (void*)MIDIPipe__setPresoloState, (void*)MIDIPipe__setSoloNode, (void*)MIDIPipe__getSoloNode, (void*)MIDIPipe__isPipeActive, (void*)MIDIPipe__saveSoloState, (void*)MIDIPipe__restorePreSoloState, (void*)MIDIPipe__processFrame, (void*)MIDIPipe__seek, (void*)MIDIPipe__reset, (void*)MIDIPipe__moveUp, (void*)MIDIPipe__moveDown, (void*)MIDIPipe__handleSongSpeedChanged, (void*)MIDIPipe__setLastEditedNodeIdx, (void*)MIDIPipe__getLastEditedNodeIdx}; return r;}
sUI          YAC_VCALL MIDIPipe::yacConstantGetNum                (void) {return 4;}
const char **YAC_VCALL MIDIPipe::yacConstantGetNames              (void) {static const char*r[]={"MIDIPIPE_STATE_PLAY", "MIDIPIPE_STATE_MUTE", "MIDIPIPE_STATE_SOLO", "NUM_MIDIPIPE_STATES"}; return r;}
const sUI   *YAC_VCALL MIDIPipe::yacConstantGetTypes              (void) {static const sUI r[]={1, 1, 1, 1}; return r;}
yacmemptr    YAC_VCALL MIDIPipe::yacConstantGetValues             (void) {static sUI r[4]; yacmemptr m; m.ui=r; m.si[0]=(sSI)(0u);m.si[1]=(sSI)(1u);m.si[2]=(sSI)(2u);m.si[3]=(sSI)(3u);; return m;}

YAC_C(MIDIPipe, "MIDIPipe");

void  YAC_CALL MIDIPipe__init       (void *_o, yacmemptr _args               ) {if(YAC_BCHK(_args.mem[0].o, clid_MIDIPipeRoot)){ ((MIDIPipe*)_o)->init((MIDIPipeRoot*)_args.mem[0].o);}}
void* YAC_CALL MIDIPipe__getRoot    (void *_o                                ) {return (void*)((MIDIPipe*)_o)->getRoot();}
void* YAC_CALL MIDIPipe__getPrevUsedPipe(void *_o                            ) {return (void*)((MIDIPipe*)_o)->getPrevUsedPipe();}
void* YAC_CALL MIDIPipe__getNextUsedPipe(void *_o                            ) {return (void*)((MIDIPipe*)_o)->getNextUsedPipe();}
void* YAC_CALL MIDIPipe__getPrevNonEmptyUsedPipe(void *_o                    ) {return (void*)((MIDIPipe*)_o)->getPrevNonEmptyUsedPipe();}
void* YAC_CALL MIDIPipe__getNextNonEmptyUsedPipe(void *_o                    ) {return (void*)((MIDIPipe*)_o)->getNextNonEmptyUsedPipe();}
sSI   YAC_CALL MIDIPipe__getPipeIdx (void *_o                                ) {return (sSI)((MIDIPipe*)_o)->getPipeIdx();}
sSI   YAC_CALL MIDIPipe__getPipeUsedIdx(void *_o                             ) {return (sSI)((MIDIPipe*)_o)->getPipeUsedIdx();}
void  YAC_CALL MIDIPipe__setName    (void *_o, yacmemptr _args               ) {if(YAC_BCHK(_args.mem[0].o, YAC_CLID_STRING)){ ((MIDIPipe*)_o)->setName((YAC_String*)_args.mem[0].o);}}
void* YAC_CALL MIDIPipe__getName    (void *_o                                ) {return (void*)((MIDIPipe*)_o)->getName();}
void  YAC_CALL MIDIPipe__setRemark  (void *_o, yacmemptr _args               ) {((MIDIPipe*)_o)->setRemark(_args.mem[0].o);}
void* YAC_CALL MIDIPipe__getRemark  (void *_o                                ) {return (void*)((MIDIPipe*)_o)->getRemark();}
sSI   YAC_CALL MIDIPipe__getNumNodes(void *_o                                ) {return (sSI)((MIDIPipe*)_o)->getNumNodes();}
void* YAC_CALL MIDIPipe__getFirst   (void *_o                                ) {return (void*)((MIDIPipe*)_o)->getFirst();}
void* YAC_CALL MIDIPipe__getLast    (void *_o                                ) {return (void*)((MIDIPipe*)_o)->getLast();}
void* YAC_CALL MIDIPipe__getNodeByIdx(void *_o, yacmemptr _args              ) {return (void*)((MIDIPipe*)_o)->getNodeByIdx(_args.mem[0].si);}
void  YAC_CALL MIDIPipe__addNode    (void *_o, yacmemptr _args               ) {((MIDIPipe*)_o)->addNode(_args.mem[0].o);}
sSI   YAC_CALL MIDIPipe__removeNode (void *_o, yacmemptr _args               ) {if(YAC_BCHK(_args.mem[0].o, clid_MIDIPipeNode)){ return (sSI)((MIDIPipe*)_o)->removeNode((MIDIPipeNode*)_args.mem[0].o);}return 0;}
void  YAC_CALL MIDIPipe__unlinkNode (void *_o, yacmemptr _args, YAC_Value *_r) {if(YAC_BCHK(_args.mem[0].o, clid_MIDIPipeNode)){ ((MIDIPipe*)_o)->unlinkNode((MIDIPipeNode*)_args.mem[0].o, _r);}}
sSI   YAC_CALL MIDIPipe__getState   (void *_o                                ) {return (sSI)((MIDIPipe*)_o)->getState();}
void  YAC_CALL MIDIPipe__setState   (void *_o, yacmemptr _args               ) {((MIDIPipe*)_o)->setState(_args.mem[0].si);}
sSI   YAC_CALL MIDIPipe__getPresoloState(void *_o                            ) {return (sSI)((MIDIPipe*)_o)->getPresoloState();}
void  YAC_CALL MIDIPipe__setPresoloState(void *_o, yacmemptr _args           ) {((MIDIPipe*)_o)->setPresoloState(_args.mem[0].si);}
void  YAC_CALL MIDIPipe__setSoloNode(void *_o, yacmemptr _args               ) {((MIDIPipe*)_o)->setSoloNode(_args.mem[0].o);}
void* YAC_CALL MIDIPipe__getSoloNode(void *_o                                ) {return (void*)((MIDIPipe*)_o)->getSoloNode();}
sSI   YAC_CALL MIDIPipe__isPipeActive(void *_o                               ) {return (sSI)((MIDIPipe*)_o)->isPipeActive();}
void  YAC_CALL MIDIPipe__saveSoloState(void *_o                              ) {((MIDIPipe*)_o)->saveSoloState();}
void  YAC_CALL MIDIPipe__restorePreSoloState(void *_o                        ) {((MIDIPipe*)_o)->restorePreSoloState();}
void  YAC_CALL MIDIPipe__processFrame(void *_o, yacmemptr _args              ) {if(YAC_BCHK(_args.mem[0].o, clid_MIDIPipeFrame))if(YAC_BCHK(_args.mem[1].o, clid_MIDIPipeFrame)){ ((MIDIPipe*)_o)->processFrame((MIDIPipeFrame*)_args.mem[0].o, (MIDIPipeFrame*)_args.mem[1].o, _args.mem[2].si);}}
void  YAC_CALL MIDIPipe__seek       (void *_o, yacmemptr _args               ) {((MIDIPipe*)_o)->seek(_args.mem[0].si);}
void  YAC_CALL MIDIPipe__reset      (void *_o, yacmemptr _args               ) {((MIDIPipe*)_o)->reset(_args.mem[0].si);}
sSI   YAC_CALL MIDIPipe__moveUp     (void *_o                                ) {return (sSI)((MIDIPipe*)_o)->moveUp();}
sSI   YAC_CALL MIDIPipe__moveDown   (void *_o                                ) {return (sSI)((MIDIPipe*)_o)->moveDown();}
void  YAC_CALL MIDIPipe__handleSongSpeedChanged(void *_o                     ) {((MIDIPipe*)_o)->handleSongSpeedChanged();}
void  YAC_CALL MIDIPipe__setLastEditedNodeIdx(void *_o, yacmemptr _args      ) {((MIDIPipe*)_o)->setLastEditedNodeIdx(_args.mem[0].si);}
sSI   YAC_CALL MIDIPipe__getLastEditedNodeIdx(void *_o                       ) {return (sSI)((MIDIPipe*)_o)->getLastEditedNodeIdx();}
