| 395 | } |
| 396 | |
| 397 | PolyBLEPNode::PolyBLEPNode(AudioContext & ac) |
| 398 | : AudioScheduledSourceNode(ac, *desc()) |
| 399 | { |
| 400 | m_type = setting("type"); |
| 401 | m_frequency = param("frequency"); |
| 402 | m_amplitude = param("amplitude"); |
| 403 | |
| 404 | m_type->setValueChanged([this]() { |
| 405 | setType(PolyBLEPType(m_type->valueUint32())); |
| 406 | }); |
| 407 | |
| 408 | // An oscillator is always mono. |
| 409 | addOutput(std::unique_ptr<AudioNodeOutput>(new AudioNodeOutput(this, 1))); |
| 410 | |
| 411 | polyblep.reset(new PolyBlepImpl(ac.sampleRate())); |
| 412 | setType(PolyBLEPType::TRIANGLE); |
| 413 | initialize(); |
| 414 | } |
| 415 | |
| 416 | PolyBLEPNode::~PolyBLEPNode() |
| 417 | { |
nothing calls this directly
no test coverage detected