Commit Graph

640 Commits

Author SHA1 Message Date
Michał Garapich
9d37a0876d Style 2015-03-31 23:52:32 +02:00
Michał Garapich
45f48f7594 Listen for X-Plane to start 2015-03-31 23:52:30 +02:00
Michał Garapich
adc623f0e7 Add ISimulatorListener interface 2015-03-31 23:52:29 +02:00
Klaus Basan
28132d8e40 Fixed warnings from compiler and Jenkins build 2015-03-29 20:15:25 +02:00
Klaus Basan
f95504a2c8 refs #398, asserts for frequency
the line
if (frequencyKHz < 100000) { frequencyKHz += 100000; }
might be removed after the fix
2015-03-29 20:15:21 +02:00
Klaus Basan
48655bf551 refs #395, signatures for max.aircraft and max.range
(!) This in an intermediate step, the feature is not yet fully operational

* max distance for rendering as simulator property
* set max distance / aircraft from GUI

As result of the latest meeting
* changed CCallsignList to CCollection
* fixed some warning with elevated compiler settings (e.g. removed qint values -> int)
2015-03-29 20:15:13 +02:00
Klaus Basan
53afe798d4 Fixed warnings as mentioned in
https://dev.vatsim-germany.org/boards/22/topics/2587?r=2598#message-2598
and found by
+win32-msvc*:QMAKE_CXXFLAGS_WARN_ON *= /Wall /W3 /wd4640 /wd4619 /wd4350 /wd4351
2015-03-29 20:15:09 +02:00
Klaus Basan
70670b74c6 refs #393, allow to highlight a certain aircraft by blinking
* signatures in contexts
* some specialized functions in aircraft list
* context menus in aircraft view
* default "blinking" implementation in driver common base class
2015-03-29 20:15:05 +02:00
Klaus Basan
66da4d7353 refs #394, LED to display when mapper is ready
* function in context for models count
* adjusted status bar component
* in same step: menu to toggle "window on top"
2015-03-29 20:15:01 +02:00
Klaus Basan
48dc360237 Removed old model/views for aircraft, now all with simulated aircraft
Updates of models in view now manually / automatic possible
Allow to reload models (in backend)
2015-03-20 17:11:38 +01:00
Roland Winklmeier
afed33dbbf Adaptions to latest vatlib
The latest vatlib fixes some ambigious methods in the interface and
makes them more clear. Additional it adds a severity level to the
log handlers. Both causing the header to be source incompatible and
therefore need smaller changes in swift.
2015-03-20 17:11:35 +01:00
Roland Winklmeier
0760a67138 Handle users joining and leaving properly in audio context and gui
Before this change signals when users were joining or leaving
the voice room were not properly handled. A new signal in audio
context is emitted now and gui will rebuild the user list when it
is emitted.
2015-03-20 17:11:31 +01:00
Klaus Basan
a50e45e451 Fixed updates of view when simulated aircraft values are updated.
* renamed view to simulated aircraft view
* utility function for bool -> on/off
2015-03-20 17:11:27 +01:00
Klaus Basan
066515fb9b As of RW/KB workshop
* changed aircraft view to siumlated aircraft models / views
* functionality to change fast pos. updates (signals, slots)
* allow to request text message widget from aircraft component
2015-03-20 17:11:23 +01:00
Klaus Basan
3153c2012b As of workshop RW/KB
* Allow to "jump" to text message channel from ATC / aircraft
* changed timer connections for components to new SLOT syntax
* housekeeping:
** new function in network context for station by callsign
** refactored textmessage component, allow to select tab by slot
** wired up signal / slots in main GUI
** removed unused functions
** allow to select area and "myself" in infoarea
2015-03-20 17:11:14 +01:00
Klaus Basan
79b3cf3cd3 Misc. imorvements as discussed in RW/KB worksho
* preparation for a context menu to send text messages from ATC/aircraft view
* preparation for context menu for fast pos. updates
* reverse ICAO lookup at login screen
* display fast updates / parts in GUI
* moved max- aircraft into settings
* made serverselection own component
2015-03-20 17:11:10 +01:00
Klaus Basan
fb12c608b1 As a result of the RW/KB workshop.
Prepared functions for interim position updates
* isFastPositionSendingEnabled(), enableFastPositionSending(bool enable)
* setFastPositionEnabledCallsigns ,  getFastPositionEnabledCallsigns()
2015-03-20 17:11:06 +01:00
Klaus Basan
269c65b578 As of workshop RW/KB, improved / fixed text messages
Also refs #351
* messages can be formatted with style sheet
* fixed: removed command from message
* added originator to command line
* msg parsing now in core
* using ITimestampBased for text messages and status messages
* allow to resize rows to content (view base)
* model / views for text messages
* removed old qt stylesheets
2015-03-20 17:10:58 +01:00
Klaus Basan
3560508154 Set simulator info when connecting to network 2015-03-20 17:10:51 +01:00
Klaus Basan
5ed95aee3d refs #391, allow to send aircraft parts from GUI
* GUI component for aircraft parts
* remote aircraft selector component
* Adjusted GUI for internals component
* Enable / disable debug messages from GUI
* Allow to init engines directly
* Removed unused async sort in sequence

