Hi Fabio,

Sorry for the delay, but I think I can help here. You can't change
switch to reevaluate, but you just need to make sure all the
computation is done inside the function passed as a switch predicate,
so that it is performed again next time.

When you write checkTime(11h06m), it corresponds to
check_time(time_in_mod(...)), so it calls time_in_mod, gets a boolean,
passes it to check_time, which returns either {true} or {false}, ie.
tests that never change. (Recall that {true} is fun()->true.)

Also, because you didn't use a ref for count, count>=2 would always be 0+1>=2.

Let's rewrite this:

def checkTime(interval) =
  count=ref(0)
  {
     count:=!count+1
     if !count>=2 then true else false end # or simply (!count >= 2)
  }
end

Right now it doesn't use the interval, but when you make use of it,
access it using interval(), to tell liquidsoap that you don't expect a
bool, but a function returning a bool. Accordingly, call
checkTime({11h06m}) with the braces.

Hope this helps,
-- 
David

------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Cisco Self-Assessment and learn 
about Cisco certifications, training, and career opportunities. 
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to