Often sounds consist of three parts: a preamble (e.g. turbine spool
up sound), a looped sound (turbine sound), and a postable (turbine
shutdown sound). In the past this had to be done with extra state
properties written from Nasal, which would tell the loop when to
start.

Now there's a <delay-sec> property that delays sound playing and
defaults to 0. So the preamble and the loop can be started by the
same property at the same time, but the loop is delayed by the
length of the preamble. So the above example can be done somewhat
like this:

  <turbine>
      <type>once</type>
      <path>Sounds/turbine_start.wav</path>  <!-- lasts 7.5 sec -->
      <condition>
          <property>/whatever/turbine-on</property>
      </condition>
      ...
  </turbine>

  <turbine>
      <type>looped</type>
      <path>Sounds/turbine_loop.wav</path>
      <delay-sec>7.5</delay-sec>             <!-- LOOK HERE! -->
      <condition>
          <property>/whatever/turbine-on</property>
      </condition>
      ...
  </turbine>

  <turbine>
      <type>once</type>
      <path>Sounds/turbine_stop.wav</path>
      <condition>
          <not>
              <property>/whatever/turbine-on</property>
          </not>
      </condition>
      ...
  </turbine>

m.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to