|
|
- There is a new Script toolbar. You can associate a button with a script using the Script menu Script List... command and with the ScriptBar() script command. If the first line of a script starts with: '$label|comment text the label and comment are loaded automatically when the script is added to the list from the dialog. You can also set labels and comments automatically. The label is used for the button, the comment is used for pop-up help when the mouse is over the button.
- There is a new Sample toolbar. You can associated a button with a sampling configuration file with the Sample menu Sample Bar List... command and with the SampleBar() script command.
- There are two new buttons on the main toolbar to open the sampling configuration and to sample immediately.
- The Sampling configuration dialog Mode page has new fields for a label and a comment that can be used to set the Sample toolbar label and comment when a configuration file is loaded from the Sample Bar List dialog.
- The Sampling control panel is now a dockable toolbar. This means it occupies less desktop space when it is docked. When sampling stops, it is hidden if it is floating (not docked). If you disable writing with this control, the Write text moves from side to side to draw your attention to the fact that you are not saving data.
- There is a new colour in the View menu Change colours... option called Not saving to disk. All data except WaveMark (spike shapes) use this colour to draw in when sampling and Write to disk is disabled. The colour is only used when the time window is showing the most recently captured data at the right hand edge of the window. If you set this colour to the same colour as the time view background, the data is drawn in the original colours.
- The Sequencer control panel is now a dockable toolbar and can be sized when floating. It occupies a lot less space when docked and is also disabled when it cannot be used. When sampling stops it is hidden if it is floating. Each time a sequence is loaded, the floating window size is set large enough to show all the keys (up to a maximum of 40).
- The main toolbar, edit toolbar and debug toolbar now have the "flat" look. They are also sized to match the other dockable toolbars. If you set very large screen fonts, they may look ridiculous. You can also resize these bars when they are floating.
- The script debug mode edit local and global variables dialogs have been tidied up and made easier to use. The window for editing values of arrays has been considerably improved.
- The script command CursorDelete(-1) now deletes all vertical cursors to match HCursorDelete(-1).
- You can now save memory channels to unused and non-sampling channels during data capture, both from the Analysis menu and with the MemSave() script command. The EventToWaveform() command can also be used online as long as the destination channel is not a sampling channel.
- The FileOpen() script command now lets you specify a filter for external text (type 8) and binary (type 9) files. Previously you always got *.* for binary and the list of text file types known by Spike2 for text files. If you use the new feature in an older copy of Spike2, you will get the old behaviour, so there are no backwards compatibility problems.
修复
- The data for each channel in a .smr file is held in a list of blocks. Each block holds a pointer to the next block and the previous block on disk. Since version 3.05, if you used auto commit, or if you used the sample control panel to pause writing to disk then un-paused, it was possible for the backwards pointer in a block to be set to point at the block itself, rather than the previous block. This could cause Spike2 to hang up when searching backwards through a marker channel with a marker filter set. If you have such a file, SonFix will now repair the file for you. Also, there is a new script, FixBack.s2s, installed in the Scripts folder that will scan and fix all files in a folder.
- If you use the digital filter on a channel in a file that is sampling, Spike2 no longer crashes.
- Documentation errors in DlgList() and MarkMask() corrected.
- One user reported frequent crashes when using result views after printing. We have located the offending code and changed it. No-one else has reported this, nor could we reproduce the crash, however, the code was at fault, so if you had a similar problem, it may now be fixed!
- The debug Global variable display now edits the correct variable when you double click in the window. Previously it was one adrift.
- The Sampling Configuration dialog Resolution tab Longest run time (minutes) field did not display the correct value the first time it was displayed.
- The Cursor regions dialog now gets modulus and area (scaled) correct when a zero region is set.
- An obscure bug has been fixed that could cause the ChanValue() command and the Cursor dialogs to report that the very first value on a data channel extended backwards slightly further than it really did.
- The FrontView() command now also sets the focus (the window that gets keyboard and mouse input). This means that if you use the Toolbar() command during sampling you can now include a FrontView() in the routine associated with a button to set the focus back to the sampling document so that keypresses are in the keyboard channel. Previously, once you had clicked on a button, all key-presses went to the toolbar, not to the sampling document, so were not saved.
- During sampling, you can no longer delete a channel that is actively recording data! You can delete channels created by saving a memory channel.
- You can now load information from write protected .S2R and .S2C files (for example files on a CD-ROM). Previously they were ignored.
- If you added n data points to an XY view, only the final n MOD 1000 points were used to set the automatic x and y axis scaling. Now all points are used.
- DOS script converter now admits that FilePrintScreen() has an extra argument in version 3.
- The View menu Show/Hide dialog now shows and hides channels in an XY view. It was broken in version 3.10.
- Result view context menu (right mouse click) now has Process and process Settings as options.
- If Cubic spline drawing mode is requested for a waveform or WaveMark channel and the image is saved as a metafile, the drawing mode is changed to WaveForm so that the channel is visible. Previously nothing was drawn. Cubic spline drawing can only be saved in an enhanced metafile.
改动
- If you rename a Spike2 configuration file (*.s2c) you can now load it both interactively and through the script FileOpen() command. Previously, if the name had changed Spike2 would refuse to accept it. However, resource files (*.s2r) associated with data files will refuse to load if renamed.
- The File menu Export dialog for data files now enables and disables the Delete and Export buttons as appropriate.
- The maximum number of duplicates of a window from a script has been increased from 10 to 20.
- When you start sampling interactively (not from a script), the sample and sequencer control panels are made visible. If the sampling configuration was saved with these windows floating and the current window is invisible or floating, they are restored to the floating position. Otherwise they are left where they are. Previously, the saved position was always restored. We made this change because moving a docked window to another docked position can cause unexpected results due to the positions of other docked windows.
- The WaveMark Overdraw mode window now get new data appended to it whenever you scroll the time window. Previously it was updated during scrolling when sampling. As before, we do not remove data for sections scrolled off the screen due to the time this could take when there was a lot of data on the screen.
- ChanValue() for a waveform channel now reports the value of the nearest waveform point within half a sample time of the position.
- App() can be used to get the view handle of more windows. If you need to hide (and restore after a script) all the floating windows you can use App(-2) to get the window count and then write a loop to get window handles and hide the windows and later restore them.
- We have tried hard to make the times returned by NextTime() and LastTime() to agree exactly with those returned by ChanData(). Previously they could differ by about 1 part in 10 to the power 16 due to floating point rounding effects.
|