Commit Graph

576 Commits

Author SHA1 Message Date
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
Roland Winklmeier
466a9a24ef refs #321 Methods to read/write aircraft config packets from/to network 2015-03-20 16:31:56 +01:00
Roland Winklmeier
a3e13db2ae refs #321 token bucket algorithm implementation 2015-03-20 16:31:52 +01:00
Klaus Basan
16042c1fb2 refs #369, gcc fixes 2015-03-20 16:31:41 +01:00
Klaus Basan
8c3547c33d refs #369, adjusted simulator drivers
* common base class BlackCore::CSimulatorCommon
* using providers IOwnAircraftProvider, IRenderedAircraftProvider
* using revers lookup in mapping
* using CSimulatedAircraft / CSimulatedAircraftList
* return values (success/failed) for member functions (e.g. setTimeSynchronization)
* getMaxRenderedAircraft / setMaxRenderedAircraft prepared
2015-03-20 16:31:33 +01:00
Klaus Basan
f56a401505 refs #369, adjusted contexts
* using CSimulatedAircraft / CSimulatedAircraftList
* new functions as getAircraftForCallsign or getInstalledModelsStartingWith
* fixes such as override missing fixed
* return values (success/failed) for member functions (e.g. setTimeSynchronization)
* getMaxRenderedAircraft / setMaxRenderedAircraft
2015-03-20 16:31:29 +01:00
Klaus Basan
89424647aa refs #369, smaller changes
* rendered attribute in CSimulatedAircraft
* Formatting
* contains in CPropertyIndex
* CAircraftModel, new type
2015-03-20 16:31:22 +01:00
Klaus Basan
366721d9ad refs #369, first version of IRenderedAircraftProvider in airspace monitor
(no aircraft parts yet)
2015-03-20 16:31:18 +01:00
Klaus Basan
a48a875e42 refs #369, use SimulatedAircraftList (instead of CAircraftList) 2015-03-20 16:31:14 +01:00
Klaus Basan
de23d1f5bc refs #369, changed from CAircraftList to CSimulatedAircraft list
In the same step fixed / revised issues:
* make sure ATCT stations are removed from client list when disconnected
* use removeByCallsign functions
2015-03-20 16:31:11 +01:00
Klaus Basan
fe4613a868 refs #369, adjusted contexts to use own aircraft provider
* removed unused functions / signals
* removed no longer used members / update timers
* Pass provider to contructors
* no direct access to monitor in other contexts
2015-03-20 16:30:40 +01:00
Klaus Basan
a37a176c02 refs #369, renamed simulator connect functions similar to network context 2015-03-20 16:30:29 +01:00
Klaus Basan
054b30c306 Removed "return const" from some functions 2015-03-20 16:30:25 +01:00
Klaus Basan
39150a1bc1 Formatting, added icons for callsign 2015-03-20 16:30:21 +01:00
Klaus Basan
ce86c902b5 Upfront of refs #369
* consolidated ICoordinateGeodetic (e.g. fixed nested properties)
* shifted common functionality for objects/containers with callsign into interface
* shifted common functionality for objects/containers with geo position into interface
* shifted common functionality for objects/containers with timestamp into interface
* updated corresponding value objects / specialized lists
* adjusted all places where renamed functions are used
2015-03-20 16:30:18 +01:00