Commit Graph

600 Commits

Author SHA1 Message Date
Michał Garapich
4d4acb20bc refs #366 cleanup
* Removed obsolete signal from IContextSimulator
* Removed connectToSimulator() method from IContextSimulator as it is no
longer relevant
* CSimulatorComponent updates automatically when simulator disconnects
* FS9 & FSX drivers update (including FSCommon)
2015-04-01 01:21:28 +02:00
Michał Garapich
63e48ae332 Remove ISimulator::getSimulatorInfo()
To provide maximum flexibility, the simulator info is specified by each
plugin in the JSON metadata file.

* Renamed SCimulatorInfo to CSimulatorPluginInfo
* Removed pre-defined simulator infos (UnspecifiedSim, FSX, etc)
* CContextSimulator keeps track of which plugin is loaded and its info
* QSignalMapper keeps track of which listener emitted the simulatorStared() signal
* CSimulatorPluginInfo contains name, simulator name and description
* TODO: GUI part
* TODO: CTestFsCommon
2015-04-01 01:20:25 +02:00
Michał Garapich
3897fb2d1a FS9 plugin cleanup
* Make host & lobby client plugin-global
* Post-rebase cleanups (FSX too)
2015-04-01 00:07:28 +02:00
Michał Garapich
924e094a38 Listen for simulators on another thread 2015-04-01 00:05:15 +02:00
Michał Garapich
570f4aa4ea Make FS9 works with ISimulatorListener
* The FS9 host is started in the Listener
* When FS9 starts up, it is called via the lobby to join the multiplayer
* Some minor changes in CContextSimulator
2015-04-01 00:05:12 +02:00
Michał Garapich
edc0646ab2 Make FSX works with ISimulatorListener.
SimConnect tries to connect to FSX every 5 seconds.
TODO: Use WinAPI to wait for FSX process to show up
2015-04-01 00:01:35 +02:00
Michał Garapich
5b4c2377b6 Initial "Auto" option
* Added ContextSimulator::listenForAllSimulators()
* Added "auto" option in SettingsSimulatorComponent
* Default plugin is UnspecifiedSim, which stands for "auto" option
2015-04-01 00:00:36 +02:00
Michał Garapich
a0033bee02 Lazy-load drivers when necessary
* Use JSON to get driver/simulator information
* Load driver plugin only when ISimulatorFactory is needed
2015-03-31 23:56:40 +02:00
Michał Garapich
afc22397bb JSON plugin metadata initial
* Added json files along with FILE macro for all drivers
* Get CSimulatorInfo from JSON rather than from ISimulatorFactory
2015-03-31 23:56:35 +02:00
Michał Garapich
c5a1a6048b Refactor Simulator connection status
* Removed obsolete and unused signals (ISimulator, CSimulatorContext)
* Removed ISimulator::ConnectionStatus enum
2015-03-31 23:56:32 +02:00
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