@@ -431,6 +431,26 @@ void SensingBlocks::askNextQuestion()
431431 engine->questionAsked ()(question->question );
432432}
433433
434+ IAudioInput *SensingBlocks::audioInput ()
435+ {
436+ return m_audioInput;
437+ }
438+
439+ void SensingBlocks::setAudioInput (IAudioInput *audioInput)
440+ {
441+ m_audioInput = audioInput;
442+ }
443+
444+ IClock *SensingBlocks::clock ()
445+ {
446+ return m_clock;
447+ }
448+
449+ void SensingBlocks::setClock (IClock *clock)
450+ {
451+ m_clock = clock;
452+ }
453+
434454BLOCK_EXPORT bool sensing_touching_mouse (Target *target)
435455{
436456 IEngine *engine = target->engine ();
@@ -556,10 +576,10 @@ BLOCK_EXPORT void sensing_setdragmode(Sprite *sprite, bool draggable)
556576
557577BLOCK_EXPORT double sensing_loudness ()
558578{
559- if (!SensingBlocks::audioInput)
560- SensingBlocks::audioInput = AudioInput::instance ().get ();
579+ if (!SensingBlocks::audioInput () )
580+ SensingBlocks::setAudioInput ( AudioInput::instance ().get () );
561581
562- auto audioLoudness = SensingBlocks::audioInput->audioLoudness ();
582+ auto audioLoudness = SensingBlocks::audioInput () ->audioLoudness ();
563583 return audioLoudness->getLoudness ();
564584}
565585
@@ -773,9 +793,9 @@ BLOCK_EXPORT double sensing_current_second()
773793
774794BLOCK_EXPORT double sensing_dayssince2000 ()
775795{
776- if (!SensingBlocks::clock)
777- SensingBlocks::clock = Clock::instance ().get ();
796+ if (!SensingBlocks::clock () )
797+ SensingBlocks::setClock ( Clock::instance ().get () );
778798
779- auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(SensingBlocks::clock->currentSystemTime ().time_since_epoch ()).count ();
799+ auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(SensingBlocks::clock () ->currentSystemTime ().time_since_epoch ()).count ();
780800 return ms / 86400000.0 - 10957.0 ;
781801}
0 commit comments