History of Changes
- 1 4.3.5
- 2 4.3.4
- 3 4.3.3
- 4 4.3.2
- 5 4.3.1
- 6 4.3.0
- 7 Older Versions
- 7.1 4.2
- 7.2 4.0
- 7.3 3.9
- 7.4 3.8
- 8 Downloads
Released: 6. September 2017
- bugfix: auto-saving the project file no longer leaks memory
- bugfix: editing segments in the workspace now uses the segment template by default
- bugfix: a backup copy of the project file is now made when saving
- bugfix: lists with one item are now selectable with the keyboard
- bugfix: listview column width now calculated with correct font
- bugfix: default values from aseg templates now written to new segment before editing
- bugfix: correct default value written to segment, even if attribute value starts with a number
- bugfix: combobox entries no longer replacing underlines
Released: 3. July 2017
- feature: the conlog command can now log to a file.
- bugfix: the conlog savedata command no longer fails silently if the file cannot be created.
Released: 19. June 2017
- bugfix: segment address in the Transcription script is now rounded to 10th of a millisecond (4 decimal places) rather than 1 millisecond.
- bugfix: saving the project file now resets the automatic save timer.
- bugfix: the Transcription, Import Word List and Reorder Word List should now be working correctly again.
- feature: new script: Anonymize.sts - anonymize segments (attributes and signal) - requested by the ARI phonetics group
- feature: adding option to automatically save every minute.
Released: 13. June 2017
- bugfix: The segment 'Signal.All' is now created when a new sound file is imported. This bug was introduced in version 4.3.1.
- bugfix: the 'wave-only' view in the Transcription script is now available again.
Released: 8. June 2017
- bugfix: clicking SPExL graph whilst editing segment in the segment list now draws the segment in the graph (previously needed an explicit refresh to draw the segment).
- bugfix: the workspace is now saved even if the path contains spaces (bug introduced in r8843)
- bugfix: searching using keyboard in listctrl now working in correct order (not backwards). Bug introduced in r9002.
- bugfix: zooming out in SPExL on the y axis with Ctrl+Subtract is now working correctly. This appears to have been around since at least r4442 (STx 3.9)
- bugfix: y position of cursors is now retained when zooming
- bugfix: Viewers/SPEXL create segments at selected address and not with P=0 and L=0
- bugfix: maximising whilst spectrogram is drawing no longer leaves the spectrogram in unfinished version on screen (set new 'm_bRecalculate' flag to force recalculation/redraw when dataset sync has finished).
Released: April 2017
Load or export parameters from super or sub segments
Parameters from super segments or from sub segments can now be loaded into the selected segment. For example, if you have analysed a word and corrected the parameters, you can use these corrected parameters when viewing phoneme segments within the word. This is achieved by selecting 'super segment data only' setting in the Viewer settings Parameter IO Configuration dialog.
It is possible to select which super/sub segment parameters should be used, filtering by time, attribute or ID.
This feature is also available in the parameter export dialog.
Parameter setting summary
A summary of the settings used for parameter analysis is now saved with the parameter in the project file. This information is displayed in the Parameter View.
Exact sample positioning in Spectrogram & Parameters Viewer
You can now select a position in the Waveform Zoom window in Spectrogram & Parameters Viewer and move the active time cursor to that position using the hotkey '1'. This is useful for exact positioning of the time cursors when segmenting, for example, words.
Released: 24 August 2017 Revision: 9264
- BUGFIX: correct font used for calculation of formant dialog column size in Spectrogram & Parameters Viewer
Released: 25 January 2017 Revision: 9064
- BUGFIX: The following wildcard string comparison will now match:
if '*ha' =SI 'haha' then // it's a match :-) end
- BUGFIX: Changed behavior of comparisons in FIND-TABLE/XML: if a field/attribute is not defined all "notequal" and "notmatching" operators evaluates to "true" and all others to "false"
Released: 9 January 2017 Revision: 9023
- BUGFIX: Edit segment dialog now referencing correct segment attributes (bug introduced in r8852 - STx 4.2.15)
Released: 23 December 2016
- FEATURE: STx now informs the user of available update via the About dialog.
- BUGFIX: Removing non-existent files from STX.INI when loading
- BUGFIX: About dialog no long blocking workspace file.
Released: 12th December 2016
- BUGFIX: Ctrl+U no longer the same as Ctrl+Shift+U in, e.g., signal view.
- BUGFIX: Generating correct hotkey string for Ctrl+Shift+<key>
- BUGFIX: Switching from long to short list of segments in the workspace should no longer lead to a blank detail.
- BUGFIX: Transcription left cursor right bitmap now correct image
- BUGFIX: Fixed bug in Viewer2 where setting the range did not work under all circumstances.
- BUGFIX: Focus moving with selection for listview key navigation and single selection.
- BUGFIX: Copy attributes in the Workspace overview now includes first value (bug introduced in r8297)
- BUGFIX: Checkbox size increased because some strings were being cut off.
- BUGFIX: Show Find Dialog menu now checked if Show Find Dialog is visible
- BUGFIX: Occasional crash in Spectrogram & Parameters Viewer fixed by removing use of static with CString (r9010,r9012).
Released: 27 October 2016
- FEATURE: adding PCM info to edit sound file dialog for editing existing project files too.
- FEATURE/BUGFIX: Improved listview keyboard handling (up/down, page up, page down). Disabled scrolling of listview whilst editing.
- BUGFIX: viewer2 no longer hangs if saved rmsb-data are loaded and displayed with autoscale-option
- BUGFIX: detail sequence view now using Ctrl+Shift+U to move selected entry up and Ctrl+Shift+D to move selected entry down (rather than Ctrl+UP and Ctrl+Down - which conflict with internal listview keyboard handling).
- BUGFIX: bscript log window no longer jumps in front of SPExL window when a dialog is opened.
- FEATURE: releases are now digitally signed by the Österreichische Akademie der Wissenschaften
- NOTE: the pole-zero sectioner in the Spectrogram & Parameters Viewer application is extremely slow for high frame rates. We are working on improving it.
Released: 26 September 2016
- BUGFIX: Transcription (SPExL) segment list handling working correctly again (bug introduced in 4.2.16)
- BUGFIX: Moving selected sequence entry up/down with keyboard now uses the hotkeys Ctrl+Shift+U and Ctrl+Shift+D (rather than Ctrl+Up and Ctrl+Down) and now works as expected.
Released: 30 August 2016
- Support for Windows XP has been removed.
- FEATURE: the XPLOT member "FORALLGRAPHS" is now a public function.
- FEATURE: the XGRAPH function Zoom -> X-Sync was aded to apply the x-zoom of the current graph across all other graphs.
- BUGFIX: the Automatic Segment Names dialog no longer allows invalid segment names.
- BUGFIX: The palette import/export are working again.
- BUGFIX: The Application and Setup tree now correctly stores it's state.
- BUGFIX: Keyboard focus no longer disappears after pressing enter in the Workspace Detail.
- BUGFIX: The selected entry no longer centers itself after editing.
- BUGFIX: The Transcription script SPExL now plays single selections every time (not every second time).
- BUGFIX: Tabbing through the entries in the Workspace Detail no longer goes backwards instead of forwards.
- FEATURE: Improved sound file export performance
- BUGFIX: The File->Workspace->Save As workspace menu command is now working (bug introduced in r4092)
- BUGFIX: parameter and function now drawing (invalidating) correctly if being set whilst zoomed in.
- BUGFIX: parameter export dialog no longer needs manual refresh (group box is now transparent - uses WS_EX_TRANSPARENT)
Released: 18 January 2016
- Minimising GDI use
- Projects files are now associated with STx
- BUGFIX: one memory leak fixed
- BUGFIX: all help menus associated with mediawiki online help
Released: 22 December 2015
- Default help file now the STx Wiki (https://www.kfs.oeaw.ac.at/stx/docs/wiki/).
- BUGFIX: Find Segments dialog no longer uses ASet search criteria for ASeg search criteria when ASeg criteria is empty
- BUGFIX: Find Segments dialog can now search for segments within a time range.
- BUGFIX: assigning number values to an integer field using table[,field] := eval $#num1 + $#num2 syntax now works
- BUGFIX: growing table by assigning no longer corrupts heap.
- BUGFIX: force context menu to display within dialog window, even if called directly from shell with 0,0 coordinates.
- BUGFIX: edit segment dialog is now initialised with the segment channel
- BUGFIX: context menu now rebuilt before being displayed to ensure that it reflects current state.
Released: 4 December 2015
- Improved spectrogram 'overview' visualisation.
Released: 16 November 2015
- Added pole-zero to Spectrogram & Parameters Viewer Sectioner
- Bugfix: pane sizes are no longer reset in when sectioner settings dialog is closed.
- Bugfix: list view control header now correct size and clickable, and entries now selectable with one, rather than two clicks.
- Bugfix: copied attributes are no longer preceded by blank line
Released: 16 October 2015
- Bugfix: saving to PNG working again
Released: 5 October 2015
- Bugfix: the pole-zero method spectrogram overlay is now working correctly.
Released: 30 September 2015
- Feature: the pole-zero method is now available as an overlay in the spectrogram and parameter viewer's spectrogram graph. Note however, that this is not bug free, so please wait for 4.2.6 if you're interested in this feature.
Released: 10 September 2015
- Bugfix: added missing Visual C++ 2013 Redistributable Package
Released: 26 August 2015
- Metasegment size modification now locks modification mode
Released: 15 June 2015
- Viewer print font now legible
Released: February 2015
- The speed of audio playback can now be set in the project interface
- The menu shell item has been given the alias 'DIALOG' and will now be refered to as such in the documentation (r8578)
- Pole-Zero SPAtom and EVAL methods are now available and are integrated into the Spectrogram and Parameter viewer.
- Support for Windows 2000/XP has been removed
- Pole-Zero SPU and EVAL methods
- Multiple bug fixes
Released: 15th October 2009
- BUGFIX: real-time analyser drawing more smoothly
Released: 16th September 2009
- BUGFIX: sequences now being saved.
Released: 30th July 2009
- BUGFIX: segments no longer duplicated in un-linked datasets when importing metadata.
- BUGFIX: user-defined amplitude range working in waveform viewer
- BUGFIX: spectrogram amplitude floor now correct after using settings dialog
- BUGFIX: recorder application now recording
Released: 3rd July 2009
- BUGFIX: cmenu check/uncheck working for consecutive items
- BUGFIX: text files items and the load command can now read files encoded with an "FE FF" byte order mark (encoded in UTF-16BE). The error message "unsupported byte order mark" is returned if a UTF-32BE or UTF-32LE byte order mark is found.Supported encodings specified using a byte order mark: UTF-8, UTF-16LE, UTF-16BE
Other supported encodings:windows-1252
- BUGFIX: wave files with chunks defined after the data chunk now have the correct length.
- BUGFIX: saving dataset faster
- BUGFIX: "load soundfile" options should no longer conflict with each other
- BUGFIX: prevent stack overflow in XML files with many siblings (~ 20000)
- BUGFXI: closing rtanalyser whilst it is running now exits shell correctly (without leaving ghost process).
Released: 15th April 2009
Graphical User Interface
S_TOOLS-STx now supports all fonts available on the host system.
Comboboxes in ASegTemplates can now be made editable using the flag /E.
You can enable/disable runtime error reporting in the Log Control dialog. It is disabled by default, and should only be enabled if you are having problems with S_TOOLS-STx.
The segment list can now be edited in the Workspace.
A summary of existing parameters can now be displayed in the segment list (see the Display and Layout Settings dialog).
The Workspace Detail cells can now display text in multiple lines (see the Display and Layout Settings dialog).
Spectrogram & Parameters Viewer
The Spectrogram & Parameters Viewer can now display a harmonic cursor in the spectrogram graph.
The Spectrogram & Parameters Viewer spectrogram method Wavelet has been extended, and a new Cohen's class distribution method has been implemented.
An amplitude legend is now available in spectrogram plots (via the context menu).
The band-pass filters now have a window parameter.
The toolbox AutoSeg is available in Spectrogram & Parameters Viewer (if loaded) to automatically segment using peaks, clicks or pauses.
A range of Klatt speech synthesis and resynthesis toolbox functions are available.
The toolbox file 'SegmentImEx.sts' implements toolbox functions to import and export segments in the PRAAT file format. These functions are available in the Workspace.
A script specifically designed for transcription and annotation has been developed and included in the default installation of S_TOOLS-STx. The script can be found in the script directory in the file SPExL.sts. There is also a new entry called transcription in the Workspace script tree, which calls the default segmentation routine. The SPExL macro documentation is still being written.
Modal window handling has now been moved to the NEW DISPLAY command. Use the option /O=$#ownerDisplay to set the owner (which is behind the new display in the z-order. You may also use the option /Modal to specify that the owner should be disabled whilst the new display exists.
The NEW command can create objects which are protected from deletion (option /U|u).
The command STXCONSTANTS now supports the keywords BITMAPS and BUTTONS.
The command TRANSLATE can now translate the contents of a variable or table.
The command EXIT -xLevel now returns to the first macro defining the label label "OnExitAll" or to the toplevel macro (1st called macro) (rather than to the first macro where the variable #EXITLEVEL = xLevel).
The new command TOKEN, an extended form of the command WORD, can tokenise a string using the specified delimiter.
The new command TRIM can be used to trim characters from the beginning and end of a string.
The new command QUOTE can quote all special characters in a string.
The new command LINELENGTH, although similar to LENGTH, returns the length of a line including delimiters.
The NAME command can now check XML attributes and S_TOOLS-STx XML IDs for syntactical validity. The NAME command can also return a UNC file name for a file on a mapped drive. This is useful, for example, for making DataSets portable in a network environment.
The new command ARG can be used to retrieve macro arguments.
The IREF command supports the option /I to simplify and suppress certain error messages.
The global variable @REPORTRUNTIMEERRORS can be set to 1 to display a dialog every time a error occurs when processing a command. Many commands can now take an option specifying that warnings should be generated, rather than errors (DRIVE, LOAD, UNLOAD, SET file LOAD|SAVE|STATUS|DELETE|RENAME|COPY|POSITION), READ, SEGMENT). If set to specify warnings, they will not cause a runtime error.
The READ command (and its variants READSTR, READTAB and READVAR) have a new option /E which can be used to escape characters in the input from being used as separators.
Format strings can now add a new line character (\n), using the tag %n. The standard C format tags %x and %X are now supported.
The KEYWORD command now supports the option /F which prevents abbreviations from being found and /C to make the comparison case sensitive.
The new commands SYSTEMCALL and SYSTEMCALLX are variants of SYSTEM and SYSTEMX which return warnings rather than errors on failure.
The command TGET can now return elapsed milliseconds, when the new option /ms is used.
The NAME command, when used with the new UNC subcommand can convert a file path on a mapped drive to its UNC equivalent. This help keep project files portable when accessed from multiple computers (E.g. when the z drive is mapped to \\server\data, the command "name 'z:\ds.xml' unc" will return "\\server\data\ds.xml".
The READ commands have a new option /T which prevents arguments from being trimmed.
The macro WINDOWSIZEDLG can be used to allow a user to set a window's size (width and height in pixels).
The new SPAtom MIXALL mixes up to eight input arrays/vectors into an output array/vector with gain scaling.
The new SPAtom WLANA performs a general wavelet analysis, and the SPAtom CCANA implement a Cohen Class distribution.
The SPAtoms PVANA and PVSYN no accept a windowing function parameter.
The new SPAtom KLATTSYN can be used to generate synthesised speech.
The EVAL command has the following new subcommands:
formants - a new formant tracking algorithm.
limit, limitlow, limithigh - limits values to within a range of values.
min, max - can receive more than one parameter.
cdot, ctrn, conj - complex dot product, matrix transposition and conjugation.
f0ac - F0 detection using autocorrelation.
The EVAL command now supports numerical (e.g. >=), logical (e.g. &&) and ternary (e.g. eval $#a > $#b ? $#a : $#b).
The Macro Library
The DATASETCMD has a new subcommand AUTOSAVE with which you can turn the DataSet autosave feature on and off.
The GRAPHSETUP macro.
The new CGRAPHSETUP command GRAPHLEGEND displays an amplitude legend in a spectrogram plot.
The new CGRAPHSETUP command GETCOLORPALETTE retrieves the print or screen palette in an extended table.
The new CGRAPHSETUP command GETPROFILELIST returns a simple table with a list of color profiles defined in the settings file (S_TOOLS-STx INI).
The SETELEMENT function can now take a table containing attribute/value pairs.
The new CMenu function AddToolBoxMenu adds the standard toolbox menu items to the menu.
When constructing an XPlot instance, an owner window may now be specified.
The dialog edit control has a new option '/F' which forwards KEY messages to the shell.
There are now four 'types' of edit control and a host of new parameters, which means it can display syntax highlighting, be used as a command line interface, etc.
A listview's cells can now be editable. The option /E which must be set for a ListView to be editable. The message CELLEDITED is sent if it is editable and its contents has been changed. If the user cancels editing, the message CELLCANCELLED is sent to the shell. If editing is ended because the user presses TAB or Shift TAB, the CELLEDITEDTAB or CELLEDITEDBACKTAB messages are sent. You can set the focus to a specific cell and enter editing mode using the new command SET dialogItem listviewIndex STARTEDIT.
The listview now supports the /F flag which forwards specific key types to the shell.
The listview supports a new option /R=n, which determines the maximum number of lines of text which can be displayed in the listview.
The new attribute !FOREGROUND returns 1 if the dialog window is in the foreground, 0 if it is not and -1 if the command fails in some way.
The new dialog attribute !EDITING can be used to ascertain if a listview is currently being edited or not.
The NEW FILE command can now take the option /S, to suppress error messages on creation failure.
The new file item command COPY /Z can be used to encrypt/decrypt a file, including optional password protection.
The new command TRYLOCK will try to get a lock on the file but will not block the script.
The !CHANGED attribute can now be explicitly set or reset. This functionality is new, in as much as versions previous to 3.9.0 could only reset the attribute. The meaning of assigning '1' to the attribute has changed, since assigning '1' now *sets* the attribute, whilst assigning '0' resets the attribute.
A new file item type - the GDX file item - has been developed, which can be used to create files containing graphic data which are passed directly to a graph item. GDX stands for "graphical data exchange". Currently, the spectrogram is the only plot which supports the GDX file type.
The command ADDMARKER can now be used to add a 'Box and Whiskers' metasegment.
The metasegment font can be specified on an individual basis using the ADDMARKER command.
A metasegment may be told not to change color on selection. This is only available using the "SET graph ADDMARKER table" command with the parameter "invertSelected" set to "true" if the metasegment color should be inverted whilst selected or "false" if not. The default is "true".
The key used to make a metasegment moveable can now be set using a 'modifyKeys' entry in the ADDMARKER table parameter.
A simple marker can now be displayed as a single vertical line (option /M).
The command OVERVIEW, which toggles between the 'view' and 'overview' modes, has been documented.
The graph supports a new attribute !CURSORMODE which returns the currently visible cursors, as set using the last CURSORMODE command.
The width of a graph's border can now be set using new AXIS command parameters. The default border width is 1 pixel.
The spectrogram palette can be changed at any time using the "SET graph Y * * SPECTROGRAM" function.
The DATASETLOADED message is now sent when a graph finishes loading data for a particular input.
The new command TRYLOCK will try to get a lock on the instance but will not block the script.
A table item connected to a ListView must be configured to be editable using the CONFIG command or the !EDITABLE attribute. The CONFIG command has also been extended to allow for a restrictive set of values to be specified for a table field. If specified, the ListView will display a combobox in this column for each entry. All parameters set using the CONFIG command can now be queried via table field attributes.
The new command TRYLOCK will try to get a lock on the table but will not block the script.
The command NEW TABLE supports a silent error flag.
A table field can now display multirow entries, if the !MULTIROW attribute is set to 1, or the CONFIG command multirow parameter is set to ON.
The last user input for a particular column can now be used as the default for that column using the CONFIG command's setuserdefault parameter.
The DEFINE command can now be used to rename an existing field.
The wave item now supports the new attribute !PLAYSRATE which can be used to return the sampling rate currently used to for playback or set a new sampling rate for playback.
Changes in S_TOOLS-STx <CURRENT_VERSION>:
Graphical User Interface
F0 Test, F0Lookup, Amplitude Spectrum Statistics
The F0 Test, F0 Lookup and Amplitude Spectrum Statistics functions in the Spectrogram & Parameters Viewer sectioner have been moved to the toolbox file SpectrumTB.sts.
The command UNLOAD MACROCODE, UNLOAD SPUCODE and UNLOAD SOURCECODE take one parameter - the name of a sourcecode file (relative or absolute). The MACROCODE variant used to take a blank separated list of macro names and the SPUCODE version used to take a blank separated list of SPU names.
Display and Dialog DROPFILE message
The DROPFILE message sent to displays and dialogs when files are dropped onto them has been changed. The filePath parameter is not longer a string, but rather the id of a simple table with one absolute path per entry.
The string "123 456" is no longer a valid number.
The waterfall graph now prints correctly.
The BDataSet member function AddASet now selects the new audio set if adding the set succeeds (r5534).
Shell commands using the return value RC now assign the value even if return code equals 0 (indicating success) (r5609).
Spectrogram & Parameters Viewer Sectioner copy to clipboard working again (r5625).
The 'view' graph mode now displays correctly when first drawn (r5643).
The asterisk character * is now officially an invalid hotkey, rather than being one which doesn't work correctly (r5500).
Loading an XML file which an unsupported character encoding now fails rather than asserting (r5614).
The Spectrum viewer can now saving CEPST parameters (r6470).
The color 'GRAY' is now defined as the RGB value 96:96:96, which fixes the bug where cursors were invisible on a 'GRAY' background (r6148).
The "SET graph XSCALE" flag "/I" is now working (r6187).
Using the correct normal/dual/tight phase vocoder pv filters (r5874).
All valid number formats (including mmmE /-eee) can now be used in time-expressions (r5746).
S_TOOLS-STx Version: 3.9
A list of documentation corrections since the last release (3.7).
The macro COBJ has been superseded by the COBJ class and no longer exists.
The command SYSTEM MKDIR and SYSTEM RMDIR were undocumented.
The SPAtom ASEG1 parameters are now in the correct order (TABS and TABM were swapped).
The SPAtom VSPLIT was mistakenly documented as VSPLIT1.
The macro DEBUGTB no longer exists.
The descriptions of the different formulas used by the SPAtom MORLET have been corrected.
The section FILE item command LOAD parameters were not documented as mandatory.
Added description of shell variables SCRIPTFILEPATH, SCRIPTDIRECTORY AND SCRIPTMAINNAME.
The AWEIGHT SPAtom has now been documented.
The WAVEOUT SPAtom has now been documented.
A list of documentation corrections since the last release (3.6.2).
The BUTIL FILEDIALOG no longer has a path parameter.
A list of documentation corrections since the last release (3.6.1).
The SET table FIND cexpr format uses colons, not commas as delimiters.
The SET value OUTPUT commands can take /Double options.
The description of the parameters for the NEW TABLE command where field definitions are possible has been corrected.
The SET graph CURSORMODE command now describes the bound and locked parameters correctly.
The VAR arithmetic operators DIV, MUL and SUB are actually called DIVIDE, MULTIPLY and SUBTRACT
The SET graph ZSCALE command parameters were incorrect.
S_TOOLS-STx Version: 3.9
These bugs were known to exist at the time of the release and are proving difficult, if not impossible to fix.
Spectrogram & Parameters Viewer
Interpolation of very short signals is incorrect (Deutsch - 2004-11-10 - since 1.0).
Copying a display graphic to the clipboard and pasting into a graphics program does not always achieve the desired results. This bug will not be fixed in the foreseeable future. Some graphics programs paste it properly (IrfanView, Microsoft Word), others don't (PaintShop Pro) - (Jonnie White - 2004-07-14).
Selected cursors is not visible if background is set to GRAY (White - 2004-07-12 - since 1.0).
The dialog control listbox does not handle displaying huge strings properly. This seems to be a problem with the underlying CListBox control (Becker/White - 2004-12 - since 1.0).
The DCOM command INVOKEMETHOD Evaluate always returns an error when communicating with the R DCOM server even if the command was actually successful (Deutsch/White - 2004 - since 3.6.0).
- BUGFIX: zoom in in viewer3 now working when zooming around active cursor
- BUGFIX: spectragram title display corrected (amin/amax)
- BUGFIX: CDLGMAP now deletes window only if it has created the window during construction
- BUGFIX: dataset path now displayed, even if it has spaces in it.
- BUGFIX: Parameter plot explicitly redrawn when new data is sent. This fixes the bug (reported by Julia Brandstaetter) where Set Zero and Undo were not working properly in Spectrogram and Parameter plot.
- BUGFIX: Warn user that more waveform samples are being sent than expected and refrain from crashing.
- BUGFIX: CDlgMap now always uses the next free dialog index for a new entry. This means that multiple maps can reference the same dialog and still work. The functions fci and nc were removed since they are never used. Display now using second event to synchronise creation and variable initialisation. This fixes the mysterious bug where the window class was only sometimes used.
- BUGFIX: If the polyline function is called with less than two points it no longer asserts, but rather ends gracefully.
- BUGFIX: send keys not processed by dialog on to graph hotkey handlers
- BUGFIX: spectrogram is now being initialised with the correct context menu when formants are displayed in it.
- BUGFIX: giving dialog focus if there are no graphs
- BUGFIX: buttons in dialogs in a graph no longer process normal mneumonics. This means that the graph can process them (for Moosmueller). Buttons can still be activated with return and the space bar and tabbed/arrowed to.
- BUGFIX: preventing race conditions in Attach/Detach. This removes one possible cause of autosave crashing. It does not guarantee, though, there to be no other reasons for autosave to crash.
The STx downloads are available here: https://www.kfs.oeaw.ac.at/pub/stx