Crash with certain voice commands
Followed FGCom update: str fields now escape "," and "=".
Does this still happen with the new commit? If you manage to reproduce it, please set "log_speech_recognition" to True in ext/sr.py and provide the output log on this error. I will meanwhile look for the opportunity of this analytically.
"NSCFString" type issue (Mac-specific?)
(1) Could you do: import pyttsx3 e = pyttsx3.init() and provide the output of: {v.id: v.languages for v in e.getProperty('voices')}? (2) Also, say what system you are on? The documentation says that getProperty('voices') returns the "list of voice.Voice objects supported by the driver", and that init() uses "the default driver for the system". So maybe your driver is somehow different and not satisfying some assumed conditions?
I have just pushed commit 42279a12, meant to fix this.
FIXED bug in parsing runways vs. callsign in solo speech recognition (SF ticket #28)
ADDED: "+" on teacher strips never transferred to student. FIXED: bug in "create traffic" dialog possibly blocking "OK" button if started near helipad.
Simplified teacher/student ATC coord. list, e.g. no more "Teacher"/"Student" entries. Made generic XFR action useful to teacher as well.
ADDED: Generic handover/transfer action (except for teaching for now)
ADDED: icons for "ATIS" and "location settings" actions (+ improved a couple more icons).
Save docked state of CPDLC panel and teaching console.
CODE: Reworked phone line manager system.
Replacing PyMumble
Allow RWY/helipad selection from solo AD start dialog
ADDED: radar tag drag moves linked strip (move tag with SHIFT)
ADDED: $helipads alias. CHANGED: Only show user panels if title input dialog not cancelled.
FIX: "$me" alias. CODE: merged "system" and "general" settings -> "global" settings (= settings.conf + text-radio-messages.conf).
Distributed system settings dialog. Dock new panel automatically in centre if none already docked.
CHANGED: text aliases now substitute also in ATC text chat. Also renamed files and class/var names for a more consistent naming scheme and to remove all double file basenames.
Discontinued historic FGCom support. Config file renamed: "text-radio-messages.conf".
Safeguard dodgy FSD destination frequencies in incoming packets.
Updated version number & ChangeLog
FIXED bug with FPL detail comparison with AltFlSpec
Home
Wishlist
Merge divergent branches
Merge branch 'improved-acft-db' into 'master'
Ready for 1.9 release
Reordered "ACFT" drop-down in scope panels. Minor code sweep.
Corrected issue with additional viewer removal (and clarified confusion between "selected" and "activated").
Auto central radar panel when first time at location with confirmed SSR capability. FIXED: crash when opening new location.
Packed FPL button actions.
IMPROVED channel selection in ATC chat panel.
Radar measurements logged in a nicer pop-up text edit box. Fixed problem with initial central panel.
FIXED bug with restoring docked central panel. CHANGED: lighter/easier radar measurement logging system (no text prompts, more info on console, one line per measurement action).
REPLACED use of Telnetlib (removed with Python 3.13).
Persistent CPDLC/teaching central panel selection actions, and flash after their show/raise actions like their counterpart docks.
MOVED tower and additional viewer actions to system menu, and packed the latter in a nicer dialog interface.
CHANGED central workspace area (again): removed tabs, new docking mechanism allowing empty area (free use of space by side docks).
ADDED: "Listed only" button in CPDLC panel.
Reworking central area panels and docking, including CPDLC panel and teaching console. Collected CPDLC connection windows in single CPDLC panel.
ADDED: keyboard shortcut for Mach number display toggle (all scopes).
Gave all QMenus a parent widget (were not responsive to QSS stylesheets).
Unlimited XPDR assignment ranges
ADDED: known ACFT types
ADDED: "received strip auto-link to open FPL" setting.
Allow helos to break out of a hold on "make straight-in" instruction. Make all keyboard action shortcuts application-wide.
Avoid crash on lowercase AD code used as cmd line arg. Start equipping speech recognition with helo instructions.
CORRECTED bug with solo GND traffic initial contact. PocketSphinx Decoder init update.
MODIFIED "close CPDLC windows" action to "close non-dockable windows", including all modeless windows except main window docks and workspace pop-outs.
Improved departure clearance integration.
UPDATED: surface types to implement X-plane apt.dat v12. ADDED: sounds to distinguish phone and CPDLC notifications.
Reworked ATIS dialog and actions
Separated loc info and stats (old "env. info")
Helipad use
Solo MISAP probability setting
Added helipad params tabs
FGCom tests from dettings dialog.
Improved RWY turn-offs.
Distributed ai.status.Status type+arg to Status named attributes
Adding helipad use by solo/teacher traffic
Ok, thanks :) After having done a bit more digging: the convert_num_tokens can raise a ValueError, and this corner case is caught in every usage of convert_num_tokens, (i.e. headings, flight levels, ...) except when parsing the callsign. My private fix was to put a try-except around the whole content of handleVoiceInstrMessage function in the solo manager.
Hello, I am not ignoring this. Thing is, I have begun refactoring the solo stuff (also extending it to helicopters' straight-in approaches for example), so I am waiting for that to be testable, so that I include this fix in the new code to come... Stay tuned, and thanks for reporting.
Possible misleading "Wrong runway" with speech recognition
Crash with certain voice commands
Fixed bug with runway incursion alarms (again).
Fixed bug with departing helos.
Fixed bug with runway incursion alarms.
Changed a few action shortcuts (all function keys now used and teacher console more easily accessible).
I figured out the reasoning behind the VoiceAge issue, it had to do with a MacOS but in pyttsx3: https://github.com/nateshmbhat/pyttsx3/issues/248. I fixed it by patching my pyttsx3 files changing pyttsx3/drivers/nsss.py line 64 to read attr.get('VoiceAge') instead of attr['VoiceAge']. Now when I run the code you originally put: import pyttsx3 engine = pyttsx3.init(driverName=None) voices = engine.getProperty('voices') voices[0].languages returns ['en_US'] and type(voices[0].languages[0]) returns...
Corrected "None" entries in updated DB file
Populated the db with the appropriate cruise speeds from Eurocontrol's performance database and doc8643.com.
Voice Synthesis
SOLO - buggy Mach speed and buggy flight speed
Fixed a unit conversion problem in the math for Mach, and removed old tweak superseded by the later introduction of outside air temp model.
FIXED: Hoppie bugs
FIXED: Mach number bug and AI ACFT bad cruise speeds.
CHANGED: per-session FGCom port setting in FSD to allow for multiplt clients; CPDLC multi-element Hoppie message parsing. FIXED: Mach speed unit conversion bug.
SOLO - buggy Mach speed and buggy flight speed
Solo aircraft no more stay alive off radar even if on map. Cleared debug messages for new version release.
ADDED: SYSU-2 transfer cancelling messages (those with no arg). REVERTED: Hoppie-specific scheme for CPDLC transfers (inconsistently used by ACFT and unreliable in my opinion), to follow the better SYSU-2-based sequence, only responding even to subsequent logons
ADDED: automatic COMU-9 option
ADDED: open selected strip action with shortcut
ADDED: CPDLC response attributes and SPC message elements (were missing). COMPLETED: FSD data authority transfers.
Python 3.10 breaks PyQt5 bindings
COMPLETED: FSD CPDLC through Hoppie ACARS; now parsing CPDLC elements. NOTE: a few related debug traces are left in.
ADDED: FGCom-mumble usable in FSD sessions (incl. voice ATIS recording)
ADDED: FSD FGCom-mumble port option in system settings (to listen for RDF)
BEGIN: CPDLC support for FSD sessions through the "Hoppie" ACARS network (https://www.hoppie.nl/acars).
NOAA magnetic declination lookup service discontinued
Strip DEP clearance viewed with dialog instead of tool tip to allow copying.
Changed step dist. unit to metres in img positioning helper. Wrapped text in DEP clearance tool tip. Extended FPL outdated time.
This does make sense for FG sessions, but unlike you say, solo sessions are also available, as well as FSD connections, and teacher-student tutoring. So to me ATC-pie has emancipated itself enough from FG not to tie all those experiences to FG's, especially in known cases of obsolete data. The same problem exists with rendered taxiways, weather, nav data... I have long accepted that a perfect sync cannot be enforced on MP.
Thanks for your work on this. While I agree that it is also useful for a user to be able to input up-to-date information, my thought is that since only FlightGear players connect to the mpservers, and since ATC-pie is (currently) only for FlightGear, using the core models is the best way to ensure that the declination information matches, even if it's not up to date. Thanks again for the manual input mode.