Added: #795 Sample for creating a sound source using .sound sheet with .ogg file

--HG--
branch : sound_dev
hg/feature/gsoc2012-fabien
kaetemi 13 years ago
parent bbd291a089
commit 3bbf48e699

@ -1,4 +1,5 @@
ADD_SUBDIRECTORY(sound_sources) ADD_SUBDIRECTORY(sound_sources)
ADD_SUBDIRECTORY(stream_file)
ADD_SUBDIRECTORY(stream_ogg_vorbis) ADD_SUBDIRECTORY(stream_ogg_vorbis)

@ -0,0 +1,12 @@
FILE(GLOB SRC *.cpp *.h)
ADD_EXECUTABLE(nl_sample_stream_file ${SRC})
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
TARGET_LINK_LIBRARIES(nl_sample_stream_file nelmisc nelsound)
NL_DEFAULT_PROPS(nl_sample_stream_file "NeL, Samples: Sound: Stream File")
NL_ADD_RUNTIME_FLAGS(nl_sample_stream_file)
INSTALL(TARGETS nl_sample_stream_file RUNTIME DESTINATION bin COMPONENT samplessound)

@ -0,0 +1,6 @@
<?xml version="1.0"?>
<DFN Version="0.0" State="modified">
<ELEMENT Name="Designation" Type="Type" Filename="string.typ"/>
<ELEMENT Name="Substitute" Type="Type" Filename="string.typ"/>
<COMMENTS></COMMENTS>
</DFN>

@ -0,0 +1,9 @@
<?xml version="1.0"?>
<TYPE Type="String" UI="NonEditableCombo" Version="0.0" State="modified">
<DEFINITION Label="string" Value="string"/>
<DEFINITION Label="sint" Value="sint"/>
<DEFINITION Label="uint" Value="uint"/>
<DEFINITION Label="double" Value="double"/>
<DEFINITION Label="filename" Value="filename"/>
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,6 @@
<?xml version="1.0"?>
<TYPE Type="String" UI="NonEditableCombo" Default="false" Version="0.0" State="modified">
<DEFINITION Label="true" Value="true"/>
<DEFINITION Label="false" Value="false"/>
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<TYPE Type="String" UI="FileBrowser" Version="0.0" State="modified">
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<TYPE Type="Double" UI="EditSpin" Default="0.0" Min="-3.402823466e+38" Max="3.402823466e+38F" Version="0.0" State="modified">
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,6 @@
<?xml version="1.0"?>
<TYPE Type="UnsignedInt" UI="NonEditableCombo" Default="0" Min="0" Max="1" Version="0.0" State="modified">
<DEFINITION Label="true" Value="1"/>
<DEFINITION Label="false" Value="0"/>
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<TYPE Type="SignedInt" UI="EditSpin" Default="0" Min="-9223372036854775808" Max="9223372036854775807" Version="0.0" State="modified">
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<TYPE Type="SignedInt" UI="EditSpin" Default="0" Min="-32768" Max="32767" Version="0.0" State="modified">
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<TYPE Type="SignedInt" UI="EditSpin" Default="0" Min="-2147483648" Max="2147483647" Version="0.0" State="modified">
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<TYPE Type="SignedInt" UI="EditSpin" Default="0" Min="-9223372036854775808" Max="9223372036854775807" Version="0.0" State="modified">
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<TYPE Type="SignedInt" UI="EditSpin" Default="0" Min="-128" Max="127" Version="0.0" State="modified">
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<TYPE Type="String" UI="Edit" Version="0.0" State="modified">
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,11 @@
<?xml version="1.0"?>
<DFN Version="0.0" State="modified">
<ELEMENT Name="Type" Type="Type" Filename="_type.typ"/>
<ELEMENT Name="Enum" Type="Type" Filename="boolean.typ"/>
<ELEMENT Name="Formula" Type="Type" Filename="string.typ"/>
<ELEMENT Name="Lowlimit" Type="Type" Filename="string.typ"/>
<ELEMENT Name="Highlimit" Type="Type" Filename="string.typ"/>
<ELEMENT Name="DefaultValue" Type="Type" Filename="string.typ"/>
<ELEMENT Name="Predef" Type="Dfn" Filename="_typ.dfn" Array="true"/>
<COMMENTS></COMMENTS>
</DFN>

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<TYPE Type="UnsignedInt" UI="EditSpin" Default="0" Min="0" Max="65535" Version="0.0" State="modified">
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<TYPE Type="UnsignedInt" UI="EditSpin" Default="0" Min="0" Max="4294967295" Version="0.0" State="modified">
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<TYPE Type="UnsignedInt" UI="EditSpin" Default="0" Min="0" Max="18446744073709551615" Version="0.0" State="modified">
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<TYPE Type="UnsignedInt" UI="EditSpin" Default="0" Min="0" Max="255" Version="0.0" State="modified">
<COMMENTS></COMMENTS>
</TYPE>

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<TYPE Type="Double" UI="Edit" Default="0" Min="-1.0" Max="1.0" Version="0.1" State="modified"/>

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<TYPE Type="UnsignedInt" UI="EditSpin" Default="360" Min="0" Max="360" Version="0.8" State="modified"/>

@ -0,0 +1,42 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="Sound" Type="Type" Filename="filename.typ" FilenameExt="*.sound"/>
<ELEMENT Name="Filter00" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter01" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter02" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter03" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter04" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter05" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter06" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter07" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter08" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter09" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter10" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter11" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter12" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter13" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter14" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter15" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter16" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter17" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter18" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter19" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter20" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter21" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter22" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter23" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter24" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter25" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter26" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter27" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter28" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter29" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter30" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Filter31" Type="Type" Filename="boolean.typ" Default="false"/>
<LOG>Tue Oct 08 14:39:12 2002 (boucher) Dfn Structure =
Tue Oct 08 15:03:40 2002 (boucher) Dfn Structure =
Mon Oct 14 16:09:48 2002 (boucher) Dfn Structure =
Wed Oct 16 18:22:30 2002 (boucher) Dfn Structure =
Thu Dec 19 16:26:49 2002 (boucher) Dfn Structure =
Wed Apr 09 19:38:51 2003 (AmazingSound) Dfn Structure = </LOG>
</DFN>

@ -0,0 +1,9 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="Name" Type="Type" Filename="string.typ"/>
<ELEMENT Name="ShortName" Type="Type" Filename="string.typ"/>
<ELEMENT Name="FadeIn" Type="Type" Filename="int.typ" Default="10000"/>
<ELEMENT Name="FadeOut" Type="Type" Filename="int.typ" Default="10000"/>
<ELEMENT Name="InitialState" Type="Type" Filename="boolean.typ" Default="false"/>
<LOG>Thu Jan 02 14:38:32 2003 (boucher) Dfn Structure = </LOG>
</DFN>

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="Sounds" Type="Dfn" Filename="backgound_sound_item.dfn" Array="true"/>
<LOG>Tue Oct 08 14:55:03 2002 (boucher) Dfn Structure = </LOG>
</DFN>

