@@ -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