VMD 1.8.1 Development Status

  • VMD 1.8.1 final release (June 15, 2003)
    • Updated several pictures in the user's guide.
    • PR 296 fixed (membrane plugin)
    • Fixed babel plugin bug, marked as an official PR.
    • AutoIMD doc makefile is now portable.
    • Fix broken path in win32 plugin build setup
    • By default, the CHARMM papram file browser shows all files rather than use the filter par_*.inp, in case that the user has a different naming convention.
    • AutoIMD: Improved troubleshooting and added URL to CHARMM param files.
    • If the scratch dir does not exists, AutoIMD asks the user if they want to automatically create it. This eliminates one of the last startup hurdles for newbies.
    • AutoIMD: Removed (commented out) the sample system section since the named tarball with all the files is nowhere to be found in the TCBG machines!!?!
    • AutoIMD: Better formatting and formatting macros, updated docs to include new features, improved some descriptions, added more troubleshooting tips.
    • AutoIMD: Now generate all needed files (EPS/PDF) from provided GIF files.
    • AutoIMD: Updated screenshots + now store CVS files in .gif format
    • AutoIMD: Fixed pdf compilation problem + minor formatting
    • AutoIMD: Make html now also creates the PS, so that .aux files and refs are up to date...
    • AutoIMD: Use the figure env for figures instead of math mode. Looks much nicer in html. Also moved some textual URLs from the footnotes and into the text as hyperlinks.
    • AutoIMD: Added GUI support for specifying the imdfixed atom selection. Previously, this setting was only available through a secret Tcl command-line.
    • Fixed documentation typo and improved wording as suggested by Sergei.
    • Added a link to the VMD Plugin Library for readers of the HTML docs.
    • Updated copyright info on plugin sources.
    • Added comment about plugin type preference (uses a reader rather than translator when one is available)
    • Added comment on plugin version selection
    • Fix behavior of the babel plugin when run on directories containing spaces in the names. Also improved one of the failure messages.
    • More minor formatting changes and corrections.
    • Build directory on malta was changed, build script updated to match
    • Added information on new display rep parameters.
    • Missed a couple opening brackets.
    • More cross-referencing, formatting changes, and -- oops -- fixed a broken tag.
    • Cross-referencing between the reps, misc. minor formatting changes.
    • The Babel plugin has no chance of working correctly on Win32 as currently written, because the code in the plugin currently hard codes temporary directories etc. The original babel code called vmd_tmpdir() etc which worked on Win32, but the plugin can't do it quite that way because those functions are not linked into the plugin presently. A number of changes will have to be made to fix this. Until then, the plugin will be hidden from the file loader menu on Win32 builds as it will not register itself.
    • Updated docs to reflect new command-line file-loading behavior.
    • Added an "OK" button to the "Parameter Settings..." dialog box, as requested by many people. (It is more of a dialog than a window...)
    • Changed the way that linking to param files works. This fixes the following issues: - The Suns complained that the link file already exists - manually deleting a link *after* startup caused AutoIMD not to work - if the param file was in the autoimd dir, all hell broke loose.
    • Updated docs to reflect use of "sphere scale" for VDW & CPK reps instead of "radius".
    • VDW/CPK reps use "Sphere Scale" in their labels rather than "Sphere Radius", in order to more clearly indicate that this is a scaling factor and not a constant radius that's being applied.
    • Updated UG tutorial; Added hyperlinks/references and made a minor factual correction.
    • Copied README and new TCBG license to Win32 installer image
    • updated readme file with improved text
    • Set installer version number to 1.8.1 (no ss03) since we're about ready to release now.
    • Updated Windows installer with latest versions of the Tcl plugins.
    • made X-Windows creation failure message more informative
    • Fixed and incorrect link in the reps section of the docs.
    • Disable AutoIMD on the 64-bit IRIX6_64 builds since psfgen is known to crash that version of VMD currently.
    • Disable AutoIMD on AIX4 and Win32 in switch statement. AutoIMD requires psfgen which is missing on AIX4, and uses unix commands which are unavailable on Win32.
    • Make the clean target not fail if the .aux files aren't found.
    • Added links and made minor punctuation changes.
    • Reformatted/redesigned inline help for "atomselect"
    • Reformatted inline help to match "mol" and "measure" convention...
    • Very minor formatting changes to "mol" and "measure"'s command-line help.
    • New version of Tachyon includes a special transparency rendering mode specifically to provide VMD with something closer to WYSIWYG output with polygon-stipple-based transparent surfaces (it post-multiplies the calculated surface colors by opacity, to yield about the same results you'd get from the stipple-based transparency, but without resorting to stippling etc). Default antialiasing rate is now 4 samples per pixel as well.
    • Changed the format of references to specific chapters and sections.
    • Eliminated VMD hotkey definitions that referenced menus that no longer exist.
    • Although the hot keys are still defined, removed reference to those that launch non-existent menus.
    • Removed non-existant menus from example .vmdrc in the user's guide.
    • When new molecules are loaded, the we will force them to inherit the animation style setting currently set in the GUI. Previously one could set the animation style to "loop" as the first thing upon loading VMD, then load a molecule, and have the GUI and the actual behavior inconsistent with each other. This fix forces molecules to get the GUI setting rather than the default when they are first loaded.
    • Prevent tool deletion from crashing VMD by breaking it into two steps, one to mark the tool "dead" and the second step to actually delete it. Also forces a display update to make the tool / device lists tell the truth. There's still a real problem with the GUI for changing the tool type under various circumstances.
    • Make the membrane package actually work, by setting the MEMBRANEDIR environment variable to the directory where the package lives, just as the solvate package does.
    • Updated docs to reflect what we do with default charges now.
    • The default charge assignment is now zero.
    • Added a comment advocating that people give us properly normalized surface normals lest we get the "whited out" geometry as per a recent problem reading Situs output that had non-unit-length surface normals.
    • Fixed docs for the graphics/draw command to mention the size parm for the 'draw text' command.
    • Force normals sent to us by 'draw' commands to be renormalized rather than trusting the user. Situs generates VMD script files with non-unit-length surface normals, so this prompted me to add this code.
    • Fixed doc link formatting
    • Added missing info on the color scale data range controls.
    • Added a significant amount of text to the documentation for the periodic tab in the graphical representations form.
    • Updated the descriptive text for the a/b/c/alpha/beta/gamma values for a molecule.
    • Added section for the Periodic Tab, updated info for the Trajectory Tab.
    • Fixed missing space in MSMSSERVER environment variable message
    • Removed both references to the ability to launch ramaplot from the sequence viewer.
    • Miscellaneous small spelling and factual corrections.
    • Added a "GUI Shortcuts" section to the end of the MolBrowser docs listing the secret areas where one can double/triple-click.
    • Fixed the alignment of the labels above the molecule browser.
    • Updated docs to reflect changes in the GUI for the main and file menus.
    • Added information on the "Query" and "Add/Remove Bonds" mouse modes.
    • Modified Help menu.
    • Added tutorial URL to built-in help.
    • Renamed the basic thread types to vmd_thread_t, vmd_mutex_t, to fix a build problem on AIX since AIX uses those type names in its system includes.
    • Fixed a graphical glitch. Half of the text of "Selected Molecule" in the Rep window would not always get redrawn properly. This was because the Fltk group that contained the text did not spatially contain all the text. The group's size has bee increased to contain the text.
    • Enabled PTHREADS and LIBTACHYON options on several platforms that didn't have them turned on previously.
    • Raised LibTachyonDisplayDevice antialiasing samples to 4, was set to 2 previously. It makes sense to use 4 by default now since the main use for this feature is in making movies more efficiently. There's little point in rendering movies at low quality, at least with a ray tracer like Tachyon, since the 'snapshot' mode will always be available in VMD.
    • Minor doc rewriting to reflect the current behavior of the main form.
    • Updated stereo display documentation
    • Minor doc corrections, mostly spelling errors and factual details.
    • updated docs on depth cueing feature.
    • Updated docs regarding the "NewRibbons" representation.
    • Added documentation for new color category (surface) and new coloring methods (throb and user); fixed broken HTML.
    • Added pick points for the CA atom control points in NewRibbons reps as requested by Jordi.
    • Corrected broken/missing doc links, and added a section for NewRibbons rep to ug_mol_reps.
    • NewRibbons now uses sliders for Thickness and Aspect Ratio.
    • back to release candidate builds
  • VMD 1.8.1 beta SS03 (May 27, 2003)
    • Updated Win32 installer for SS03
    • Please MSVC by explicitly making a constant float type.
    • Set the display variable before calling the xmgr graphing function, unless the variable has already been set. This should let xmgr be used on OS X as long as X11 is running and xmgr has been installed.
    • Added notes about NewRibbons in the README
    • Please MacOS X compiler by casting to int explicitly.
    • Tweaked rep controls and nomenclature for Ribbons and NewRibbons; docs need to be suitably updated.
    • Added controls for the spline basis for NewRibbons.
    • doc: Fixed default render commands, external links, and misc. formatting.
    • Subsequent builds will be marked as "VMD 1.8.1ss03", for the Summer School, just in case we change anything prior to 1.8.1 shipping but after the ss03 binaries are installed at EWS.
    • NewRibbons: initialize 'k' section counter outside of loop to please gcc.
    • Rewrote the NewRibbons rep with new code that uses the "perp" vectors calculated by the top level code rather than trying to calculate these from the points created by interpolating on the spline. This simplifies the extrusion code and should make the rep much more robust over a range of resolutions. Animation speed appears to about about the same as the old code. The 'kinks' generated by the old code appear to be cured finally. We're now in a position where we could consider adding multiple selectable spline basis sets, alternate cross sections (i.e. rectangular, etc.) and add back-end optimizations eliminating unnecessary per-vertex color data in cases where the whole ribbon is a uniform color.
    • AutoIMD: added the "++local" arg when running NAMD locally. Fixes an issue experienced by many group members.
    • Make atomselect set check that the atom selection's molecule still exists. The AtomSel::molid() function is actually still unsafe to use when the molecule has been deleted, but we get away with it for reason, at least on Linux and Sun, probably because the BaseMolecule::id() method is inlined.
    • Fixed AutoIMD html doc target.
    • Updated install comments regarding overwriting existing installs, improved doc text.
    • Added docs for VMDUSEGALPHA environment variable.
    • Dropped the beta suffix, all subsequent builds are now release candidates.
    • Introduced support for CCP4 symmetry records. They are now read, printed to standard output, and skipped when reading densities.
    • Added "make clean" for the docs Makefile Call clean before building the pdf (to avoid problems on Redhat Linux)
    • Turn off POV-Ray option in 'vmdmovie' until a later revision when we have more control over the image resolution via VMD Tcl interface. Current code has unfortunate behavior if the user resizes their VMD graphics window, POV-Ray generates a default-sized image unless we override on command line, which the movie script doesn't know how to do presently.
    • Eliminated ARCH_HPUX9, added ARCH_FREEBSD to AtomParser.y
    • Added flex/bison as default lex/yacc compilers for FreeBSD builds.
    • eliminated old AIX3, HPUX9, HPUX10, targets from make_distrib, and added a new FREEBSD target.
    • Added a FreeBSD target, still needs work though.
    • Eliminated the old IRIX5 and HPUX10 target platforms since we haven't tested them in quite a long time now.
    • Fixed 'vmdmovie' external Tachyon option on MacOS X, and added it to the options available on Windows. As usual, the fix for MacOS X and Windows was to properly quote pathnames for the Tachyon executable.
    • Revved to beta 9
  • VMD 1.8.1 beta 8 (May 23, 2003)
    • Updated Win32 installer for beta 8
    • Disabled optimization on AIX4 until we get our local AIX build box compilers patched up to a more recent level.
    • Marked PR 259 as closed since it doesn't seem reprodible currently
    • The static new operator in VMDApp is required in order to make VMD use the appropriate memory allocators for CAVE and FreeVR builds. Since recent AIX compilers are currently unwilling to allow this, the CAVE/FreeVR build options won't work on AIX for now.
    • Make AIX compilers happy about atan2() usage (gets upset if one parm is float and the other is double, apparently they implement a float/float and a double/double version, so it chokes if one or the other isn't a clear winner.
    • Closed PR 198 (callback crash)
    • Fixed a typo in license
    • Updated last mod date on README
    • Added the script library and plugin library pages to the help menu.
    • Added VMD script library to built in help list
    • Marked PRs 263, 273, and 283 as closed
    • PR 263 is closed as we know the root causes and it should either be fixed already, or is "unfixable" with FLTK 1.0.10 on AIX, given the FLTK notes about AIX compiles.
    • Built-in functions like sqr now operate correctly on scalar data, fixing PR 283.
    • eliminated references to old vmd_help.html file
    • Added info message indicating what plugin was used for coordinate files.
    • Fixed copyright headers on FreeVR related files
    • Updated copyright headers to say 2003 as they should.
    • fixed copyright dates various places.
    • updated license with TCBG names where applicable.
    • Added Eamon to full-length VMD author list.
    • Eliminated old vmd_help.html file from the distribution since it is not the current up-to-date copy and has bad links in it.
    • eliminated old vmdredir.html file used in early MacOS X tests.
    • Updated documentation URL's in the sample .vmdsensors file
    • Updated announcement date/text
    • Fixed Win32 OpenGL display bug with the rescale normal extension, primarily evident on machines using the Microsoft "GDI Generic" software renderer.
    • Added -webhelper to command line parsing code to prevent it from being interpreted as a filename.
    • Updated vmdmovie docs
    • Improved CCP4 safety checks.
    • cranked version number
  • VMD 1.8.1 beta 7 (May 20, 2003)
    • Updated Win32 installer with new CCP4 plugin
    • Improved error checking on the CCP4 reader.
    • Altered VMD startup script to match new MacOS X bundle startup requirements, eliminating all of the old stuff we did previously.
    • Eliminated old menu items from .vmdrc that no longer apply to current versions of VMD, and fixed some typos.
    • Get rid of old .vmd_init file that's been disused for years.
    • Eliminated old .tracker file
    • Updates to the docs for new atom selection behavior and performance issues.
    • Added ccp4plugin.C to the build process. to be included in next beta
    • Added support for all axis mappings to CCP4 plugin
    • Updated documentation, and rebuilt test binaries.
    • added print tool to win32 project
    • updated list of new feature and improvements with various plugins etc.
    • Added docs for "print" tool.
    • Added "print" tool to Tool form, allows users to much more easily debug their 3-D trackers since they can see whatever coordinates VMD is getting from VRPN or other input devices.
    • Fix CVS request link URL in doxygen info
    • Introduced CCP4 byte-order swapping.
    • CCP4 Data is read, but only a particular x, y, z to column, row, section mapping is supported.
    • Fixed typo in save box for aligntool.
    • Updated Win32 installer with new plugins etc.
    • Updated version number
    • Eliminated MacOS X resource file copying steps in distrib etc
    • Fixed variable declared in the wrong scope.
    • Aligntool is not shown in the VMD extensions menu by default since it is currently undocumented and has hard-coded paths in it. Zan says that she's going to have Dan Wright rewrite it soon. Until then, we will turn it off in the GUI, but it will still be included in VMD, just not visible by default.
    • Created a Makefile for the AutoIMD docs. Made the html background white. Use GIFs for html.
    • Deactivate the macro definition field so that it can't be typed into, until such time as we support redefining macros from the GUI.
    • Special case atomselect get operations on only one property by avoiding the construction of sublists, resulting in significant speedups (3-8x) for systems of 30,000 atoms.
    • Added html generation to Makefile.
    • Minor doc and figure corrections
    • Imbedded text into fig instead of using buggy TeX overlay.
    • Add NAMD path so that it can be customized.
  • VMD 1.8.1 beta 6 (May 19, 2003)
    • Disable use of the RescaleNormal extension on Win32 since people with the GDI software renderer will get bad results, as evidenced by tests on Alexander's laptop. Would be best to use the renderer string to do this in a less hard-coded way, but this is a good first step.
    • First few revs of the CCP4 electron density map reader are checked in.
    • Eliminated stride from built-in help until their web site stabilizes.
    • Enabled multithreading on MacOS X builds.
    • MacOS X version now defaults to using the Tk-based file chooser rather than the FLTK chooser. The new code only sets the file chooser if the user has not already set the environment variable, so that it can easily be overridden from the user's shell.
    • Implemented Jordi's suggestion for beefing up the Help menu in the main VMD window.
    • Implemented Justin's workaround for the various problems we've been having with Tk and FLTK fighting over Window/Mouse/Keyboard events.
    • Added MSMS to built-in help list
    • Cause VMD help windows and other web pages to create a new netscape window, which apparently works much better on window managers with virtual desktops.
    • Fixed Babel homepage URL.
    • Disabled the tearoff feature on all of the zoomseq menus
    • Disabled the tearoff feature on the contactmap menus
    • Disabled the tearoff feature in the timeline menus.
    • Eliminated contactmap "close window" menu item since this can be done in the GUI's window manager.
    • Added a help menu to Ramaplot, and removed the "close window" item in the file menu since this is easily done via the window manager.
    • Turned off tearoff on all of the vmdmovie plugin menus
    • Added Help menu to autoimd plugin
    • Updated timeline plugin to use web-based help menu item.
    • Added web-based help to contact map plugin
    • Closing the TkCon main console will not quit VMD anymore!
    • Fixed mis-named aligntool menu items, window titles, and default filenames, and added web-based help as per other plugins.
    • Added support for periodic image rendering to PSDisplayDevice
    • Now use tkcon-modified.tcl instead of the original tkcon.tcl
    • Added a custom modifiable copy if the TkCon script (for better VMD integration). Use "diff" to see the diff b/w this and the original.
    • Added a real help item to zoomseq plugin, goes to web page now.
    • The vmdmovie script now uses the vmd_open_url command to display help and documentation rather than the simple-minded popup window it used to provide. This is a much better solution, and should be adopted by the other plugins as well.
    • Updated URL's for help pages, added a few missing items.
    • Changed vmdmovie plugin GUI, moved start/abort buttons to bottom of window, and eliminated the "File" menu altogether, since the window can be closed by the native window manager, and the working directory can be set by the button in the status area.
    • Changed vmdmovie plugin so it only shows back-end compressors that are appropriate for Win32 and skips the ones that are Unix-only.
    • Fix vmdmovie script problem on MacOS X. Tk aborts if a non-existent directory is specified as the input to a file browser, raising a nasty error window. For now, we'll use "/" as the default target directory on OS X until something better comes along.
  • VMD 1.8.1 beta 5 (May 15, 2003)
    • Fixed Tcl framework path for plugin builds.
    • Started eliminating various hard-coded MacOS X build paths by obsoleting the old libraries leftover from MacOS X 10.1 builds and moving the new MacOS X 10.2 frameworks into the right places.
    • Fixed the "blinking extension window" problem reported by Jordi. This will cause "menu $name status" to report the wrong answer in some circumstances, when the menu is raised or lowered without VMD's knowledge, but that's not (as) critical.
    • Removed MacOS X TCLINC/TCLLIB settings from Make-arch and put them back into build.csh as they should have been.
    • In my haste, I had checked in some garbage lines. Fixed now!
    • TkCon: Do not set showmenu flag as it is on by default.
    • Fixed vmdtkcon to work under MacOSX (the uplevl command is more strict about syntax on MacOSX!). The top menubar is not displayed though!?
    • eliminated unused functions in crdplugin
    • edmplugin: got rid of unused local variables
    • Eliminated compiler warnings, unused variables, and dead code from the brix, dsn6, and crd plugins.
    • New MacOS X builds will be done with -Os as suggested by Justin.
    • Deleting all frames when labels are present doesn't crash VMD anymore; fixes bug reported by Zhu.
    • Fixed copyright header in dsn6 plugin.
    • Added dsn6plugin.C to the build process.
    • psfgen: Report error and ignore atoms with CHARMM19-style explicit exclusions.
    • psfgen: Don't scream "ERROR!" for duplicate residue keys being ignored.
    • dsn6 plugin: Removed commented-out code and updated swap2() to ignore the last byte in the buffer when called with an odd number of bytes.
    • psfgen: Fixed bug with segment deletions. Adding a new segment with the same name could bring the deleted segment back to life. Deleted segments are now properly deleted and ignored by all code. Segment structure now allocated using memory arena like everything else.
    • Bricks are now read into a buffer and swapped before the density values are written to the datablock. Should now work with all DSN6 files.
    • dsn6plugin: swap() now takes void* instead of short*, to facilitate swapping data bricks.
    • Partially functional DSN6 plugin. It currently only reads DSN6 files that have been byte-swapped by dd.
    • got rid of MacOS X 10.1 related configure lines.
    • Got rid of unnecessary -lfltk_forms after Justin's recent changes.
    • Replaced usage of the old forms-compatibility function fl_add_text with Fl_Box. With this change we don't need to link against libfltk_forms anymore!
    • Updated Win32 VMD installer files
    • Revved version number to beta 5
  • VMD 1.8.1 beta 4 (May 12, 2003)
    • Added Tcl/Tk Frameworks to MacOS X bundle, required updating env variable so that they can be found when it is run.
    • Added Tk to MacOS X OpenGL config
    • Implemented a simple workaround for the Tk/vmdmovie crashing reported by Alek. Fix suggested by Justin after he read various online api docs. This link has a description of an API that's probably supposed to prevent this from being dangerous code: http://www.tcl.tk/man/tcl8.4/TclLib/Preserve.htm
    • New MacOS X plugin builds use the Tcl/Tk frameworks instead of the old Tcl libraries.
    • New builds require MacOS X 10.2
    • Updated build scripts for MacOS X 10.2, now a requirement since the Tcl/Tk packages only build there.
    • New configure script assumes Tcl/Tk 8.4 so no longer need to explicitly avoid conflicts with vendor-provided Tcl/Tk libs on Tru64 Unix.
    • Fixed a bug in JString::gsub() that was causing it to fail when more than two substitutions needed to be made.
    • Added support for periodic image rendering in the file renderers (except for PSDisplayDevice). Appears to work perfectly for Tachyon, POV, and Raster3D, and generates an identical Tachyon input file as before when no periodic images are enabled.
    • Updated the sequence windows docs for the new mouse behavior.
    • Residues in the sequence window can now be unhighlighted by selecting them with the right mouse button.
    • Updated windows installer, but still need to add new and updated plugins to the windows installer.
    • Updated plugins.
    • Fix uninitialized pointers in the STL plugin
    • Fixed the render command entry in the Render form.
    • Added a plugin for reading binary brix format electron density map files.
    • Fixed a bug in "same residue as" atom selections introduced in the last change (post-1.8).
    • Get rid of debugging message in 64-bit part of startup script
    • Changed Main window title from "VMD" to "VMD Main"
    • Fixed PR273: The exit command now properly exits the program immediately, whether it's called from within play, from within a proc, or sourced. In the latter two cases, wrapping exit with a catch {} block will prevent VMD from exiting until the proc or file has completed.
    • Really fixed the "backbone" atomselection macro this time. It still identified the isolated water oxygens of 1UBQ as "backbone". Added even stricter code so that anything which is not protein or nucleic cannot be "backbone" under any circumstances!!
    • Replaced another gratuitous use of addcommand with runcommand.
    • Eliminated UIObject::addcommand, which was a wrapper for commandQueue->append(). Few classes used it, and it is totally interchangeable with runcommand as far as those classes are concerned, so might as well eliminate redundant code paths.
    • Replaced a bunch of command queue appends with calls to runcommand, which is not subject to temporary memory leakage.
    • Elminate a memory leak in atomselect move caused by not decrementing the reference count on a Tcl_Obj. There still seems to be memory leakage in this command but this takes care of most of it.
    • Filenames specified on the command line are assumed to be pdb files if the file type cannot be recognized by the filename extension. This used to be the case but changed when we started using the registered filename extensions instead of the file type to recognize files.
    • Revved to beta 4
  • VMD 1.8.1 beta 3 (April 25, 2003)
    • Fixed problems with compiling code with strcasecmp() on Windows.
    • 64-bit Solaris builds now include the exact same features as 32-bit builds.
    • Got rid of the separate status window in the vmdmovie plugin. Status info is now displayed in the main window, along with the cancel button. Also made a few other changes to make its UI more consistent with the other VMD plugins. Needs more testing.
    • Make "$sel text" commands return the atom selection text as a normal string, rather than as an element in a list, which was putting a useless set of braces around the result.
    • Fixed a minor bug in the trajectory rock movie generator being off by one frame on the rewind phase, and GUI tell the number of rendered frames rather than the number of trajectory frames.
    • updated version authors line that goes on the docs etc.
    • AutoIMD: call "update idletasks" so that status text gets displayed when it should!
    • Added Python commands to set colorscale min/max. Updated docs.
    • Added a special 'logfile console' logging mode deprecating the old Unixy way "logfile /dev/tty". This works on Windows and is quite handy for debugging occasional problems.
    • revved to beta 3
  • VMD 1.8.1 beta 2 (April 22, 2003)
    • Updated Windows installer.
    • Made the Render menu get properly updated when rendering commands are changed through the text interface.
    • Eliminate warnings caused by missing includes of standard headers.
    • Updates for new VMDMovie initialization.
    • Made the VMDMovie plugin use the "menu tk register" function.
    • Made the color scale min/max entries in the Graphics menu have the correct selection color (yellow).
    • Fixed bug in color scale reported by Jordi; changing the color scale settings in the Color menu was causing user-defined color scale data ranges to be reset.
    • Prevent Tk extension menus from starting out under the Apple menu bar on OSX.
    • Save_state now saves the visible/invisible status of reps.
    • Added "mol showrep" Tcl commands for showing/hiding reps. Added corresponding Python molrep.get_visible and set_visible commands. Updated the docs.
    • Added stlplugin to the molfile plugin Makefile.
    • Initial revision of stl loader. Only handles ASCII stl files (there is a seperate binary format). Error checking is a little strict -- no geometry is loaded if the stl file doesn't strictly follow the document standard.
    • Made "same xxx as " selections on integer keywords, including "same residue as", 1.5-2x faster through a more efficient of building a table of matching atoms.
    • In within selections, stop searching for neighboring atoms when the first match is found; I think this was just a typo originally. Makes a noticeable improvement (10-15%) for large cutoffs, and doesn't hurt at all for small cutoffs.
    • Perform find_within function using coordinates taken directly from Timestep, rather than copying them into separate x,y,z arrays through the atom selection mechanism and converting them to double, resulting in a 10% speed gain across the board due to more efficient memory access.
    • Improved the speed of 'within' atom selections, especially in the case that one of the two sets of atoms being tested is highly localized in space. Speed improvements of 1.5-10x are realized.
    • Eliminated code which permitted MoleculeList::add_rep to accept a molecule index of -1, which added a rep to all active molecules. This interface wasn't accessible from the corresponding VMDApp so it wasn't being used.
    • Check for errors when creating Tk extension menus for the first time.
    • Added docstrings to animate and atomselect Python modules.
    • Added some text to the xyz plugin describing the file format it is intended to parse.
    • Added "(see the VMD Installer Guide)" next to a reference to .vmdsensors.
    • Updated docs to reflect new loading behavior of vmdsensors file.
    • Try loading the local .vmdsensors file first. Then load the global file ONLY IF the local file was not found. Also slightly changed an error message to be a bit less cryptic. (This change is mixed in with a lot of formatting (sorry), the above change is really just one extra IF statement w/ brackets and a swap of two paragraphs.)
    • Fixed AutoIMD reference to "simulation" menu, which is now "imd".
    • Cosmetic changes to make P_SensorConfig more readable (tabbing,TRUE/FALSE)
    • Fixed references to the rep creation button, now labeled "Create Rep" rather than "Create New" as it was in the old GUIs.
    • Added Python commands for on-the-fly smoothing of reps.
    • Added Python commands for setting/getting automatic color updates for reps.
    • Check that imd molten selection is not empty and return an error. When this used to happen, VMD could get stuck into a state where the OpenGL display would not get refreshed anymore.
    • Changed default specular value to 0.5 instead of 1.0
    • PRs 249, 260, marked as fixed.
    • revved to beta 2
  • VMD 1.8.1 beta 1 (April 8, 2003)
    • Support for filled (capped) cylinders
    • Updated VMD installer with new plugins etc.
    • updated README with new info.
    • Eliminated old source files from the msvc project.
    • Moved Graphics menu separator to separate between "Graphics"-related items and non-Graphics-related items (i.e. "Tools").
    • Revert last change; the spline-like reps only have pick points at the alpha carbons, and we don't really have a way of dealing with rep-specific pick points at this time.
    • Moved pick points out of the display lists. Pick point data is returned as a set of flags and coordinates; reps can simply return pointers to their atom selection flags and current coordinates.
    • Added tristrips to PSDisplayDevice implementation.
    • Get rid of chatty xyz loader messages.
    • Undid the previous "temporary" compatibility fixes, as it we are switching over to the new figure macro. Everything should work now.
    • Updated docs for the "mol colupdate" command.
    • Added a "mol colupdate" command analogous to the "mol selupdate" command. Made the "Update Colors every frame" toggle button create a logging message.
    • Removed reference to "left or middle" mouse button in Query mode.
    • Moved the buttons around on the Selections tab in the graphics menu, making room for the Keyword/Value browsers to be 50% taller.
    • Go back to calling the graphing tab Graph again; also change the Plot button to say Graph.
    • Updated docs for new mol scaleminmax option.
    • Made the "mol scaleminmax" command take "auto" in addition to to reset the color scale to full data range.
    • Enable new figure macro. Testing looks fine so far.
    • Temporarily use \mynewfigure directly for narrow screenshots that currently cause problems with the LaTeX compilation.
    • Added further comments about meaning of "active" molecules
    • First step in transitioning to new figure macros (testing stage): 1. HTML code has been removed from \myfigure. HTML is now ugly again, but html.tar files are self-contained again. 2. Created a new \myhugefigure macro 3. Removed \myhackfigure (as it imitates the new behavior) 4. Introduced \mynewfigure which will soon replace \myfigure
    • Made "mol selupdate" return the current state when no on/off argument is given. Made the "set" form of the command take any legal Tcl boolean, instead of just an integer. Docs are updated.
    • Changing the rep smoothing parameter from the text interface now updates the GUI; any change in rep smoothing creates a logging message.
    • Added Docs for "mol smoothrep" command. Updated name of Smoothing tab.
    • Changed the ColorID input field into a pulldown menu, and incorporated the name of the color into the menu items.
    • Use a date string that samba can hack, but we need seconds too.
    • The Delete button on the Labels menu wasn't deleting all selected labels.
    • Eliminated unused reset method from VMDDisplayList.
    • pretty up pickmodecenter code a bit.
    • Added Python and Numeric to most default build configurations. We'll see if this breaks anything...
    • Eliminated unnecessary #includes from Tool class files.
    • Change of mind: I decided that the appropriate name for the "Geometry Data" aka "Graph" tab in the Labels form is "Time Series".
    • Changed more "TGB" to "TCBG", fixing a bug!
    • Eliminated do_execute from CmdDisplayProj.
    • Eliminated more unused Command enum's.
    • Blew away the last of the old Forms menus.
    • Prevent Makefile from looping indefinitely is a directory is missing. Now simply returns an error instead.
    • Added imd menu to the extensions loaded at startup.
    • Added imdmenu plugin.
    • Revved version number
  • VMD 1.8.1 alpha 8 (March 28, 2003)
    • Upgraded the vmdmovie script to support/require VideoMach 2.7.2 on Windows
    • Updated self-extracting installer files
    • Some versions of the Windows libc behave oddly with fopen() failing when filenames contain double quote " characters, others work fine, to avoid problems we strip such characters before testing such filenames for executability/readability, etc.
    • Prevent MSVC from checking stride binary existience until the filename quoting problems are resolved more cleanly. We don't do this test on other programs like Surf, so it seems unnecessary on Windows at present. Ideally we'd test these things up front before VMD gets that far.
    • Added get_periodic and set_periodic methods to the Python molecule module; updated corresponding documentation.
    • Fixed a weird array double-nesting that *suddenly* popped out of the blue preventing AutoIMD from working!!??
    • AutoIMD: Changed "TBG Cluster" to "TCBG Cluster" :)
    • According to the MacOS X documentation, they provide statically linkable OpenGL extensions, which are made available as of various versions of OSX. VMD will pick up whatever OpenGL extensions are available within the major version of MacOS X that the binaries are compiled on for now. Apple's OpenGL extension docs are located here: http://developer.apple.com/opengl/extensions.html
    • Renamed "Geometry Data" label to "Graph".
    • Removed test for points==0 in sphere_approx(). It was causing all spheres that occurred before other geometry in the display list to be skipped.
    • Set out to update the docs mouse menu item names, but ended up doing more as it was wildly out-of-date. A few pick modes are still missing. Should probably refer to the pick mode section rather than re-describe them.
    • The VMDApp display_set_screen_height and _distance methods weren't firing off a CmdDisplay object to notify the GUI.
    • Typecasts to please MSVC..
    • Took the 'win32ftp' and 'startvmd' projects out of the main VMD MSVC project since they are no longer needed and would confuse newbies.
    • Updated README file.
    • Added doxygen tags to select methods and variables in PSDisplayDevice
    • Disable depth-based point scaling when not in perspective projection mode.
    • Fixed a second uninialized extension flag.
    • Fix uninitialized 'hasmultisample' setting.
    • Revved to alpha 8
  • VMD 1.8.1 alpha 7 (March 27, 2003)
    • Make Lines draw half-bonds between atoms only when the atoms are a different color; otherwise draw a whole bond. Significantly faster due to fewer vertices being drawn, animation is no slower, and visual appearance is much better in non-antialiased mode.
    • Bug fix. When selecting a popup menu title from the mouse menu, do not check its box if no items are selected. Somehow this bug did not manifest itself under Linux?!? (tested on a Sun)
    • Changed "Save Trajectory" -> "Save Coordinates" Changed "Mouse->Pick" to "Mouse->Label" Added the "Query" mouse mode to the mouse menu Removed some unused mouse menu check box logic
    • Changed the "Save Trajectory" menu name and some other random updates.
    • Updated the file reader code to handle the new read_bonds behavior; plugins now free their own tempory space for bonds. VMD now also checks the ABI version of the plugin and rejects it if the version doesn't match exactly.
    • Made file reader plugins responsible for freeing their own memory allocated by the read_bonds method. Should fix problems on Windows that are apparently caused by memory allocated by the plugin being freed by the caller. Also bumped the ABI version since using an old version of the plugin with new VMD versions will cause a memory leak (using the new version of the plugin with an older VMD will crash VMD due to memory being freed twice).
    • Fixed several more Win32 installer nits.
    • Fixed a typo "settings" should have been "setting". Compiling and testing before commits is a good practice. :-)
    • Changed the OpenGL extension function pointer prototypes so that they all work on Win32, where there are multiple calling conventions in effect.
    • Prevent the "AddBonds" pick mode radio button from getting checked when the user goes into "Query" pick mode.
    • Updated the Win32 VMD installer, fixed various changed file sets and new plugin versions.
    • Updated Win32 project settings
    • Windows builds now include the ARB OpenGL extension headers by default.
    • Prevent Win32 builds from picking up the glTexImage3D() calls which have to be done via wglGetProcAddress since Windows only provides OpenGL 1.1 functions via static linkage.
    • Added Win32 to ifdef guarding the inclusion of the ARB extension headers for Linux and Win32.
    • Fixed non-portable M_1_PI macro used in the renderman display device code. (not available on Win32..)
    • Added wglGetProcaddress() to the Win32 OpenGL display device code. More testing is needed, but it builds and appears to run minimally.
    • Moved the "Center" mouse mode out of the Pick submenu as neither its function (nor the way it is named) has anything to do with the other menu items there.
    • Enabled distance-based attenuation for the "Points" representation when the OpenGL ARB PointParameters extension is available. I'm using quadratic attenuation presently, leaving the min/max parameters and the alpha-blended attenuation values at their defaults, which works well for us.
    • Reinstated Grischa Meyer's code for orthographic projection. RenderMan output now matches OpenGL output for both perspective and orthographic projection.
    • Revved version number to alpha 7.
  • VMD 1.8.1 alpha 6 (March 25, 2003)
    • Fixed delete of wrong array; this may have been the cause of PR 259 (Python atom selection 'get' sometimes segfaults), although other memory problems in Python could have been responsible as well.
    • Renderman perspective projection code now works better under different display settings
    • Docs use the "autoimd set" command now.
    • Shortened the names of the autoimd API server commands and updated the autoimd-local file to reflect that.
    • Added the "autoimd set var value" Tcl command
    • Filename extensions are now matched to plugin types based on the filename extension registered by the plugin, rather than the plugin name itself. A new VMDApp method is defined which is used by all interfaces (command line, Tcl, Fltk) to guess file types so that consistent behavior is guaranteed. In particular, NAMD .coor files are recognized and loaded without the necessity of specifying a file type; all interfaces do lowercase conversion of the filename extension before searching for a match (previously only the Tcl interface did this), and four letter filenames are always assumed to be pdb accession codes (previously the Tcl interface did not do this). The file chooser now does filename matching when the filename is entered by hand; previously the matching would take place only if you pressed Enter or used the Browse menu.
    • Added global alpha factor function to procaddress looked-up routines.
    • Fix up return types for vmdGetProcaddress, add support for the GLX 1.4 version of glXGetProcAddress (in addition to the ARB extension version), and misc cleanup.
    • Changed the "Settings..." menu item name to the less confusion-prone "Display Settings...".
    • Mesa builds define VMDMESA which is used to prevent header conflicts in the new OpenGL extension loading code.
    • prevent Mesa builds from using glxext/glext headers since they seem to conflict with each other.
    • Fixup a few platforms that wanted to use the ARB routines so they do the right thing. Made the multidraw extension typecast for itself to prevent problems with vendor-specific opengl header files.
    • Added infrastructure for function pointer-based OpenGL extensions required on Windows, MacOS X, and Linux. Platforms such as Solaris, IRIX, and Tru64 Unix still use statically linked OpenGL extension functions at present.
    • Enable the use of the OpenGL ARB extension header files on Linux.
    • The POV display device probably ought not be doing anything with stereo modes from OpenGL. If we want all the renderers to understand the meaning of the various stereo modes, then we'd want to centralize that code rather than having it be 100% renderer-specific enums.
    • separate $install_name behavior from the name of the executables, prompts, and just use it for the startup scripts. Old code broke when install_name was anything besides 'vmd' anyway.
    • Make the top part of the configure script env variable overrides more readable.
    • Removed remaining do_execute's from CmdIMD commands; imdMgr methods are called directly.
    • Fixed remaining problems with user-defined fixed-atom selections in AutoIMD.
    • The VMD save_state.tcl script now saves display settings except for several machine dependent things like stereo modes, antialiasing, etc. We still don't save the state of the Axes, Stage, FPS display, Culling, stereo mode, and the lights, but we may wish to start saving lights as well.
    • Depth cueing commands shouldn't need the "set" parameter, they behave like the other display commands rather than like the near/far clip plane commands, which have a choice of "set" or "add".
    • Eliminated CmdLabelGraph. The "label graph" command now saves data to a file if an extra argument is given after the specification of the label.
    • Updates for the new behavior of the "label graph command"; the new behavior is to save the data to a file. Also documented the vmd_graph_label callback and the new behavior of the Labels menu.
    • Added a Tcl callback for graphing labels. The Labels menu now lets the label graphing callback handle graphing instead of using the built-in CmdLabelGraph.
    • Added a hook for a user-created callback for graphing labels. Defining a proc named vmd_labelcb_user overrides the default callbacks.
    • Fixed a missing feature test guarding the alpha-blending code.
    • Added callbacks for handling requests for graphing labels. The callback takes care of retrieving the label data and formatting it for the specific graphing program; this interface should make it easier to support other graphing programs. The current callback supports only xmgrace, but falls back to a save dialog if either xmgrace is not found, or if the platform is not unix. The Fltk labels menu still works as before; we need to document this new callback system before we change the menu.
    • Replaced the \frame macros with \timestep to avoid a name clash in LaTeX.
    • Added in alternate g++ compilation stuff for avoiding dynamic linkage with libstdc++, added -Wno-deprecated to make gcc3 shut up about old style C++ header includes (i.e. iostream.h) since most of our compilers still don't do this.
    • OpenGLDisplayDevice: clear both 'ns' and 'numsamples' to please gcc...
    • Added options for overriding the install locations with environment variables instead of hand-editing the file. May make it easier to package VMD with certain distros, we'll see...
    • Use the normalized pathname rather than relative pathnames for the MEMBRANEDIR stuff.
    • Remove AutoIMD reference to local "/Projects" directory, and use $env(HOME) instead (which is more "portable")
    • Prevent Linux boxes from trying to use the global alpha extension since they have to use dynamic linkage rather than static linkage. Need to finish some Linux-specific extension loading code before this can be re-enabled as it is on Solaris and other Unixes. By default its unsafe to statically link OpenGL extensions on Linux since they don't gaurantee that all functions are available in their OpenGL ABI. They have to be looked up on-the-fly more like Windows, unlike the commercial Unix platforms.
    • Fixed the membrane plugin to avoid using hard-coded paths through the use of 'info script'.
    • Try eliminating the MSMS I/O redirection to /dev/tty in hopes of alleviating some problems that have recently cropped up with a couple of Linux distributions and some SGI machines.
    • Compile-in global-alpha based transparency code by default, but check an environment variable to decide whether to use it in place of stipple-based transparency for now.
    • Much improved implementation of alpha-blended transparency using a hybrid two-pass rendering scheme that draws the scene in two passes. The first pass renders all of the "mostly opaque" geometry with Z-buffer writes enabled. The second pass renders all of the mostly-transparent geometry with Z-buffer writes disabled. There's a visible discontinuity at the crossover point between mostly opaque to mostly transparent, but this is still very preferable to having to fully depth sort individual geometric primitives. The DisplayDevice classes now have prepareOpaque and prepareTrans methods which are called by Scene to let it know what to draw on each pass. The display device returns FALSE on the prepareTrans method if there's no point in running second rendering pass. This allows the original stipple-based transparency method to be usable if remotely displayed to a machine lacking the global alpha extension. The code is still turned off by default, but with a little more testing it should be ready for prime time.
    • Fix two corner cases with the use of blended transparency and the global alpha extension. Previous code could allow blending modes to go unset if certain sequences of values were used.
    • optimize alpha blending code for the fully opaque case.
    • Implemented alpha-blended transparency using the Sun global alpha extension. It may be possible to implement this using the ARB GL_CONSTANT_ALPHA extension, but have not tried this yet. The new code is left disabled until all of the glColor() and similar calls have been checked to make sure that alpha values aren't being mis-set, but initial tests are very encouraging, particularly with the "Points" rep which looks spectacular for large molecules.
    • Added -args command line option. Command line arguments that follow -args will be passed to the text interpreters; if -args is not present, no arguments are passed (although argv[0] is still present for purposes of Tcl initialization).
    • Povray uses directional (parallel) lights for version 3.5+, defaults to point light approximation for earlier versions.
    • AutoIMD: Internally allow the "fixed" atom selection to be user-customizable
    • Added extra set of parentheses around an assignment in an if condition to avoid a compiler warning in the Surf interface.
    • Remove annoying clickable "hot errors" from TkCon.
    • 1. Internally rearranged the way IMD atomselect macros are defined 2. Fixed atomselect memory leaks by using "$sel delete"
    • Fixed broken Selections tab; was looking up the wrong symbol name, causing everything after segid to break.
    • http://www.staff.uiuc.edu/~m-loui/ssit03.html
    • Replaced the last remaining non-portable path name with the [file join ...] construct, in AutoIMD.
    • revved version number
  • VMD 1.8.1 alpha 5 (March 14, 2003)
    • updated the VMD README file with the numerous recent improvements we've been adding lately.
    • Added POV code for point lights moved to approximate directional lights. Added support for exponential fog.
    • Fixed PR 266, Floating point exception / NaN in 'cartoon' reps
    • Eliminated long-dead ReadDCD files.
    • Significant cleanup of the Surf interface code, commenting, improved error checking. More tests are done up front before we begin generating Surf input data etc.
    • Eliminated CmdMouseCallback (just the command object, not the functionality), moved CmdMouseMode to Mouse.h, and blew away CmdMouse.[hC].
    • Eliminated CmdStopRot. VMDApp::scene_stoprotation simply calls Mouse::stop_rotation directly.
    • Added a VMDApp::mouse_set_mode command. Mouse mode changes go directly to mouse; CmdMouseMode is retained to update Main's Mouse menu.
    • Close FILE handle used to write surf input files; fixes PR 265 "File handle leak in Surf interface code" bug.
    • Use the pick mode names from PickModeList instead of a private list.
    • Whoops, wrong if test on the VMDPREFERSTEREO env variable
    • Added a WIN32 plugin debugging target. Needs testing and matching setups in other build scripts, it but ought to work.
    • Eliminated CmdUser; moved code for defining hotkeys into Tcl-specific function.
  • VMD 1.8.1 alpha 4 (March 12, 2003)
    • Get rid of CmdUserMenuAct; pass hotkey commands through a TextEvent, which eliminates the middleman. Add a new TextEvent to evaluate a general Tcl string.
    • Eliminated CmdUserMenuPrint; implement in the Tcl function instead.
    • Degenerate cylinder test updated to only reject cylinders povray considers degenerate. (PR 264)
    • Eliminate unused item from AtomRepParamStruct.
    • Eliminate fields from AtomRepDataInfo that were only ever used for the GUI in the old Graphics form.
    • Added a new VMDPREFERSTEREO environment variable to allow NVidia Quadro users to override the normal X11 visual search order, skipping multisample capable visuals in favor of stereo visuals. We still attempt to get the more complex visuals first, but if it comes down to a choice between stereo and multisample as mutually exclusive options, this allows users the ability to force the use of stereo if available.
    • Re-ordered VMD extensions menu, renamed "AutoIMD" to "autoimd"
    • Added a reference for the atomselect writexx command so it can be referred to from elsewhere in the docs.
    • Added Python material.delete method.
    • Updated docs for Python material module.
    • Added material_rename method to VMDApp; rather than silently stripping spaces from the new name, an error is returned if the name contains non-alphanumeric characters.
    • Added material_change method to VMDApp.
    • Added a material_delete method to VMDApp.
    • Added 'vmdtkcon' plugin to cvs, a wrapper that allows one to run TkCon from the VMD 'extensions' menu.
    • If a plugin directory is not found in the distrib phase, return an error rather than go into an infinite loop. (i.e.: Replaced two ";" with "&&").
    • Fixed the "backbone" atom selection keyword so that it excludes atoms in non-nucleic/non-protein residues. (e.g.: previously, POPE lipid residues would contains 2 backbone atoms each!)
    • cranked version number
  • VMD 1.8.1 alpha 3 (March 7, 2003)
    • Don't print error message in check_stdin if the only problem was an interrupted system call. This behavior has recently begun manifesting itself on Linux; no idea why yet.
    • Triple-clicking on "T" (i.e.: single A/D/T) also selects the shown molecule in the Graphics menu.
    • Fixed the sidechain atom selection keyword, which has been broken for molecules that contain more than one protein chain for seven years and one day.
    • Eliminate unused residue bond type; still check for unusual bonds, but don't bother storing this information.
    • Scene::background had unitialized material settings; initializing Scene::root with update_material instead of change_material takes care of that.
    • multpoint3d() updated to eliminate floating-point imprecision.
    • Disable the use of -rpath for now to see if people have fewer problems running our binaries with the most recent X11 distros.
    • Fixed typo in a JString constructor that cropped up in the last change.
    • Padded the top of some Fltk menu arrays with NULL menu items. This seems necessary b/c Fltk goes up the array when the setonly() method of a menu item is called, until it finds a non-radio-button menu item. Potential memory corruption can thus occur if the top menu item is a radio button.
    • Add first rev of depth cueing to the Tachyon and LibTachyon display devices. Parameters pretty well match what OpenGL does for Tachyon, but there may yet be some small bug in the LibTachyon version.
    • Make the step sizes for the depth cue controls more precise
    • Copy the rest of the depth cueing parameters as well as on/off state.
    • Depth cueing on/off state is copied to other display devices.
    • Moved "extra" atom data (radius, charge, mass, beta, occupancy) out of MolAtom struct into flat arrays stored in BaseMolecule. Organized arrays as a NameList, providing a structure we can use to add additional per-atom attributes later if we so choose.
    • Eliminated the old EGCS configure option, and added -fno-for-scope to the default LINUX compile flags.
    • Fix non-portable for loop variable scoping problems.
    • Rewrote the movie generator to use menus instead of a single large frame containing buttons etc. Most of the settings are still easy to see, and the resulting window is now MUCH smaller on the user's display. Further improvements will bring the status window into the main window so that no new windows are popped up during a movie making run, which avoids potential problems with the snapshot image capture method.
    • Updated the GUI to always refer to "Frames" instead of a random mix of "Timesteps" and "Frames". Starting now, in the GUI, "timestep" refers to the actual simulation/IMD timestep (which is arbitrary), whereas "Frame" refers to the animatable sequential list of sets of coordinates for a given molecule (which do not necessarily have different "timesteps").
    • Added the selectmol(int) method to the graphics menu.
    • FileChooser now responds to commands even when hidden, so the molecule list is always up-to-date.
    • Fixed the problem with degenerate cylinders. Now cylinders with length less than some epsilon are skipped, and a warning is printed on the VMD console.
    • Padded all Display submenus with a NULL menu item. This seems necessary, but was never done before.
    • Added missing PSDisplayDevice code for DSPHEREARRAY case, sphere resolution now set in a function. (PR 262)
    • docs: changed mouse "form" to mouse "menu"
    • Copy images "as is" in HTML mode (i.e. don't apply any scaling). This makes images readable. PS/PDF output is not affected by this.
    • Updated docs to reflect changed in the File menu.
    • Moved structure building documentation to BaseMolecule's header file; documented the rest of the top-level functions.
    • Made MainMenu compilable with the Solaris compilers (and probably others too)
    • More comments in the structure building code of BaseMolecule.
    • Improved comments about Residue member data.
    • fixed a bug when the save menu called from Tcl could appear with no selected molecules at all.
    • Added a "new molecule" menu item and changed the dimming behavior of some file menu items; also allocate all new menu objects dynamically in the heap rather than reserving lots of memory in the stack (I was at it for the file menu, so I did it for all).
    • Added the selectmol method and did some related cleaning up. Made a lot of things private (and the related fix-ups).
    • Overwrote the previous "message" method of VMDMenu with a more specific "selectmol" method. Also, do not pass the main menu to the constructors of other menus anymore as this will be phased out.
    • Added a virtual "message" method to the VMDMenu class for communicating actions to a specific menu. Right now only has a SELECT_MOLECULE message type, but made it general in case we ever want to do more. Upgraded some comments to dox comments here and there.
    • Made the movie maker smarter, it queries the number of frames from the top molecule, if there is one, and uses this for the default number of frames in the trajectory animation types.
    • Added check to prevent buffer overrun in NameList::add_name. The reason this came up in the first place is because we strip spaces from the name within this function. it might be better to move this functionality to the calling functions, since in many cases it's already done, for example, by the pdb and psf file reader plugins.
    • Updated to alpha 3
  • VMD 1.8.1 alpha 2 (February 26, 2003)
    • Eliminate UMR's due to use of depth cue accessor functions before the initial values are set.
    • Added extra checks for too-short lines in the psf reader.
    • Use the Tcl object-based interface for the atomselect set operation, resulting in 5-50 fold speedups for modest-sized systems. It is now an error to set numeric keywords using string values; previously, the data would all be silently set to zero. Integer and floating point data are silently converted as before. Documentation has been updated to reflect these changes and to improve accuracy and readability of the get and set operations.
    • More doxygen updates, added basic compilation info, added more classes to program overview page in intro, etc.
    • Added basic main doxygen contents page and started moving some of the old information into the doxygen docs a bit at a time.
    • Added compilation of "*.dox" files in the doc directory to the doxygen programmer's documentation. This allows us to add normal HTML text stuff to the doxygen info if we wish.
    • updated Tcl/Tk URLs and version info.
    • Fixed typo in logfile output of mol addfile command.
    • Pass command line arguments to Tcl and Python through their respective mechanisms.
    • Eliminated potentially unsafe lazy const char * constructor from JString. This constructor would only cache the pointer instead of making a copy, which was unsafe since a volatile array could be promoted through a function interface. It was originally put in to speed up accessing string-type atom selection keywords, but since this is no longer done with JStrings at all we don't need the optimization.
    • Added a "material default " command. Added a corresponding button to the Material menu. Fixed a bug introduced in the last commit that caused copied materials to have the same material index. Materials are now guaranteed not to have to the same material index (modulo INT_MAX).
    • Added a material_add VMDApp method. Allows the name of materials created with the material_add command to be returned to the text interfaces.
    • Eliminated CmdMaterialCopy; added "copy option to the material commands.
    • Eliminated compilation of MaterialUser.C to match recent code changes.
    • Rebuilt and fixed up the Windows version of the AtomLexer.
    • Fixed a compilation problem with MSVC due to their definition of min() max() macros.
    • Fixed a hyperref for the main form in the docs.
    • You can change the settings for Opaque and Transparent now. Still need to add a Default command to get the original settings back.
    • Displayables now get their default material settings from their parent, instead of from a global defOpaque material. The root Displayable gets its material directly from MaterialList when MaterialList is initialized.
    • MaterialList now notifies displayables of changes in material settings through the root Displayable, instead of keeping its own list of MaterialUsers. Eliminated the MaterialUser class. All Displayables are now automatically notified of changes in materials by virtue of being children of the root displayable.
    • Misc cleanup, removed old code that used to print out the header lines of the psf file since we don't do this sort of thing anymore. Cleaned up various formatting, and replaced use of integers with symbolic constants in a couple places.
    • Invalidate the OpenGL material index cache since a new frame is being drawn and the material state for the previous index may have changed.
    • Replaced non-portable inclusion of with
    • Reinstated the MolBrowser's right-click popup menu, for what it's worth.
    • Eliminated extract_keyword_info functions.
    • Eliminated SymbolTable wrapper functions for set_keyword_xxx.
    • Made the "Save Trajectory"'s molecule default to the Main menu's selected molecule instead of always defaulting to no molecule (same behavior as for "Load Data Into Molecule"). Are we ready to make the "Save Trajectory" dialog modal and molecule-specific?
    • fixed a typo in my C++ code that could cause unexpected crashes. new char[strlen(molname+3)] --> strlen(molname)+3 whoops!!!
    • Fixed a long-standing (but just discovered!) bug that prevented the FileChooser's molecule list from being updated when a molecule was renamed.
    • Eliminated SymbolTable wrapper functions for accessing singlewords, stringfctns, and C-functions.
    • Absorbed SymbolTableName into SymbolTableElement. Replaced the ResizeArrays of Name and Element with a single NameList of Element.
    • Eliminated dead code in ParseTree; eliminated the "take_a" member of SymbolTableName; it's not used and not needed since it's always the same as "returns_a".
    • The current singleword is now stored in the context struct passed to symbol table evaluators, rather than in SymbolTable itself.
    • Double-clicking molname bring up the "Rename" dialog. Triple-clicking "T" makes that single molecule T/A/D and resets the view.
    • "Rename" and "Delete Timesteps" can no more be called on multiple molecules in the GUI. Also removed now-useless code that dealt with multiple molecules.
    • VMD init script was not checking for import_graphics plugins, it now scans the import graphics area as well.
    • Atom selection macros that contain themselves are now detected immediately, when the macro is created, instead of when the macro is first used in a selection.
    • Added missing #include to make frame_selector compile.
    • 1) Delete Frame dialog box now clearly states what it is doing (with a message and a "Delete" button), so no more accidental mistakes! 2) Added some related error dialogs when trying to select/delete frames from molecules that have no frames, instead of putting up the frame selector box with non-sensical values (such as -1) that occurred in some cases.
    • Moved sorting routines to SelectionBuilder.C and made them static.
    • Pass symbol table context to the evaluating functions directly (through the extract_keyword_info or set_keyword_info functions) instead the backdoor hack of having SymbolTable save the context, then pass it in when the evaluating functions are called. Most of this diff consists of renaming the AtomSel context struct to avoid name collisions with the oned used by MolInfo.
    • Eliminated the regex from SymbolTableName. Symbols from atom selections and molinfo are now looked up by simple string match rather than a regex match. All existing symbol patterns were simple string patterns anyway so there should be absolutely no change to what symbols are recognized.
    • Taught the display controls to activate/deactivate the depth cue start/end/density controls appropriately for the cueing mode.
    • Added depth cueing mode selector controls.
    • Added counters for the numeric depth cueing parameters start/end/density
    • Added new display commands to control depth cueing, allows setting the mode to Linear, Expontential, Exponential Squared, and allows control over the start, end, and density parameters. The start/end parameters only affect the linear depth cueing mode, density only affects the exponential modes.
    • eliminated the old (now unused) DISP_DETAIL and DISP_ALTDETAIL enums.
    • The special-cased molinfo keywords weren't stripping leading spaces like the regular SymbolTable-defined entries were; this didn't break save_state but might have affected other scripts that used molinfo.
    • Moved do_execute code from a couple Tool Cmd classes to UIVR.
    • Added Tcl, Python and VMDApp commands for setting and getting color scale minmax parameters.
    • Moved do_execute code for label show, hide and delete from CmdLabel to VMDApp methods.
    • Reflect the new file browser's behavior and menu item name.
    • Updated to alpha 2.
  • VMD 1.8.1 alpha 1 (February 17, 2003)
    • Made AtomColor's data range for color scale methods persistent, instead of recalculating it every frame when automatic update of colors is turned on. The data range can be viewed and set from the Graphics menu; there is also a button to rescale the minmax for the current data range. Some minor tweaks to the Trajectory tab in the Graphics menu were made to accommodate the new controls. Still need to add code for getting/setting colorscale minmax from the command line, and for saving the settings.
    • Added zoomseq to list of installed plugins
    • Updated Win32 VMD installer with new zoomseq, single executable startup, Tcl/Tk library directory names, etc.
    • Windows build settings updated for single-executable VMD system.
    • Added "User" coloring method, which provides a single data value for each atom for each timestep. You can set and get the values with the new "user" atom selection keyword.
    • Added option to update colors every frame, similar to how we can also update selections every frame.
    • Changed the startup process so that the C code forcibly sets the Tcl environment array rather than trusting it to find important variables such as VMDDIR by itself. This allows us to use a single-process startup mechanism on Windows, and should not adversely affect the Unix or MacOS X builds of VMD. The new system works much better in that the Windows VMD can be run by command line exactly as the Unix version can be, with no strange side effects, at least so it would seem after doing quite a bit of testing.
    • The zoomseq package needs to be loaded before the .vmdrc or other commands are processed, because if it's loaded afterwords it goes and finds secondary structure for the top molecule even if the window isn't shown and no molecule has been selected.
    • Molecule menu now uses the proper dimming behavior. Also items can be dimmed if there is more than one selected molecule (e.g.: Make Top).
    • Made zoomseq an Tcl package and moved it to the plugins tree.
    • Docs; major index updates for renderers, reps, .vmdsensors, .vmdrc, and various corrections here and there.
    • Further indexing updates for example scripts, added index entries for Python and fixed capitalization of Tcl.
    • Further indexing updates for example scripts, added index entries for Python and fixed capitalization of Tcl.
    • Added specific index entries for example scripts, independent of the index entries for the rest of the text. This will make it MUCH easier to locate and refer people to specific examples in the VMD manual.
    • Split up psfgen docs BPTI example into script followed by explanation.
    • Molecule menu gets greyed-out if there are no selected molecules.
    • When opening the "file" menu, the target molecule defaults to the one selected in the "main" menu.
    • Modified docs displayed when typing "measure" to be more detailed and "up-front".
    • Revamped documentation for the mol command displayed when typing "mol", to actually make it useful and accurate. - reordered commands into categories - added some missing commands and required parameters - rewrote some of the descriptions and fixed some blatant lies!
    • Added diagnostic messages for failures in calling Stride.
    • Clean up handling of cases in secondary structure drawing where the last residue of a fragment is helix or coil. Also converted tabs to spaces in the region of code involved in the cleanup.
    • By looping over residues instead of atoms, the draw_structure routine now finds atoms to be drawn as coil about eight times faster than before, which speeds animation of my secondary structure test scene by a factor of two.
    • Fixed another very longstanding bug in the sequence atom selection: sequences involving Trp residues were not recognized.
    • Fixed very longstanding memory corruption error in string function atom selections (the only two being "sequence" and "rasmol"). Thanks valgrind!
    • Finally, at long last, a Win32 build with Tcl/Tk 8.4.1 that actually runs. Tcl/Tk have serious problems with propagation of environment variables crucial to VMD startup, apparently they ignore variables set with setenv() in win32vmdstartup if done inside the same process. If the variables are inherited from a separate starter process all works fine. This is my rediscovery of why we still have the Windows version being started by a separate process. Probably the problem can be solved by writing new startup code that uses the Win32 APIs GetEnvironmentVariable and SetEnvironmentVariable, which is what Tcl is using internally.
    • Make Windows version use GetModuleFilename instead of argv[0], since its much more trustworthy.
    • Added a newer fallback method in case the registry lookup fails.
    • Make the startup error handling for VMDDIR a little more informative, and accurate for the platform it is running on.
    • Made the writepdb atom selection command accept any file type that VMD knows about, permitting writedcd, writecrd, etc. Only the atom selection's frame is written, as this was the behavior for writepdb; we may wish to add an option for writing all frames as this would be most useful for trajectory files.
    • replace use of bash-specific expression modifiers with lame Makefile based version of the same.
    • eliminated unused (and now incorrect) header target
    • The static plugin header file is now generated assuming that all plugins have init, register, and fini functions, rather than using nm to process the static library. Added boilerplate init and fini functions to plugins that didn't have them already and fixed up some misnamed functions that didn't fit the standard template.
    • Bumped the minor version for the gromacs plugin.
    • Bumped the minor verion number for the webpdb plugin.
    • Updated minor version of the RST7 plugin.
    • Updated the Windows project file to use new revs of Tcl, Tk, change the default VMD binary to be called vmd.exe, and made the default VMD binary self-starting so that it no longer requires the old starter binary.
    • Added braces around the call to the Tcl save_state filename parameter, to prevent filenames with spaces from causing VMD problems.
    • Updated psfgen for Tcl 8.4. const keywords appearing in the function signatures use the CONST84 macro, which is defined to be 'const' in Tcl 8.4 but not in earlier versions, so compiling against Tcl 8.3 should still work.
    • Fixed rst7 plugin dereferencing of unitialized pointer, and eliminated compiler warnings about unused variables.
    • Fixed obvious memory leak in webpdbplugin; eliminated gcc compiler warnings.
    • Eliminated gcc compiler warnings for the gromacs plugin.
    • Fixed incorrect vmd_file_is_executable function; it got fixed in the VMD source tree but not for the plugins.
    • Added a call to Tcl_FindExecutable(), which is required for proper initialization of Tcl/Tk starting with version 8.1. This didn't actually affect VMD until we tried upgrading to Tcl 8.4, and then only on Windows.
    • Added argc_m/argv_m to VMDApp, for use in initializing Tcl/Tk and Python at startup. This is needed for the Tcl_FindExecutable() routine found in Tcl versions 8.1 and higher, and for the Python TkInter setup.
    • Updated the Win32 startup code so that VMD can be built as a single executable now. Works fine on NT, so we just need to test more on Win2K, XP, and anything else we'd like to support.
    • Eliminated the old url_get code from the vmd scripts area, along with the Win32 FTP and GZIP programs, and associated code.
    • Fixed a bug in figuring out which periodic images to draw.
    • Made Tcl commands for setting tool scaling also update the Tool menu. Made the controls in the Tool menu for setting the scalings act normally; i.e., no more converting from .33 to -3. Also made the Tool menu update the scalings when a new device is chosen for the tool.
    • Added periodic display status to the save_state script.
    • Added showperiodic and numperiodic docs to in-program help.
    • Make the mol command print usage information whenever incorrect syntax is entered, notjust when "mol" is entered by itself on a line.
    • Fixed Move Highlighted Rep feature (PR 252). HRep info is stored in VMDApp now, instead of in each individual molecule, making it much easier to make sure that only one rep of one molecule is "highlighted".
    • Added periodic image display features. Still unfinished: file renderer support, save_state, image-specific label commands.
    • Fixed timestep skipping problems in the CRD and XYZ plugins, and incorporated some xyz plugin fixes from Mauricio.
    • Updated plugins to link against Tcl 8.4
    • Update minor version number to 1.8.1 for registry key search.
    • Updated windows installer registry key values.
    • Updated group name in title screens etc.
    • Updated the Win32 installer for Tcl8.4, updated version info
    • Fixed PR 251 (incorrect phi and phi values).
    • Update the VMD title screen to reflect the new group name, added the NIH resource line, etc.
    • Trimmed startup messages a bit.
    • updated bug fix list, changed the group name to TCBG.
    • Can't call delete on a const char *, fixed in cmd_mol.
    • Changed -com to -command in aligntool, contactmap, and timeline.
    • Eliminated (char *) casts made unnecessary by the update to the more const-correct Tcl 8.4 C API.
    • VMD now requires Tcl and Tk 8.4
    • Patched VMD to work with const-correct Tcl 8.4. The new code will probably not compile with anything older than Tcl 8.4.0 so we're committed to the new version now.
    • Fix illegal shortening of the -command Tk parameters in the sequence viewer.
    • Added VRPN to 64-bit Solaris builds for now.
    • Added libtachyon option to 64-bit Solaris and MacOS X
    • Don't let Python recursively call tkinter.dooneevent(). Fixes crashes caused by Tcl scripts calling "display update ui" from within the Tk event handler.
    • psfgen is now compiled as a Tcl-loadable shared library on MacOS X.
    • Dynamic plugins work now on MacOSX, following Dave Hardy's Darwin bundle example code.
    • Build dynamic plugins on MACOSX as bundles. Using "c++" to link causes the C++ library to be properly loaded.
    • Added detection of the OpenGL ARB point parameters extension, and some untested (and currently disabled) code for using it with the VMD "points" representation. The extension allows modulation of point size and alpha value by an equation using constant, linear, and quadratic terms. This will allow further control over the behavior and appearance of point-based representations in VMD.
    • Add point size parameters to the PointArray display command, enable point antialiasing and blending, and upgrade the VMD GUI and AtomRep code to handle the new size parameter.
    • Changed the atom extra init loop to use the right symbolic constant for the loop range, as suggested by Sergei.
    • Added make rules for the new Gaussian cube file reader.
    • A new Gaussian cube file reader plugin. The current code ignores atom information and just reads the volumetric data.
    • made edm reader plugin use symbolic constant for no atoms.
    • Blew away the old graphics menu.
    • When aborting a job, qdel is now submitted in the background so as not to stall VMD if the queuing system is slow to respond.
    • AutoIMD now creates soft links for all the parameter files, in the scratch directory. This removes one of the last hurdles for getting AutoIMD to run smoothly on remote servers such as Lemieux.
    • "autoimd" not longer returns a window pointer. Replaced by autoimd_menu_tk_register.
    • Default prefs now use the "autoimd server" commands. This is cleaner and will be compatible forever.
    • Started implementing an autoimd API for the end-user. Right now, it just allows the user to create and modify server settings on the fly.
    • Added Python version of psfgen. Made the null_print_msg function in the charmm parser print to stdout, and made various function static.
    • Fixed the "tool adddevice" and "tool remove" commands. Was parsing the wrong field for the toolid, making it impossible to add devices to any tool whose toolid wasn't 0.
    • Added NUMPY option to Linux and 32-bit Solaris builds.
    • Graphics Form's draw style tab "subsubsection" was mislabeled as a "subsection"
  • VMD 1.8 final release (December 9, 2002)

Please email any questions to vmd@ks.uiuc.edu.