@ -0,0 +1,19 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="Mode" Type="Type" Filename="pattern_mode.typ" Default="Chained"/>
<ELEMENT Name="SoundList" Type="Type" Filename="filename.typ" Array="true"/>
<ELEMENT Name="SoundSeq" Type="Type" Filename="string.typ"/>
<ELEMENT Name="DelaySeq" Type="Type" Filename="string.typ"/>
<ELEMENT Name="Beat" Type="Type" Filename="float.typ" Default="1.0"/>
<ELEMENT Name="XFadeLenght" Type="Type" Filename="int.typ" Default="3"/>
<ELEMENT Name="DoFadeIn" Type="Type" Filename="boolean.typ" Default="true"/>
<ELEMENT Name="DoFadeOut" Type="Type" Filename="boolean.typ" Default="true"/>
<LOG>Tue Oct 08 14:29:42 2002 (boucher) Dfn Structure =
Tue Oct 08 14:35:40 2002 (boucher) Dfn Structure =
Thu Oct 10 16:15:18 2002 (boucher) Dfn Structure =
Fri Oct 11 10:26:17 2002 (boucher) Dfn Structure =
Fri Oct 11 11:14:25 2002 (boucher) Dfn Structure =
Fri Oct 11 11:15:41 2002 (boucher) Dfn Structure =
Fri Oct 11 16:01:43 2002 (boucher) Dfn Structure =
Wed Oct 16 11:36:41 2002 (boucher) Dfn Structure = </LOG>
</DFN>

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="PatternName" Type="Type" Filename="string.typ"/>
<LOG>Thu Nov 07 14:01:21 2002 (boucher) Dfn Structure = </LOG>
</DFN>

@ -0,0 +1,6 @@
<?xml version="1.0"?>
<DFN Version="0.1" State="modified">
<ELEMENT Name="X" Type="Type" Filename="float.typ" Default="0.0"/>
<ELEMENT Name="Y" Type="Type" Filename="float.typ" Default="1.0"/>
<ELEMENT Name="Z" Type="Type" Filename="float.typ" Default="0.0"/>
</DFN>

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<TYPE Type="Double" UI="EditSpin" Default="1.0" Min="0.00001" Max="10000.0" Version="0.1" State="modified"/>

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<TYPE Type="Double" UI="EditSpin" Default="1.0" Min="0.0" Max="10.0" Version="0.1" State="modified"/>

@ -0,0 +1,36 @@
<?xml version="1.0"?>
<TYPE Type="SignedInt" UI="NonEditableCombo" Default="0dB" Min="-100dB" Max="0dB" Version="0.13" State="modified">
<DEFINITION Label="0dB" Value="0"/>
<DEFINITION Label="-1dB" Value="-1"/>
<DEFINITION Label="-2dB" Value="-2"/>
<DEFINITION Label="-3dB" Value="-3"/>
<DEFINITION Label="-4dB" Value="-4"/>
<DEFINITION Label="-5dB" Value="-5"/>
<DEFINITION Label="-6dB" Value="-6"/>
<DEFINITION Label="-7dB" Value="-7"/>
<DEFINITION Label="-8dB" Value="-8"/>
<DEFINITION Label="-9dB" Value="-9"/>
<DEFINITION Label="-10dB" Value="-10"/>
<DEFINITION Label="-11dB" Value="-11"/>
<DEFINITION Label="-12dB" Value="-12"/>
<DEFINITION Label="-15dB" Value="-15"/>
<DEFINITION Label="-18dB" Value="-18"/>
<DEFINITION Label="-21dB" Value="-21"/>
<DEFINITION Label="-24dB" Value="-24"/>
<DEFINITION Label="-27dB" Value="-27"/>
<DEFINITION Label="-30dB" Value="-30"/>
<DEFINITION Label="-33dB" Value="-33"/>
<DEFINITION Label="-36dB" Value="-36"/>
<DEFINITION Label="-39dB" Value="-39"/>
<DEFINITION Label="-42dB" Value="-42"/>
<DEFINITION Label="-45dB" Value="-45"/>
<DEFINITION Label="-48dB" Value="-48"/>
<DEFINITION Label="-51dB" Value="-51"/>
<DEFINITION Label="-54dB" Value="-54"/>
<DEFINITION Label="-57dB" Value="-57"/>
<DEFINITION Label="-60dB" Value="-60"/>
<DEFINITION Label="-72dB" Value="-72"/>
<DEFINITION Label="-84dB" Value="-84"/>
<DEFINITION Label="-96dB" Value="-96"/>
<DEFINITION Label="-100dB" Value="-100"/>
</TYPE>

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<DFN Version="0.7" State="modified">
<ELEMENT Name="Doppler" Type="Type" Filename="doppler.typ"/>
<ELEMENT Name="Rolloff" Type="Type" Filename="rolloff.typ"/>
</DFN>

@ -0,0 +1,14 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="UseEax" Type="Type" Filename="boolean.typ" Default="true"/>
<ELEMENT Name="HighestPriorityReserve" Type="Type" Filename="int.typ" Default="32"/>
<ELEMENT Name="HighPriorityReserve" Type="Type" Filename="int.typ" Default="32"/>
<ELEMENT Name="MidPriorityReserve" Type="Type" Filename="int.typ" Default="32"/>
<ELEMENT Name="LowPriorityReserve" Type="Type" Filename="int.typ" Default="32"/>
<ELEMENT Name="LowWaterMark" Type="Type" Filename="int.typ" Default="2"/>
<ELEMENT Name="SampleBanks" Type="Type" Filename="string.typ" Array="true"/>
<ELEMENT Name="BackgroundFlags" Type="Dfn" Filename="background_flag_config.dfn" Array="true"/>
<LOG>Thu Jan 02 14:33:42 2003 (boucher) Dfn Structure =
Thu Jan 02 14:40:05 2003 (boucher) Dfn Structure =
Thu Jan 02 14:41:32 2003 (boucher) Dfn Structure = </LOG>
</DFN>

@ -0,0 +1,13 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="FileName" Type="Type" Filename="filename.typ"/>
<ELEMENT Name="FadeInLength" Type="Type" Filename="int.typ" Default="2000"/>
<ELEMENT Name="FadeOutLength" Type="Type" Filename="int.typ" Default="2000"/>
<ELEMENT Name="MinimumPlayTime" Type="Type" Filename="int.typ" Default="10000"/>
<ELEMENT Name="TimeBeforeCanReplay" Type="Type" Filename="int.typ" Default="0"/>
<LOG>Tue Nov 02 11:28:10 2004 (berenguier) Dfn Structure =
Tue Nov 02 11:30:14 2004 (berenguier) Dfn Structure =
Tue Nov 02 11:40:09 2004 (berenguier) Dfn Structure =
Tue Nov 02 11:40:29 2004 (berenguier) Dfn Structure =
Wed Nov 03 10:54:07 2004 (berenguier) Dfn Structure = </LOG>
</DFN>

