1. Основы загрузки звуков в RRS. Файл sounds.xml в директории звуков
Все звуки находятся по пути: "RRS/data/sounds/%Имя_папки_со_звуками%/"
В этой директории находятся все звуки симулятора, на данный момент RRS воспринимает только звуки несжатого *.WAV формата. В каждой звуковой папке есть файл "sounds.xml", в котором прописываются все звуки данной директории, наличие данного файла обязательно, так как именно его симулятор будет "читать" при загрузке.
Но чтобы симулятор мог прочитать хоть что-то из этой папки со звуками для начала необходимо указать где искать эту самую папку. Например ВЛ60пк и ВЛ60к берет свои звуки из папки "RRS/data/sounds/vl60/", но ему необходимо указать об этом. Для этого с версии 1.0.5 в каждом конфигурационном файле подвижной еденицы необходимо указывать параметр <soundDir>. Например в конфигурационном файле ВЛ60пк-1543 ("RRS/cfg/vehicles/vl60pk-1543/vl60pk-1543.xml") есть параметр <soundDir> и там указана папка "vl60", то есть теперь симулятор понимает что для данного локомотива звуки будут находится по пути "RRS/data/sounds/vl60/", и загружая все элементы ВЛ60.
Теперь симулятор загружая все элементы ВЛ60 и в частности звуки обратится к файлу "sounds.xml" в директории звуков. Разберем его структуру.
Новичкам советую разобраться что такое *.XML файлы и с чем их едят, хотя описанного в данной статье вполне хватит чтобы вставить свой звук в тот или иной локомотив.
Первая строчка:
- <?xml version="1.0" encoding="UTF-8"?>
Вторая строчка:
- <Config>
Дальше идут непосредственно сами звуки и их описания для симулятора, все параметры звука пишутся между тэгами <Sound></Sound>. Разберем по полочкам все параметры:
- Name - имя звукового сэмпла (не путать с именем звукового файла), это имя которое пропишется в базу данных звуков симулятора, и воспроизводя звук мы будем оперерировать и передавать подпрограммам именно это имя.
- Path - это непосредственно путь к звуковому файлу
- InitVolume - громкость которая будет выставлена данному звуковому файлу при инициализации его в симуляторе (диапазон: 0-100)
- MaxVolume - предельная громкость данного звукового файла, этакий ограничитель громкости (диапазон: 0-100)
- InitPitch - тональность которая будет задана данному звуковому файлу при инициализации
- Loop - зацикливание звука, если 0 то звук будет играть всего один раз, если стоит 1 то звук будет зацикленый
- PlayOnStart - воспроизвести звук после инициализации если "1", и не воспроизводить если "0"
На данный момент это конец первого гайда, продолжение следует, в следующем уроке я расскажу как симулятор воспроизводит звуки, опишу основные подпрограммы которые необходимы для работы со звуками.