Спасибо за терпение и разъяснения. Пробую разобраться. Что не получится-обращусь, если вы не против?
azatov9
24.06.2007 в 18:13
Если можно, то покажите хоть один пример прибора, где прописан звук на показания прибора. Например, прописать звуковой файл на падение давления двигателя.
С подключением звука на переключение тумблера понятно вроде.
Bor1
25.06.2007 в 04:26
Я циклические звуки включал через Сишную библиотеку NamedVar, в ХМЛ нужно просто установить переменную в 1 когда, включаешь звук, и в 0 когда выключаешь. Посмотрю как нить как время будет переведу код на ХМЛ. Нужно только пометить описание как Reset=0 и звук должен удовлетворять условию:
Edited by Bor
Bor1
25.06.2007 в 05:04
Это я про циклические звуки написал, а то что тебе надо, ну как, тут проблема только в знании XML приборов для сима, читай доки. Проверяешь условия и выставляешь переменные для звука, и все.
azatov9
25.06.2007 в 09:59
Всё ясно. Документация есть, буду изучать.
Virpil302
13.05.2010 в 23:25
Игорь, хочу выразить БОЛЬШУЮ БЛАГОДАРНОСТЬ ! за прибор и содержательное, и подробное разьяснение по теме.
Edited by Virpil
dbs43
17.05.2010 в 07:30
Хотелось бы слегка посоветовать 🙂
Если хотите длать универсальное решение для звуков в симуляторе — рекомендую написать утилиту как модуль (чтобы всегда была доступна для сторонних разработчиков без указывания некоего отдельного прибора в панели) и ввод информации (события/назначение звуков и тому подобное) оформлять как интерфейсы. Для тех же, кто использует не XML, а С++ — выделять либо NamedVar’s либо вообще оформлять это как lib файл и .h header для включения в кастомный проект.
Если есть интерес — в принципе (по свободному времени разумеется) я могу проконсультировать по модулям и интерфейсам, дело нехитрое в общем-то, один раз сделал — дальше само пошло. Единственно на майл пишите (на форум не то чтобы ходок, да и в почте удобнее что-то приаттачить и тому подобное).
Да, сразу предупреждаю 🙂 — мааааленькая утилитка после того, как сделаешь ее удобной для достаточно большого числа пользователей — превращается в некий вполне полноценный продукт с достаточно большими временными затратами на разработку и сопровождение.
Bor1
27.05.2010 в 11:28
Хотелось бы слегка посоветовать 🙂
Если хотите длать универсальное решение для звуков в симуляторе — рекомендую написать утилиту как модуль (чтобы всегда была доступна для сторонних разработчиков без указывания некоего отдельного прибора в панели) и ввод информации (события/назначение звуков и тому подобное) оформлять как интерфейсы. Для тех же, кто использует не XML, а С++ — выделять либо NamedVar’s либо вообще оформлять это как lib файл и .h header для включения в кастомный проект.
Если есть интерес — в принципе (по свободному времени разумеется) я могу проконсультировать по модулям и интерфейсам, дело нехитрое в общем-то, один раз сделал — дальше само пошло. Единственно на майл пишите (на форум не то чтобы ходок, да и в почте удобнее что-то приаттачить и тому подобное).
Да, сразу предупреждаю 🙂 — мааааленькая утилитка после того, как сделаешь ее удобной для достаточно большого числа пользователей — превращается в некий вполне полноценный продукт с достаточно большими временными затратами на разработку и сопровождение.
Получилось как раз наоборот, сперва я писал библиотеку для своего «внутреннего» использования (именно как lib), но более универсальным оказалось сделать ее реагирующей на переменные XML. В виде модуля я не стал оформлять ее по из-за того, что исповедую принцип: не нужна — не использую — не загружаю, насколько я помню модуль в симе загружается с любой моделью.
А тут появляется принципиальная возможность людям делающим панели на XML прикручивать к ним свои звуки не пользуясь компилятором вообще.
Да и я в своих «долгостроях» пошел по пути озвучки через XML. Из сишных приборов управляю озвучкой как раз через named vars.
Хотя если есть потребность именно в библиотечном оформлении (и работе из сишного прибора — для более гибкого управления, ведь все таблицы и функции под рукой можно любой звук прервать, задержать, изменить громкость) можно и так реализовать — необходимо только конструктивное обоснование.
Кстати сейчас (все для FS2004) сделал маленькое изменение в приборе — при переключении видов, внутрикабинные звуки гасятся.
Есть потребность выложу в разделе файлы.
Edited by Bor
ilya15022559
27.05.2010 в 11:51
Кстати сейчас (все для FS2004) сделал маленькое изменение в приборе — при переключении видов, внутрикабинные звуки гасятся.
Есть потребность выложу в разделе файлы.
Потребность такая есть! Совершенно согласен с вашим взглядом на модуль vs прибор.
Был бы вам очень признателен за обновлённую версию!
Хотелось бы поблагодарить Игоря за создание такого чудесного прибора — получилось реализовать замечательные вещи.
Есть вопрос.
Я, вероятно, чего-то очень сильно не понимаю, так как программер из меня совершенно нубский, но я понял так, что параметр Reset в xss.cfg предназначен для того, чтобы L-переменной автоматически присвоить значение 0 после того, как она получила 1, таким образом проигрывание звука становится однократным, и он больше не проигрывается, пока условие, в результате выполнения которого в L-переменную записывается 1, не будет сначала отменено, а затем выполнено снова. У меня же значение переменной остаётся равным 1 до тех пор, пока не отменишь условие. Как результат, щелчок переключателя зацикливается.
Очень может быть, что я неправильно понимаю, как всё это должно работать, но буду очень признателен за пояснение того, как работает параметр Reset.
Virpil302
14.06.2010 в 02:47
Очень может быть, что я неправильно понимаю, как всё это должно работать, но буду очень признателен за пояснение того, как работает параметр Reset.
В конфигурационном файле xss.cfg, в секции нужного вам звука, напротив Reset = пропишите true , гауга автоматом сбросит в false и звук прекратится сразу после переключения галетника.
ilya15022559
14.06.2010 в 14:54
Ну до этого-то я додумался В том и дело, что прописал. Не сбрасывает.
kit86200830
19.06.2010 в 05:39
А я вот чет никак не разберусь
Может я диградирую :rolleyes: ?
Ребят помогите а.
Я панельку такую симпотную сделал для Ми-8 терь охото чтоб там экипаж ботал
Bor1
23.06.2010 в 11:35
Ну до этого-то я додумался В том и дело, что прописал. Не сбрасывает.
А покажите пожалуйста свой XML код. И краткий комментарий, что он должен делать.
Edited by Bor
Bor1
23.06.2010 в 11:38
А я вот чет никак не разберусь
Может я диградирую ?
Ребят помогите а.
Я панельку такую симпотную сделал для Ми-8 терь охото чтоб там экипаж ботал
Никита Константинов выполнил похожую работу при озвучке Ту-144, модель есть на сайте, можно скачать и использовать как пример, честно говоря я сам не ожидал такого на ХМЛ увидеть. Круто.
ilya15022559
23.06.2010 в 12:44
А покажите пожалуйста свой XML код. И краткий комментарий, что он должен делать.
Спасибо за отклик
Я покажу обязательно как только доберусь до него (это на другом компе).
kit86200830
24.06.2010 в 07:48
Панэль готова и довольно симпатично выглядит. Как только звуки приверну. Выложу для общей оценки любителям Ми-8
Теперь главное разобраться. Буду сегодня пыхтеть
Edited by kit862008
ilya15022583
26.06.2010 в 14:55
А покажите пожалуйста свой XML код. И краткий комментарий, что он должен делать.
Выкладываю код.
Идея в том, чтобы переключение баков происходило с характерным звуком перемещения крана. Я не хотел привязывать звук к <Click>, так как в этом случае, как я понимаю, звучание будет происходить только при работе мышью с клик-зонами прибора, а в модели в ВК используется не прибор, а трёхмерный рычаг переключения баков, и если завязать звук на <Click>, то его не будет при переключении.
Я не знаю, как можно дать L-переменной значение 1, а затем сразу 0, а вот к инструкции к xss написано, что Reset=true делает это сам, поэтому идея была в том, чтобы при переключении крана в любое положение в переменную L:FUEL_SELECTOR_SOUND записывалась 1, звук проигрывался бы однократно, а затем xss автоматически бы записывала в переменную 0 до следующей смены положения крана.
Я понимаю, какую чушь я могу писать, поэтому прошу прощения, если мои слова и «код» вызовут ужас Я очень плохой программер, но не считаю, что могу просить людей заниматься работой над самолётом, который им неинтересен, поэтому пытаюсь разобраться сам, но этот тот случай, когда без помощи уже ничего не получается. Поэтому буду очень признателен за разъяснения.
Эрих_Хартманvip2359
28.06.2010 в 09:51
Насколько я понимаю, конфигурационный файл это просто .txt , потом переименованный в .cfg? Или с ним еще какие действия надо совершить?
Wishmaster715
28.06.2010 в 10:10
Конфигурационный файл — это конфигурационный файл, никто ничего в нем не переименовывает
А если нужно в нем что-то исправить — вполне достаточно простого блокнота
Bor1
28.06.2010 в 18:35
ilya1502, вот смотрите, сразу навскидку:
Вы кладете на стек значение переменной A:RECIP ENG FUEL TANK SELECTOR, затем кладете на стек 0, затем сравниваете эти два значения на верхушке стека, потом идет ветвление и в зависимости от результата и если A:RECIP ENG FUEL TANK SELECTOR равно нулю и если не равно нулю (то есть в любом случае!) устанавливаете L:FUEL_SELECTOR_SOUND в 1. То есть при любом значении переменной RECIP… у вас должен проигрываться щелчок, вот поэтому он и зацикливается, он сбрасывается xss, но тут же вновь устанавливается вашим прибором. Наверное в этом случае нужно завести вспомогательную переменную, в которой хранить прежнее значение RECIP…, сравнивать с текущим значением RECIP… и в случае изменения запоминать новое значение и вот только тогда устанавливать 1 для переменной озвучки.
<Gauge Name="FuelSelector" Version="1.0">
<Element>
<Select>
<Value>(A:RECIP ENG FUEL TANK SELECTOR:1, enum) (L:RECIP ENG FUEL TANK SELECTOR:1, enum) ==
if{ (A:RECIP ENG FUEL TANK SELECTOR:1, enum) (>L:RECIP ENG FUEL TANK SELECTOR:1, enum)
1 (>L:FUEL_SELECTOR_SOUND,bool) }
</Value>
</Select>
</Element>
</Gauge>
ну где то так…. я так думаю.
Edited by Bor
Bor1
28.06.2010 в 18:43
Насколько я понимаю, конфигурационный файл это просто .txt , потом переименованный в .cfg? Или с ним еще какие действия надо совершить?
Михаил прав.
Это просто обыкновенный текстовый файл в кодировке CP1251 или Windows-1251, ну кому как нравится. Впрочем и расширение у него может быть любым, так как имя файла полностью задается в фале Panel.cfg, кстати Panel.cfg в русскоязычных Виндах пишется в такой же кодировке. Поэтому для примера я и для xss выбрал такое же расширение.
Edited by Bor
Эрих_Хартманvip2359
29.06.2010 в 09:03
Михаил прав.
Это просто обыкновенный текстовый файл в кодировке CP1251 или Windows-1251, ну кому как нравится. Впрочем и расширение у него может быть любым, так как имя файла полностью задается в фале Panel.cfg, кстати Panel.cfg в русскоязычных Виндах пишется в такой же кодировке. Поэтому для примера я и для xss выбрал такое же расширение.
Спасибо за терпение и разъяснения. Пробую разобраться. Что не получится-обращусь, если вы не против?
Если можно, то покажите хоть один пример прибора, где прописан звук на показания прибора. Например, прописать звуковой файл на падение давления двигателя.
С подключением звука на переключение тумблера понятно вроде.
Я циклические звуки включал через Сишную библиотеку NamedVar, в ХМЛ нужно просто установить переменную в 1 когда, включаешь звук, и в 0 когда выключаешь. Посмотрю как нить как время будет переведу код на ХМЛ. Нужно только пометить описание как Reset=0 и звук должен удовлетворять условию:
Edited by Bor
Это я про циклические звуки написал, а то что тебе надо, ну как, тут проблема только в знании XML приборов для сима, читай доки. Проверяешь условия и выставляешь переменные для звука, и все.
Всё ясно. Документация есть, буду изучать.
Игорь, хочу выразить БОЛЬШУЮ БЛАГОДАРНОСТЬ ! за прибор и содержательное, и подробное разьяснение по теме.
Edited by Virpil
Хотелось бы слегка посоветовать 🙂
Если хотите длать универсальное решение для звуков в симуляторе — рекомендую написать утилиту как модуль (чтобы всегда была доступна для сторонних разработчиков без указывания некоего отдельного прибора в панели) и ввод информации (события/назначение звуков и тому подобное) оформлять как интерфейсы. Для тех же, кто использует не XML, а С++ — выделять либо NamedVar’s либо вообще оформлять это как lib файл и .h header для включения в кастомный проект.
Если есть интерес — в принципе (по свободному времени разумеется) я могу проконсультировать по модулям и интерфейсам, дело нехитрое в общем-то, один раз сделал — дальше само пошло. Единственно на майл пишите (на форум не то чтобы ходок, да и в почте удобнее что-то приаттачить и тому подобное).
Да, сразу предупреждаю 🙂 — мааааленькая утилитка после того, как сделаешь ее удобной для достаточно большого числа пользователей — превращается в некий вполне полноценный продукт с достаточно большими временными затратами на разработку и сопровождение.
Получилось как раз наоборот, сперва я писал библиотеку для своего «внутреннего» использования (именно как lib), но более универсальным оказалось сделать ее реагирующей на переменные XML. В виде модуля я не стал оформлять ее по из-за того, что исповедую принцип: не нужна — не использую — не загружаю, насколько я помню модуль в симе загружается с любой моделью.
А тут появляется принципиальная возможность людям делающим панели на XML прикручивать к ним свои звуки не пользуясь компилятором вообще.
Да и я в своих «долгостроях» пошел по пути озвучки через XML. Из сишных приборов управляю озвучкой как раз через named vars.
Хотя если есть потребность именно в библиотечном оформлении (и работе из сишного прибора — для более гибкого управления, ведь все таблицы и функции под рукой можно любой звук прервать, задержать, изменить громкость) можно и так реализовать — необходимо только конструктивное обоснование.
Кстати сейчас (все для FS2004) сделал маленькое изменение в приборе — при переключении видов, внутрикабинные звуки гасятся.
Есть потребность выложу в разделе файлы.
Edited by Bor
Потребность такая есть! Совершенно согласен с вашим взглядом на модуль vs прибор.
Был бы вам очень признателен за обновлённую версию!
Тут XML Sound Server 1.2.0 (Прибор для кастомной озвучки внутрикабинных звуков FS2004)
Edited by Bor
Спасибо!
Хотелось бы поблагодарить Игоря за создание такого чудесного прибора — получилось реализовать замечательные вещи.
Есть вопрос.
Я, вероятно, чего-то очень сильно не понимаю, так как программер из меня совершенно нубский, но я понял так, что параметр Reset в xss.cfg предназначен для того, чтобы L-переменной автоматически присвоить значение 0 после того, как она получила 1, таким образом проигрывание звука становится однократным, и он больше не проигрывается, пока условие, в результате выполнения которого в L-переменную записывается 1, не будет сначала отменено, а затем выполнено снова. У меня же значение переменной остаётся равным 1 до тех пор, пока не отменишь условие. Как результат, щелчок переключателя зацикливается.
Очень может быть, что я неправильно понимаю, как всё это должно работать, но буду очень признателен за пояснение того, как работает параметр Reset.
В конфигурационном файле xss.cfg, в секции нужного вам звука, напротив Reset = пропишите true , гауга автоматом сбросит в false и звук прекратится сразу после переключения галетника.
Ну до этого-то я додумался
В том и дело, что прописал. Не сбрасывает.
А я вот чет никак не разберусь