@ -0,0 +1,8 @@
<?xml version="1.0"?>
<TYPE Type="String" UI="NonEditableCombo" Revision="$Revision: 1.1 $" State="modified">
<DEFINITION Label="Gain controler" Value="Gain"/>
<DEFINITION Label="Pitch controler" Value="Pitch"/>
<LOG>Mon Feb 10 17:31:53 2003 (boucher) Type Predef =
Mon Feb 10 17:31:53 2003 (boucher) Type Type = String
Mon Feb 10 17:31:53 2003 (boucher) Type UI = NonEditableCombo</LOG>
</TYPE>

@ -0,0 +1,10 @@
<?xml version="1.0"?>
<TYPE Type="String" UI="NonEditableCombo" Default="Chained" Revision="$Revision: 1.1 $" State="modified">
<DEFINITION Label="Chained" Value="Chained"/>
<DEFINITION Label="AllInOne" Value="AllInOne"/>
<DEFINITION Label="Sparse" Value="Sparse"/>
<LOG>Tue Oct 08 14:27:39 2002 (boucher) Type Default = Chained
Tue Oct 08 14:27:39 2002 (boucher) Type Predef =
Tue Oct 08 14:27:39 2002 (boucher) Type Type = String
Tue Oct 08 14:27:39 2002 (boucher) Type UI = NonEditableCombo</LOG>
</TYPE>

@ -0,0 +1,7 @@
<?xml version="1.0"?>
<TYPE Type="UnsignedInt" UI="NonEditableCombo" Default="Normal" Min="Low" Max="Highest" Version="0.6" State="modified">
<DEFINITION Label="Highest" Value="3"/>
<DEFINITION Label="High" Value="2"/>
<DEFINITION Label="Normal" Value="1"/>
<DEFINITION Label="Low" Value="0"/>
</TYPE>

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<TYPE Type="Double" UI="EditSpin" Default="1.0" Min="0.0" Max="10.0" Version="0.4" State="modified"/>

@ -0,0 +1,12 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="Filename" Type="Type" Filename="filename.typ"/>
<ELEMENT Name="MinDistance" Type="Type" Filename="distance.typ" Default="1.0"/>
<ELEMENT Name="MaxDistance" Type="Type" Filename="distance.typ" Default="15.0"/>
<ELEMENT Name="Alpha" Type="Type" Filename="alpha.typ" Default="1.0"/>
<LOG>Wed Apr 09 21:13:23 2003 (AmazingSound) Dfn Structure =
Thu Apr 10 15:38:18 2003 (AmazingSound) Dfn Structure =
Thu Apr 10 16:24:05 2003 (AmazingSound) Dfn Structure =
Wed Apr 30 12:44:51 2003 (AmazingSound) Dfn Structure =
Wed Apr 30 12:45:39 2003 (AmazingSound) Dfn Structure = </LOG>
</DFN>

@ -0,0 +1,17 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="SoundType" Type="DfnPointer"/>
<ELEMENT Name="Loop" Type="Type" Filename="boolean.typ" Default="false"/>
<ELEMENT Name="Gain" Type="Type" Filename="gain.typ" Default="0dB"/>
<ELEMENT Name="Transpose" Type="Type" Filename="transposition.typ" Default="0"/>
<ELEMENT Name="InternalConeAngle" Type="Type" Filename="angle.typ" Default="360"/>
<ELEMENT Name="ExternalConeAngle" Type="Type" Filename="angle.typ" Default="360"/>
<ELEMENT Name="ExternalGain" Type="Type" Filename="gain.typ" Default="-100dB"/>
<ELEMENT Name="Direction" Type="Dfn" Filename="direction.dfn"/>
<ELEMENT Name="AbsolutePosition" Type="Type" Filename="boolean.typ" Default="true"/>
<ELEMENT Name="Priority" Type="Type" Filename="priority.typ" Default="Normal"/>
<ELEMENT Name="Indoor" Type="Type" Filename="boolean.typ" Default="true"/>
<ELEMENT Name="Outdoor" Type="Type" Filename="boolean.typ" Default="true"/>
<LOG>Tue Oct 08 12:33:33 2002 (boucher) Dfn Structure =
Tue Oct 08 14:35:19 2002 (boucher) Dfn Structure = </LOG>
</DFN>

@ -0,0 +1,8 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="Items" Type="Dfn" Filename="sound_group_item.dfn" Array="true"/>
<LOG>Thu Jan 09 11:48:30 2003 (boucher) Dfn Structure =
Thu Jan 09 11:51:28 2003 (boucher) Dfn Structure =
Thu Jan 09 11:52:03 2003 (boucher) Dfn Structure =
Thu Jan 09 11:52:08 2003 (boucher) Dfn Structure = </LOG>
</DFN>

@ -0,0 +1,7 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="SoundGroup" Type="Type" Filename="string.typ"/>
<ELEMENT Name="Sound" Type="Type" Filename="filename.typ" FilenameExt="*.sound"/>
<LOG>Thu Jan 09 11:47:55 2003 (boucher) Dfn Structure =
Thu Jan 09 11:53:15 2003 (boucher) Dfn Structure = </LOG>
</DFN>

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<DFN Version="0.4" State="modified">
<ELEMENT Name="Sounds" Type="Dfn" Filename="sound.dfn" Array="true"/>
</DFN>

@ -0,0 +1,9 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="MinDistance" Type="Type" Filename="distance.typ" Default="1.0"/>
<ELEMENT Name="MaxDistance" Type="Type" Filename="distance.typ" Default="15.0"/>
<ELEMENT Name="Alpha" Type="Type" Filename="alpha.typ" Default="1.0"/>
<ELEMENT Name="Async" Type="Type" Filename="boolean.typ" Default="true"/>
<ELEMENT Name="FilePath" Type="Type" Filename="string.typ" Default=""/>
<LOG></LOG>
</DFN>

@ -0,0 +1,7 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="MinDistance" Type="Type" Filename="distance.typ" Default="1.0"/>
<ELEMENT Name="MaxDistance" Type="Type" Filename="distance.typ" Default="15.0"/>
<ELEMENT Name="Alpha" Type="Type" Filename="alpha.typ" Default="1.0"/>
<LOG></LOG>
</DFN>

