|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
[commit?] Output for DetectSilence
by nescivi
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message Hiho,
It would be useful to have an output to DetectSilence, so you can also use it as a trigger for some other UGen. It is quite straightforward and I have a test version running. ok to commit? sincerely, Marije Diff for plugin source (class file is appropriately changed too): Index: Source/plugins/FilterUGens.cpp =================================================================== --- Source/plugins/FilterUGens.cpp (revision 7531) +++ Source/plugins/FilterUGens.cpp (working copy) @@ -4254,6 +4254,7 @@ { float thresh = unit->mThresh; int counter = unit->mCounter; + float val; // I thought of a better way to do this... /* @@ -4271,20 +4272,24 @@ } */ float *in = IN(0); + float *out = OUT(0); for (int i=0; i<inNumSamples; ++i) { float val = fabs(*in++); if (val > thresh) { counter = 0; + *out++ = 0.f; break; } else if (counter >= 0) { if (++counter >= unit->mEndCounter) { int doneAction = (int)ZIN0(3); DoneAction(doneAction, unit); - SETCALC(DetectSilence_done); + *out++ = 1.f; +// SETCALC(DetectSilence_done); } } } unit->mCounter = counter; + } _______________________________________________ sc-dev mailing list sc-dev@... http://lists.create.ucsb.edu/mailman/listinfo/sc-dev |
|
|
Re: [commit?] Output for DetectSilence
by ronald kuivila
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message yes!
RJK On May 8, 2008, at 5:15 AM, nescivi wrote: > Hiho, > > It would be useful to have an output to DetectSilence, so you can > also use it > as a trigger for some other UGen. > > It is quite straightforward and I have a test version running. > > ok to commit? > > sincerely, > Marije > > > Diff for plugin source (class file is appropriately changed too): > > Index: Source/plugins/FilterUGens.cpp > =================================================================== > --- Source/plugins/FilterUGens.cpp (revision 7531) > +++ Source/plugins/FilterUGens.cpp (working copy) > @@ -4254,6 +4254,7 @@ > { > float thresh = unit->mThresh; > int counter = unit->mCounter; > + float val; > > // I thought of a better way to do this... > /* > @@ -4271,20 +4272,24 @@ > } > */ > float *in = IN(0); > + float *out = OUT(0); > for (int i=0; i<inNumSamples; ++i) { > float val = fabs(*in++); > if (val > thresh) { > counter = 0; > + *out++ = 0.f; > break; > } else if (counter >= 0) { > if (++counter >= unit->mEndCounter) { > int doneAction = (int)ZIN0(3); > DoneAction(doneAction, unit); > - SETCALC(DetectSilence_done); > + *out++ = 1.f; > +// SETCALC(DetectSilence_done); > } > } > } > unit->mCounter = counter; > + > } > > _______________________________________________ > sc-dev mailing list > sc-dev@... > http://lists.create.ucsb.edu/mailman/listinfo/sc-dev > _______________________________________________ sc-dev mailing list sc-dev@... http://lists.create.ucsb.edu/mailman/listinfo/sc-dev |
|
|
Re: [commit?] Output for DetectSilence
by Dan Stowell
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message Yes, looks like it should extend functionality without changing the
original function. Two queries: * In your diff you do not write any output value when (val<thresh) yet (counter < unit->mEndCounter), i.e. during a silence that isn't long enough yet. You should probably add an "else *out++ = 0.f;" * Should that "break" statement be removed? Dan 2008/5/8 nescivi <nescivi@...>: > Hiho, > > It would be useful to have an output to DetectSilence, so you can also use it > as a trigger for some other UGen. > > It is quite straightforward and I have a test version running. > > ok to commit? > > sincerely, > Marije > > > Diff for plugin source (class file is appropriately changed too): > > Index: Source/plugins/FilterUGens.cpp > =================================================================== > --- Source/plugins/FilterUGens.cpp (revision 7531) > +++ Source/plugins/FilterUGens.cpp (working copy) > @@ -4254,6 +4254,7 @@ > { > float thresh = unit->mThresh; > int counter = unit->mCounter; > + float val; > > // I thought of a better way to do this... > /* > @@ -4271,20 +4272,24 @@ > } > */ > float *in = IN(0); > + float *out = OUT(0); > for (int i=0; i<inNumSamples; ++i) { > float val = fabs(*in++); > if (val > thresh) { > counter = 0; > + *out++ = 0.f; > break; > } else if (counter >= 0) { > if (++counter >= unit->mEndCounter) { > int doneAction = (int)ZIN0(3); > DoneAction(doneAction, unit); > - SETCALC(DetectSilence_done); > + *out++ = 1.f; > +// SETCALC(DetectSilence_done); > } > } > } > unit->mCounter = counter; > + > } > > _______________________________________________ > sc-dev mailing list > sc-dev@... > http://lists.create.ucsb.edu/mailman/listinfo/sc-dev > -- http://www.mcld.co.uk _______________________________________________ sc-dev mailing list sc-dev@... http://lists.create.ucsb.edu/mailman/listinfo/sc-dev |
| Free Forum Powered by Nabble | Forum Help |