Hi Josh,

Examples seem to be for testing the nodes, not separate functions like
RampToValueAtTime or SetValueCurveAtTime from my understanding. So is there
a different type of example that we have to write in order to test our
implementation of SetValueCurveAtTime? The constant_source example just
calls RampToValueAtTime. Can you point us towards some example to the same
that we can make use of? (Which might help us write the example to test
SetValueCurveAtTime specifically).

Maybe if there is an example to test RampToValueAtTime alone?

Thanks,
Akhilesh



On Sat, Mar 23, 2019 at 10:27 PM Josh Bowman-Matthews <j...@joshmatthews.net>
wrote:

> Yes, all of that sounds sensible to me.
>
> Cheers,
> Josh
>
> On 3/23/19 2:12 PM, Akhilesh Venkatasubramanian wrote:
> > Hi Josh,
> >
> > Thank you for the reply. It clarifies a lot of doubts.
> >
> > 1. Just checking if we have got the entire idea for the first task right:
> >
> > So what we have to do is uncomment the line 277 in param.rs
> > <
> https://github.com/servo/media/blob/1c4a8917a2c44bf9901dcf41919ec567967a36de/audio/src/param.rs#L277
> >
> > and
> > then add a new enum variant to AutomationEvent and write the processing
> > algorithm as defined here
> > <
> https://webaudio.github.io/web-audio-api/#dom-audioparam-setvaluecurveattime
> >
> > for
> > SetValueCurveAtTime and implement it similar to the RampValueAtTime
> > <
> https://github.com/servo/media/blob/1c4a8917a2c44bf9901dcf41919ec567967a36de/audio/src/param.rs#L384-L405
> >
> >   implementation?
> >
> > 2. For the 2nd part which is the example, I came across the
> > constant_source.rs
> > <
> https://github.com/servo/media/blob/029475e1412d97c6350016d9a9db7c1f1203b523/examples/constant_source.rs
> >
> > file
> > that uses the RampValueAtTime
> > <
> https://github.com/servo/media/blob/1c4a8917a2c44bf9901dcf41919ec567967a36de/audio/src/param.rs#L384-L405
> >,
> > so can I write a similar example to check the output of the
> > SetValueCurveAtTime function that we will be adding to param.rs? I'm
> > assuming we will also be expecting an audio output.
> >
> > Thanks for your patience and helping us out,
> > Akhilesh
> >
> >
> > On Fri, Mar 22, 2019 at 10:52 PM Josh Bowman-Matthews <
> j...@joshmatthews.net>
> > wrote:
> >
> >> On 3/22/19 5:58 PM, Balaji Janakarajan Hari wrote:
> >>> Hi Josh
> >>>
> >>> 1. We are trying to implement the functionality and have a few q's. The
> >>> setValueCurveAtTime
> >>> <
> >>
> http://definitelytyped.org/docs/webaudioapi--waa/interfaces/audioparam.html#setvaluecurveattime
> >>>
> >>> talks
> >>> about Automation event, which I assume that the term
> >>> *UserAutomationEvent *refers
> >>> to in the issue <https://github.com/servo/media/issues/204> but could
> >> you
> >>> please help us understand what *UserAutomationEvent exactly* does and
> >> where
> >>> the *setValueCurveAtTime *fn would be called?
> >>
> >> The names I refer to in the issue are types that can be found in the
> >> actual codebase:
> >>
> >>
> https://github.com/servo/media/blob/9d9f557fc7bfa78075b83edd822557548c9d4344/audio/src/param.rs#L259-L280
> >>
> >>
> >>
> https://github.com/web-platform-tests/wpt/blob/master/webaudio/the-audio-api/the-audioparam-interface/audioparam-setValueCurveAtTime.html
> >> is an example of test code that uses setValueCurveAtTime.
> >>
> >>
> https://developer.mozilla.org/en-US/docs/Web/API/AudioParam/setValueCurveAtTime
> >> contains an example of working code that uses the API.
> >>
> >>> 2. Is there a similar implementation done previously that we could use
> as
> >>> reference as well?
> >>
> >> The existing automation events like SetValueAtTime and RampToValueAtTime
> >> could be useful references.
> >>
> >>> 3. It does refer
> >>> <
> >>
> https://webaudio.github.io/web-audio-api/#dom-audioparam-setvaluecurveattime
> >>> that
> >>> I would need to call *setValueAtTime *and I assume this is implemented
> >>> <
> >>
> https://github.com/servo/media/search?q=setValueAtTime&unscoped_q=setValueAtTime
> >>>
> >>> as I see here and can you also let us know where the  *setValueAtTime*
> >> is
> >>> defined?
> >>
> >> If I understand the question, I believe you are looking for
> >> https://github.com/servo/servo/issues/22897 which defines the DOM API
> >> that websites can make use of.
> >>
> >>> 4. The fn does two commands as per the teams understanding,
> >>> During the time interval, it sets array of values
> >>> After the time, startTime+duration, a constant value would be set until
> >>> another automationEvent starts.
> >>
> >>> So could you please help us in figuring out where would this value be
> >>> passed and where/how the fn knows that another automationEvent would
> >> start?
> >>
> >> The processing for automation events happens in this code:
> >>
> >>
> https://github.com/servo/media/blob/9d9f557fc7bfa78075b83edd822557548c9d4344/audio/src/param.rs#L357-L416
> >>
> >> The code that decides which event to process lives here:
> >>
> >>
> https://github.com/servo/media/blob/9d9f557fc7bfa78075b83edd822557548c9d4344/audio/src/param.rs#L113-L166
> >>
> >> Does that help?
> >>
> >> Cheers,
> >> Josh
> >> _______________________________________________
> >> dev-servo mailing list
> >> dev-servo@lists.mozilla.org
> >> https://lists.mozilla.org/listinfo/dev-servo
> >>
>
> _______________________________________________
> dev-servo mailing list
> dev-servo@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-servo
>
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to