@ -0,0 +1,52 @@
<?xml version="1.0"?>
<TYPE Type="SignedInt" UI="NonEditableCombo" Default="0" Min="-24" Max="+24" Version="0.8" State="modified">
<DEFINITION Label="24" Value="24"/>
<DEFINITION Label="23" Value="23"/>
<DEFINITION Label="22" Value="22"/>
<DEFINITION Label="21" Value="21"/>
<DEFINITION Label="20" Value="20"/>
<DEFINITION Label="19" Value="19"/>
<DEFINITION Label="18" Value="18"/>
<DEFINITION Label="17" Value="17"/>
<DEFINITION Label="16" Value="16"/>
<DEFINITION Label="15" Value="15"/>
<DEFINITION Label="14" Value="14"/>
<DEFINITION Label="13" Value="13"/>
<DEFINITION Label="12" Value="12"/>
<DEFINITION Label="11" Value="11"/>
<DEFINITION Label="10" Value="10"/>
<DEFINITION Label="9" Value="9"/>
<DEFINITION Label="8" Value="8"/>
<DEFINITION Label="7" Value="7"/>
<DEFINITION Label="6" Value="6"/>
<DEFINITION Label="5" Value="5"/>
<DEFINITION Label="4" Value="4"/>
<DEFINITION Label="3" Value="3"/>
<DEFINITION Label="2" Value="2"/>
<DEFINITION Label="1" Value="1"/>
<DEFINITION Label="0" Value="0"/>
<DEFINITION Label="-1" Value="-1"/>
<DEFINITION Label="-2" Value="-2"/>
<DEFINITION Label="-3" Value="-3"/>
<DEFINITION Label="-4" Value="-4"/>
<DEFINITION Label="-5" Value="-5"/>
<DEFINITION Label="-6" Value="-6"/>
<DEFINITION Label="-7" Value="-7"/>
<DEFINITION Label="-8" Value="-8"/>
<DEFINITION Label="-9" Value="-9"/>
<DEFINITION Label="-10" Value="-10"/>
<DEFINITION Label="-11" Value="-11"/>
<DEFINITION Label="-12" Value="-12"/>
<DEFINITION Label="-13" Value="-13"/>
<DEFINITION Label="-14" Value="-14"/>
<DEFINITION Label="-15" Value="-15"/>
<DEFINITION Label="-16" Value="-16"/>
<DEFINITION Label="-17" Value="-17"/>
<DEFINITION Label="-18" Value="-18"/>
<DEFINITION Label="-19" Value="-19"/>
<DEFINITION Label="-20" Value="-20"/>
<DEFINITION Label="-21" Value="-21"/>
<DEFINITION Label="-22" Value="-22"/>
<DEFINITION Label="-23" Value="-23"/>
<DEFINITION Label="-24" Value="-24"/>
</TYPE>

@ -0,0 +1,9 @@
<?xml version="1.0"?>
<DFN Revision="$Revision: 1.1 $" State="modified">
<ELEMENT Name="Name" Type="Type" Filename="string.typ"/>
<ELEMENT Name="ParamId" Type="Type" Filename="parameter_id.typ"/>
<ELEMENT Name="Sounds" Type="Type" Filename="filename.typ" FilenameExt="*.sound" Array="true"/>
<LOG>Mon Feb 10 17:32:55 2003 (boucher) Dfn Structure =
Mon Feb 10 17:34:17 2003 (boucher) Dfn Structure =
Tue Feb 11 09:49:09 2003 (boucher) Dfn Structure = </LOG>
</DFN>

@ -0,0 +1,3 @@
This folder contains the sound track for animation.
Put here all the .sound_anim file generated with NeL Object Viewer.

@ -0,0 +1,9 @@
<?xml version="1.0"?>
<SOUNDANIMATION>
<MARKER time="0.233333">
<SOUND name="beet"/>
</MARKER>
<MARKER time="0.533333">
<SOUND name="tuut"/>
</MARKER>
</SOUNDANIMATION>

@ -0,0 +1,144 @@
<?xml version="1.0"?>
<PRIMITIVES VERSION="1">
<ROOT_PRIMITIVE TYPE="CPrimNode">
<ALIAS LAST_GENERATED="0"/>
<!--@expanded-->
<CHILD TYPE="CPrimNode">
<!--@selected@expanded-->
<PROPERTY TYPE="string">
<NAME>class</NAME>
<STRING>audio</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>name</NAME>
<STRING>test_audio</STRING>
</PROPERTY>
<CHILD TYPE="CPrimNode">
<!--@expanded-->
<PROPERTY TYPE="string">
<NAME>class</NAME>
<STRING>sounds</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>name</NAME>
<STRING>sounds</STRING>
</PROPERTY>
<CHILD TYPE="CPrimZone">
<PT X="1528.726440" Y="-1102.857666" Z="0.000000"/>
<PT X="1546.326416" Y="-1311.857666" Z="0.000000"/>
<PT X="1742.126465" Y="-1316.257690" Z="0.000000"/>
<PT X="1746.526367" Y="-1061.057617" Z="0.000000" SELECTED="true"/>
<!--@expanded-->
<PROPERTY TYPE="string">
<NAME>class</NAME>
<STRING>sound_zone</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>name</NAME>
<STRING>test_zone</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>sound</NAME>
<STRING>beep.sound</STRING>
</PROPERTY>
</CHILD>
<CHILD TYPE="CPrimPath">
<PT X="1744.326416" Y="-1001.657654" Z="0.000000"/>
<PT X="1805.926392" Y="-1131.457642" Z="0.000000"/>
<PT X="1805.926392" Y="-1283.257690" Z="0.000000"/>
<PT X="1722.326416" Y="-1377.857666" Z="0.000000"/>
<PT X="1605.726440" Y="-1402.057617" Z="0.000000" SELECTED="true"/>
<!--@expanded-->
<PROPERTY TYPE="string">
<NAME>class</NAME>
<STRING>sound_path</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>name</NAME>
<STRING>test_path</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>sound</NAME>
<STRING>tuut.sound</STRING>
</PROPERTY>
</CHILD>
<CHILD TYPE="CPrimPoint">
<PT X="1379.126465" Y="-1152.357544" Z="0.000000"/>
<!--@expanded-->
<PROPERTY TYPE="string">
<NAME>class</NAME>
<STRING>sound_point</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>name</NAME>
<STRING>test_point</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>sound</NAME>
<STRING>tuut.sound</STRING>
</PROPERTY>
</CHILD>
</CHILD>
<CHILD TYPE="CPrimNode">
<!--@expanded-->
<PROPERTY TYPE="string">
<NAME>class</NAME>
<STRING>sample_banks</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>name</NAME>
<STRING>sample_banks</STRING>
</PROPERTY>
<CHILD TYPE="CPrimZone">
<PT X="1262.800293" Y="-1123.099976" Z="0.000000"/>
<PT X="1515.800293" Y="-1481.699951" Z="0.000000"/>
<PT X="2087.800293" Y="-1334.299927" Z="0.000000"/>
<PT X="1744.600342" Y="-898.699951" Z="0.000000" SELECTED="true"/>
<!--@expanded-->
<PROPERTY TYPE="string_array">
<NAME>bank_names</NAME>
<STRING>base_samples</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>class</NAME>
<STRING>sample_bank_zone</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>name</NAME>
<STRING>base_sample_zone</STRING>
</PROPERTY>
</CHILD>
</CHILD>
<CHILD TYPE="CPrimNode">
<!--@expanded-->
<PROPERTY TYPE="string">
<NAME>class</NAME>
<STRING>env_fx</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>name</NAME>
<STRING>env_fx</STRING>
</PROPERTY>
<CHILD TYPE="CPrimZone">
<PT X="1623.326416" Y="-1120.457642" Z="0.000000"/>
<PT X="1559.526367" Y="-1228.257690" Z="0.000000"/>
<PT X="1700.326416" Y="-1265.657715" Z="0.000000"/>
<PT X="1720.126465" Y="-1168.857666" Z="0.000000" SELECTED="true"/>
<!--@expanded-->
<PROPERTY TYPE="string">
<NAME>class</NAME>
<STRING>env_fx_zone</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>fx_name</NAME>
<STRING>BATHROOM</STRING>
</PROPERTY>
<PROPERTY TYPE="string">
<NAME>name</NAME>
<STRING>test_fx</STRING>
</PROPERTY>
</CHILD>
</CHILD>
</CHILD>
</ROOT_PRIMITIVE>
</PRIMITIVES>

