Commit Graph

1763 Commits

Author SHA1 Message Date
Roland Winklmeier
e2578dd63c Move sending of positions and params to FS9 into own method 2015-03-20 17:10:34 +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
5bad11dcca Allow init by QList in CSequence 2015-03-20 17:01:16 +01:00
Klaus Basan
f525e3bc2e refs #386, further tests for interpolator
* calculate single vs. calculate all interpolations upfront
* added clear for interpolator
2015-03-20 17:01:12 +01:00
Klaus Basan
8d6be01c5d Style, minor fixes 2015-03-20 17:01:09 +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
79c15b79e4 refs #369 allow to place aircraft in Vienna for traffic sim 2015-03-20 16:49:19 +01:00
Klaus Basan
bd58475436 refs #369, unit test for interpolator 2015-03-20 16:49:11 +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
1ff0cfa618 refs #386, further samples / performance tests
* especially impact of find performance on interpolator
2015-03-20 16:34:33 +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
29bb7d02d0 Allow to split callsign based list + samples 2015-03-20 16:34:26 +01:00
Klaus Basan
496d63cf11 refs #387, preparation for level meter
* not yet connected with audio
2015-03-20 16:34:22 +01:00
Klaus Basan
7201d09c9a refs #380, changed to CWorker for aircraft mapper
Removed QConcurrent
2015-03-20 16:34:18 +01:00
Klaus Basan
76f5d33d7b Doxygen 2015-03-20 16:34:14 +01:00
Klaus Basan
41b7291a21 Allow to reset volume to 100% in GUI 2015-03-20 16:34:10 +01:00
Klaus Basan
df1c0c65da refs #384, allow subparts reading in FSUIPC and to disable FSUIPC (currently disable in FSX) 2015-03-20 16:34:06 +01:00
Klaus Basan
b354adc234 Fixed header for vatlib 2015-03-20 16:34:03 +01:00
Klaus Basan
59612a8b2e Performance samples as discussed:
* Vector vs List
* getByCallsign.getTimeBefore vs. getTimeBefore.getByCallsign
2015-03-20 16:33:59 +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
067aecdeca Fixed missing metadata registration 2015-03-20 16:33:47 +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
1da3f58fec refs #369, fixed / adjusted testing and samples
* changed from qDebug() to QTextStream
* setter for voice room
* set fake voice room URL, otherwise no nonger displayed in GUI
2015-03-20 16:33:39 +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
Klaus Basan
f0db7ed660 refs #380, QConcurrent vs QThread sample and fix
* in same step fixed nullptr issue in worker (with no parent)
* Changed from QConccurennt::run to CWorker in core
2015-03-20 16:33:23 +01:00
Roland Winklmeier
50e9be8dd3 Dispatch Simconnect events every 10 ms 2015-03-20 16:33:19 +01:00
Roland Winklmeier
d3bdad9ef6 refs #321 Handle received aircraft parts in airspace monitor 2015-03-20 16:33:15 +01:00
Roland Winklmeier
d5731cf8d9 refs #321 Add parts synchronized flag to CSimulatedAircraft 2015-03-20 16:33:11 +01:00
Roland Winklmeier
afea320a2e refs #321 Handle aircraft config client capability 2015-03-20 16:33:07 +01:00
Roland Winklmeier
b40180818c Send ChangePlayerPlane several times to FS9 2015-03-20 16:33:03 +01:00
Roland Winklmeier
ebbeed4baf refs #328 Write aircraft parts to simulators
FSX only for the moment
2015-03-20 16:32:59 +01:00
Roland Winklmeier
bcc79ddeee refs #328 Read aircraft parts from simulators 2015-03-20 16:32:55 +01:00
Roland Winklmeier
58ae34d2e6 Fix const correctness in xbus dataRef 2015-03-20 16:32:51 +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