In same step fixed found issues in interpolator
* allow to set max rendered aircraft
2015-03-20 17:08:23 +01:00
Klaus Basan
f31445e873 refs #386, further improvements on interpolation
* extended unit tests for interpolator / parts testing
* allow to skip sorting when splitting by time
* update ot aircraft to FSX in own member function
* Skip time sync parts (FSX) when disabled
2015-03-20 17:08:14 +01:00
Klaus Basan
eca8c5b637 Reflecting discussed changes for interpolation performance refs #386
(based on FSX testing)
* Only send changed situation to SIM
* Split sending of parts / situations
* Only send parts with a reduced frequency (means slower as positions)
* Mark geodetic height as null for default values (the value is usually unavailable)
* Fixed altitude to MSL for network data
* Trace which aircrafts support aircraft parts via network
* Renamed insert_fron push_front (as proposed by Roland)

Status quo / lessons learnt
* On slower PCs jitter is still noticed for interpolated aircraft.
* Running interpolation in an independent process (aka core, not in GUI) reduced load dependencies
  => it seems to make sense to run driver in own thread
* The onGround flag in parts seems clumsy as it required to retrieve parts for position updates
* In interpolation performance really matters
2015-03-20 17:00:41 +01:00
Klaus Basan
ca6cd9c063 Disabled updates of airspace monitor's situations / parts
Currently not used, for performance testing
2015-03-20 16:49:31 +01:00
Klaus Basan
7e39587226 Passing connection status to airspace monitor.
When the network connection is terminated, airspace monitor
can still recevice pending signals from vatlib. Those have to be ignored.

Otherwise it can happen aircraft (.. etc.) are added again to airspace,
which gives inconsistent results.
2015-03-20 16:49:28 +01:00
Klaus Basan
688b89e313 Doxygen 2015-03-20 16:49:23 +01:00
Klaus Basan
420a47e90c refs #369, changed interpolation to a working (but still too bad performing) version
* using split by callsign everywhere
* helper function to insert_front
* revised linear interpolator
* renamed to remoteAircraft
* renamed to container() in providers (gettters are usually copies)