@ -0,0 +1 @@
This folder contains the background sound primitive files.

@ -0,0 +1,11 @@
This folder contains Georges sheets that link sound group defined in
the cluster system (edited in 3DS Max) to a sound sheet.
This allow to put sound inside the cluster systems.
Each sheet can contains any number of association.
It is a good practice to merge into a single sheet all
the sound groups/sound sheets thet belong the the
same building.

@ -0,0 +1,19 @@
<?xml version="1.0"?>
<FORM Revision="$Revision: 1.1 $" State="modified">
<STRUCT>
<ARRAY Name="Items">
<STRUCT>
<ATOM Name="SoundGroup" Value="A_SOUND_GROUP"/>
<ATOM Name="Sound" Value="beep.sound"/>
</STRUCT>
<STRUCT>
<ATOM Name="SoundGroup" Value="ANOTHER_GROUP"/>
<ATOM Name="Sound" Value="tuut.sound"/>
</STRUCT>
</ARRAY>
</STRUCT>
<STRUCT/>
<STRUCT/>
<STRUCT/>
<STRUCT/>
</FORM>

@ -0,0 +1,54 @@
<?xml version="1.0"?>
<FORM Revision="$Revision: 1.1 $" State="modified">
<STRUCT>
<ATOM Name="HighestPriorityReserve" Value="2"/>
<ATOM Name="HighPriorityReserve" Value="4"/>
<ATOM Name="MidPriorityReserve" Value="6"/>
<ATOM Name="LowPriorityReserve" Value="8"/>
<ARRAY Name="SampleBanks">
<ATOM Value="base_samples"/>
</ARRAY>
<ARRAY Name="BackgroundFlags">
<STRUCT>
<ATOM Name="Name" Value="day"/>
<ATOM Name="ShortName" Value="d"/>
<ATOM Name="FadeIn" Value="10*1000"/>
<ATOM Name="FadeOut" Value="10*1000"/>
<ATOM Name="InitialState" Value="false"/>
</STRUCT>
<STRUCT>
<ATOM Name="Name" Value="night"/>
<ATOM Name="ShortName" Value="n"/>
<ATOM Name="FadeIn" Value="10*1000"/>
<ATOM Name="FadeOut" Value="10*1000"/>
<ATOM Name="InitialState" Value="false"/>
</STRUCT>
<STRUCT>
<ATOM Name="Name" Value="fair"/>
<ATOM Name="ShortName" Value="f"/>
<ATOM Name="FadeIn" Value="10*1000"/>
<ATOM Name="FadeOut" Value="10*1000"/>
<ATOM Name="InitialState" Value="false"/>
</STRUCT>
<STRUCT>
<ATOM Name="Name" Value="rain"/>
<ATOM Name="ShortName" Value="r"/>
<ATOM Name="FadeIn" Value="10*1000"/>
<ATOM Name="FadeOut" Value="10*1000"/>
<ATOM Name="InitialState" Value="false"/>
</STRUCT>
<STRUCT>
<ATOM Name="Name" Value="quick_mute"/>
<ATOM Name="ShortName" Value="q"/>
<ATOM Name="FadeIn" Value="10*1000"/>
<ATOM Name="FadeOut" Value="100"/>
<ATOM Name="InitialState" Value="false"/>
</STRUCT>
</ARRAY>
</STRUCT>
<STRUCT/>
<STRUCT/>
<STRUCT/>
<STRUCT/>
<LOG>Fri Oct 15 15:26:53 2004 (boucher) .SampleBanks[0] = base_samples</LOG>
</FORM>

@ -0,0 +1,19 @@
<?xml version="1.0"?>
<FORM Revision="$Revision: 1.1 $" State="modified">
<STRUCT>
<VSTRUCT DfnName="simple_sound.dfn" Name="SoundType">
<ATOM Name="Filename" Value="beep.wav"/>
<ATOM Name="MinDistance" Value="1.2"/>
<ATOM Name="MaxDistance" Value="1000"/>
</VSTRUCT>
</STRUCT>
<STRUCT/>
<STRUCT/>
<STRUCT/>
<STRUCT/>
<LOG>Fri Oct 15 15:23:46 2004 (boucher) .SoundType = simple_sound.dfn
Fri Oct 15 15:23:46 2004 (boucher) .SoundType.Filename = beep.wav
Fri Oct 15 15:23:46 2004 (boucher) .SoundType.MaxDistance = 1000
Fri Oct 15 15:23:46 2004 (boucher) .SoundType.MinDistance = 1.2
Fri Oct 15 15:27:24 2004 (boucher) .SoundType.Alpha = </LOG>
</FORM>

@ -0,0 +1,20 @@
<?xml version="1.0"?>
<FORM Revision="$Revision$" State="modified">
<STRUCT>
<VSTRUCT DfnName="stream_sound.dfn" Name="SoundType">
<ATOM Name="MinDistance" Value="100000"/>
<ATOM Name="MaxDistance" Value="200000"/>
</VSTRUCT>
<ATOM Name="AbsolutePosition" Value="false"/>
<ATOM Name="Priority" Value="Highest"/>
</STRUCT>
<STRUCT/>
<STRUCT/>
<STRUCT/>
<STRUCT/>
<LOG>Thu Jan 28 23:30:44 2010 (Kaetemi) .AbsolutePosition = false
Thu Jan 28 23:30:44 2010 (Kaetemi) .Priority = Highest
Thu Jan 28 23:30:44 2010 (Kaetemi) .SoundType = stream_sound.dfn
Thu Jan 28 23:30:44 2010 (Kaetemi) .SoundType.MaxDistance = 100000
Thu Jan 28 23:30:44 2010 (Kaetemi) .SoundType.MinDistance = 200000</LOG>
</FORM>

