3.3.4 Používání programu hlasového klienta

Přepínače příkazového řádku a nastavení

Tento IVC klient obsahuje některé nové funkce. Především je přidano několik přepínačů příkazového řádku a možnosti, které můžete využít. Ty jsou užitečné pro jednorázové nastavení klienta, ale doufáme, že to pochopíte, že uložením sad příslušných řetězců do příkazového řádku jako součást zástupce klientského programu, umožní parametrizaci spouštěcí operace pěkně pružným způsobem.

Například, virtuální letka může mít najednou několik různých hlasových serverů v různých částech světa. Za tímto účelem, budeš mít pravděpodobně dva zástupce, které tě automaticky připojí samostatně ke každému serveru s předem vybranou frekvencí a nastaven tak, že nemusíš udělat nic víc, než spustit klienta a potom stisknout PTT pro komunikaci s ostatními piloty.

Takže, se určitě zeptáte, jak to všechno funguje? Dobrá otázka!  Zde je obrázek používaný v dialogu textové nápovědy:

 

Pznámka: Tento obrázek byl pořízen z testovacího .exe klientského programu, takže první rozdíl je název programu má „d“ na konci – tvůj progam to nebude mít … měl by mít jen název „BMS_TS_Client.exe“.

Můžeš zadat přepínač do příkazové řádky, buď při spuštění programu při výzvě CMD nebo nastavením řetězce v příkazové řádky s zkratkou Windows.

Můžeš použít jakákliv nebo všechny přepínače, včetně jejich kombinací; některé přepínače se můžou vzájemně ovlivňovat mezi sebou, jak bude uvedeno.

Můžeš použít sestavu příkazů „/(písmeno_jméno)“ nebo další možností --(přepínač_jméno), ale všimni si, že u verze s lomítkem je pak jen volný prostor a řetězec se spínačem může požadovat možnost (str) a ta musí být přítomna, zatímco forma -- (přepínač_jnémo) požaduje „ =(str)“ (bez mezery), pokud vím (později tato forma zápisu nebyla moc testovaná, protože si myslím, že zápis s „/“ je snadnější). Náhodou jsem objevil, že verze zápisu --(písmeno_jméno) funguje také. 

Pokud zadáš přepínač, který nebude rozpoznaný, popřípadě nebude poskytnuta možnost (str) , když je požadovaný  jen jeden parametr nebo je jinak zkomolená příkazová řádka, program nemůže vyřešit to, co máš na mysli, pak se objeví výše uvedené dialogové okno a klient bude ukončen potom, co klikneš na tlačítko OK.

Velká písmena mají velký význam při tomto nastavení. Dej si pozor, nyní některé přepínače mají velká písmena a navíc i malé písmena.

Zde je delší popis dostupných možností:

/h nebo --help: tento příkaz je speciální … můžeš ho zapsat kdekoliv v příkazovém řádku a všechny ostatní nastavení a spínače BUDOU IGNOROVÁNY. Toto způsobí, že se zobrazí dialogové okno a program bude ukončen. Nedávej „GO!“, nesbíráme 200 jednotek místní měny, to není kafe pro tebe!

Zbytek přepínačů a možnostífungují samostatně nebo v kombinaci, bez /h … Můžeš zadat přepínač a jejich libovolné řetězce (v případě nutnosti pro přepínač), v libovolném pořadí … pořadí není podstatné.

/c nebo --connect: pokud existuje v řádku, tak bude spuštěn klientská aplikace a bude se pokoušet o okamžité spojení spuštěného programu. Buď opatrný s používáním, protože standardně tvoje přezdíka je „noname“ a zadaná adresa serveru není ta správná IP adresa nebo přiložený název hostitele. Jinými slovy, počítej se selháním, pokud nepoužiješ jiné vhodné nastavení.

/d nebo --duplex: jestliže je uveden to způsobí, že klient bude v podstatě fungovat na polovičním oboustraném datovém přenosu ve všech režimech, před hrou, v Falcon4 BMS UI a 3D světě. Jestliže přepínač není uveden, klient bude fungovat na základě úplného obousměrného přenosu dat před hrou a v UI Falcon4 BMS, ale budeš mít poloviční oboustrané spojení v 3D světě. Poloviční oboustranný přenos znamená, že když vysíláš, veškerý příchozí zvuk je utlumen. Úplný oboustranný přenos je jako telefon: můžete vzájemně hovořit, jak chcete. Poloviční oboustraný přenos je jako rádio, tak by to mělo fungovat ve 3D světě, aby se modelovala reálná komunikaci. Tyto zvukové efekty také následují toto nastavení – jestliže například budou zapnuty v režimu před hrou, pak při stisknutí mikrofonu dostaneš i veškerý okolní hluk přimíchaný do celém přenosu.

/k nebo --key-hook: jestliže je nastavena tato možnost, tak bude spuštěn aplet Windows k zachycení tlačítka nízké úrovně. Apletem budou zachyceny všechny stisknuté klávesy F1, F2 a F3. To bude provedeno bez ohledu na tom, jaké okno nebo aplikace je právě v činnosti. To tedy znamená, že můžeš minimalizovat klienta nebo ho vložit na pozadí a PTT klávesy budou stále vysílat, když budou stisknuté. Například, mnoho aplikací ve systému Windows používá klávesu F1 jako klávesu k „nápovědě“ – jestliže funkce zachycení klávesy je zapnuta pro aplet rádia, F1 nebude předána jiným aplikacím než apletu rádia, tak nebudeš schopen toto tlačítko použít k otevření nápovědy pro jiné aplikace. Další užitečná vlastnost je vytvořena, spustí klienta, připojí se a můžeš začít hovořit po celou dobu od UI Falcon4 BMS, až do 3D bez přerušení… Bez zachycení, když spustíš Falcon4 BMS (zvláště v režimu celé obrazovky; nebo jestli klikneš na jinou aplikaci a dáš ji na plochu) není možné vysílat, dokud komunikace po stisknutí "CONNECT" není úspěšně dokončena. Se zachycením, PTT provede spuštění komunikačního klienta bez ohledu na otevřené okno … na úkor zachycení F1 / F2 / F3 z některých nebo všech dalších aplikací. Jedna zvláštní poznámka: Když přejdeš ke komunikace a stiskneš "CONNECT" a navážeš spojení v dialogovém okně, toto zachycení nízké úrovně je vypnuto, jestliže je v tomto momentě vykázána činnost … toto umožní nadále použít klávesy F1 / F2 / F3 pro normální vazby tlačítek s avionikou ve 3D světě. Pro odstranění pochyb je zachycení nastaveno, aby tento spuštěný aplet  zůstal na místě, až do uzavření apletu (ano, bude aktivní dokonce i po odchodu z Falcon4 BMS, protože aplet restartuje zachycení, až to umožní Falcon4 BMS … proto nejsou dostupná tlačítka F1 / F2 / F3 pro jiné aplikace, jestliže není uzavřen aplet, ale bude propouštět tlačítka zpět do Windows, pokud zavřeš aplet společně s Falcon4 BMS).

/l nebo --log: toto nastavení hlavně odstraňuje chyby, takže většinou ho nebudeš potřebovat, pokud se nedostaneš do problémů. Použítím tohoto přepínače bude aplet donucen,  aby napsal textový soubor nazvaný „radio-lod.txt“ do IVC podadresáře v instalaci Falcon4 BMS. Toto je celkem nudný výplod o tom, co klientské knihovny a server provádějí za plochou, a o to normální pilot nemá opravdu zájem. Toto je zde hlavně pro případ, že bych Vás požádal o pomoc při vychytání nějakých problémů. Poznámka: tento log soubor je jednorázový, takže pokaždé když spustíš aplet, tak celý obsah je přepsán. Měj toto na paměti, jestliže se chceš zeptat log souboru, aby odpověděl na určité okolnosti hry.

/m nebo -- minimize: spustí aplet do nástrojové lišty místo, aby byl zobrazen jako okno na obrazovce. BMS kód spustí klienta tímto způsobem při automatickém spuštění a to je hlaní důvod proč tato možnost existuje, ale při použítí ve sohodě s dalšími možnostmi, můžeš získat tímto efektem kouzelné připojení k hlasovému serveru a mluvit okamžitě ke všem klientům, zatímco UI je zastrčené mimo zorné pole. POZNÁMKA: Zkoušel jsem dostat automatické spuštění klienta pod kód Falcon4 BMS, aby byl v klidu na pozadí, ale nemusí to  vždy fungovalo správně. Pokud Falcon4 BMS při automatickém spuštění minimalizuje klienta, můžeš pomocí ALT-TAB opustit okno Falcon4 BMS. Dobrá zpráva je, že ALT-TAB je nyní opravena a správně funguje, takže toto je způsob, aby ses s pomocí ALT-TAB vrátil zpět do okna Falcon4 BMS a měl bys opět vidět UI hry (už žádný BLACKSCREEN nebo částečně vykreslená obrazovka). Jestliže tento způsob uráží tvé cítění, tak můžeš: a) poučit mě, jak udělat tento typ spuštění z  obrazovky DX aplikací, tak aby se nepoužila ALT-TAB; nebo b) jestliže nemůžeš udělat za a) pak stejně doporučuji spouštět klienta předem.

