Nonlooping Sounds

#VRML V2.0 utf8

Sound { 
   spatialize FALSE minFront 100 maxFront 100 minBack 100 maxBack 100
   source DEF CLIP AudioClip { url "Sounds/glass.wav" } 
}

DEF ALARM TimeSensor {}

Transform {
   translation -2 0 0
   children [
      DEF TOUCH TouchSensor {}
      DEF SWITCH Switch {
	 whichChoice 0
	 choice [
	    Shape { geometry Text { string "Click me" } }
	   ]
      }
     ]
}


DEF SCRIPT Script {
   eventIn SFTime go
   eventIn SFTime cycleTime
   eventOut SFTime alarmTime
   eventOut SFFloat pitch
   eventOut SFInt32 choice
   field SFBool first TRUE
   url "vrmlscript:

function go(val) {
   alarmTime = val + .5;
   choice = -1;
}

function cycleTime(val) {
   if(first) {
      first = FALSE;
   }
   else {
      alarmTime = val + 1 + Math.random() * 3;
      pitch = 1 + Math.random();
      first = TRUE;
   }
}

"
}

ROUTE TOUCH.touchTime TO SCRIPT.go
ROUTE SCRIPT.alarmTime TO CLIP.startTime
ROUTE SCRIPT.pitch TO CLIP.pitch
ROUTE SCRIPT.alarmTime TO ALARM.startTime
ROUTE ALARM.cycleTime TO SCRIPT.cycleTime
ROUTE SCRIPT.choice TO SWITCH.whichChoice


mrl