@ -0,0 +1,18 @@
<?xml version="1.0"?>
<FORM Revision="$Revision$" State="modified">
<STRUCT>
<VSTRUCT DfnName="stream_file_sound.dfn" Name="SoundType">
<ATOM Name="MinDistance" Value="100000"/>
<ATOM Name="MaxDistance" Value="200000"/>
<ATOM Name="Async" Value ="true"/>
<ATOM Name="FilePath" Value="D:/source/kaetemi/toverhex/src/samples/music_stream/data/aeon_1_10_mystic_river.ogg"/>
</VSTRUCT>
<ATOM Name="AbsolutePosition" Value="false"/>
<ATOM Name="Priority" Value="Highest"/>
</STRUCT>
<STRUCT/>
<STRUCT/>
<STRUCT/>
<STRUCT/>
<LOG></LOG>
</FORM>

@ -0,0 +1,20 @@
<?xml version="1.0"?>
<FORM Revision="$Revision: 1.1 $" State="modified">
<STRUCT>
<VSTRUCT DfnName="simple_sound.dfn" Name="SoundType">
<ATOM Name="Filename" Value="tuut.wav"/>
<ATOM Name="MinDistance" Value="5"/>
<ATOM Name="MaxDistance" Value="50"/>
<ATOM Name="Alpha" Value="0.5"/>
</VSTRUCT>
</STRUCT>
<STRUCT/>
<STRUCT/>
<STRUCT/>
<STRUCT/>
<LOG>Fri Oct 15 15:24:54 2004 (boucher) .SoundType = simple_sound.dfn
Fri Oct 15 15:24:54 2004 (boucher) .SoundType.Alpha = 0.5
Fri Oct 15 15:24:54 2004 (boucher) .SoundType.Filename = tuut.wav
Fri Oct 15 15:24:54 2004 (boucher) .SoundType.MaxDistance = 50
Fri Oct 15 15:24:54 2004 (boucher) .SoundType.MinDistance = 5</LOG>
</FORM>