Issues why changes did so long:
* insert in list is not adding in front, but same as push_back (that was confusing)
* naming of values before/after in interpolator was ambigious
* QMap keeps values sorted by key, not arbitrarily
2015-03-20 16:49:07 +01:00
Klaus Basan
190e2c3757 refs #386, performance issues
* keep split per callsign map in IInterpolator (so it is available for all interpolators)
* added signals to provider to add split situations / callsigns
* adjustments to airspace / context for those signals
* thread safe access to those from interpolator
* renamed from rendered to remote aircraft as discussed
* adjust samples
* removed no longer required functions in timestampobjectlist
2015-03-20 16:49:03 +01:00
Klaus Basan
f8bebf5ffa refs #386, performance issues
* keep split per callsign map in IInterpolator (so it is available for all interpolators)
* Interpolator using CWorker, so it can run in background
* added signals to provider to add split situations / callsigns
* adjustments to airspace / context for those signals
* thread safe access to those from interpolator
* renamed from rendered to remote aircraft as discussed
* adjust samples
* removed no longer required functions in timestampobjectlist
* changed connectioStatusChanged from uint -> int
2015-03-20 16:48:58 +01:00
Klaus Basan
c55681fce5 refs #375, prepared flag to enable / disable sending interim positions 2015-03-20 16:34:29 +01:00
Klaus Basan
76f5d33d7b Doxygen 2015-03-20 16:34:14 +01:00
Klaus Basan
b354adc234 Fixed header for vatlib 2015-03-20 16:34:03 +01:00
Klaus Basan
38a8c45b9e refs #369, thread safe access to aircraft parts, situations 2015-03-20 16:33:54 +01:00
Klaus Basan
c47871b813 refs #382, reviewed audio context handling
* only init QDbusServer for P2P
* changed init order of contexts in runtime
* use "fake" signal to call setComVoiceRooms (remote in GUI)
* added slot to change voice room callsign
* used "org.swift" instead of "net.vatim" (just style)
* used const QString for serviceName
* added correct copyright header (just style)
2015-03-20 16:33:51 +01:00
Klaus Basan
5d491b9456 refs #380, use CWorker instead of QConcurrent for threaded reader (bookings/VATSIM file) 2015-03-20 16:33:43 +01:00
Klaus Basan
9fcc5674d6 refs #382, refs #337 empty context for audio 2015-03-20 16:33:35 +01:00
Klaus Basan
16bee441e1 refs #381, adjust GUI for new voice vatlib
* Only 1 volume
* No tests (squelch ...)
* loopback
* required backed functions in context
2015-03-20 16:33:31 +01:00
Klaus Basan
45bace425d Formatting, minor tweaks
refs #369, refs #371, refs #372
2015-03-20 16:33:27 +01:00
Roland Winklmeier
d3bdad9ef6 refs #321 Handle received aircraft parts in airspace monitor 2015-03-20 16:33:15 +01:00
Roland Winklmeier
afea320a2e refs #321 Handle aircraft config client capability 2015-03-20 16:33:07 +01:00
Roland Winklmeier
77e0165e9a refs #371 Replace COM based volume methods by global output volume 2015-03-20 16:32:47 +01:00
Roland Winklmeier
1587b4791a refs #371 remove deprecated mic and squelch tests 2015-03-20 16:32:43 +01:00
Roland Winklmeier
984c0d084f refs #372 Add context method to set the voice output volume 2015-03-20 16:32:39 +01:00
Roland Winklmeier
84ac5e9972 refs #372 Move voice channel sharing into CContextAudio
Before a very complex mechanism was implemented in order to share
a vatlib voice channel resource if more than one COM unit was connected
to the same channel. This is now moved into CContextAudio by mapping
a COM unit to a shared voice channel pointer.
2015-03-20 16:32:35 +01:00
Roland Winklmeier
33dddf795e refs #372 Adapt audio devices to fixed vatlib interface 2015-03-20 16:32:31 +01:00
Roland Winklmeier
ff56d64ff2 refs #372 Adapt CContextAudio and voice sample to IAudioMixer 2015-03-20 16:32:27 +01:00
Roland Winklmeier
7ba3a50e18 refs #372 Replace voice connection methods to use audio mixer
Instead of connecting producers and consumers directly, they
are all connected to an audio mixer. In order to actually
route voice you have to configure the mixer and connect its
input with an output port.
This commit also silently adapts to some new vatlib methods,
which got introduced as a bug fix.
2015-03-20 16:32:23 +01:00
Roland Winklmeier
8812f3ba28 refs #372 Add audio mixer interface and vatlib implementation
This class is an audio router. In order to route audio connect a
producer to an input port and a consumer to an output port. The
connection is later established by making the mixer connection
between an input and an output port.
2015-03-20 16:32:19 +01:00
Klaus Basan
5146b7357d refs #369, adjusted simulator drivers to changed interpolator and
removed addAircraftSituation
2015-03-20 16:32:15 +01:00
Klaus Basan
58b56ba2f3 refs #369, revised interpolator, removed addAircraftSituation 2015-03-20 16:32:11 +01:00
Klaus Basan
915492670c refs #369, prepared for aircraft parts and removed addAircraftSituation 2015-03-20 16:32:04 +01:00