cmDspFx.c,cmDspPgm.c: Finalized IntToSym.
This commit is contained in:
parent
77367919b7
commit
b16673bbc0
@ -5772,19 +5772,19 @@ cmDspRC_t _cmDspIntToSym_Recv(cmDspCtx_t* ctx, cmDspInst_t* inst, const cmDspEvt
|
|||||||
{
|
{
|
||||||
cmDspRC_t rc = kOkDspRC;
|
cmDspRC_t rc = kOkDspRC;
|
||||||
cmDspIntToSym_t* p = (cmDspIntToSym_t*)inst;
|
cmDspIntToSym_t* p = (cmDspIntToSym_t*)inst;
|
||||||
unsigned idx = cmInvalidIdx;
|
|
||||||
|
|
||||||
// if an integer arrived at 'in'
|
// if an integer arrived at 'in'
|
||||||
if( evt->dstVarId == kInItsId )
|
if( evt->dstVarId == kInItsId )
|
||||||
{
|
{
|
||||||
|
cmDspSetEvent(ctx,inst,evt);
|
||||||
|
|
||||||
unsigned i;
|
unsigned i;
|
||||||
int intVal = cmDspInt(inst,kInItsId);
|
int intVal = cmDspInt(inst,kInItsId);
|
||||||
|
|
||||||
for(i=0; i<p->symIdCnt; ++i)
|
for(i=0; i<p->symIdCnt; ++i)
|
||||||
if( intVal == p->intArray[i] )
|
if( intVal == p->intArray[i] )
|
||||||
{
|
{
|
||||||
rc = _cmDspIntToSymSendOut( ctx, inst, idx );
|
rc = _cmDspIntToSymSendOut( ctx, inst, i );
|
||||||
idx = i;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5802,9 +5802,7 @@ cmDspRC_t _cmDspIntToSym_Recv(cmDspCtx_t* ctx, cmDspInst_t* inst, const cmDspEvt
|
|||||||
{
|
{
|
||||||
cmDspSetEvent(ctx,inst,evt);
|
cmDspSetEvent(ctx,inst,evt);
|
||||||
|
|
||||||
int x = cmDspInt( inst, evt->dstVarId );
|
p->intArray[ evt->dstVarId - p->baseIntItsId ] = cmDspInt( inst, evt->dstVarId );
|
||||||
printf("%i %i\n", x, p->symIdArray[evt->dstVarId - p->baseIntItsId] );
|
|
||||||
p->intArray[ evt->dstVarId - p->baseIntItsId ] = x;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2909,32 +2909,32 @@ cmDspRC_t _cmDspSysPgm_IntToSym( cmDspSysH_t h, void** userPtrPtr )
|
|||||||
{
|
{
|
||||||
cmDspRC_t rc = kOkDspRC;
|
cmDspRC_t rc = kOkDspRC;
|
||||||
|
|
||||||
inst_t* btn0 = button( "Btn0", 0.0 );
|
inst_t* sel0 = scalar( "Sel0", 0.0, 10.0, 1.0, 1.0 );
|
||||||
inst_t* btn1 = button( "Btn1", 1.0 );
|
inst_t* sel1 = scalar( "Sel1", 0.0, 10.0, 1.0, 1.0 );
|
||||||
inst_t* btn2 = button( "Btn2", 2.0 );
|
inst_t* sel2 = scalar( "Sel2", 0.0, 10.0, 1.0, 1.0 );
|
||||||
|
inst_t* val = scalar( "Val", 0.0, 10.0, 1.0, 1.0 );
|
||||||
|
|
||||||
inst_t* pts = inst( "IntToSym", NULL, 1, "one", 2, "two", 3, "three");
|
inst_t* pts = inst( "IntToSym", NULL, 0, "one", 0, "two", 0, "three");
|
||||||
|
|
||||||
inst_t* pr0 = inst( "Printer", NULL, "btn:" );
|
inst_t* pr0 = inst( "Printer", NULL, "val:" );
|
||||||
inst_t* pr1 = inst( "Printer", NULL, "sym:" );
|
inst_t* pr1 = inst( "Printer", NULL, "sym:" );
|
||||||
inst_t* pr2 = inst( "Printer", NULL, "out:" );
|
inst_t* pr2 = inst( "Printer", NULL, "out:" );
|
||||||
|
|
||||||
// check for allocation errors
|
// check for allocation errors
|
||||||
if((rc = cmDspSysLastRC(h)) != kOkDspRC )
|
if((rc = cmDspSysLastRC(h)) != kOkDspRC )
|
||||||
goto errLabel;
|
goto errLabel;
|
||||||
|
|
||||||
event( btn0, out, pts, one );
|
|
||||||
event( btn1, out, pts, two );
|
|
||||||
event( btn2, out, pts, three );
|
|
||||||
|
|
||||||
event( btn0, out, pr0, in );
|
event( sel0, val, pts, one-int );
|
||||||
event( btn1, out, pr0, in );
|
event( sel1, val, pts, two-int );
|
||||||
event( btn2, out, pr0, in );
|
event( sel2, val, pts, three-int );
|
||||||
|
|
||||||
|
event( val, val, pts, in );
|
||||||
|
event( val, val, pr0, in );
|
||||||
|
|
||||||
event( pts, one, pr1, in );
|
event( pts, one, pr1, in );
|
||||||
event( pts, two, pr1, in );
|
event( pts, two, pr1, in );
|
||||||
event( pts, three, pr1, in );
|
event( pts, three, pr1, in );
|
||||||
|
|
||||||
event( pts, out, pr2, in );
|
event( pts, out, pr2, in );
|
||||||
|
|
||||||
errLabel:
|
errLabel:
|
||||||
|
Loading…
Reference in New Issue
Block a user