@ -0,0 +1,382 @@
<?xml version="1.0"?>
<NEL_LIGO_PRIMITIVE_CLASS>
<!-- Alias resolution
Alias are coded on 32bits, the upper part
of the alias is assigned by static configuration
for each primitive file.
The lower part is generated by world edit.
This ensure uniqueness of alias across any
primitive.
The standard configuration is set to 20 bits dynamic
and 12 bits static (4096 files and 1 million alias by
file)
-->
<ALIAS_DYNAMIC_BITS BIT_COUNT="20"/>
<!-- The file that contains the index for each
primitive file.
This index is used to build the static part of the alias.
-->
<ALIAS_STATIC_FILE_ID FILE_NAME="file_index.cfg"/>
<!-- Root primitive -->
<PRIMITIVE CLASS_NAME="root" TYPE="node" AUTO_INIT="true" DELETABLE="true">
<PARAMETER NAME="name" TYPE="string" VISIBLE="true"/>
<PARAMETER NAME="path" TYPE="string" VISIBLE="true"/>
<!-- <DYNAMIC_CHILD CLASS_NAME="test"/> -->
<DYNAMIC_CHILD CLASS_NAME="audio"/>
</PRIMITIVE>
<!-- the alias class, used by all other class that need persistent aliases-->
<PRIMITIVE CLASS_NAME="alias" TYPE="alias" AUTO_INIT="true" DELETABLE="false"/>
<!-- *********************************************************************************** -->
<!-- ************************************** AUDIO ************************************** -->
<!-- *********************************************************************************** -->
<!-- audio root : base container for the audio related primitives -->
<PRIMITIVE CLASS_NAME="audio" NAME="audio" TYPE="node" AUTO_INIT="true" DELETABLE="true">
<PARAMETER NAME="name" TYPE="string" VISIBLE="true"/>
<STATIC_CHILD CLASS_NAME="env_fx" NAME="env_fx"/>
<STATIC_CHILD CLASS_NAME="sample_banks" NAME="sample_banks"/>
<STATIC_CHILD CLASS_NAME="sounds" NAME="sounds"/>
</PRIMITIVE>
<!-- Sounds primitive : base container for a list of sound or sub sound_folder -->
<PRIMITIVE CLASS_NAME="sounds" NAME="sounds" TYPE="node" AUTO_INIT="true" DELETABLE="false">
<PARAMETER NAME="name" TYPE="string" VISIBLE="true"/>
<DYNAMIC_CHILD CLASS_NAME="sound_folder"/>
<DYNAMIC_CHILD CLASS_NAME="sound_zone"/>
<DYNAMIC_CHILD CLASS_NAME="sound_path"/>
<DYNAMIC_CHILD CLASS_NAME="sound_point"/>
</PRIMITIVE>
<!-- sound_folder primitive : container for a list of sound -->
<PRIMITIVE CLASS_NAME="sound_folder" TYPE="node" AUTO_INIT="false" DELETABLE="true">
<PARAMETER NAME="name" TYPE="string" VISIBLE="true"/>
<DYNAMIC_CHILD CLASS_NAME="sound_zone"/>
<DYNAMIC_CHILD CLASS_NAME="sound_path"/>
<DYNAMIC_CHILD CLASS_NAME="sound_point"/>
</PRIMITIVE>
<!-- sound_zone -->
<PRIMITIVE CLASS_NAME="sound_zone" TYPE="zone" R="64" G="128" B="192" A="128" DELETABLE="true">
<PARAMETER NAME="name" TYPE="string" VISIBLE="true" AUTONAME="$sound$"/>
<PARAMETER NAME="sound" TYPE="string" VISIBLE="true" FILE_EXTENSION="sound" FOLDER="data/soundbank" />
<PARAMETER NAME="layer" TYPE="const_string" VISIBLE="true">
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_0"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_1"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_2"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_3"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_4"/>
</COMBO_VALUES>
</PARAMETER>
</PRIMITIVE>
<!-- sound_path -->
<PRIMITIVE CLASS_NAME="sound_path" TYPE="path" R="64" G="128" B="192" A="128" DELETABLE="true">
<PARAMETER NAME="name" TYPE="string" VISIBLE="true" AUTONAME="$sound$"/>
<PARAMETER NAME="sound" TYPE="string" VISIBLE="true" FILE_EXTENSION="sound" FOLDER="data/soundbank" />
<PARAMETER NAME="layer" TYPE="const_string" VISIBLE="true">
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_0"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_1"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_2"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_3"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_4"/>
</COMBO_VALUES>
</PARAMETER>
</PRIMITIVE>
<!-- sound_point -->
<PRIMITIVE CLASS_NAME="sound_point" TYPE="point" R="64" G="128" B="192" A="128" DELETABLE="true" SHOW_ARROW="false">
<PARAMETER NAME="name" TYPE="string" VISIBLE="true" AUTONAME="$sound$"/>
<PARAMETER NAME="sound" TYPE="string" VISIBLE="true" FILE_EXTENSION="sound" FOLDER="data/soundbank" />
<PARAMETER NAME="layer" TYPE="const_string" VISIBLE="true">
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_0"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_1"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_2"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_3"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="layer_4"/>
</COMBO_VALUES>
</PARAMETER>
</PRIMITIVE>
<!-- sample_banks : container for sample_bank zone -->
<PRIMITIVE CLASS_NAME="sample_banks" NAME="sample_banks" TYPE="node" AUTO_INIT="true" DELETABLE="false">
<PARAMETER NAME="name" TYPE="string" VISIBLE="true">
</PARAMETER>
<DYNAMIC_CHILD CLASS_NAME="sample_bank_zone"/>
</PRIMITIVE>
<!-- sample_bank zone : this is a list of sample banks to keep loaded inside the zone -->
<PRIMITIVE CLASS_NAME="sample_bank_zone" TYPE="zone" R="128" G="64" B="88" A="128" DELETABLE="true">
<PARAMETER NAME="name" TYPE="string" VISIBLE="true">
</PARAMETER>
<PARAMETER NAME="bank_names" TYPE="string_array" VISIBLE="true" FOLDER="data/samplebanks" WIDGET_HEIGHT="100"/>
</PRIMITIVE>
<!-- env_fx : container for all env fx zone -->
<PRIMITIVE CLASS_NAME="env_fx" NAME="env_fx" TYPE="node" AUTO_INIT="true" DELETABLE="false">
<PARAMETER NAME="name" TYPE="string" VISIBLE="true">
</PARAMETER>
<DYNAMIC_CHILD CLASS_NAME="env_fx_zone"/>
</PRIMITIVE>
<!-- env_fx_zone : this an environement fx name to use inside this zone -->
<PRIMITIVE CLASS_NAME="env_fx_zone" TYPE="zone" R="88" G="64" B="128" A="128" DELETABLE="true">
<PARAMETER NAME="name" TYPE="string" VISIBLE="true">
</PARAMETER>
<PARAMETER NAME="fx_name" TYPE="const_string" VISIBLE="true">
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="GENERIC"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="PADDEDCELL"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="ROOM"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="BATHROOM"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="LIVINGROOM"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="STONEROOM"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="AUDITORIUM"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="CONCERTHALL"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="CAVE"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="ARENA"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="HANGAR"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="CARPETEDHALLWAY"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="HALLWAY"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="STONECORRIDOR"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="ALLEY"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="FOREST"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="CITY"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="MOUNTAINS"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="QUARRY"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="PLAIN"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="PARKINGLOT"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="SEWERPIPE"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="UNDERWATER"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="DRUGGED"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="DIZZY"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="PSYCHOTIC"/>
</COMBO_VALUES>
</PARAMETER>
</PRIMITIVE>
<!-- *********************************************************************************** -->
<!-- ************************************** TESTS ************************************** -->
<!-- *********************************************************************************** -->
<PRIMITIVE CLASS_NAME="test" TYPE="node" AUTO_INIT="false" DELETABLE="true" NUMBERIZE="false">
<DYNAMIC_CHILD CLASS_NAME="test"/>
<PARAMETER NAME="name" TYPE="string" VISIBLE="true" AUTONAME="$String$">
</PARAMETER>
<PARAMETER NAME="String" TYPE="string" VISIBLE="true" FILENAME="false">
<DEFAULT_VALUE VALUE="Bidule"/>
</PARAMETER>
<PARAMETER NAME="String2" TYPE="string" VISIBLE="true" FILENAME="false" >
<DEFAULT_VALUE GEN_ID="true"/>
</PARAMETER>
<PARAMETER NAME="String3" TYPE="string" VISIBLE="true" FILENAME="false" AUTONAME="Autoname-$String$-$String2$-">
</PARAMETER>
<PARAMETER NAME="Bool" TYPE="boolean" VISIBLE="true" FILENAME="false">
<DEFAULT_VALUE VALUE="true"/>
</PARAMETER>
<PARAMETER NAME="Bool2" TYPE="boolean" VISIBLE="true" FILENAME="false">
<DEFAULT_VALUE VALUE="false"/>
</PARAMETER>
<PARAMETER NAME="Bool3" TYPE="boolean" VISIBLE="true" FILENAME="false" AUTONAME="$Bool$">
<DEFAULT_VALUE VALUE="false"/>
</PARAMETER>
<PARAMETER NAME="Const" TYPE="const_string" VISIBLE="true" FILENAME="false" >
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="additif"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="ae"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="af"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="blend"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="mix"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="replace"/>
</COMBO_VALUES>
<DEFAULT_VALUE VALUE="replace"/>
</PARAMETER>
<PARAMETER NAME="Const2" TYPE="const_string" VISIBLE="true" FILENAME="false">
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="additif"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="ae"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="af"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="blend"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="mix"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="replace"/>
</COMBO_VALUES>
</PARAMETER>
<PARAMETER NAME="Const3" TYPE="const_string" VISIBLE="true" FILENAME="false" AUTONAME="$Const$">
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="additif"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="ae"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="af"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="blend"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="mix"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="replace"/>
</COMBO_VALUES>
</PARAMETER>
<!-- <PARAMETER NAME="Array" TYPE="string_array" VISIBLE="true" FILENAME="false" WIDGET_HEIGHT="100">
<DEFAULT_VALUE VALUE="0"/>
<DEFAULT_VALUE VALUE="1"/>
<DEFAULT_VALUE VALUE="2"/>
</PARAMETER>
<PARAMETER NAME="Array2" TYPE="string_array" VISIBLE="true" FILENAME="false" WIDGET_HEIGHT="100">
</PARAMETER>
<PARAMETER NAME="Array3" TYPE="string_array" VISIBLE="true" FILENAME="false" AUTONAME="Autoname-$Array$-$Array2$-" WIDGET_HEIGHT="100">
</PARAMETER>-->
<PARAMETER NAME="ConstArray" TYPE="const_string_array" VISIBLE="true" FILENAME="true" WIDGET_HEIGHT="100" FILE_EXTENSION="flora" LOOKUP="true">
<COMBO_FILES CONTEXT_NAME="default" PATH="l:/leveldesign/game_elem/plant/flora_template/forest"/>
<COMBO_VALUES CONTEXT_NAME="jungle">
<CONTEXT_VALUE VALUE="jungle0"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="jungle">
<CONTEXT_VALUE VALUE="jungle1"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="value0"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="value1"/>
</COMBO_VALUES>
<DEFAULT_VALUE VALUE="default 0"/>
<DEFAULT_VALUE VALUE="default 1"/>
<DEFAULT_VALUE VALUE="default 2"/>
<DEFAULT_VALUE VALUE="default 3"/>
</PARAMETER>
<PARAMETER NAME="ConstArray2" TYPE="const_string_array" VISIBLE="true" FILENAME="true" WIDGET_HEIGHT="100" FILE_EXTENSION="flora" LOOKUP="true" AUTONAME="$ConstArray$">
<COMBO_FILES CONTEXT_NAME="default" PATH="l:/leveldesign/game_elem/plant/flora_template/forest"/>
<COMBO_VALUES CONTEXT_NAME="jungle">
<CONTEXT_VALUE VALUE="jungle0"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="jungle">
<CONTEXT_VALUE VALUE="jungle1"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="value0"/>
</COMBO_VALUES>
<COMBO_VALUES CONTEXT_NAME="default">
<CONTEXT_VALUE VALUE="value1"/>
</COMBO_VALUES>
<DEFAULT_VALUE VALUE="default 0"/>
<DEFAULT_VALUE VALUE="default 1"/>
<DEFAULT_VALUE VALUE="default 2"/>
<DEFAULT_VALUE VALUE="default 3"/>
</PARAMETER>
<PARAMETER NAME="Array" TYPE="string_array" VISIBLE="true" WIDGET_HEIGHT="100">
<DEFAULT_VALUE VALUE="default 0"/>
<DEFAULT_VALUE VALUE="default 1"/>
<DEFAULT_VALUE VALUE="default 2"/>
<DEFAULT_VALUE VALUE="default 3"/>
</PARAMETER>
<PARAMETER NAME="Array2" TYPE="string_array" VISIBLE="true" WIDGET_HEIGHT="100" AUTONAME="$Array$">
<DEFAULT_VALUE VALUE="default 0"/>
<DEFAULT_VALUE VALUE="default 1"/>
<DEFAULT_VALUE VALUE="default 2"/>
<DEFAULT_VALUE VALUE="default 3"/>
</PARAMETER>
</PRIMITIVE>
</NEL_LIGO_PRIMITIVE_CLASS>