Может я диградирую :rolleyes: ?
Ребят помогите а.
Я панельку такую симпотную сделал для Ми-8 терь охото чтоб там экипаж ботал
А покажите пожалуйста свой XML код. И краткий комментарий, что он должен делать.
Edited by Bor
Никита Константинов выполнил похожую работу при озвучке Ту-144, модель есть на сайте, можно скачать и использовать как пример, честно говоря я сам не ожидал такого на ХМЛ увидеть. Круто.
Спасибо за отклик
Я покажу обязательно как только доберусь до него (это на другом компе).
Панэль готова и довольно симпатично выглядит. Как только звуки приверну. Выложу для общей оценки любителям Ми-8
Теперь главное разобраться.
Буду сегодня пыхтеть
Edited by kit862008
Выкладываю код.
Идея в том, чтобы переключение баков происходило с характерным звуком перемещения крана. Я не хотел привязывать звук к <Click>, так как в этом случае, как я понимаю, звучание будет происходить только при работе мышью с клик-зонами прибора, а в модели в ВК используется не прибор, а трёхмерный рычаг переключения баков, и если завязать звук на <Click>, то его не будет при переключении.
Я не знаю, как можно дать L-переменной значение 1, а затем сразу 0, а вот к инструкции к xss написано, что Reset=true делает это сам, поэтому идея была в том, чтобы при переключении крана в любое положение в переменную L:FUEL_SELECTOR_SOUND записывалась 1, звук проигрывался бы однократно, а затем xss автоматически бы записывала в переменную 0 до следующей смены положения крана.
<Gauge Name="FuelSelector" Version="1.0"> <Element> <Select> <Value>(A:RECIP ENG FUEL TANK SELECTOR:1, enum) 0 == if{ 1 (>L:FUEL_SELECTOR_SOUND,bool) } els{ 1 (>L:FUEL_SELECTOR_SOUND,bool) }</Value> </Select> </Element> </Gauge>Я понимаю, какую чушь я могу писать, поэтому прошу прощения, если мои слова и «код» вызовут ужас
Я очень плохой программер, но не считаю, что могу просить людей заниматься работой над самолётом, который им неинтересен, поэтому пытаюсь разобраться сам, но этот тот случай, когда без помощи уже ничего не получается. Поэтому буду очень признателен за разъяснения.
Насколько я понимаю, конфигурационный файл это просто .txt , потом переименованный в .cfg? Или с ним еще какие действия надо совершить?
Конфигурационный файл — это конфигурационный файл, никто ничего в нем не переименовывает
А если нужно в нем что-то исправить — вполне достаточно простого блокнота
ilya1502, вот смотрите, сразу навскидку:
Вы кладете на стек значение переменной A:RECIP ENG FUEL TANK SELECTOR, затем кладете на стек 0, затем сравниваете эти два значения на верхушке стека, потом идет ветвление и в зависимости от результата и если A:RECIP ENG FUEL TANK SELECTOR равно нулю и если не равно нулю (то есть в любом случае!) устанавливаете L:FUEL_SELECTOR_SOUND в 1. То есть при любом значении переменной RECIP… у вас должен проигрываться щелчок, вот поэтому он и зацикливается, он сбрасывается xss, но тут же вновь устанавливается вашим прибором. Наверное в этом случае нужно завести вспомогательную переменную, в которой хранить прежнее значение RECIP…, сравнивать с текущим значением RECIP… и в случае изменения запоминать новое значение и вот только тогда устанавливать 1 для переменной озвучки.
<Gauge Name="FuelSelector" Version="1.0"> <Element> <Select> <Value>(A:RECIP ENG FUEL TANK SELECTOR:1, enum) (L:RECIP ENG FUEL TANK SELECTOR:1, enum) == if{ (A:RECIP ENG FUEL TANK SELECTOR:1, enum) (>L:RECIP ENG FUEL TANK SELECTOR:1, enum) 1 (>L:FUEL_SELECTOR_SOUND,bool) } </Value> </Select> </Element> </Gauge>ну где то так…. я так думаю.
Edited by Bor
Михаил прав.
Это просто обыкновенный текстовый файл в кодировке CP1251 или Windows-1251, ну кому как нравится. Впрочем и расширение у него может быть любым, так как имя файла полностью задается в фале Panel.cfg, кстати Panel.cfg в русскоязычных Виндах пишется в такой же кодировке. Поэтому для примера я и для xss выбрал такое же расширение.
Edited by Bor
Спасибо. Как раз это я и имел в виду.