| 411 | } |
| 412 | |
| 413 | void onKey(sf::Keyboard::Key key) override |
| 414 | { |
| 415 | auto ticks = 0; |
| 416 | |
| 417 | if (key == sf::Keyboard::Key::Down) |
| 418 | ticks = 1; // Forward |
| 419 | else if (key == sf::Keyboard::Key::Up) |
| 420 | ticks = 3; // Reverse |
| 421 | |
| 422 | while (ticks--) |
| 423 | { |
| 424 | switch (m_type) |
| 425 | { |
| 426 | case Type::Sine: |
| 427 | m_type = Type::Square; |
| 428 | m_currentType.setString("Wave Type: Square"); |
| 429 | break; |
| 430 | case Type::Square: |
| 431 | m_type = Type::Triangle; |
| 432 | m_currentType.setString("Wave Type: Triangle"); |
| 433 | break; |
| 434 | case Type::Triangle: |
| 435 | m_type = Type::Sawtooth; |
| 436 | m_currentType.setString("Wave Type: Sawtooth"); |
| 437 | break; |
| 438 | case Type::Sawtooth: |
| 439 | m_type = Type::Sine; |
| 440 | m_currentType.setString("Wave Type: Sine"); |
| 441 | break; |
| 442 | } |
| 443 | } |
| 444 | } |
| 445 | |
| 446 | private: |
| 447 | bool onGetData(sf::SoundStream::Chunk& chunk) override |