@ -0,0 +1,165 @@
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <nel/misc/types_nl.h>
// STL includes
#include <stdio.h>
#include <conio.h>
// NeL includes
#include <nel/misc/app_context.h>
#include <nel/misc/debug.h>
#include <nel/misc/time_nl.h>
#include <nel/misc/path.h>
#include <nel/misc/vector.h>
#include <nel/misc/i18n.h>
#include <nel/sound/u_audio_mixer.h>
#include <nel/sound/u_listener.h>
#include <nel/sound/u_group_controller.h>
#include <nel/misc/hierarchical_timer.h>
// For direct play/pause control.
// You should never include this!
#include <nel/sound/stream_file_source.h>
// Project includes
#ifndef NL_SOUND_DATA
#define NL_SOUND_DATA "."
#endif // NL_SOUND_DATA
using namespace std;
using namespace NLMISC;
using namespace NLSOUND;
namespace NLSAMPLE {
static UAudioMixer *s_AudioMixer = NULL;
static USource *s_Source = NULL;
static CStreamFileSource *s_StreamFileSource = NULL;
static UGroupController *s_GroupController = NULL;
static void initSample()
{
if (!INelContext::isContextInitialised())
new CApplicationContext();
CPath::addSearchPath(NL_SOUND_DATA"/data", true, false);
printf("Sample demonstrating OGG playback using stream file .sound sheets.");
printf("\n\n");
s_AudioMixer = UAudioMixer::createAudioMixer();
// Set the sample path before init, this allow the mixer to build the sample banks
s_AudioMixer->setSamplePath(NL_SOUND_DATA"/data/samplebank");
// Packed sheet option, this mean we want packed sheet generated in 'data' folder
s_AudioMixer->setPackedSheetOption(NL_SOUND_DATA"/data", true);
printf("Select NLSOUND Driver:\n");
printf(" [1] FMod\n");
printf(" [2] OpenAl\n");
printf(" [3] DSound\n");
printf(" [4] XAudio2\n");
printf("> ");
int selection = getchar(); getchar();
printf("\n");
// init with 8 tracks, EAX enabled, no ADPCM, and automatic sample bank loading
s_AudioMixer->init(8, true, false, NULL, true, (UAudioMixer::TDriver)(selection - '0'));
s_AudioMixer->setLowWaterMark(1);
CVector initpos(0.0f, 0.0f, 0.0f);
CVector frontvec(0.0f, 1.0f, 0.0f);
CVector upvec(0.0f, 0.0f, 1.0f);
s_AudioMixer->getListener()->setPos(initpos);
s_AudioMixer->getListener()->setOrientation(frontvec, upvec);
//NLMISC::CHTimer::startBench();
s_Source = s_AudioMixer->createSource(CStringMapper::map("stream_file"));
nlassert(s_Source);
s_StreamFileSource = dynamic_cast<CStreamFileSource *>(s_Source);
nlassert(s_StreamFileSource);
// s_Source->setSourceRelativeMode(true);
// s_Source->setPitch(2.0f);
s_GroupController = s_AudioMixer->getGroupController("dialog");
}
static void runSample()
{
s_Source->play();
printf("Change volume with - and +\n");
printf("Press ANY other key to exit\n");
for (; ; )
{
if (_kbhit())
{
switch (_getch())
{
case '+':
s_GroupController->setUserGain(s_GroupController->getUserGain() + 0.1f);
break;
case '-':
s_GroupController->setUserGain(s_GroupController->getUserGain() - 0.1f);
break;
case 'x':
s_Source->stop();
break;
case 's':
s_Source->play();
break;
case 'p':
s_StreamFileSource->pause();
break;
case 'r':
s_StreamFileSource->resume();
break;
default:
return;
}
}
s_AudioMixer->update();
nlSleep(40);
}
}
static void releaseSample()
{
//NLMISC::CHTimer::clear();
s_GroupController = NULL;
s_StreamFileSource = NULL;
delete s_Source; s_Source = NULL;
delete s_AudioMixer; s_AudioMixer = NULL;
}
} /* namespace NLSAMPLE */
int main()
{
NLSAMPLE::initSample();
NLSAMPLE::runSample();
NLSAMPLE::releaseSample();
return 0;
}
/* end of file */
Loading…
Cancel
Save