-
-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add more Waveform analysis examples and class documentation #26
Comments
I'm not to familiar with the architecture of processing-docs, but is this just a case of pulling in a file <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<name>Waveform</name>
<category>Sound</category>
<subcategory>Analyzer</subcategory>
<usage>Application</usage>
<example>
<image></image>
<code><![CDATA[
import processing.sound.*;
SoundFile sample;
Waveform waveform;
int samples = 100;
public void setup()
{
size(640, 360);
background(255);
sample = new SoundFile(this, "beat.aiff");
sample.loop();
waveform = new Waveform(this, samples);
waveform.input(sample);
}
public void draw()
{
background(0);
stroke(255);
strokeWeight(2);
noFill();
waveform.analyze();
beginShape();
for(int i = 0; i < samples; i++)
{
vertex(
map(i, 0, samples, 0, width),
map(waveform.data[i], -1, 1, 0, height)
);
}
endShape();
}
]]></code>
</example>
<description><![CDATA[
This is a Waveform analyzer. It returns the waveform of the of an audio stream the moment it is queried with the analyze() method.
]]></description>
<syntax>
</syntax>
<parameters>
</parameters>
<method>
<mname>input()</mname>
<mdescription>Define the audio input for the analyzer</mdescription>
</method>
<method>
<mname>analyze()</mname>
<mdescription>Gets the content of the current audiobuffer from the input source, writes it
into this Waveform's `data` array, and returns it.</mdescription>
</method>
<method>
<mname>stop()</mname>
<mdescription>Stop the analyzer</mdescription>
</method>
<method>
<mname>data</mname>
<mdescription>`float[]` of sample amplitudes between `-1` and `1`</mdescription>
</method>
<constructor>
Waveform(<c>parent</c>)
</constructor>
<cparameter>
<clabel>parent</clabel>
<cdescription>PApplet: typically use "this"</cdescription>
</cparameter>
<returns></returns>
<related>
</related>
<availability>1.0</availability>
<type>Object</type>
<partof>Library</partof>
</root>
|
That looks great, thanks! Yeah this file should go into |
great! Seems weird for me to have put <method>
<mname>data</mname>
<mdescription>`float[]` of sample amplitudes between `-1` and `1`</mdescription>
</method> I couldn't find another instance of a class that has documentation of a member variable / class property, not in the format of the sound library xml files that is. |
Added the XML documentation with processing/processing-docs@bdd2a02, just waiting for one of the regular Processing docs rebuilds then it should be online... |
Why is this still missing in the documentation? |
Hmm not sure why the Waveform page never showed up in the docs, but anyhow the new Processing website (whose documentation is built straight from the JavaDoc instead of the XML files) should be coming out any week now, so not much point fiddling with it now. In the meantime the latest raw JavaDoc documentation for the library is available here: https://processing.github.io/processing-sound/processing/sound/Waveform.html |
Thanks a lot @kevinstadler !! |
With the addition of the Waveform analysis class (see #21 and #22) it would be nice to add another example or two with the same simply waveform visualisation but of different inputs, for example an "OscillatorWaveform" example that's parallel to the "OscillatorSpectrum' one, and also an "AudioInputWaveform" one parallel to the existing "AudioInput" one.
In order for the new class' documentation to show up on the website, the corresponding .xml files also still need to be added to https://github.com/processing/processing-docs/tree/master/content/api_en/LIB_sound
The text was updated successfully, but these errors were encountered: