Welcome to XSquawkBox 2’s documentation!¶
This manual is current as of 2.1
Introduction¶
What is XSquawkBox?¶
XSquawkBox is a plugin for X-Plane that allows you to fly with traffic and ATC provided by the VATSIM network.
What is the VATSIM Network?¶
From the VATSIM network website:
VATSIM (short for the Virtual Air Traffic Simulation Network) is a completely free online platform which allows virtual pilots, wherever they are in the world, to connect their flight simulators into one shared virtual world. VATSIM also simulates air traffic control in this virtual world, creating the ultimate as-real-as-it-gets experience for you, the virtual aviation enthusiast.
What does this let me do (in broad terms)?¶
XSquawkBox lets you fly using X-Plane, online, with other human pilots, with human provided ATC services.
What does it cost? / Terms and Conditions¶
Nothing - use of the VATSIM network and XSquawkBox are provided free of charge. This does not mean that it is a free-for-all, there are terms and conditions that apply to the use of both VATSIM and of the XSquawkBox software.
Use of VATSIM is subject to the VATSIM Code of Conduct and the VATSIM User Agreement. For more details, please refer to the VATSIM Network website.
Use of XSquawkBox 2 is subject to the XSquawkBox License. If you do not agree to the terms of the License, you may not use XSquawkBox.
XSquawkBox 2.1 Changelog¶
For updates before 2.0, please refer to the README file included with the release
2.1 (2020-04-05)¶
- Update to AFV-Native 1.1.0:
- Implement the new effects processing used in the .NET AFV.
- Fixed a bug where the Enable Effects checkbox in Setup Audio did nothing! (It was persisted, and it toggled the internal flag, but we never actually set the effects state in AFV-Native!)
2.0 (stable) (2020-03-29)¶
- Fixed a cosmetic bug where XSB OBSs would register themselves as servicing 99.998MHz instead of VATSIM’s standard 199.998MHz.
- We now mangle the malformed .x20 and .x70 frequencies to their correct form when displayed, and normalise all frequency usage correctly for the respective service. Hopefully this ends the confusion over what to tune, and radios not working as expected.
- We also now normalise the HF Alias list to ensure we match frequencies correctly due to the discovery that not only did our behaviour not match the expected one for .x25/.x75 aliases, but the actual alias list itself contained inconsistencies.
- Make sure that command-entered frequencies (
//
and///
) are rounded to valid channels.- Verbosely report when we’re connecting and disconnecting from VATSIM AFV (Voice) as AFV service issues causing silent failures have been confusing endusers.
- AFV-Native: Disable Nagle (where possible) on http connections per insistence of the AFV team. This is expected to be zero net change as curl buffers HTTP requests properly, but will eliminate any edge-cases where the AFV servers delayed ACK can cause a short (200ms) delay in finishing a HTTP POST.
2.0 beta 6 (2020-02-29)¶
- Alas, another beta due to the two bugs (one major) dealt with in this release.
- Fixed a bug in the HF frequency aliasing where we weren’t correcting the frequency scale (KHz vs Hz) during the lookup. Oceanic should now work with voice.
- Treat Voice server timeouts the same as disconnects so they’re automatically reconnected, rather than disabling the whole voice system until the next explicit reconnect.
- Report Voice server errors as a System Message so they’re more obvious.
- Reenabled the use of
xsquawkbox/input/string
to pass input to other plugins for processing.- Update to AFV-Native 0.9.5:
- Fixed a bug where the reported audiable channels count wasn’t initialised inbetween creating the radio simulation state, and the first network update. (Cosmetic only)
2.0 beta 5 hotfix 1 (2020-02-01)¶
- Reincorproate the fix from beta 4 hotfix 2 to not include AVX instructions in the non-AVX execution paths.
2.0 beta 5 (2020-02-01)¶
- We do not perform time dilation detection for external flight model and OBS users anymore. These restrictions were more from oversight than intent.
- Time Dilation is now warned correctly after a soft reset of the time dilation pool. (The actual behaviour was correct, we just weren’t warning properly).
- Don’t produce a “your simulator is good” message unless we’ve produced a warning first.
- Expose the time dilation detector pool remaining as a percentage and current detected fast/slow state via dataref.
- Export some of our datarefs to DRE/DRT to make them easier to inspect, and to make that inspection reliable across all platforms.
- Harden the ACCONFIG parser and tidy up our own output slightly to avoid potential undefined behaviours including random crashes when connected.
- Fixes a bug where a run-time change of aircraft in AI slots could trip a disconnect without warning due to ignoring the plane identity slot of
XPLM_MSG_PLANE_LOADED
messages.- Fixes a bug where we reset the ACCONFIG internal model state every time we saw a
XPLM_MSG_PLANE_LOADED
message, irrespective if it was for our plane or for an AI slot.- Linux builds are now being performed on Ubuntu 18.04 (rather than 16.04).
- Updated to AFV-Native 0.9.4 (build-chain and dependency version updates only)
2.0 beta 4 hotfix 2 (2020-01-01)¶
- Fix a build issue with libopus that was producing AVX instructions in the non-AVX execution paths on macOS and probably on Linux too.
2.0 beta 4 hotfix 1 (2019-12-30)¶
- Fix a build issue with portaudio that produced a hard dependency on macOS 10.15
2.0 beta 4 (2019-12-29)¶
- Made the volume controls work more naturally (volume reduction sounds more gradual making the volume control significantly more useful)
- Fixed an oversight where the Radio effects enable/disable state wasn’t being saved to preferences.
- Update to AFV-Native 0.9.3:
- Reverted to portaudio
- Various small improvements.
- Attempt to fix the behaviour around CryptoDTO session timeout/renewal.
- Fixed race condition in audio processing when API session renewal occurred.
- Expose voice stack debugging information via dataref so we can chart it and determine if certain things are behaving correctly.
2.0 beta 3 (2019-11-28)¶
- Due to changes in AFV-Native, we no longer assume default devices are known. If you haven’t selected an audio device, and audio is enabled, you’ll get an error/warning on start-up and during connect and voice will be disabled until devices are set correctly.
- Fixed Windows build to use the statically linked C++ runtime, removing the accidental dependency on the Visual C++ 2019 redistributable.
- From AFV-Native: Fixed a bug where we’d under-fill the output buffer if we started an output stream, without a source attached (such as when XSB runs run the peak test).
- From AFV-Native: changed the audio interface (again) from portaudio to libsoundio
- Fixed the name libxplanemp presents as - log messages should correctly read “XSB” instead of “A PLUGIN” again. :)
- Re-add a “disable_voice” config flag for use with multi-system rendering set-ups.
- AFV-Native’s logging now comes through XSB into the X-Plane logs - one less logfile.
2.0 beta 2 (2019-11-05)¶
- Fixed a logic inversion that prevented the text-radio from working.
- From AFV-Native: Reworked the audio device logic slightly so we should be able to find a working device even when the default doesn’t work.
- From libxplanemp: Re-enabled Async OBJ8 loading.
- From AFV-Native: Fixed build issue that was causing speexdsp to use dynamic linking instead of static linking on MacOS and Linux
- Attempted to fix the MacOS minimum required version and get it back down to 10.9, rather than 10.13.
2.0 beta 1 (2019-11-01)¶
- Integrated AFV-Native to support the new VATSIM Audio Platform. The AFV implementation (AFV-Native) and its integration represents 1-month of full-time professional development effort. AFV-Native will be open-sourced in short order.
- We now support sending and receiving text radio messages on COM2.
- The old keyboard/button-intercept code is gone - There’s now a series of bindable commands in the
xsquawkbox/
namespace which replace them. You’ll need to bind this by hand after upgrading!- Added
.rx
and.tx
commands to provide access to the radio audio panel controls in models that do not have the right datarefs hooked up.- Switched to using the 8.33KHz spacing radio datarefs for future 8.33Khz frequency spacing support.
- From libxplanemp: Fixed a bug that was causing asynchronous OBJ7 loads to crash the simulator.
- XSquawkBox is now a two man effort - please thank Jared Davison for adding his assistance to the client.
- From libxplanemp: Fix for the MSAA text size bug.
- From libxplanemp: Fix for the texture handle bug with specific versions of the FF A320.
- From libxplanemp: Removed OpenGL state readbacks to avoid driver stalls.
- From libxplanemp: Fixed bug where libxplanemp tries to control AI aircraft when it didn’t have exclusive control over the AI aircraft system.
- From libxplanemp: Obey simulator’s anisotropic filtering setting when loading textures for legacy CSLs.
- Observer Mode Support.
- Aircraft Configuration State Visibility with Ground Level Correction.
- Aural notifications on direct message and wallops.
- Time Dilation safety check and enforcement.
- Automatic Disconnect on slew and aircraft model change.
Getting Started¶
Before you Begin¶
Before you download and install XSquawkBox 2, you should prepare your X-Plane installation and ensure your system meets the requirements.
Also, if you haven’t already done so, you should read through the VATSIM terms & conditions, and register yourself an account.
On System Support¶
In this manual, we’ll use two terms - “support” and “compatibility” - when talking about requirements and interoperability.
Support reflects our ability to accomodate issues - if something is supported, we will try to fix it once we have enough information on how to address the issue. If it’s not supported, we’re not saying that it can’t work - we’re just saying that if it doesn’t work, we won’t invest effort into making it work.
Compatibility reflects if the components can or can’t work together. If we state something is compatible, we expect it to work. If it’s compatible and supported, we will actively endevour to correct any issues preventing it from working. If we state that it is incompatible, then we expect that the components will not work together.
Please do not report issues that relate to things that are clearly noted as being unsupported or incompatible.
System Requirements¶
As of XSquawkBox 2.0, XSquawkBox requires X-Plane 10.51+ or 11.36+ and one of:
- An X-Plane supported Mac running macOS 10.12 or newer. (If you’re using macOS 10.14 or 10.15, please see the compatibility note below).
- A PC running an X-Plane supported version of 64-bit Windows with suitable graphics hardware
- A PC running an X-Plane supported version of 64-bit Linux with suitable graphics hardware
If in doubt, about X-Plane support, please check the official X-Plane 10 System Requirements or X-Plane 11 System Requirements as appropriate.
If your X-Plane is a supported version, but not a supported release, please follow the official instructions for updating X-Plane 10 or updating X-Plane 11 prior to installing XSquawkBox.
Versions of X-Plane older than the versions stated above are incompatible.
XSquawkBox 2.0 is unsupported with the upcoming Vulkan renderer. (A future version of XSquawkBox will address this).
A note about macOS 10.14 and newer¶
Our ability to support macOS 10.14 is highly limited due to the introduction of the Audio permissions system. If the issue cannot be reproduced on 10.15, we cannot support it at this time.
Further, As macOS 10.15 isn’t compatible with 32-bit applcations, and X-Plane 10’s support tools are 32-bit only, we cannot recommend you try to run XSquawkBox on macOS 10.15 with X-Plane 10 either.
For this reason, XSquawkBox is unsupported with X-Plane 10 on macOS 10.14 or 10.15 - we have made no efforts to prevent it from working, but we will not act on bug reports for X-Plane 10 related issues on these versions of macOS.
On macOS 10.15 (or newer), X-Plane 11.41 (or newer) is required for microphone support to work at all. All versions of X-Plane 11 prior to 11.41 are incompatible when used on macOS 10.14 or 10.15.
Warning
When using XSquawkBox on macOS 10.14 or newer, you should ensure that you have your Security & Privacy settings set to enable apps from Identified Developers.
The XSquawkBox team cannot provide support for problems created by having your application restrictions set too high.
On Releases and Updates¶
All XSquawkBox releases are only made through the XSquawkBox website. There is no automatic updater so you should check the website regularly for news of known issues or upcoming updates.
Tip
XSquawkBox operates a twitter account (@xsquawkbox) which only contain tweets about new articles on the website (such as development news, known issue notices or release notifications). This is a conveniant way to monitor for XSquawkBox news without having to visit the site regularly.
We’re open to using other methods we can integrate with our website as well!
We have two types of release:
- Stable, which are versions we expect to continue to work for a prolonged period
- Beta, which include new features which require testing before being declared stable.
Betas operate on a time limited basis and will automatically expire after a
certain date which will be indicated in the README
file included with the
release.
Sometimes we screw up with our release process and need to supply a new build to address a compatibility issue - these are released as “hotfixes”.
Hotfixes never include new features or changes to XSquawkBox itself - they’re always due to needing to change settings in our build system, either against XSquawkBox or one of it’s dependencies. If you have an older version of a hotfixed release (e.g: You’ve got 2.0b4 and 2.0b4 hotfix 1 is out), and aren’t experiencing any problems with it, then there’s usually no need to update to the newer hotfix.
X-Plane Performance Requirements¶
In addition to the basic requirements, you must configure your X-Plane installation to run in real-time, that is, to have a framerate safely exceeding 20 frames per second in all phases of operation. The 20 frames per second minimum comes from X-Plane itself and is a consequence of it’s design.
Laminar Software maintains documentation on how to set the rendering options correctly for X-Plane 10 and for X-Plane 11.
In multi-system X-Plane setups, this restriction only applies to the system running the flight model.
Warning
If you do not configure X-Plane to achieve a minimum of 20 frames per second reliably in flight and on the ground, you may be disconnected automatically to prevent you from inconveniencing other pilots and controllers.
That is, your frame rate should not regularly dip below 20fps for more than one or two frames, and should not sit, even marginally, below 20fps for any sustained period of time.
Tip
In the developer’s experience, the phases of flight that cause the most problems with frame-rates are those on the ground and on approach at low altitude, where the scenery rendering demands are at their highest.
You should not optimise your simulator for framerate in the cruise at the expense of performance during those phases.
Plugin Compatibility¶
As the underlying libxplanemp traffic rendering code was never intended to be loaded and operated concurrently by multiple plugins at once, XSquawkBox will conflict with any plugin that uses it, or similar methods, to control traffic depiction inside the simulator.
The usual outcome of these conflicts is that one or more plugins will not be able to inject TCAS information, or XSquawkBox will not be able to use its ACF traffic rendering options.
If you wish to use these plugins, you should move XSquawkBox’s folder out of your plugin folder when you’re not using it, and similarly, you should move conflicting plugins out of your plugin folder when you intend to use XSquawkBox. If you do not do this, the developers cannot provide support for any issues that may arise.
Warning
It is NOT sufficient to use the X-Plane plugin manager to disable conflicting plugins as that happens well after simulator load. They must not be installed together in order to prevent conflicts during simulator load.
Plugins that are known or assumed to cause related conflicts are:
- X-Ivap
- XSwiftBus (the Swift X-Plane interface)
- The PilotEdge client
- X-Pilot
- LiveTraffic
Further Information
The injection of traffic from multiple source is not supported by XSquawkBox and never will be.
Such behaviour, if permitted, would create severe difficulties for controllers in sequencing and separating you as they would have to account for “phantom” aircraft they cannot see.
Installing XSquawkBox¶
Installing the Plugin¶
XSquawkBox is distributed as a Zip-file that contains the XSquawkBox plugin for all three platforms (Windows, macOS and Linux), and a minimum set of resources to use XSquawkBox.
To install the plugin:
- Ensure that X-Plane is not running.
- Locate your X-Plane installation folder, then open the subfolder “Resources”, then “Plugins”.
- Open or unzip the distribution zipfile, and then move the “XSquawkBox” folder from the XSquawkBox distribution into the Plugins folder.
Note
Do not attempt to directly open the .xpl files - you only need to put these in the right location and X-Plane will load them automatically.
Once this has been done, when you start up X-Plane and start a flight, you should see a “XSquawkBox” menu item in the plugins menu.
If the menu item is missing, please see the section on troubleshooting plugin loading issues
Configuring your Operating System¶
To ensure that XSquawkBox can acquire your microphone at the correct sampling rate, on Windows and macOS, it can be necessary to change the OS default capture settings. Please refer to the section in troubleshooting on input visibility issues.
Configuring XSquawkBox¶
Tip
XSquawkBox 2 is significantly different to previous versions in this regard.
Even if you have previous experience with XSquawkBox, it is highly recommended you work through this section to ensure your key and button bindings are all set appropriately.
Configuring the keyboard commands¶
Unlike previous releases of XSquawkBox, XSquawkBox 2.0 uses the X-Plane keyboard and joystick binding system for its commands.
If you are not familiar with how to set up keyboard bindings in X-Plane, you can refer to the manual for X-Plane 10 and X-Plane 11 .
The commands available are detailed below:
Command Name | Display Name (X-Plane 11) | Purpose |
---|---|---|
xsquawkbox/voice/ptt |
XSB: Radio Press-to-Talk | Use to send on the selected radio |
xsquawkbox/command/start_text_entry |
XSB: Start Text Entry | Use to activate the input prompt for text commands and text radio |
xsquawkbox/command/toggle_text_window |
XSB: Toggle Text Window Visibility | Toggles visibility of the text radio/command window |
xsquawkbox/text/prevpage |
XSB: Text Window: Previous Page | Scrolls the text window back one line |
xsquawkbox/text/nextpage |
XSB: Text Window: Next Page | Scrolls the text window forward one line |
xsquawkbox/text/start |
XSB: Text Window: Scroll to Start | Scrolls the text window to the earliest line |
xsquawkbox/text/end |
XSB: Text Window: Scroll to End | Scrolls the text window to the latest line |
xsquawkbox/command/reply_next |
XSB: Reply to Last Sender | Starts a reply to the person who last sent you
a .msg - subsequent presses cycle through
recent senders |
xsquawkbox/command/toggle_whos_online |
XSB: Toggle Who’s Online | Toggles visibility of the Who’s Online window |
Note
You must bind the Press to talk and Start Text Entry commands to use XSquawkBox - you will not be able to interact with the network properly without them
Tip
It is highly recommended you bind the Toggle Text Visibility and the text window scroll commands.
Recommending Bindings for First-time Users¶
- Bind
xsquawkbox/command/start_text_entry
(“XSB: Start Text Entry” in X-Plane 11) to Enter and/or Space. - Bind
xsquawkbox/voice/ptt
(“XSB: Radio Press-to-Talk” in X-Plane 11) to a joystick/yoke button that is easily accessible - usually a trigger or thumb button if you want an authentic position. - Bind
xsquawkbox/command/toggle_text_window
(“XSB: Toggle Text Window Visibility” in X-Plane 11) to Keypad - (minus). - Bind
xsquawkbox/text/prevpage
(“XSB: Text Window: Previous Page” in X-Plane 11) to Page Up. - Bind
xsquawkbox/text/nextpage
(“XSB: Text Window: Next Page” in X-Plane 11) to Page Down. - Bind
xsquawkbox/text/start
(“XSB: Text Window: Scroll to Start” in X-Plane 11) to Home. - Bind
xsquawkbox/text/end
(“XSB: Text Window: Scroll to End” in X-Plane 11) to End. - Bind
xsquawkbox/command/reply_next
(“XSB: Reply to Last Sender” in X-Plane 11) to Keypad * - Bind
xsquawkbox/command/toggle_whos_online
(“XSB: Toggle Who’s Online” in X-Plane 11) to Keypad /
Setting up your Audio Devices¶
Using XSquawkBox¶
Connecting to the Network¶
To connect to the network, access the “Plugins” menu at the top of the screen, select “XSquawkBox” and then pick “Connect…”. A dialog box will come up asking for the following fields:
- Callsign
The callsign you will be known as on the network for this session. It must include only letters, numbers, hypens or underscores.
Examples:
N1943
,DAL2024
,VH-RDO
- Real Name
Your full name (or otherwise as permitted by VATSIM Policy).
Examples: John Q. Smith
- Server
The VATSIM Server name (e.g:
AUSTRALIA
,USA-W
, etc), IP address or fully-qualified domain name of your server.You generally want to pick a server from the dropdown list that is closest to you geographically.
Note
Do not attempt to connect to
AFVDATA
- it’s not a real server.If you want to connect to
localhost
or other single element domain name, you MUST use the IP address instead - single-element names are interpreted as server list entries.- Port
- The port for the server you will connect to. This should be set to
6809
when on the VATSIM network. - ID
Your pilot’s ID, also known as your Certificate ID. It’s a number you receive when you sign up to VATSIM.
Example:
1810123
- Password
The password for your VATSIM account - given to you when you sign up for VATSIM. This is case-sensitive so make sure you enter your password exactly as issued. It will appear as stars so that other people cannot read it.
Caution
The text/traffic server does not handle your password in a case-sensitive manner, but the voice servers do. If you get the case in your password incorrect, you will be able to connect, but voice will fail.
- Aircraft Model
The ICAO equipment code of your aircraft.
If you do not know the correct 4 letter equipment code, you can type a few letters from the name or ICAO code of this airplane, then click on the correct item in the menu to set it; XSquawkBox will search its database of thousands of aircraft and show you named matches.
Note
It is important that you select an item from the popup, even if it’s the only match, otherwise the change will not take effect!
- Airline
(optional) The 3 letter ICAO airline code that you want your aircraft to appear as to others.
If you don’t know the correct code, you may pick an airline by typing part of its name, and clicking on the correct airline from the menu. Or you may leave this blank.
- Livery
- (optional) For some aircraft, multiple paint schemes are defined. This optional setting will let you nominate a specific sub-livery that your aircraft should appear as to others.
Note
The aircraft, airline and livery you pick in XSquawkBox are used to tell other pilots on the network what your plane looks like. You do not have to pick values that match your plane in X-Plane. For example, if you are flying a SWA 737 400 in X-Plane you could pick a UAL 737 800 when you connect.
That said, you should not list yourself as a very different planes. For
example, should you fly an FA-18 but list yourself as aircraft model code
C172
, then other users will see a Cessna 172 flying at 350 knots, which
will look very strange.
Once you’ve filled in the necessary fields, click the connect button; you will see the prompt “Connecting…” at the top of your screen. If the login is successful, you will then see the welcome message for the VATSIM network. If you cannot login, you will receive an error message. If the server cannot be reached at all, you will simply see “You have been disconnected.”
Disconnecting from the Network¶
To disconnect from the network, access the “Plugins” menu at the top of the screen, select “XSquawkBox” and then pick “Disconnect”. After a second or two, the message “Disconnected” will appear on the screen.
You may also be disconnected inadvertently due to internet problems, if a supervisor removes you from the network, or if XSquawkBox detects a problem with your simulator configuration.
Operating the Transponder¶
A transponder is a radio transmitter and receiver on your airplane that helps air traffic controllers identify you on their radar screens. The transponder transmits a four-digit code (often called a “squawk code”) that identifies your aircraft.
The transponder on your airplane’s panel controls your squawk code as seen by air traffic control on the network. If you do not have a transponder on your plane’s panel, you will not be able to change your transponder settings and may not be allowed on the network.
Tip
You can add a transponder to your aircraft’s panel using Plane-Maker. You should refer to the Plane-Maker documentation for further information.
Use the keyboard or mouse to change transponder codes as assigned by ATC. Do not
ever let the transponder read 7500
, 7600
, or 7700
; as in real life
this will trigger alerts for ATC.
Use the transponder controls in your aircraft to toggle between standby and
Mode C (Typically labelled ALT
, although in TCAS equipped aircraft with a
combined mode knob, the TA
and TA/RA
settings will also work).
To send an ident signal (“Squawk Ident”), click the ‘ident’ button on your transponder on the x-plane panel with the mouse. You should only do this as explicitly directed by ATC.
Using the Radio¶
Caution
Even if you are familiar with XSquawkBox 1.x - please make sure to read this section as some very important details have changed.
Unlike XSquawkbox 1, which could only send and receive text on COM1, and could only transmit voice on COM1, XSquawkBox 2 makes full use of audio panel controls and fully supports sending and receiving on both radios, both in text and using voice.
Transmissions (both voice and text) will be sent to the selected transmission radio.
XSquawkBox 2 supports 8.33Khz tuning over both voice and text, although the VATSIM network currently does not. You should only use 25Khz radio frequencies.
Note
There is a long standing error in VATSIM usage with many ATC and Pilot clients, and consequentially, users, reporting x.x25MHz and x.x75MHz frequencies incorrectly as being x.x20MHz and x.x70MHz respectively.
XSquawkBox now corrects all usage of .x20 and .x70 to their correct frequencies. This will cause some deviation from VATspy, or other tools, but you will get the correct behaviour when you tune the corrected frequency.
Tuning via Commands¶
XSquawkBox permits tuning the radio by issuing a //
or ///
command in the
text radio entry box.
To tune COM1, you can enter //<freq>
and that will tune the active COM1
frequency. You can also use //-<freq>
to tune the standby frequency. For
example, entering //122.80
will tune 122.800MHz on COM1.
Similarly, for COM2, you can enter ///<freq>
and that will tune the active
COM2 frequency. You can also use ///-<freq>
to tune the standby frequency.
Tip
XSquawkBox will deal with skipped trailing zeros, and, as of 2.0 (stable) will set .x2 and .x7 to the correct channels whereas previous versions would not.
e.g: entering //119.27
or //119.270
will tune 119.275MHz, and
//132.8
will tune 132.800MHz as expected.
Using Text¶
When you receive a text message on a tuned radio, it’ll appear in the text window. If the text window is hidden, it’ll automatically unhide for a few seconds so you can read the message, before hiding again.
You can toggle visibilty of the text window using the key or button bound to
xsquawkbox/command/toggle_text_window
. (Recommended key “Keypad -“)
To transmit on text, make sure you have the correct transmission radio selected
on your radio panel, and press the key bound to
xsquawkbox/command/start_text_entry
(recommended key “Enter”)
This will bring up the text radio view (if hidden) and enable keyboard input.
You can type your message (or command starting with .
) and press enter to
send it.
If you wish to transmit to a specific callsign, you can use the command:
.msg <callsign> <message...>
If you want to respond to a private or direct message, you can use the key bound
to xsquawkbox/command/reply_next
(recommended key “Keypad *”) to cycle
through people who have recently sent to you.
For details about other commands that can be entered through the text input, please see the section about commands below.
Using Voice¶
XSquawkBox simulates a 2 radio stack with a monaural mixer. It responds to the X-Plane 10/11 controls for radio volume, audio transmission select and receive enable and these must be set approriately for the radios to work as desired. See the section on Audio Panel Controls for some examples as to how these are configured.
As real world radios are half-duplex, the XSquawkBox voice radios similarly are so - if you are transmitting, you will not hear any radio coming in on that unit. You will still hear audio received by your secondary radio (if enabled).
To transmit, make sure the transmission selector on your audio panel is set
to the radio you want to talk on, and press the button or key bound to
xsquawkbox/voice/ptt
, and speak clearly into your microphone only releasing
the button or key after you have finished speaking.
Audio Panel Controls¶
In order to make use of your radios, you need to be familiar with the audio panel controls in your chosen aircraft model, in particular, the controls for audio volume, transmission source, and receive channel enable.
Note
Not all aircraft models expose all controls properly. Please see the note at the end of this section on how to control XSB if the controls aren’t available.
General Aviation Aircraft¶
Audio controls will typically be found center of the instrument panel and will be divided into a dedicated audio control panel which selects the receive channels and transmission channel, and the radios or GPS units, which should have the volume control for that source.

X-Plane 11 audio controls in the Cessna 172 (Center of Main Instrument Panel)
Airliners¶
Audio controls (for the captain / left-seat) will typically be on the pedestal immediately, or to the forward left of the captain’s seat. This is typically mirrored for the right set.
Note
XSquawkBox only supports control through the standard datarefs which allow for a single position and audio system only. If your aircraft model connects the copilot controls to it’s own set of datarefs, you will not be able to control XSB’s audio with those controls.
The audio panel will typically control volume, output enable and transmission source selection all in one place.

X-Plane 11 audio controls in the Boeing 747-400 (Center Pedestal)
In the 747-400 example above, individual radio receivers are enabled by clicking on the center of the volume stem, causing an indicator above them to illuminate.
Aircraft without a working audio panel¶
If your aircraft model doesn’t have a working transmission selector, you can use
the .tx ?
command to find out which radio is set to transmit, and use the
.tx COM1
or .tx COM2
commands to change the active radio to send.
Similarly, if your aircraft model’s audio panel doesn’t have proper receive
select controls you can use .rx COM1 on
and .rx COM1 off
(and similarly
for COM2) to turn that audio source on and off.
Filing a Flight Plan¶
You can file a flight plan from XSquawkBox.
Access the “Plugins” menu at the top of the screen, select “XSquawkBox” and then pick the “Send Flightplan…” menu item.
A flight plan dialog box will appear. From this dialog box you can enter your flight plan and then press Send to send it to the network.
If ATC has edited your flight plan, sending a new one may have no effect. If you resend a flight plan and the controller does not receive it, notify the controller that he or she must refile the flight plan for you.
Tip
Even if you have already filed a flight plan online via the VATSIM web page, or even if you are flying VFR and do not intend to request ATC services, you may still want to fill out the flight plan dialog box with a departure and destination airport as XSquawkBox will use this information to correctly set up weather from your departure and destination airports, rather than airports you overfly nearby your departure and destination.
Tuning X-Plane for VATSIM¶
Due to some key behaviours in X-Plane that differ to its competitors, it is necessary to ensure X-Plane is correctly adjusted to maintain a stable framerate above 20fps. XSquawkBox recommends that you target 30-35fps to ensure that you do not experience significant slowdowns that result in the simulator’s “time dilation” effect from being applied. “Time dilation” causes significant issues for traffic separation and sequencing and is not permitted on the network.
Laminar Software maintains documentation on how to set the rendering options correctly for X-Plane 10 and for X-Plane 11.
In addition to Laminar’s notes, we offer the following guidance:
- Read Laminar’s guides and follow the steps, looking at frame times and adjusting settings as your first port of call before resorting to a graphics detail autoadjusting tool - getting the settings right first will generally help immensely, and let the detail autoadjusting tool deal with the unexpected.
- X-Plane 11 was released in 2016 and targetted hardware contemporary for the
time. If you only have an older system, do consider using X-Plane 10 instead.
- In the XSB team’s experience, older (DDR3 memory equipped) systems have significant difficulties running X-Plane 11 with higher CPU-dependent settings - even an i7-4770, once a top of the line i7 CPU, struggles in X-Plane 11 with the world object setting set to medium, but can handle X-Plane 10 easily.
- X-Plane 11 can produce highly variant frame-rates based on the scene contents - a properly tuned top-end system can produce 35-40fps on approach, and over 90fps in flight. This variance can be easily demonstrated by switching to an external camera, moving the camera clear of the aircraft, and then pitching the view up and down through 180 degrees, watching the framerate as you do it. Tuning must be performed in areas with high complexity scenery areas, with the camera pointed at the terrain for best results.
- Scenery, Plugins and Add-on Aircraft can all dramatically change the minimum
system requirements.
- In particular, whilst alpilotx’s HD and UHD terrain meshes look great, they seriously increase the CPU burden for the same rendering settings due to their autogen density.
- XSB, and any other plugins that use xplanemp, require additional texture memory on top of what the simualtor uses by default to load aircraft textures on the fly - high traffic situations may result in significant increases in required texture memory. Being conservative with the texture memory slider if you know you’re going to enter a high traffic event is well advised. If your settings result in X-Plane needing more texture memory than your system has available, it will result in a severe degradation of your frame-rate.
- Do not set texture quality to the Uncompressed option (the very highest setting) - there’s absolutely no cause for it. If you’re finding an add-on’s textures look poor with compressed textures enabled, you should report the issue to the add-on developer - such issues only tend to occur with assets that do not ship with precompressed textures as the real-time compressor is not as good as the offline tools. The same applies to CSLs that look poor with compressed textures enabled - report such issues to the CSL author.
Aircraft Compatibiilty¶
As XSquawkBox 2.x implements a significantly more extensive radio model, we’ve discovered there are some compatibility issues with some aircraft.
Where it’s indicated that the Tx Select control is inoperative or not rigged,
you can use the .tx
command to manually set the selected radio for
Transmission.
Where it’s indicated that the Rx Enable controls are inoperative or not rigged,
you can use the .rx
command to manually enable or disable radios for
listening.
More specific notes will be left where there is aberant or complex unexpected behaviour.
X-Plane Stock Aircraft¶
Stock, as in, came with X-Plane.
X-Plane 10¶
In general, X-Plane 10 stock aircraft have fairly poor radio rigging.
You will need to make use of the .tx
and .rx
commands to operate their
radios comfortably.
X-Plane 11¶
This information was correct for X-Plane 11.41
This information only covers issues with Tx/Rx selection controls as we weren’t assessing any other issues at the time.
Aircraft | Compatibility Notes |
---|---|
Baron B58 | No Tx Select Control. No other problems found. |
Boeing 737-800 | Tx Select Knob present, but not routed correctly. |
Boeing 747-400 | No problems found. |
Cessna 172 (without G1000) | No problems found. |
Cirrus Vision (SF-50) | No problems found. |
Kingair C90 | No problems found. |
MD-80 | No problems found. |
Sikorsky S-76 | No Tx Select Control. No other problems found. |
Stinson L5 | One radio only. No problems found. |
Airfoil Labs¶
Cessna 172SP (v1.7) - XP11¶
- Missing volume controls from 3d panel.
- COM1 volume available on GNS430 pop-out panel.
King Air 350 (v1.3) - XP11¶
- Tx Select control will change Rx enabled states whenever changed.
Flight-factor / VMAX¶
Airbus A320 Ultimate (v1.0.1) - XP11¶
- Does not work properly with the
//
command. Tuning via the 3D panel works fine.
Airbus A350 (v1.5.2) - XP11¶
- No progressive COM1/COM2 volume control. (On/Off Only).
Boeing 757 (v1.21) - XP10¶
- Rx Enable is linked to Tx Select.
- Volume controls not rigged to datarefs.
FlyJSim¶
727 Series V2 - XP10¶
- No radio volume controls.
727 Series V3 (3.1908.1135) - XP11¶
- Analogue radio volume not yet supported by XSB.
732 TwinJet V3 (3.1908.1135) - XP11¶
- Analogue radio volume not yet supported by XSB.
IXEG¶
737 Classic (v1.1) - XP10¶
- Independent COM volumes not rigged.
737 Classic (v1.21) - XP11¶
- Independent COM volumes not rigged.
JAR Design¶
A330-241 (v1.2r3) - XP10¶
- 3D panel only permits one RX Enabled at a time.
- Tx Select not rigged.
- Individual COM volumes not rigged.
Troubleshooting XSquawkBox Issues¶
General¶
Be sure to check the XSquawkBox Website to see if your issue has been addressed on the Known Issues page, or in a recent post from the developer.
Warning
If submitting a bug report to the developers, You must not omit, edit or
shorten the content from Log.txt
as the full content can be critical in
determining the cause of issues.
If it is clear you have omitted, edited or shortened the log, the developers will ignore your bug report.
Issues with Plugin Loading¶
Issues with the plugin not loading are usually caused by not following the installation instructions correctly.
When X-Plane runs, it creates a file named Log.txt
Inside your X-Plane
installation folder which contains errors and information from X-Plane’s last
run. If XSquawkBox has issues loading, the cause or related information is
usually recorded in this file.
Linux
On Linux, the usual cause for this is a missing shared library. The
Log.txt
file will indicate which shared library it failed to load. You
should then locate and install the version of that library as shipped by your
distribution. You can verify if all the necessary shared libraries are
installed by using the ldd
tool against the linux.xpl
file inside the
plugin’s directory.
If your system meets the system requirements, and you have followed the
installation instructions as written, and you cannot find any information
suggesting a known cause, submit a bug report on the XSquawkBox website,
including the contents of Log.txt
in full.
Can’t see your desired input/output device¶
AFV-Native can only handle a specific subset of audio devices:
All devices must support a 48Khz sampling rate, or have OS-provided resampling. This accounts for the majority of USB headsets and most integrated audio devices.
In addition, input devices must be monaural or able to operate in a pure monaural mode. Similarly, output devices must be monaural or stereo or able to operate in a pure monaural or stereo mode.
In addition, bluetooth connected headsets are not supported - they might work if they support the necessary sampling rate and capture modes, but the developers cannot invest significant effort into trying to fix issues with them.
Note
The limitation is largely borne from AFV-Native audio interface code, and if you’re a programmer, you can attempt to remedy the limitations there and submit a patch to the author/maintainer.
Unfortunately, there’s just too many possibilities, and the requirements from the AFV system itself are fairly specific - the author cannot support every possibility on his own and has focused on the most common cases.
Some OS Specific notes on this are below:
macOS¶
macOS only supports one audio API - CoreAudio.
Run the “Audio MIDI Setup” utility (usually in /Applications/Utilities
) and
make sure the sampling rate for the device you want to use is set to 48KHz.
Devices set to 44.1KHz (and presumably lower) will not be recognised as
compatible.
Windows¶
Windows supports multiple audio APIs. In terms of prefernce, it is recommended to use WASAPI first if possible, with the next preference being DirectSound, and the least preferred being WinMME.
5.1 Surround speaker sets that connect directly to your PC via 3 x 3.5mm jacks have been known to not work with some integrated motherboard audio. If you really want to output the radio to the speakers, change your speaker layout to stereo. This configuration is not recommended however - dedicated headsets work best for VATSIM radio communications.
To force the default sampling rate for a device:
- Open Control Panel (not settings)
- Open the “Sound” control panel
- Click on recording tab
- For each device you want to be able to use as a microphone:
- Locate the input on the device list and right click on it and select “Properties”.
- Click on the “Advanced Tab”
- Make sure the “Default Format” is set to “48000Hz (DVD Quality)”
- Click “OK” to close the device settings.
- Click “OK” to close the Sound control panel.
Linux¶
Linux presently only supports the ALSA audio API.
Whilst it is possible to connect ALSA to Pulse, or to connect audio processing that’ll generally overcome any mismatch problems, no support can be offered for the Linux distribution provided audio components by the XSquawkBox team.
I’m Not Hearing Any Voice¶
The voice support has been fairly heavily tested - there have been a lot of problems reported that were traced through to incorrect operation or compatibility issues.
Note
VATSIM has been suspending ATIS operation during periods of high activity.
A failure to receive voice ATIS is not an indication of problems with the client unless you can confirm that other users are receiving voice ATIS.
First, make sure you didn’t get a warning message from XSB when you connected that your audio devices weren’t set up correctly. If you did, you need to disconnect and access the Audio Setup option and select your input and output devices.
Next, check the aircraft compatibility information to see if there’s a known issue with the model you’re using - you may need to vary how you’re trying to use XSB or the aircraft if there’s an identified issue.
Once you’ve checked for known issues and compensated for any stated, ensure you have set the right frequency on the radio, using the panel controls only. (If already correctly set, set the radio away from the desired frequency, then back again).
If that doesn’t resolve the issue, next ensure you have set the radio to be
enabled for receive on the audio panel. Use the .rx
command to force enable
it and see if that makes any difference.
Next, Adjust the radio’s independant volume control and make sure it’s turned up.
Finally, if you’ve exhausted all of those options, and it’s still not working, disconnect and access audio setup - and make sure the audio device selected is the one you are actually using. Check that the peak meter moves when you speak into your microphone.
I hear myself when I transmit voice¶
This is almost always caused by having both radios tuned to the same frequency, and both set with Rx Enabled.
Disable the non-transmitting radio for receive, or change it’s frequency.
Technical Notes¶
Introduction¶
This section of the manual is dedicated to technical information about the internals of XSquawkBox to aid debugging and integration.
Warning
If you are not a software developer looking to solve problems with AFV-Native, or to develop a plugin that interfaces with XSquawkBox, the inforamtion in this section of the manual will not likely be of use to you.
Audio¶
There are two independant audio implementations inside XSquawkBox.
One handles aural notifications - that’s a simple wrapper onto OpenAL which uses OpenAL-soft on Windows, and uses the X-Plane11 OpenAL on all other platforms by inheriting the symbolspace from the X-Plane process.
The other implementation is the voice implementation that is part of AFV-Native.
AFV-Native itself is open source and more details about how the implementation works under the hood can be glened by reading it’s source code.
AFV-Native itself runs in a dedicated thread which uses a combination of mutexes & atomic variables to exchange the easily maintainable state between X-Plane and AFV-Native. A lock protected queue is used to pass major events (those normally raised by the callback hook on AFV-Native’s client class) from AFV-Native to X-Plane. For This reason, most datarefs that are directly linked to AFV-Native only update when the AFV-Native backend thread is running, and do so at a rate independant to the framerate - roughly linked to AFV-Native’s internal 20ms tick.
Certain details from AFV-Native are exposed as datarefs to assist with capture and real-time debugging of certain issues.
Dataref Name | Purpose |
---|---|
xsquawkbox/voice/input_overflows |
Input Overflow counter. Increments whenever input device has more data than AFV-Native is able to process in a timely manner. |
xsquawkbox/voice/output_underflows |
Output Underflow counter. Increments when the output device requests more data than AFV-native has ready for playback |
xsquawkbox/voice/active_channels |
Number of independent voice streams currently being handled by AFV-Native. This is distinctly different to the number of audiable |
xsquawkbox/voice/audiable_channels |
Number of independent voice streams currently audiable - that is, they’re tuned, have audio data available, and are on a radio that is capable of playback, and has non-zero gain. |
xsquawkbox/voice/iterations |
Iteration counter. Increments whenever AFV-Native’s main thread loop runs |
xsquawkbox/voice/input_peak |
Input Peak in dB. Updates as long as audio is active. |
xsquawkbox/voice/input_vu |
Input VU in dB. Updates as long as audio is active. |
The XSquawkBox License¶
END USER LICENSE AGREEMENT FOR X-SQUAWKBOX SOFTWARE¶
IMPORTANT-READ CAREFULLY: This End-User License Agreement (“EULA”) is a legal agreement between you (either an individual person or a single legal entity, hereinafter referred to in this EULA as “You”) and Benjamin Supnik (herein after referred to as the “Developer”) for X-Squawkbox including any associated media, printed materials and electronic documentation (the “Software Product”). The Software Product also includes any software updates, add-on components, web services and/or initial supplements that the Developer may provide to you or make available to you after the date you obtain your initial copy of the Software Product to the extent that such items are not accompanied by a separate license agreement or terms of use. By installing, copying, downloading, accessing or otherwise using the Software Product, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, do not install, access or use the Software Product. Instead, you should delete it immediately.
SOFTWARE PRODUCT LICENSE¶
The Software Product is protected by intellectual property laws and treaties. The Software Product is licensed, not sold.
GRANT OF LICENSE. This Section of the EULA describes your general rights to install and use the Software Product. The license rights described in the Section are subject to all other terms and conditions of this EULA.
General License Grant to Install and Use Software Product. You may install and use the Software Product on a computer, device, workstation, terminal or other digital electronic or analog device (“Device”). This license is granted exclusively to you for the Software Product described within and may not be shared or transferred under any circumstances.
Reservation of Rights. All rights not expressly granted including, but not limited to, Copyright, are reserved by Developer.
DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.
Copy Protection. The Software Product may include copy protection technology to prevent the unauthorized copying of the Software Product or may require original media for use of the Software Product on the Device. It is illegal to make unauthorized copies of the Software Product or to circumvent any copy protection technology included in the Software Product.
Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse engineer, decompile or disassemble the Software Product, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
Limitations on Modification of Software Product. You may not modify the Software Product in whole or part in any way without the express prior written approval of the Developer. This includes, but is not limited to, the modification of any installation routines, packaging and/or program display elements (such as multiplayer aircraft) from the original state of the Software Product as provided to you by the Developer.
Limitations on Redistribution of Software Product. You may not redistribute the Software Product in whole or part in any way without the express prior written approval of the Developer.
Trademarks. This EULA does not grant you any rights in connection with any trademarks or service marks of the Developer.
No rental, leasing or commercial hosting. You may not rent, lease, lend or provide commercial hosting services to third parties with the Software Product.
Agreement to Transfer of Data by Software Product. By installing, copying, downloading, accessing or otherwise using the Software Product, you hereby grant permission to the transmission of certain data from your local Device to a host network’s server hardware for use in online flight simulation. The data transmitted to a host network’s server hardware shall be limited to various data and information from your flight simulator software program including, but not limited to, aircraft performance and location data generated by said simulator program. In addition, you further agree to the transfer of your hard disk drive serial number and/or the serial number of your Ethernet card as well as the version number of the Software Product to the Developer each time you startup the Software Product. No information other than data generated by your flight simulation software and the data expressly set forth herein which would personally identify you shall be subject to the terms of this paragraph. However, the terms of this paragraph expressly exclude any information you provide via the Software Product for purposes of logging onto a particular host network. The provision of any such information shall be governed by the terms and conditions of your membership with such host network.
Support Services. The Developer may, in his sole discretion, provide you with support services related to the Software Product (“Support Services”). Use of Support Services is governed by the Developer’s policies and programs described in the user manual, in “online” documentation, or in other Developer-provided materials. Any supplemental software code provided to you as part of the Support Services shall be considered part of the Software Product and shall be subject to the terms and conditions of this EULA. You acknowledge and agree that the Developer may use technical information you provide as part of the Support Services for his business purposes, including for product support and development. The Developer will not utilize such technical information in a form that personally identifies you.
Software Transfer. Except as specified in this section, you may make a one-time permanent transfer of the EULA and Software Product directly and only to an end user. This transfer must include all of the Software Product (including all component parts, the media and printed materials, any upgrades, and this EULA). Such transfer may not be by way of consignment or any other indirect transfer. The transferee of such one-time transfer must agree to comply with the terms of this EULA, including the obligation not to further transfer this EULA and Software Product. Subscription Products, if any are provided or otherwise made available, are non-transferable.
Termination. Without prejudice to any other rights, the Developer may, in his sole discretion, terminate this EULA if you fail to comply with the terms and conditions herein. In such event, you must immediately destroy all copies of the Software Product and all of its component parts.
UPGRADES. If the Software Product is labeled as an upgrade, you must be properly licensed to use a product identified by the Developer as being eligible for the upgrade in order to use the Software Product. A Software Product labeled as an upgrade replaces or supplements (and may disable) the product that formed the basis for your eligibility for the upgrade. You may use the resulting upgraded product only in accordance with the terms of this EULA. If the Software Product is an upgrade of a component of a package of software programs that you licensed as a single product, the Software Product may be used only as part of that single product package and may not be separated for use on more than one Device.
The Software Product may offer automatic and/or user optional downloadable upgrades. If you agree to any such upgrades, then data files will be downloaded which will replace the Software Product’s originally installed data files. Any such upgrades will be for data files only and will not include any executable files.
INTELLECTUAL PROPERTY RIGHTS. All title and intellectual property rights in and to the Software Product (including but not limited to any images, photographs, animations, video, audio, music, text, and “applets” incorporated into the Software Product), the accompanying printed materials and any copies of the Software Product are owned by the Developer or his suppliers. All title and intellectual property rights in and to the content that is not contained in the Software Product, but may be accessed through use of the Software Product, is the property of the respective content owners and may be protected by applicable copyright or other intellectual property laws and treaties. This EULA grants you no rights to use such content. If this Software Product contains documentation that is provided only in electronic form, you may print one copy of such electronic documentation. You may not copy the printed materials accompanying the Software Product for any other purpose including, but not limited to, redistribution without the express prior written consent of the Developer.
BACKUP COPY. After installation of one copy of the Software Product pursuant to this EULA, you may keep the original media on which the Software Product was provided by the Developer solely for backup or archival purposes. If the original media is required to use the Software Product on the Device, you may make one copy of the Software Product solely for backup or archival purposes. Except as expressly provided in this EULA, you may not otherwise make copies of the Software Product or the printed materials accompanying the Software Product.
APPLICABLE LAW. If you exercise this license in the United States, then this EULA is to be construed in accordance with the laws of the State of Maryland. If you exercise the license of this Software Product in any other country, then local law applies.
Should you have any questions concerning this EULA, please send e-mail to bsupnik@xsquawkbox.net.
WARRANTY. THIS SOFTWARE PRODUCT IS NOT COVERED BY ANY WARRANTY OR CONDITION, EXPRESS, IMPLIED OR STATUTORY. THERE IS NO WARRANTY OR CONDITION OF ANY KIND.
Any supplements or updates to the SOFTWARE PRODUCT, including without limitation, any (if any) service packs or hot fixes provided to you are not covered by any warranty or condition, express, implied or statutory.
DISCLAIMER OF WARRANTIES. THIS SOFTWARE PRODUCT IS NOT COVERED BY ANY WARRANTY OR CONDITION, EXPRESS, IMPLIED OR STATUTORY. THIS SOFTWARE PRODUCT IS NOT COVERED BY ANY OTHER EXPRESS WARRANTIES (IF ANY) CREATED BY ANY DOCUMENTATION OR PACKAGING. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, DEVELOPER AND HIS SUPPLIERS PROVIDE THE SOFTWARE AND SUPPORT SERVICES (IF ANY) AS IS AND WITH ALL FAULTS, AND HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS, EITHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY (IF ANY) IMPLIED WARRANTIES, DUTIES OR CONDITIONS OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY OR COMPLETENESS OR RESPONSES, OF RESULTS, OF WORKMANLIKE EFFORT, OF LACK OF VIRUSES AND OF LACK OF NEGLIGENCE, ALL WITH REGARD TO THE SOFTWARE, AND THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THE SOFTWARE.
EXCLUSION OF INCIDENTAL, CONSEQUENTIAL AND CERTAIN OTHER DAMAGES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL DEVELOPERS, ITS SUPPLIERS OR ANY NETWORK TO WHICH THE SOFTWARE PRODUCT IS CONNECTED BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR LOSS OF PROFITS OR CONFIDENTIAL OR OTHER INFORMATION, FOR BUSINESS INTERRUPTION, FOR PERSONAL INJURY, FOR LOSS OF PRIVACY, FOR FAILURE TO MEET ANY DUTY INCLUDING OF GOOD FAITH OR OF REASONABLE CARE, FOR NEGLIGENCE, AND FOR ANY OTHER PECUNIARY OR OTHER LOSS WHATSOEVER) ARISING OUT OF OR IN ANY WAY RELATED TO THE USE OF OR INABILITY TO USE THE SOFTWARE PRODUCT, THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES, OR OTHERWISE UNDER OR IN CONNECTION WITH ANY PROVISION OF THIS EULA, EVEN IN THE EVENT OF THE FAULT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, BREACH OF CONTRACT OR BREACH OF WARRANTY OF DEVELOPER OR ANY SUPPLIER, AND EVEN IF DEVELOPERS OR ANY SUPPLIER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
LIMITATION OF LIABILITY AND REMEDIES. NOTWITHSTANDING ANY DAMAGES THAT YOU MIGHT INCUR FOR ANY REASON WHATSOEVER (INCLUDING, WITHOUT LIMITATION, ALL DAMAGES REFERENCED ABOVE AND ALL DIRECT OR GENERAL DAMAGES), THE ENTIRE LIABILITY OF DEVELOPER AND ANY OF HIS SUPPLIERS UNDER ANY PROVISION OF THIS EULA AND YOUR EXCLUSIVE REMEDY FOR ALL OF THE FOREGOING SHALL BE LIMITED TO THE AMOUNT ACTUALLY PAID (IF ANY) BY YOU DIRECTLY TO DEVELOPER FOR THE SOFTWARE. THE FOREGOING LIMITATIONS, EXCLUSIONS AND DISCLAIMERS (INCLUDING SECTIONS 6, AND 7 ABOVE) SHALL APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, EVEN IF ANY REMEDY FAILS ITS ESSENTIAL PURPOSE.
ENTIRE AGREEMENT. This EULA (including any addendum or amendment to this EULA which is included with the Software Product) is the entire agreement between you and Developer relating to the Software Product and the support services (if any) and supersedes all prior or contemporaneous oral or written communications, proposals and representations with respect to the Software Product or any other subject matter covered by this EULA. To the extent the terms of any of Developer’s policies or programs for support services conflict with the terms of this EULA, the terms of this EULA shall control.
Third Party Licenses (as of 2.0b6)¶
notify.wav¶
Originally “tone beep.wav” published by “pan14” on freesound.org under the CC0 license.
AFV-Native¶
Copyright (c) 2019-2020 Christopher Collins
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
xplanemp¶
Copyright (c) 2006-2013, Ben Supnik and Chris Serio
Copyright (c) 2015-2018, Christopher Collins
Copyright (c) 2016-2018, Roland Winklmeier & Matthew Sutcliffe
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notices and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
msgpack-c¶
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the “Software”) to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:
The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
OpenSSL¶
Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- All advertising materials mentioning features or use of this software must display the following acknowledgment: “This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)”
- The names “OpenSSL Toolkit” and “OpenSSL Project” must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org.
- Products derived from this software may not be called “OpenSSL” nor may “OpenSSL” appear in their names without prior written permission of the OpenSSL Project.
- Redistributions of any form whatsoever must retain the following acknowledgment: “This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)”
THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ‘’AS IS’’ AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).
Original SSLeay License (OpenSSL)¶
Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) All rights reserved.
This package is an SSL implementation written by Eric Young (eay@cryptsoft.com). The implementation was written so as to conform with Netscapes SSL.
This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL documentation included with this distribution is covered by the same copyright terms except that the holder is Tim Hudson (tjh@cryptsoft.com).
Copyright remains Eric Young’s, and as such any Copyright notices in the code are not to be removed. If this package is used in a product, Eric Young should be given attribution as the author of the parts of the library used. This can be in the form of a textual message at program startup or in documentation (online or textual) provided with the package.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
All advertising materials mentioning features or use of this software must display the following acknowledgement:
“This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)”
The word ‘cryptographic’ can be left out if the rouines from the library being used are not cryptographic related :-).
If you include any Windows specific code (or a derivative thereof) from the apps directory (application code) you must include an acknowledgement:
“This product includes software written by Tim Hudson (tjh@cryptsoft.com)”
THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ‘’AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The licence and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.]
libevent2¶
Libevent is available for use under the following license, commonly known as the 3-clause (or “modified”) BSD license:
Copyright (c) 2000-2007 Niels Provos <provos@citi.umich.edu>
Copyright (c) 2007-2012 Niels Provos and Nick Mathewson
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ‘’AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Portions of Libevent are based on works by others, also made available by them under the three-clause BSD license above. The copyright notices are available in the corresponding source files; the license is as above. Here’s a list:
- log.c:
Copyright (c) 2000 Dug Song <dugsong@monkey.org>
Copyright (c) 1993 The Regents of the University of California.
- strlcpy.c:
- Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
- win32select.c:
- Copyright (c) 2003 Michael A. Davis <mike@datanerds.net>
- evport.c:
- Copyright (c) 2007 Sun Microsystems
- ht-internal.h:
- Copyright (c) 2002 Christopher Clark
- minheap-internal.h:
- Copyright (c) 2006 Maxim Yegorushkin <maxim.yegorushkin@gmail.com>
The arc4module is available under the following, sometimes called the “OpenBSD” license:
Copyright (c) 1996, David Mazieres <dm@uun.org>
Copyright (c) 2008, Damien Miller <djm@openbsd.org>
Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
The Windows timer code is based on code from libutp, which is distributed under this license, sometimes called the “MIT” license.
Copyright (c) 2010 BitTorrent, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
portaudio¶
PortAudio Portable Real-Time Audio Library
Copyright (c) 1999-2011 Ross Bencina and Phil Burk
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
libopus¶
Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic, Jean-Marc Valin, Timothy B. Terriberry, CSIRO, Gregory Maxwell, Mark Borgerding, Erik de Castro Lopo
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Internet Society, IETF or IETF Trust, nor the names of specific contributors, may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ‘’AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Opus is subject to the royalty-free patent licenses which are specified at:
Xiph.Org Foundation: https://datatracker.ietf.org/ipr/1524/
Microsoft Corporation: https://datatracker.ietf.org/ipr/1914/
Broadcom Corporation: https://datatracker.ietf.org/ipr/1526/
speexdsp¶
Copyright 2002-2008 Xiph.org Foundation
Copyright 2002-2008 Jean-Marc Valin
Copyright 2005-2007 Analog Devices Inc.
Copyright 2005-2008 Commonwealth Scientific and Industrial Research Organisation (CSIRO)
Copyright 1993, 2002, 2006 David Rowe
Copyright 2003 EpicGames
Copyright 1992-1994 Jutta Degener, Carsten Bormann
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the Xiph.org Foundation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ‘’AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
libcurl¶
COPYRIGHT AND PERMISSION NOTICE
Copyright (c) 1996 - 2017, Daniel Stenberg, <daniel@haxx.se>, and many contributors, see the THANKS file.
All rights reserved.
Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.
libpng¶
If you modify libpng you may insert additional notices immediately following this sentence.
This code is released under the libpng license.
libpng versions 1.0.7, July 1, 2000 through 1.6.28, January 5, 2017 are Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are derived from libpng-1.0.6, and are distributed according to the same disclaimer and license as libpng-1.0.6 with the following individuals added to the list of Contributing Authors:
- Simon-Pierre Cadieux
- Eric S. Raymond
- Mans Rullgard
- Cosmin Truta
- Gilles Vollant
- James Yu
- Mandar Sahastrabuddhe
and with the following additions to the disclaimer:
There is no warranty against interference with your enjoyment of the library or against infringement. There is no warranty that our efforts or the library will fulfill any of your particular purposes or needs. This library is provided with all faults, and the entire risk of satisfactory quality, performance, accuracy, and effort is with the user.
Some files in the “contrib” directory and some configure-generated files that are distributed with libpng have other copyright owners and are released under other open source licenses.
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from libpng-0.96, and are distributed according to the same disclaimer and license as libpng-0.96, with the following individuals added to the list of Contributing Authors:
- Tom Lane
- Glenn Randers-Pehrson
- Willem van Schaik
libpng versions 0.89, June 1996, through 0.96, May 1997, are Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, and are distributed according to the same disclaimer and license as libpng-0.88, with the following individuals added to the list of Contributing Authors:
- John Bowler
- Kevin Bracey
- Sam Bushell
- Magnus Holmgren
- Greg Roelofs
- Tom Tanner
Some files in the “scripts” directory have other copyright owners but are released under this license.
libpng versions 0.5, May 1995, through 0.88, January 1996, are Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
For the purposes of this copyright and license, “Contributing Authors” is defined as the following set of individuals:
- Andreas Dilger
- Dave Martindale
- Guy Eric Schalnat
- Paul Schmidt
- Tim Wegner
The PNG Reference Library is supplied “AS IS”. The Contributing Authors and Group 42, Inc. disclaim all warranties, expressed or implied, including, without limitation, the warranties of merchantability and of fitness for any purpose. The Contributing Authors and Group 42, Inc. assume no liability for direct, indirect, incidental, special, exemplary, or consequential damages, which may result from the use of the PNG Reference Library, even if advised of the possibility of such damage.
Permission is hereby granted to use, copy, modify, and distribute this source code, or portions hereof, for any purpose, without fee, subject to the following restrictions:
- The origin of this source code must not be misrepresented.
- Altered versions must be plainly marked as such and must not be misrepresented as being the original source.
- This Copyright notice may not be removed or altered from any source or altered source distribution.
The Contributing Authors and Group 42, Inc. specifically permit, without fee, and encourage the use of this source code as a component to supporting the PNG file format in commercial products. If you use this source code in a product, acknowledgment is not required but would be appreciated.
json.hpp¶
MIT License
Copyright (c) 2013-2018 Niels Lohmann
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
zlib¶
(C) 1995-2017 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Jean-loup Gailly Mark Adler
jloup@gzip.org madler@alumni.caltech.edu
If you use the zlib library in a product, we would appreciate *not* receiving
lengthy legal documents to sign. The sources are provided for free but without
warranty of any kind. The library has been entirely written by Jean-loup
Gailly and Mark Adler; it does not include third-party code.
If you redistribute modified sources, we would appreciate that you include in
the file ChangeLog history information documenting your changes. Please read
the FAQ for more information on the distribution of modified source versions.