/n"str" nebo -- nickname="str": tento přepínač umožní přidat řádu znaků, které budou použity jako obsah pro řádek „nickname“ v uživatelském rozhraní aplikace – ten je rovnocenný s tvým jménem  v logbooku Falcon4 BMS. Takže například zadej „/n Viper“ v příkazové řádce. Všimni si rozdílu „/n viper“ – jména logbooku jsou citlivá na velikosti písmen. Počet písmen nemá být delší než 60 znaků. Opravdu, nedávejte zde moc dlouhá slova.

/p"str" nebo --port="str": tento přepínač umožní přidat číselnou hodnotu k nastavení jako základní port IP adresy klienta, při pokusu o komunikaci se serverem. Klient používá 3 porty, takže hodnota "str" je první a ostatní jsou další dva v pořadí. Takže jestliže zadáš „/p 8086“ klient bude požívat porty 8086, 8087 a 8088 k dosažení hlasového serveru (můžeš také přenést tvoje železo někde mezi rok 1978 a 1979 a tvůj systém se změní na 8-bitový režim zpracování … neříkejte pak, že jsem Vás nevaroval!). Obecně zde není žádný způsob, jak změnit tyto porty, které server binárně sleduje, tak nejlepší bude v každém případě ignorovat toto nastavení … toto je zde pro případné budoucí rozšíření. Hodnota, kterou zadáš, musí být desetiné číslo, vytvořené z čísel od 0 do 9.

/s"str" nebo --server="str": tento spínač způsobí, že aplikace použije a vloží "str" do řádku server v aplikaci uživatelského rozhraní. Tato hodnota může být buď veřejná IP adresa nebo specifický název domény. Možné je použít další místní název, pokud to je tvůj veřejný systém. Pokud náhodou poběží binární server na tvém vlastním systému, musíš ještě zadat adresu pro tento systém – můžeš použít „localhost“ nebo „127.0.0.1“ a to by v každém případě mělo fungovat. Toto nastavení je užitečné v kombinaci s /c, protože v tomto případě bude spuštěna aplikace a pokračuje dále a pokusí se o spojení se serverem, který je specifikován s tímto nastavením /s "str" . Specifický název domény nesmí být delší než 60 znaků.

/u"str" nebo --uhf="str": tato aplikace vloží hodnotu "str" do kolonky frekvence UHF aplikace uživatelského rozhraní. Tato volba je užitečná v kombinaci s parametry /c a /s, protože to umožní, aby se aplikace automaticky připojila k severu se specifikovaným nastavením /s a potom automaticky nastaví UHF kanál podle nastavení /u [pro naše uživatele TeamSpeaku, všechny kanály jsou typu „dočasné“, takže jsou vytvořené a zrušené s tvým připojením, není potřeba správce na straně serveru]. V tomto případě "str" může být cokoliv, ale měj na paměti, že herní svět používá 6 celých desetinných čísel představující frekvenci – v podstatě hodnota MHz násobená 1000 k odstranění desetin – věž Osan má frekvenci 308.800 MHz, takže bude použita "str", abys slyšel hráče na této frekvenci, nastavení bude: „/u 308800“. Mimochodem, jestliže opustíš toto nastavení a stále používáš /c a /s, a jsi připojen, UHF rádio se přeladí na kanál s nápaditým názvem „Default channel“. Hodnota názvu kanálu , musí mít maximálně 60 znaků nebo raději méně.

/v"str" nebo --vhf="str": tato aplikace vloží hodnotu "str" do kolonky frekvence VHF aplikace uživatelského rozhraní. Tato volba je užitečná v kombinaci s parametry /c a /s, protože to umožní, aby se aplikace automaticky připojila k serveru se specifikovaným nastavením /s a potom automaticky nastaví VHF kanál podle nastavení /v. V tomto případě "str" může být cokoliv, ale měj na paměti, že herní svět používá 6 celých desetinných čísel představující frekvenci – v podstatě hodnota MHz násobená 1000 k ostranění desetin. Mimochodem, jestliže opustíš toto nastavení a stále používáš /c a /s, a jsi připojen, VHF rádio se přeladí na kanál s nápaditým názvem „Default channel“. Ten ovšem není stejný standardní kanál jako u UHF. Hodnota názvu kanálu , musí mít maximálně 60 znaků nebo raději méně.

