| @@ -24,8 +24,8 @@ | |||||
| /* This component scrolls a continuous waveform showing the audio that's | /* This component scrolls a continuous waveform showing the audio that's | ||||
| coming into whatever audio inputs this object is connected to. | coming into whatever audio inputs this object is connected to. | ||||
| */ | */ | ||||
| class LiveScrollingAudioDisplay : public AudioVisualiserComponent, | |||||
| public AudioIODeviceCallback | |||||
| class LiveScrollingAudioDisplay final : public AudioVisualiserComponent, | |||||
| public AudioIODeviceCallback | |||||
| { | { | ||||
| public: | public: | ||||
| LiveScrollingAudioDisplay() : AudioVisualiserComponent (1) | LiveScrollingAudioDisplay() : AudioVisualiserComponent (1) | ||||
| @@ -38,7 +38,7 @@ struct DSPDemoParameterBase : public ChangeBroadcaster | |||||
| }; | }; | ||||
| //============================================================================== | //============================================================================== | ||||
| struct SliderParameter : public DSPDemoParameterBase | |||||
| struct SliderParameter final : public DSPDemoParameterBase | |||||
| { | { | ||||
| SliderParameter (Range<double> range, double skew, double initialValue, | SliderParameter (Range<double> range, double skew, double initialValue, | ||||
| const String& labelName, const String& suffix = {}) | const String& labelName, const String& suffix = {}) | ||||
| @@ -66,7 +66,7 @@ private: | |||||
| }; | }; | ||||
| //============================================================================== | //============================================================================== | ||||
| struct ChoiceParameter : public DSPDemoParameterBase | |||||
| struct ChoiceParameter final : public DSPDemoParameterBase | |||||
| { | { | ||||
| ChoiceParameter (const StringArray& options, int initialId, const String& labelName) | ChoiceParameter (const StringArray& options, int initialId, const String& labelName) | ||||
| : DSPDemoParameterBase (labelName) | : DSPDemoParameterBase (labelName) | ||||
| @@ -89,11 +89,11 @@ private: | |||||
| }; | }; | ||||
| //============================================================================== | //============================================================================== | ||||
| class AudioThumbnailComponent : public Component, | |||||
| public FileDragAndDropTarget, | |||||
| public ChangeBroadcaster, | |||||
| private ChangeListener, | |||||
| private Timer | |||||
| class AudioThumbnailComponent final : public Component, | |||||
| public FileDragAndDropTarget, | |||||
| public ChangeBroadcaster, | |||||
| private ChangeListener, | |||||
| private Timer | |||||
| { | { | ||||
| public: | public: | ||||
| AudioThumbnailComponent (AudioDeviceManager& adm, AudioFormatManager& afm) | AudioThumbnailComponent (AudioDeviceManager& adm, AudioFormatManager& afm) | ||||
| @@ -217,7 +217,7 @@ private: | |||||
| }; | }; | ||||
| //============================================================================== | //============================================================================== | ||||
| class DemoParametersComponent : public Component | |||||
| class DemoParametersComponent final : public Component | |||||
| { | { | ||||
| public: | public: | ||||
| DemoParametersComponent (const std::vector<DSPDemoParameterBase*>& demoParams) | DemoParametersComponent (const std::vector<DSPDemoParameterBase*>& demoParams) | ||||
| @@ -270,9 +270,9 @@ private: | |||||
| //============================================================================== | //============================================================================== | ||||
| template <class DemoType> | template <class DemoType> | ||||
| struct DSPDemo : public AudioSource, | |||||
| public ProcessorWrapper<DemoType>, | |||||
| private ChangeListener | |||||
| struct DSPDemo final : public AudioSource, | |||||
| public ProcessorWrapper<DemoType>, | |||||
| private ChangeListener | |||||
| { | { | ||||
| DSPDemo (AudioSource& input) | DSPDemo (AudioSource& input) | ||||
| : inputSource (&input) | : inputSource (&input) | ||||
| @@ -327,10 +327,10 @@ struct DSPDemo : public AudioSource, | |||||
| //============================================================================== | //============================================================================== | ||||
| template <class DemoType> | template <class DemoType> | ||||
| class AudioFileReaderComponent : public Component, | |||||
| private TimeSliceThread, | |||||
| private Value::Listener, | |||||
| private ChangeListener | |||||
| class AudioFileReaderComponent final : public Component, | |||||
| private TimeSliceThread, | |||||
| private Value::Listener, | |||||
| private ChangeListener | |||||
| { | { | ||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -496,9 +496,9 @@ public: | |||||
| private: | private: | ||||
| //============================================================================== | //============================================================================== | ||||
| class AudioPlayerHeader : public Component, | |||||
| private ChangeListener, | |||||
| private Value::Listener | |||||
| class AudioPlayerHeader final : public Component, | |||||
| private ChangeListener, | |||||
| private Value::Listener | |||||
| { | { | ||||
| public: | public: | ||||
| AudioPlayerHeader (AudioDeviceManager& adm, | AudioPlayerHeader (AudioDeviceManager& adm, | ||||
| @@ -218,11 +218,7 @@ inline Path getJUCELogoPath() | |||||
| // 0.0 and 1.0 at a random speed | // 0.0 and 1.0 at a random speed | ||||
| struct BouncingNumber | struct BouncingNumber | ||||
| { | { | ||||
| BouncingNumber() | |||||
| : speed (0.0004 + 0.0007 * Random::getSystemRandom().nextDouble()), | |||||
| phase (Random::getSystemRandom().nextDouble()) | |||||
| { | |||||
| } | |||||
| virtual ~BouncingNumber() = default; | |||||
| float getValue() const | float getValue() const | ||||
| { | { | ||||
| @@ -231,10 +227,11 @@ struct BouncingNumber | |||||
| } | } | ||||
| protected: | protected: | ||||
| double speed, phase; | |||||
| double speed = 0.0004 + 0.0007 * Random::getSystemRandom().nextDouble(), | |||||
| phase = Random::getSystemRandom().nextDouble(); | |||||
| }; | }; | ||||
| struct SlowerBouncingNumber : public BouncingNumber | |||||
| struct SlowerBouncingNumber final : public BouncingNumber | |||||
| { | { | ||||
| SlowerBouncingNumber() | SlowerBouncingNumber() | ||||
| { | { | ||||
| @@ -24,8 +24,8 @@ | |||||
| /* This component scrolls a continuous waveform showing the audio that's | /* This component scrolls a continuous waveform showing the audio that's | ||||
| coming into whatever audio inputs this object is connected to. | coming into whatever audio inputs this object is connected to. | ||||
| */ | */ | ||||
| class LiveScrollingAudioDisplay : public AudioVisualiserComponent, | |||||
| public AudioIODeviceCallback | |||||
| class LiveScrollingAudioDisplay final : public AudioVisualiserComponent, | |||||
| public AudioIODeviceCallback | |||||
| { | { | ||||
| public: | public: | ||||
| LiveScrollingAudioDisplay() : AudioVisualiserComponent (1) | LiveScrollingAudioDisplay() : AudioVisualiserComponent (1) | ||||
| @@ -38,7 +38,7 @@ struct DSPDemoParameterBase : public ChangeBroadcaster | |||||
| }; | }; | ||||
| //============================================================================== | //============================================================================== | ||||
| struct SliderParameter : public DSPDemoParameterBase | |||||
| struct SliderParameter final : public DSPDemoParameterBase | |||||
| { | { | ||||
| SliderParameter (Range<double> range, double skew, double initialValue, | SliderParameter (Range<double> range, double skew, double initialValue, | ||||
| const String& labelName, const String& suffix = {}) | const String& labelName, const String& suffix = {}) | ||||
| @@ -66,7 +66,7 @@ private: | |||||
| }; | }; | ||||
| //============================================================================== | //============================================================================== | ||||
| struct ChoiceParameter : public DSPDemoParameterBase | |||||
| struct ChoiceParameter final : public DSPDemoParameterBase | |||||
| { | { | ||||
| ChoiceParameter (const StringArray& options, int initialId, const String& labelName) | ChoiceParameter (const StringArray& options, int initialId, const String& labelName) | ||||
| : DSPDemoParameterBase (labelName) | : DSPDemoParameterBase (labelName) | ||||
| @@ -89,11 +89,11 @@ private: | |||||
| }; | }; | ||||
| //============================================================================== | //============================================================================== | ||||
| class AudioThumbnailComponent : public Component, | |||||
| public FileDragAndDropTarget, | |||||
| public ChangeBroadcaster, | |||||
| private ChangeListener, | |||||
| private Timer | |||||
| class AudioThumbnailComponent final : public Component, | |||||
| public FileDragAndDropTarget, | |||||
| public ChangeBroadcaster, | |||||
| private ChangeListener, | |||||
| private Timer | |||||
| { | { | ||||
| public: | public: | ||||
| AudioThumbnailComponent (AudioDeviceManager& adm, AudioFormatManager& afm) | AudioThumbnailComponent (AudioDeviceManager& adm, AudioFormatManager& afm) | ||||
| @@ -217,7 +217,7 @@ private: | |||||
| }; | }; | ||||
| //============================================================================== | //============================================================================== | ||||
| class DemoParametersComponent : public Component | |||||
| class DemoParametersComponent final : public Component | |||||
| { | { | ||||
| public: | public: | ||||
| DemoParametersComponent (const std::vector<DSPDemoParameterBase*>& demoParams) | DemoParametersComponent (const std::vector<DSPDemoParameterBase*>& demoParams) | ||||
| @@ -270,9 +270,9 @@ private: | |||||
| //============================================================================== | //============================================================================== | ||||
| template <class DemoType> | template <class DemoType> | ||||
| struct DSPDemo : public AudioSource, | |||||
| public ProcessorWrapper<DemoType>, | |||||
| private ChangeListener | |||||
| struct DSPDemo final : public AudioSource, | |||||
| public ProcessorWrapper<DemoType>, | |||||
| private ChangeListener | |||||
| { | { | ||||
| DSPDemo (AudioSource& input) | DSPDemo (AudioSource& input) | ||||
| : inputSource (&input) | : inputSource (&input) | ||||
| @@ -327,10 +327,10 @@ struct DSPDemo : public AudioSource, | |||||
| //============================================================================== | //============================================================================== | ||||
| template <class DemoType> | template <class DemoType> | ||||
| class AudioFileReaderComponent : public Component, | |||||
| private TimeSliceThread, | |||||
| private Value::Listener, | |||||
| private ChangeListener | |||||
| class AudioFileReaderComponent final : public Component, | |||||
| private TimeSliceThread, | |||||
| private Value::Listener, | |||||
| private ChangeListener | |||||
| { | { | ||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -496,9 +496,9 @@ public: | |||||
| private: | private: | ||||
| //============================================================================== | //============================================================================== | ||||
| class AudioPlayerHeader : public Component, | |||||
| private ChangeListener, | |||||
| private Value::Listener | |||||
| class AudioPlayerHeader final : public Component, | |||||
| private ChangeListener, | |||||
| private Value::Listener | |||||
| { | { | ||||
| public: | public: | ||||
| AudioPlayerHeader (AudioDeviceManager& adm, | AudioPlayerHeader (AudioDeviceManager& adm, | ||||
| @@ -218,11 +218,7 @@ inline Path getJUCELogoPath() | |||||
| // 0.0 and 1.0 at a random speed | // 0.0 and 1.0 at a random speed | ||||
| struct BouncingNumber | struct BouncingNumber | ||||
| { | { | ||||
| BouncingNumber() | |||||
| : speed (0.0004 + 0.0007 * Random::getSystemRandom().nextDouble()), | |||||
| phase (Random::getSystemRandom().nextDouble()) | |||||
| { | |||||
| } | |||||
| virtual ~BouncingNumber() = default; | |||||
| float getValue() const | float getValue() const | ||||
| { | { | ||||
| @@ -231,10 +227,11 @@ struct BouncingNumber | |||||
| } | } | ||||
| protected: | protected: | ||||
| double speed, phase; | |||||
| double speed = 0.0004 + 0.0007 * Random::getSystemRandom().nextDouble(), | |||||
| phase = Random::getSystemRandom().nextDouble(); | |||||
| }; | }; | ||||
| struct SlowerBouncingNumber : public BouncingNumber | |||||
| struct SlowerBouncingNumber final : public BouncingNumber | |||||
| { | { | ||||
| SlowerBouncingNumber() | SlowerBouncingNumber() | ||||
| { | { | ||||