/w"str" nebo --word="str": použij této funkce k zadání hesla, které je nutné u některých serverů, abys získal přístup k připojení. Jen prvních 8 písmen zadaného řetězce bude použito (pokud je 8 nebo více písmen použito, méně je OK, pokud je to co tvůj server potřebuje). Pokud potřebuješ zadat neexistující heslo některým serverům, můžeš explicitně přidat /w““.

/U"str" nebo --uhfVol="str": použij této vlastnosti k změně úrovně standardní hlasitosti pro radiový kanál UHF. Také ovlivňuje příjem kanálu GUARD. Rozsah používaných hodnot je od + 6 do - 6 (ano, můžeš vložit symboly „+“ a „-„ do "str" ). Standardní hodnota, kterou TS kód nastaví na „normal maximum“, je buď vynechání této možnosti nebo explicidně tuto možnost použít a zadat „0“ jako variantu. Poznámka: to znamená, že hlasitost +6 ve skutečnosti zesiluje příchozí úroveň hlasu, takže je HLASITĚJŠÍ než normální … dej si proto pozor na uši. Mínus hodnoty snižují hlasitost pod normu. [NB: tento rozsah nastavení v mínusové oblasti je menší než rozsah, který může být nastaven přes ovladač ve hře – nesoulad v nastavení hlasitosti úrovně v operačním systému a nastavení úrovně ve hře může mít za následek skoky úrovně hlasitosti, jak se pohybuješ z jednoho prostředí do druhého … je na tobě jak to zvládnout, jestliže nechceš, aby skákala hlasitost!] Pro technicky myslící uživatele, tyto interpretované hodnoty jsou decibely … to je důvod proč mínusové hodnoty jsou tišší, atd.

/V"str" nebo --vhfVol="srt": použij této vlastnosti k změně úrovně standardní hlasitosti pro radiový kanál VHF. Rozsah používaných hodnot je od + 6 do - 6 (ano, můžeš vložit symboly „+“ a „-„ do "str"). Standardní hodnota, kterou TS kód nastaví na „normal maximum“, je buď vynechání této možnosti nebo explicidně tuto možnost použít a zadat „0“ jako variant. Poznámka: to znamená, že hlasitost +6 ve skutečnosti zesiluje příchozí úroveň hlasu, tak je HLASITĚJŠÍ než normální … dej si proto pozor na uši. Mínus hodnoty snižují hlasitost pod tuto normu. [Pozn.: tento rozsah nastavení v mínusové oblasti je menší než rozsah, který může být nastaven ovladačem ve hře – rozdíl v nastavení hlasitosti úrovně v operačním systému a nastavení úrovně ve hře, může mít za následek skoky úrovně hlasitosti, když se pohybuješ z jednoho prostředí do druhého … je na tobě jak to zvládnout, pokud nechceš, aby skákala hlasitost!] Pro technicky myslící uživatele, tyto interpretované hodnoty jsou decibely … to je důvod proč mínusové hodnoty jsou tišší, atd.

 

Je zde jeden užitečný způsob, jak použít tšchto klavesových zkratek. Možná bylo by dobré udělat si složku zkratek pro každý hlasový server, se kterými budeš komunikovat. Pojďme předpokládat, že se chci automaticky připojit a použít stejné UHF/VHF frekvence, které BMS standardně nastaví pro používání ve hře, na obrazovce uživatelského rozhraní nebo mise. Zde použitá serverová adresa je jen příklad, udělal jsem zástupce, který má tuto příkazovou řádku:

“c:\FalconBMS\Bin\x86\ivc\IVC Client.exe” /c /k /n Viper /s ivc.mydomain.org /u 307300 /v 1234

Mohl jsem zde také přidat /m a mít spuštěnou aplikaci v příkazovém řádku místo otevření okna na ploše. Pravděpodobně bych mohl přejmenovat zkrácený příkaz na nějaká nevýznamý jako „mydomain IVC“ a tvrdit, že je to taky dobré.

Znám mnoho lidí, kteří mě žádali o .ini soubory pro tento typ použití, ale když přišli na to, co tím myslím, že nejdůležitější jsou profily parametrů připojení, poskytující možnosti příkazové řádky, která umožní složit profil jako spustitelný cíl přímo z okna pracovní plochy. Cítím to jako by to bylo přinejmenším rovnocené s profily uloženými v .ini souboru a možnosti použití budou rychlejší, aniž by se nejdříve spouštěla aplikace. A nebolí to, když se přidájí do příkazové řádky přepínače a nastavení jako by to bylo velmi malý strojový kód (zde je příjemná knihovna wxWidgets, která funguje!), tak může poskytnout všem něco, v co doufám, že bude užitečné bez zbytečně velkého projektu programování.