VMD 1.8.2 Development Status

  • VMD 1.8.2 (December 5, 2003)
    • Tagged plugins and VMD source tree with 'vmd-1-8-2' symbolic revision tag.
    • Added VMD 1-8-2 tag to doxygen info
    • Updated the main plugin README file.
    • Last few Windows installer winzip updates
    • Last few Windows installer tweaks.
    • Updated Windows installer infolist files
    • added distrib subdirectory to distributions so src builds can be used to make a binary distribution without errors.
    • Make perl happy by quoting parms to mkdir()
    • Put msvc directory in there so 'make links' can work from a src distrib package.
    • Don't include binary plugins in the src distrib, just the code.
    • Copy the .vmdrc and .vmdsensors files from the data subdirectory.
    • Added the main Makefile to source distribs. Move distrib location of the .vmdrc and .vmdsensors files back into the 'data' subdirectory so distributions can be made from the source distribution.
    • Avoid copying plugin headers and static libraries in binary distributions of VMD.
    • updated version info, date, etc.
    • update last mod date
    • added mention of fsfour plugin to the README
    • Oops! NamdRun's debug strings really should say "NAMDRun", rather than "AutoIMD" :) But are they really different?
    • Working on release candidates now.
  • VMD 1.8.2 beta 8 (December 2, 2003)
    • The vmdmovie back-end encoder routines now cause output of their compressors to be redirected to stdout so that the user can see that the compressor is actually running and making progress, as well as any useful error messages a transcoder/codec might generate.
    • Added comments about the limitations of VideoMach on Windows.
    • Improve filename handling in the back-end VideoMach compressor setup routines. In the end, it turns out that VideoMach fails when you specify filenames containing spaces on the command line, but it works correctly when you do it in the GUI, leaving a somewhat problematic situation. I'll have to report this bug to the VideoMach authors in order to get it fixed since it is closed source. There are times I'm tempted to build NetPBM etc on Windows just to avoid this mess.
    • Eliminated warnings from vmdmovie frame conversion process. On Windows we leave the frames in BMP format. The old code was attempting to convert to ppm (can't do that without NetPBM) and printing warnings, this avoids that entirely.
    • Added 3 spaces at the end of every AutoIMD Tk menu item to make them readable in MacOSX (until this bug is fixed in Tk).
    • Fixed a bug in which NAMD was trying to open a config file whose name was an empty string when no namd_args were passed to NAMD on non-goup machines. Since this change, AutoIMD has been successfully tested and run on a non-group mac laptop. Also made namdrun a bit more verbose to make error diagnosis a bit easier in the future.
    • Added Justin's "rawtimestep" Tcl command, used to load binary timestep data into VMD efficiently, allowing script-based IMD-like interfaces to be written far more efficiently than would otherwise be possible. The equivalent functionality is available in the Python interface via the vmdnumpy module, which also has efficient binary coordinate add/modify interfaces.
    • Fixed documentation for "rotate stop".
    • Fix the "rotate stop" command to behave as it used to. It is not actually supposed to merely be another way to do "rock off", it also halts mouse rotation. VMD 1.7 correctly implemented this command so it must have been altered by accident in later revisions.
    • Fixed description of "measure hbonds" to refer to the angle being less than 180 degrees rather than perpendicular. This might be worth adding a figure for clarification.
    • Added comments regarding replication of the HBond code into DrawMolItem. This code should also be changed to emit vertex arrays once it has been updated to use common code with the TclMeasure, etc. Added mention of the DrawMolItem version into TclMeasure.C as well.
    • Code for measuring Hbonds probably ought to be in Measure.C so it can be used by multiple scripting languages, and avoid replicating the implementation and creating scripting-language-unique bugs as time goes on.
    • Start saving save state version number into the top of the saved state file.
    • Improved readability of the save state script, added better documentation of some of the unhandled cases.
    • Revved to beta 8
  • VMD 1.8.2 beta 7 (November 25, 2003)
    • Fixed fs4plugin missing define of M_PI on two platforms with an ifdef.
    • Fixed "Save Coords" bug in a better way.
    • Fixed a bug in which Saving Coordinates with the GUI would create 0 byte files. (also renamed a few variables to be consistant b/w functions)
    • Created documentation for the fsfour plugin.
    • Added fs4plugin to Makefile.
    • Added a comment about the side effects of deleting molecules
    • Added 'waitfor' into built-in help
    • Added missing waitfor parameter in the 'animate write' docs.
    • The main window now correctly updates the active range of animation frames when molecules are deleted. Bug and various good fix ideas reported by Jordi, with additional suggestions from Justin. This fix is a very simple fix for the problem at hand, but long-term we may wish to look at fixing the VMDApp code to emit MOL_TOP events for the side effects of molecule deletion, adding, etc. Same goes for any other events that can have side effects of this sort. Then the GUI code might be a bit easier to follow/maintain long-term since fewer event types would need to be watched in any given branch of code (perhaps).
    • Made the first running build on Linux x86_64 (LINUXAMD64). It runs without OpenGL, due to problems with the OpenGL libs on the test box I have access to. Once the libs on the build box are fixed, I'd expect that the full-up build will work just fine.
    • Added missing LINUX defines, changed the upper case string code around in hopes of making AMD64 happy, but no luck yet, still the code is as fast and far more readable than the old code, so its still worth doing. :)
    • Added missing linux versions to the threads ifdefs.
    • Fix mismatched parameter type, just for paranoia's sake.
    • Fixed VMD startup script to detect execution on AMD x86_64 platforms.
    • Revved version to beta 7.
  • VMD 1.8.2 beta 6 (November 14, 2003)
    • Working for arbitrary NORN, data is almost certainly beginning from some point in the cell (possibly the center).
    • Split the OpenGL light parameter state caching into separate blocks for updating the ambient and diffuse coefficients since its unlikely that real VMD scenes would have very different values for ambient. On average we should have half as many state changes even in scenes where the materials are different on every rep. The materials are more likely to be different in just diffuse and specular, ambient is likely to remain the same across most materials. This should reduce the average number of OpenGL API calls per-rep.
    • Clipping plane state can only be cached for the 'off' setting, since the clipping plane center and normal from the previous rep would have nothing in common with the next one. This eliminates clip plane state changes in the most common case, which is 'off'. Since its unlikely that the same 'on' state parameters would be used from rep to rep, no effort is made to avoid parameter state changes when its on. Added comments to this effect in the source code as well.
    • Added state caching for OpenGL clip planes, to eliminate unnecessary enable/disable calls.
    • Added several new levels of safety checks in the X-PLOR EDM map reader plugin. The new plugin also warns but does not abort if it gets a number other than -9999 as the last data in the file, since we found that files produced by the 'ptraj' program don't emit these numbers at all.
    • Eliminated redundant compiler options from the Alpha and PowerPC Linux targets
    • PR 341 is believed to be fixed now.
    • Hacked Mac version of FLTK to try and workaround 10.3 problems with native window system version of VMD.
    • fs4plugin.C: Reading data, but it appears offset. Only working for NORN=0.
    • Added LINUXAMD64 platform to make_distrib
    • Protect the various linux builds from using the non-ARB OpenGL 1.4 version of glXProcAddress(), and disable extensions altogether on AMD64 for now since there are issues there.
    • Added a configure target for linux running on 64-bit AMD Opteron processors
    • Added plugin target for Linux running in 64-bit mode on AMD Opteron processors
    • Change default code that sets TMPDIR to use more appropriate values for Win32 and MacOS X since Panther behaves differently than Jaguar.
    • Added a build target for MacOS X using X11 rather than the native windowing system, as an alternative workaround for various problems with Panther (10.3). This is just a stopgap test build until more planning takes place, we may have to make a new architecture target to satisfy the VMD plugin builds since the X11 build and the native build use totally different Tcl/Tk libraries.
    • New plugin for reading XTalView fsfour electron density maps.
    • Tweaked the default VMD dynamic macros slightly: * added "name CL" to "ion", as this is how Cl- appears in PDB structures * added synonyms "ions" and "lipids" for "ion" and "lipid". (I had previously "mistakenly" chosen singular names, to be consistent with the singular "water" and "protein". The singular names proved to be hard to use and remember. I now realize that "water" and "protein" are singular bc they refer to a continuum. "ion" and "lipid" don't!!! Ooops.)
    • Fixed logfile color name glitch reported by Jordi, fixed as suggested by Justin.
    • Fixed doTkUpdate() to match the new semantics of evalString().
    • Fixed another weakness in parameter checking for the "type" param.
    • Added -eofexit to command line option help/summary
    • Fixed missing argument checking code in the waitfor parameter. This fixes the crash that Barry reported caused by the command: 'mol addfile x.dcd type dcd waitfor'
    • Altered the range checking code in angle() and signed_angle() to actually check the final result used in the denominator rather than the individual amag and bmag components, since that still left a possibility for underflow. This fix may only slightly ameliorate the problem however, as a comparatively large numerator could still result in getting NaN or Inf as a result. Also, the arbitrary choice of returning 180 as the angle in the ill-conditioned cases may or may not be the best idea. It probably worked in some limited physically related cases but I'm not convinced these routines should remain this way in general use.
    • Force files specified on the command line to load completely at startup. This greatly facilitates the use of VMD in scripts, batch jobs, etc.
    • Updated windows installer for VMD
    • Updated license text file to mention that 'psfgen', 'TkCon', and MacKerrell's topology files are subject to different restrictions.
    • All molfile plugins follow the UIUC open source license at present.
    • Clarify which license the vmdtkcon plugin components fall under
    • Add NAMD license to the psfgen directory.
    • AutoIMD: Added support for specifying additional arbitrary NAMD parameters/ commands to be included in the running sim, all via VMD. This is done through "autoimd set namdscript {...}". Kept secret for now...
    • The native MacOS X version no longer needs the X-oriented VMD startup script to get itself running, so we can eliminate the special startup code that the MacOS X version used to need. This also makes it a lot cleaner if we build an X-Windows based version on MacOS X.
    • Now running APBS.
    • apbs input files now work with apbs -- still having trouble actually running apbs from within the plugin.
    • As of today 11/03/2003, the VMD plugins are now distributed under the UIUC Open Source License
    • New and improved error messages in pltplugin, mapplugin, grdplugin, phiplugin, dsn6plugin, and corplugin.
    • revved version number
  • VMD 1.8.2 beta 5 (November 3, 2003)
    • Make the slider text input properly update itself when you switch between different isosurface reps. Bug found by Justin.
    • Fixed a minor nit in the addition of the Aux- shift state modifier parsing code
    • Replaced hard-coded hotkey initialiation with a small foreach loop that sets the default command for all of the normal hotkeys to print a little message telling the user how to set the hotkey for their own use.
    • Added default user key commands that print help messages for the new Aux button events
    • Implemented "Aux-3" through "Aux-8" key events for the Spaceball, to allow users to make use of the other 6 Spaceball buttons for whatever scripts they want. This will also be implemented for other devices as time allows.
    • Switched Fltk icons of the single-step animation buttons, mainly to differentiate from with the other buttons, and also to follow the loosely defined majority convention-TM for the meaninng of such buttons.
    • eliminate unused includes
    • Prettied up shift state tests
    • Various MacOS X releases are now having crashes (10.2 included) with certain OpenGL drivers with the statically linked OpenGL extension functions.
    • Added Jordi's patch for the problem Barry reported with toggling reps when there are enough reps to force the use of the scrollbars etc. The new code remembers the position and restores it when the browser is updated, except when adding/deleting reps.
    • Added preliminary code which could replace the startup scripts down the road once a clean way of forcing the terminal open (without generating a temporary xxx.command script) can be found. That's the last step to eliminate all of the scripting from the startup of the MacOS X version. If the startup scripts are eliminated, then the VMD.app bundle would also become much simpler and contain about half as many files, making it practical for the build scripts to auto-generate a complete bundle on-the-fly, which is currently not entirely feasible.
    • Added PYTHONPATH setup to Win32 startup code for whenever we get this built-into the windows versions.
    • MacOS self-startup code needs to setup the PYTHONPATH correctly.
    • Further shuffling of the bundle directories and startup scripts means that we don't append Contents to the path anymore.
    • Fixed the auto-found MacOS X bundle path so it points to the area our current bundles put the VMDDIR file tree.
    • Updated distribution building dox to cover some of the tricky MacOS X stuff, as well as recent changes to how it is commonly done.
    • Updated molfile plugin docs pages to be more informative, added comments about dynamic linkage on MacOS X.
    • Added more descriptive error messages to DX plugin.
    • Added more descriptive error messages to AVS plugin.
    • POV3DisplayDevice: Made a minor change to the orthographic projection case, and added a comment regarding a strange bug that has cropped up in the perspective case under some conditions.
    • Updated docs to reflect one of the limitations of the CCP4 plugin.
    • Clarifying plugin error messages.
    • Improved error messages, code checks for bogus symmetry record information.
    • Added the magic define to enable large file support on AIX, since it doesn't heed the LFS defines used by the other platforms.
    • Added Justin's patch to make animate gotos for a frame past the end of a trajectory go to the last frame rather than just ignoring them. Previously, if you're animating multiple molecules and you stop one of them at a frame that's higher than the highest numbered frame of one of the other molecules, the other molecules won't stop animating. The problem is that anim_update() ignores requests to go to a frame that's too large. This patch makes Animation go to the last frame when the requested frame is too large.
    • misc formatting changes to make it a tad more readable.
    • Added comment about options to use with valgrind builds.
    • Fix some incorrect buffer sizes and fgets() calls in the rst7 plugin, which caused files with longer title lines to fail to load.
    • Added comments about a out of bounds array write found by valgrind.
    • Fix the OpenGL version query routine so it doesn't leak memory used to hold the version string when called.
    • Writing apbs input files.
    • Fix a buffer overflow where the sprintf() format string assumed a one character molecule ID. Made the buffer large enough that it should not be possible to overflow it with a 32-bit molecule ID, nor if some of the other state indicator flag strings are made slightly longer. :-)
    • Writing pqr files.
    • Eliminated -L. since there should be no need for this afaik...
    • updated comments about use of -ldl, and protected linkage against -lutil with if checks for Python.
  • VMD 1.8.2 beta 4 (October 15, 2003)
    • Mapping of atom types to their radii, based on CHARMM parameter files
    • Added a "-seg " option to override segname for ions. Now all ions are placed into the same segment (default ION). Also removed some inactive code that recentered the molecule: it is not always desirable to recenter, nor were the results of these calculation saved in the previous code.
    • Autoionize changes: * top_all27_prot_lipid.inp no longer necessary (saving 200k) * correctly lists concentration units as mol/L * correctly calculates no. of SOD CLS from concentration * now use much smaller topology file * use vecadd to such over charges (speedier!) * Modified inline help to be a bit more descriptive. Changed "ionic strength" to "ion concentration" everywhere.
    • This is a reduced topology file that only contains ions, for use by autoionize
    • Option code for mg-auto and mg-para procedures.
    • Moved keyword-specific option code to a seperate procedure.
    • Added additional comments in the molfile plugin headers for volumetric data fields and their use.
    • Restoring default settings for apbs input, OK and Cancel buttons partially implemented (VMD is segfaulting when the window .apbsmenu is destroyed)
    • Using a new global to store the "type" selection that was selected when the editing window was launched. This fixes a bug that caused data to get written in the wrong place if the user changed the type selection in the main window while the editing window was open.
    • Changes to the elec window -- switching elec keywords should soon be supported.
    • Closing a window now closes any windows it may have launched.
    • Added a couple more "after idle" lines, apbs-editing-window can now be closed with the "OK" and "Cancel" buttons.
    • Changed window destroy code to use "after idle" avoiding a nasty Tk bug.
    • Now tying a list variable to the ELEC listbox. Caught a potential bug that might've been triggered if the active listbox element is changed while editing an ELEC statement.
    • Executive decision to eliminate the old VMD "echo" command, which doesn't appear to be terribly useful in modern versions of VMD.
    • Fix minor nit where failed visual allocation would not close the X display before exiting.
    • Fixed mismatched new float / delete [] pair in the MoleculeGraphics code. Pointed out by Charles Schwieters at NIH.
    • Changed Axes so the sphere is the only thing with resolution 6, the other parts remain at resolution 32.
    • Change default Axes sphere resolution to be the same as is used in default reps. When combined with the other recent changes, this should leave us in a position where there are zero sphere display list regenerations by default, all of the VMD reps use the same sphere resolution, and the various other bits of code that set them unnecessarily have been eliminated. This will greatly improve rendering performance on MacOS X.
    • DrawMolItem: Eliminated two cases where sphere resolution and mode were being set unnecessarily.
    • MoleculeGraphics: Initialize the last_res value to an impossible sphere resolution value so that it will be set to a real value on first-use. This way we eliminate one extra sphere resolution state change, but the code will work regardless what random sphere resolution is active when we enter this code.
    • Added code to eliminate unnecessary sphere resolution and mode changes as regeneration of the template sphere is extremely expensive on MacOS X machines with Radeon video boards, causing noticable performance problems. Ultimately, we may have to be even more agressive in caching sphere templates to avoid performance problems when users render scenes with multiple sphere resolutions/modes in a large or complex molecule. MacOS X takes 10 to 20 times longer to generate the new display list than other platforms do.
    • Cleaned up the two branches of Axes drawing code to narrow down the MacOS X performance problem. Turns out that the Axes are not responsible for the problem, they are only a symptom of poor performance on glNewList/gluSphere/glEndList() sequences that occur in quick succession. The OpenGLRenderer code will have to be changed to avoid this performance problem ultimately. We might also lessen the impact by making the Axes sphere resolution the same as the default VMD sphere resolution, thereby eliminating a few unnecessary state changes.
    • Added Darwin cluster to AutoIMD list of servers (this should really be stored locally at some point!)
    • Now editing ELEC statements.
    • Correctly update PBC matrices when you change which periodic images are displayed.
    • Enabled FreeVR build on Linux
    • Updated FreeVR code to match the new API, so that Linux people can run VMD on multi-display cards etc. (needed for Visbox to show head-tracked VMD demos among others..)
    • ELEC fields are now being sent to edit/custom window, starting to get rid of unnecessary variables.
    • Updated VMD installer for Windows.
    • Added some comments where valgrind is finding free memory reads.
    • Initialized a few 3D texturing max sizes to please valgrind. Mesa 3.x apparently doesn't set these and just treats 'em as no-ops.
    • Added the URL for the PDB file format spec.
    • Added a simple heuristic to deal with the fact that the DCD trajectories produced by NAMD 2.5 store the periodic cell angles in degrees rather than as the cosines of the angles as is done in Charmm.
    • Added a second, more useful index entry for the user defined clipping planes after this deficiency was pointed out by Alek.
    • Revved to beta 4
  • VMD 1.8.2 beta 3 (October 3, 2003)
    • New APBSRun UI -- user is presented first with a list of simple defaults, which can be edited before running APBS.
    • When the vmdmovie plugin is run on Windows, the Tachyon rendering mode generates Windows Bitmaps instead of Targa files so that no conversion step is necessary in order to feed VideoMach input data.
    • Updated README information on plugin improvements, etc.
    • Fixed the code to read unit cell angles from Charmm format DCD files so that it reads the cosines of the angles and converts them to degrees as used inside of VMD.
    • CRD plugin now formats files it writes more like Amber does. A tiny change in the modular arithmetic fixed the line breaks.
    • Updated minor rev of the gromacs plugin since it now works with 64-bit files where possible.
    • Enabled Large File Summit (LFS) macros for 64-bit file offsets in the Gromacs plugin, and added more comments in the DCD plugin.
    • Fixed debug target (was originally cut-and-pasted from a terminal window, and since we've never spent much time debugging the plugins on Windows, well....)
    • More Lex/Yacc Flex/Bison updates to please MSVC, and generally eliminate most of the remaining #ifdefs where possible.
    • Updated Tcl/Tk version, fixed a typo in User's Guide text.
    • Added more protection against accidental compilation of new OpenGL shading language code.
    • APBSRun is now interfacing with VMD, checking for Tk.
    • ABPSRun: God rid of file listbox, and the need to explicitly tell the plugin which files to use.
    • Added optional PNG support to SnapshotDisplayDevice.
    • Added #ifdef'd code for writing PNG files when compiled with libpng support. Source derived directly from Tachyon's PNG writing code.
    • Default image format for all non-Windows platforms is now Targa instead of SGI RGB.
    • Teach VMD to save snapshot images in one of the four built-in image formats depending on the filename chosen by the user. If the filename extension is unrecognized or otherwise unsupported, VMD will write the image in BMP format (Windows) or SGI RGB format. This allows old scripts that used arbitrary filenames (not always with extensions) to retain their original behavior and provide some level of backwards compatibility with old revs of VMD until we improve the GUI to expose this capability more clearly.
    • More commentary about the purpose of the ImageIO files and long-term goal.
    • Updated MSVC project to add ImageIO.C to the build.
    • Added ImageIO.[Ch] to build configuration
    • Updated AtomParser.y to generate the code we want.
    • More yacc parser fixes to more closely match the code we want it to generate by default.
    • AtomLexer.l now compiles to very nearly what we want.
    • Fix Solaris builds so they use the same lex/yacc code path as the others
    • Added first rev of Targa writing code, once again derived from Tachyon's image I/O source code.
    • Migrate Image I/O routines into a separate source file. Eventually these will become plugins, but for now this is a quick-and-dirty first step just to add new code for Targa files for MacOS X before 1.8.2 is released.
    • Eliminated the old Windows-only Lexer/Parser source files.
    • MacOS X doesn't have values.h, so its ifdefed like Win32 is in AtomParser.C.
    • Windows builds now use the same Lex/Yacc source files that the Unix builds do.
    • Make all Unix builds use pre-generated Lex/Yacc parser code instead of compiling it on-the-fly using the local machine's lex/yacc/flex/bison. This will hopefully help avoid problems with recent incompatible versions of Flex/Bison and gcc, and will eliminate the need for the old xxxWin32 checked-in source files as a nice side-effect.
    • Eliminated an unnecessary link directory search flag from configure.
    • Added FreeBSD defines to checked-in AtomLexer/AtomParser code.
    • Update lex/yacc makefile to generate the AtomParser.C/AtomLexer.C files which have now been renamed from their old Win32-specific names.
    • Bring atom parser code closer to generating a default-correct AtomParser.C with updated #defines etc.
    • Added pre-generated y.tab.h code so that lex/yacc aren't required for compilation by end-users.
    • Updated the generated AtomParser and AtomLexer files with correct ifdef checks, for compilation as C++.
    • Migrate Win32 pre-built Lex/Yacc generated parsing engine for use in all compilations from now on, eliminating the need for users to have their own lex/yacc flex/bison installations that work.
    • APBS GUI cleanup and improved file-removal-handling.
    • APBSRun Implemented the "OK" and "Cancel" buttons for ELEC statements edits.
    • Eliminated redundant initialization of shaders member in OpenGLRenderer
    • Commented-out variable-assignment that was causing trouble; the variable isn't defined unless a certain environment-variable is set.
    • Changed psfgen version from 1.3.2 to 1.3.3 because alias deprecated by new pdbalias.
    • Changed alias to pdbalias, added automatic index entries, cleaned quotes.
    • added more safety checks in OpenGL shader code to prevent it from crashing on machines that don't have the new OpenGL shading language extensions.
    • Updated Win32 VMD installer for recently added plugins, logfile.tcl, new beta version, etc.
    • APBSRun New code to make sure each listbox element has a unique "index".
    • APBSRun ELEC listbox elements properly reflect changes.
    • APBSRun Editing capability added for ELEC statements.
    • APBSRun Small GUI changes, reworked some code for handling new items in the listboxes.
    • Fixed mol browser display glitches that appeared when the main window display got updated. Caused by Fltk text boxes being smaller than the enclosed text.
    • APBS tool: ELEC menu is now storing its data in a temporary array, which will eventually allow the user to Cancel changes. Cleaned up code and added more comments.
    • APBS tool: ELEC dialog now storing values.
    • APBS tool: ELEC window is now importing file names from the main window.
    • Applied Justin's patch to prevent disk full conditions from silently causing PDB writes to fail, as reported by Alek.
    • Revved to beta 3
  • VMD 1.8.2 beta 2 (September 12, 2003)
    • Began seperating ELEC statement GUI from main window.
    • Made a minor change adding an enum typedef so that the IMD interface is ANSI C rather than requiring C++.
    • Made the IMD interface code plain ANSI C so it can be compiled and linked in a more portable way on many platforms. When compiled in VMD its still treated as C++, but the source file is compilable either way, making it easy to use in 3rd party programs etc. With a little more work it should be very easy for someone to take this code and use it to implement an IMD interface in their favorite simulation engine.
    • Added documentation for IMD energy data structure and units, various other functions.
    • Made new RMS fit code compile in Windows.
    • Updated MSVC project with new files, etc.
    • Added more info to the IMD header file, beginning of doxygenation, to make it easier for third parties to incorporate IMD into their own simulation programs.
    • New GUI frontend for initiating APBS runs from within VMD.
    • Timeline plugin's RMSD menu item is calling rmsdtool as it should, instead of ramaplot.
    • ::FinderTool::find now checks for Tk before prompting the user for a file location.
    • avsplugin: Eliminated use of snprintf() (not portable to Win32..) and renamed the FLOAT enum to AVSFLOAT to prevent conflicts with MSVC header files.
    • avsplugin: Fixed inclusion of strings.h so its only used when compiling on AIX.
    • Fixed the menu, but I'm not sure help is really necessary.
    • Adding FinderTool to standard plugins.
    • exectool code and GUI cleanup. Still only works on Unix platforms.
    • Simple tool for locating executables, beginning with the user's path, and prompting the user for a location if it's not there.
    • Seqeunce viewer now recognizes histidine residue names HSD, HSE, HSP as 3-letter codes with 1-letter code H.
    • read_datasource() clean-up -- fixed a bug that caused a match to fail, data source lines are now case-insensitive, tokens can be seperated by arbitrary whitespace.
    • "datasource" lines, which give the location and instructions on how to read coordinate and variable files, can now have these arguments arranged in an arbitrary order.
    • Added avsplugin to the build process.
    • Changed the "file format description" to more closely resemble those of other plugins.
    • More avsplugin error-handling code.
    • Code cleanup and better error handling in read_avsfield_data().
    • close_file_read() is now being called for plugins that read only volumetric or graphics data.
    • Override the hide() method for the Mac OpenGL window so that it asks for confirmation before quitting, rather than just hiding the window, since there's no obvious way to get the window back once it's hidden.
    • Updated XYZ file format spec commentary to match reality.
    • Updated XYZ plugin docs with more specific information.
    • Updated XYZ plugin comments, improved source formatting in a couple spots.
    • AVS plugin reads volumetric data, but not all datasets are being read yet.
    • Now reading volumetric data, but not all datasets are being read.
    • Check for existence of uivr in VMDApp tool methods before using. Prevents crashing when using tool commands from the text interface when there's no GUI. Eliminate separate create_uivr method by moving initialization code into activate_menus routine.
    • Updated to latest version of tachyon, fixing potential exit() call when attempting to save to an unwritable directory.
    • AVS field file plugin, currently reads only AVS files created by Autodock for organizing multiple potential maps. Correctly reads metadata, but it still doesn't read the volumetric data. Also missing a good deal of error handling code.
    • Make mol ssrecalc always tell the reps that secondary structure changed instead of relying on possibly unreliable return codes. Broken in rev. 1.102, not in any released version.
    • Gave the Isosurface rep controls an editable input window for the isovalue.
    • Introduced error-checking code to make sure non-cube files can't be loaded.
    • Introduced error-checking code to make sure non-map files can't be loaded.
    • Replaced RMS fitting routine with one taken from PyMol. Appears to fix problems we've been having with the measure fit routine; see bug report. The old routine is still available by setting the environment variable VMDRMSFITMETHOD to 'oldvmd'.
    • Cranked version number
  • VMD 1.8.2 beta 1 (August 19, 2003)
    • Added basic structure writing code to psfplugin. The implementation doesn't write bonds, angles, dihedrals, or impropers yet, and we don't have an integer atom code for writing the charmm variant of the format, but the code to emit atoms seems to work fine so far. If we update the plugin API to provide a means to send the missing bond, angle, dihedral, and improper info, VMD should write PSF files that are mostly complete. One gotcha we'll want to think about is what to do for structures generated by $sel writepsf where only pieces of the structure are saved. The code still needs testing but the most basic framework now appears to work.
    • renamed the map_t struct in the map reader plugin to gridmap_t to avoid a name collision with system libraries on AIX 4.x.
    • Make mol repindex return -1 when an invalid molid is given, but return an error if more than one molecule is specified. Makes zoomseq work correctly with the new repindex code.
    • Zoomseq now avoids clobbering other reps by using the unique rep name to keep track of its highlight rep.
    • Fixed the problem with zoomseq getting confused when you delete molecules.
    • Replaced Fl_Counter with Fl_Value_Input in frame_selector so that users can type in the number they want, which was a very common request. Also made the "Do it" type button on this menu into a normal button instead of a Return button so that it's not so easy to accidentally delete all your timesteps.
    • Eliminate compiler warnings caused by passing float as int.
    • Cleanup to eliminate compiler warning.
    • Updated VMD source code to avoid direct use of the Tcl interp->result string by calling Tcl_SetResult() and Tcl_GetStringResult(). This had the beneficial side effect of replacing old calls to sprintf(interp->result, ...) with code that is much safer, since there was never any gaurantee that the interp->result pointer was set to a buffer with appropriate length for the string that was being printed into it. The replacement code uses fixed size buffers which should be more than adequate for the range of data that VMD will experience. A much better solution will be to replace most of those calls with a new function specifically for setting integer return codes.
    • Updated animate commands to use Tcl_SetResult(), also eliminated a duplicated piece of code to handle the animate "speed" subcommand which was probably a cut/paste error.
    • Changed Tcl_SetResult() parameter to TCL_STATIC when we return string literals as results, should speed things up a bit and reduce dynamic memory allocation.
    • Added mapplugin to Makefile.
    • The play commands now calls TclTextInterp directly instead of going through three levels of indirection, and returns TCL_ERROR when the file can't be opened (previously, no error would be returned although error messages would be printed).
    • Moved logfile functionality into a Tcl script.
    • Added a new "mapplugin" to read autodock grid map files.
    • Started out on the long and arduous process of converting code that references interp->result directly to use Tcl_SetResult() and friends. According to the Tcl docs, direct access is currently deprecated and can cause various problems now that tcl uses objects internally rather than always using strings like it did in the past.
    • Added Win32 check on inclusion of glx.h needed for glXGetProcAddress() call.
    • Added (char *) typecasts to Tcl methods to quiet various compiler warnings.
    • Eliminated py_numeric.C compilation warnings due to python wanting functions to have extern "C" linkage. Also added explicit typecasting for (char *) here and there.
    • Eliminated various unused local variables.
    • Added inclusion of glx.h to the OpenGLExtensions code so that we can call glXGetProcAddress() to register OpenGL extension routines.
    • Did a little plugin cleanup, added more docs for various file reader plugins.
    • Eliminated unused variables and changed a couple from `float' to `int', modifying the grid size calculations as necessary.
    • Added two new buttons to browse CATH and Procheck results for a PDB accession code.
    • Added two new buttons to brose the Uppsala electron density server's entry and their ramachandran server entry for the give PDB accession code.
    • Added docs for the X-PLOR/CNS format EDM reader plugin
    • Enabled doxygen flag to distribute documentation comments to group members in explicitly specified method groups.
    • Doxygenized the molfile_plugin header file to aid plugin-writers in developing their code.
    • Doxygenized the main VMD plugin header file to aid developers writing their own plugins.
    • Enable distribution of Doxygen documentation comments to members of method groups
    • Added more links in the VMD compilation instructions referring to the plugin compilation process.
    • Improved doc readability by bolding command text
    • Added useful doc links into the VMD programmer's guide.
    • Added a significant amount of text to the docs describing how to compile and distribute VMD plugins.
    • Fixed uninitialized arb shader objects extension availability flag
    • Fixed typo in multiframe drawing; should fix bug reported by Barry in which the last frame of a trajectory was not being drawn.
    • Eliminated useless CommandQueue instance in TextInterp.
    • Got rid of CmdChangeInterp; replaced it with a regular method.
    • Eliminated do_execute from Command.h. Cleaned up CommandQueue, eliminating unused methods and combining others.
    • Load OpenGL shader based on an environment variable. Simplifies testing on Windows considerably.
    • VMDApp commands for lights. Cleaned up some include files.
    • Cleanup of depth cue mode and parameters code. DisplayDevice exports a list of depth cue mode names so that we don't replicate these strings in 5 different places in the code. Fixed incorrect logfile output in the depthcue parameter commands. The depth cue mode is still stored internally as an enum for use by the display devices.
    • Added OpenGL extension tests for ARB point sprite.
    • Fixed missing set for isvalid member variable when the shader compile completes succesfully, and eliminated some redundant code.
    • Cleanup of axes command code.
    • Cleanup of the "stage" command code.
    • Fixed a broken link in trr plugin docs.
    • Cleaned up test code, added a hack to use the material values > 0.5 to let one do A/B comparisons between the OpenGL shader and the fixed-function pipeline, when the code is enabled... At present its disabled by default.
    • Updated OpenGL shader class with a new single call interface for loading shaders, exposing less cruft. Significantly reduced the amount of text output during shader loading and compilation except in actual error cases and generally cleaned up the code a bit more.
    • VMDApp methods for nearclip and farclip.
    • Fixed incorrect behavior of mol showrep pointed out by Barry.
    • Fixed a few more spots where the OpenGL Extensions pointer wasn't being referenced correctly.
    • Protect builds from bleeding edge ARB extensions that most platforms are still lacking fundamental types for in their header files...
    • Eliminated virtual keyword that got copied/pasted in last night.
    • First working OpenGL Shader code.
    • Added function pointers and init code for glUseProgramObjectARB()
    • more shader test code.
    • Added code to enable a loaded and compiled shader. Fixed various bugs.
    • prevent shader code from being compiled on Windows..
    • Added very basic test code for OpenGL shading extensions.
    • Added missing initialization code for the new ARB OpenGL Shader extensions.
    • First rev of very simple code to load, compile, and manage OpenGL vertex and fragment shaders in VMD. Initial implementation only does a single shader, can't do anything more sophisticated yet.
    • Added function pointers for the OpenGL Shader ARB extensions, and updated the function pointer macros to assume OpenGLExtensions class will be referenced by "ext->" rather than "ext."
    • Changed all of the renderers to use an OpenGLExtension * to facilitate changes needed to enable OpenGL shader code soon.
    • Made OpenGLDisplayDevice call the OpenGLExtensions class for info
    • removed extension query routine from SDLDisplayDevice
    • removed extension query routine from OpenGLRenderer
    • VMDApp methods for antialiasing, culling, depthcueing, and the fps indicator.
    • Update docs for recent zoomseq improvements.
    • eliminated wiregl member variable until more code migrates out of OpenGLRenderer. Perhaps we will soon be able to eliminate the WireGL code since Chromium seems to have taken off and is doing well.
    • Added new code to check for the various ARB OpenGL shading language extensions.
    • eliminated unused stencil bits variable that was moved into the OpenGL extensions class.
    • Added note about zoomseq update to VMD README.
    • Updated Win32 installer with new plugins etc.
    • Separated the OpenGL extension loading routines into their own class since soon-to-be-added OpenGL Shading Language support code will require many new function pointers and thus balloon the size of the code. Migrated all of the getProcAddress and related routines into the extensions class, and also found a bug in the MacOS X procaddress code (still to be fixed).
    • Added OpenGLExtensions.[Ch] to build.
    • Migrated all extension enumeration and initialization routines out of the OpenGLRenderer class and into a new OpenGLExtensions class. Changed MacOS X builds to use static extension functions until the MacOS X ProcAddress implementation is fixed (found a bug while migrating the code into the new class).
    • Added ability to show sequence of DNA/RNA files. Forces single letter A,T,C,G,U to 3-letter form on import, can toggle 1-letter/3-letter form, as with amino-acid residues.
    • DisplayDevice's public interface for setting and getting the projection style is now based on strings rather than an enum. The string names are defined within this class rather than duplicated throughout the program. The enum of allowed projection is still defined and used by DisplayDevice subclasses only. It should be fairly easy to define new projection styles now, as far as the internals of VMD are concerned.
    • Created VMDApp methods for setting focal length and eye separation. Created display device method for setting focal length, replacing two calls for setting/getting the eye target position.
    • Added a VMDApp method for setting the stereo mode.
    • Added a disclaimer about DX file compatability.
    • Added documentation for new dxplugin.
    • Updated dxplugin comments to include a description of the file format.
    • read_dx_data is now more time and memory efficient.
    • Moved tool initialization and error reporting into create_tool() where it belongs.
    • Fixed the code for changing tool type. The old code never worked as advertised: it deleted the given tool and appended a new one at the end, which made for a confusing user interface whenever there was more than one tool. The new code changes the type of the tool without changing its order in the list. It also defines VMDApp methods so we don't have deleted tools checking for events.
    • The name returned by Tool::type_name() must be unique; fixed PrintTool so that it obeys this requirement.
    • Created VMDApp methods for creating and deleting tools; avoids problem with tools being updated after they are deleted.
    • Autoionize: Fixed minor problem that originated when *very* many ions were added (Alek's nanopore/water structure). Tested. Works fine now. Added more diagnostic output to give a better idea of what the plugin does.
    • Improved const correctness of display commands.
    • Replaced broken read_dx_data with working (but inefficient) implementation.
    • open_grd_read makes better use of the record size integers produced by Fortran for both error checking and finding the number of data points.
    • Fixed the autoionize package startup so it gets its correct path, used for parameter input file.
    • Cleanup and documentation of the semantics and function of the MoleculeList and DrawMolecule add_rep methods.
    • Eliminated private change_rep method that was called only from the public version.
    • Initial revision of untested APBS/DX format potential map files
    • added gaussian cube file plugin to docs page
  • VMD 1.8.2 alpha 8 (July 25, 2003)
    • Added check for the new vendor indepdendent ARB OpenGL shading language extension, to be released in OpenGL 1.5 shortly.
    • Updated README file.
    • added docs page for cube plugin
    • Isosurface code now takes a step parameter which can be used to sub-sample the original grid by a given step size. Once the matching GUI work is finished, this will make it possible to have the isosurface generate much more quickly when the isovalue slider is being dragged, extracting the full surface only when the slider is finally released. Similarly, this would allow one to view large grids on machines with weak graphics boards by eliminating detail. A better algorithm would use MIP mapping instead of skipping samples, but this technique is easy to implement with the current code, and should achieve most of what I have in mind.
    • Added links to phiplugin and grdplugin.
    • Added a reference to grdplugin.
    • Added documentation for grdplugin.
    • Eliminated slow version of the volume texture generation code.
    • Eliminated the non-vertex array form of the isosurface rendering code.
    • Make the frame selection parser not get confused by leading or trailing spaces.
    • Drawing multiple frames automatically updates itself when any frames are are added or deleted from the molecule. It waits until all file I/O is completed before recalculating so that loading a molecule isn't slowed down.
    • Added byte-swapping and sanity-checking, and grdplugin to the Makefile
    • Leaving off the last number of a frame selection is now legal and means to take everything up to the last frame, e.g., "5:" or 10:10:".
    • Fixed bug that caused "same residue as none" to crash. I thought I'd fixed this months ago... This fixes the bug recently reported by Marcos, erroneously attributed to exwithin.
    • Gridplugin values now have the proper units.
    • Updated grdplugin comments with file format information and useful links.
    • Open_grd_read correctly fetches cell information, read_grd_data isn't returning correct density values yet.
    • Cranked version number
  • VMD 1.8.2 alpha 7 (July 23, 2003)
    • Updated README with the list of new plugins etc.
    • Updated CVS instructions to reflect the new location of the VMD CVS repository.
    • Added typecast to pow() calls to please the xlC compiler on AIX since it gets confused about which pow() implementation to use otherwise.
    • Updated phiplugin revision number.
    • Updated phiplugin documentation to reflect new behavior.
    • phiplugin now handles an arbitrary (perfect cube) number of grid elements.
    • Made floating point constants explicitly float rather than double to eliminate compiler warnings in MSVC.
    • Added explicit (float) typecasts in numerous places to please MSVC.
    • Changed some double precision temp variables to float for improved FP consistency, performance, and elimination of warnings. We'll have to re-test this to make sure it doesn't end up bringing back difficulties with some of the FileRenderers like PSDisplayDevice etc.
    • Added explicit (float) typecasts in numerous places to please MSVC.
    • Eliminated compiler warnings about float/double precision in MSVC
    • MacOS X startup code only sets environment variables for VMDDIR etc if they have not already been set by an external script. This makes it easier to test the Mac version with stuff outside of the normal bundle and is generally preferable to overriding everything by default.
    • Updated MSVC project to eliminate MolInfo.C
    • Make Win32 builds of phiplugin use strnicmp() instead of strncasecmp() since that isn't available on Windows.
    • Can't call delete on a const member variable with some compilers, notably MSVC. Changed currAtomSel to char * instead of const char * to fix.
    • eliminated old unused str2bool function
    • Spelling correction to PLT plugin.
    • New phiplugin added to docs.
    • Updated the section regarding RMS fitting and alignment to refer to the RMSD extension rather than talking about the old script and the odd way one used to have to start it up.
    • Prettied up example text for menu inclusion
    • Added RMSD plugin to the extensions menu by default.
    • Added the RMSD plugin to the main plugin Makefile
    • added Makefile for RMSD plugin
    • removed the old 'vmdrmsd' command used to help people start the old RMSD GUI.
    • Eliminated the old RMSD script since this will be replaced by a new RMSD plugin, whether Justin's, the Alexander-Pascal version, or some combination of the two.
    • Added PDB tool to the extensions menu by default. Loads entries from the PDB, saves files to local disk, and looks up PDB entries on the SCOP database. More DB queries to come.
    • Added makefile for pdb loader/query tool
    • Added makefile for autoionize plugin
    • Added the new "color by timestep" mode to the docs.
    • Correct output for read_phi_data.
    • Added phiplugin to build process.
    • Added link to the SCOP database to the PDBTool.
    • Initial implementation of "Timestep" coloring method, tested with "now" and over a range of frames, seems to work ok in both cases.
    • Removing the 'make_links' script from CVS in favor of moving the functionality into the main VMD makefile since nobody outside of UIUC needs or can use it.
    • read_phi_data seems to be returning correct densities now. There are still some minor discrepancies between the plugin and TCL script.
    • Added initial documentation for the 'mol drawframes' command.
    • Added comments about new drawframes feature and plugin doc updates
    • cranked version number
  • VMD 1.8.2 alpha 6 (July 21, 2003)
    • Saved states now restore the color scale range for a rep
    • Saved states now restore the range of drawn frames for a rep
    • Added necessary code to make 'mol drawframes' update the GUI, log commands etc.
    • updated plugins compiling docs with a concrete example
    • Added a query version of the 'mol drawframes' command
    • Moved parsing for drawing multiples frames into DrawMolItem so that it can cache the string used for the selection. Added a VMDApp method for accessing the string for a given rep. Made the Graphics menu properly update the displayed frame selection when a new rep is chosen.
    • Updated plugin doxygen info text
    • Improved intro text and main page info for VMD programmer's guide
    • Made plugin doxygen main page more obviously plugin-only so people don't confuse it with the VMD doxygen page.
    • Linked main VMD programmer's guide to the new plugin documentation guide.
    • Added rudimentary Doxygen docs and basic plugin compilation info to the plugin source tree. Will add specific plugin compilation instructions and info on how to write new plugins in forthcoming revisions.
    • Doxygenized utilities.h
    • Fixed missing copyright headers on VMDApp source files.
    • Doxygenized UIObject header file.
    • Doxygenized the VMDApp.h header and cleaned up a bit of formatting.
    • renamed molrep_*_autoupdate to molrep_*_selupdate to be consistent with the Tcl command, be more informative and match the GUIs to some extent.
    • fixed typos in built-in help for mol commands.
    • Fixed PR 321, trajectory smoothing settings are now restored by saved states.
    • Updated list of fixed PRs.
    • Fixed PR 319, mol selupdate commands now log correctly.
    • Fixed PR 320, saved states now store the state of the "update color/selection every frame" setting.
    • The Graphics form was not logging selection update state changes because it was using a back-door method to set the autoupdate flag rather than calling VMDApp to do it properly.
    • renamed molrep_is_autoupdate to molrep_get_autoupdate, and molrep_autoupdate to molrep_set_autoupdate to stay in style with colorupdate methods and others.
    • Saved states now store the state of the "update color every frame" setting.
    • Fixed PR 318, incorrect logging of 'mol colupdate' commands.
    • updated README with recently written plugins, GUI updates, and new features
    • Cranked version number
  • VMD 1.8.2 alpha 5 (July 17, 2003)
    • More updates to the Alexander-Pascal RMSD plugin, sent by Pascal..
    • partial GUI for the multiple frames feature. Since there's no query routine implemented yet, the GUI doesn't update correctly, but you can use it to set things more easily than with text commands. Should be easy to fix up once the rest of the infrastructure is in place.
    • Added "Vol" column to the MolBrowser lines indicating the number of volumetric sets that are loaded in the molecule.
    • phiplugin: Cleaned up open_phi_read, read_phi_data is returning incorrect density values.
    • Updated rmsd plugin with Pascal's latest fixes which correct a few problems that were caused by namespace changes.
    • Initial revision of phi plugin. Only the unit cell information is currently read.
    • Added Ilya's autoionize plugin to CVS.
    • Added functionality for drawing multiple frames for selected reps. Still needs testing...
    • make rmsd plugin non-resizable
    • fixed another namespace issue with the rmsd script.
    • Added a plugin-ized version of the RMSD script written by Alexander Balaeff and subsequently updated by Pascal Mercier. Made numerous minor changes to facilitate making it a plugin.
    • added Tk callback for PDB tool and example of how to load into the VMD extensions menu.
    • Added Amber7 binpos file to list of plugins we've got
    • Added molden plugin the list of plugins on the main doc page, no page written for that one yet.
    • Added more comments about how the babel plugin works
    • Updated list of files read by the babel plugin
    • Updated plugin docs main page
    • Created rudimentary HTML documentation for most of the molfile plugins, these are the pages we post in the plugin library. For now they are HTML, if we get fancier with this or want to include them in the VMD docs at some point, it might be wise to re-do them as Latex. For now HTML is probably fine since they are very short and simple.
    • corplugin: Stability improvements, no more crashes on incorrectly formatted files.
    • Wrote a very simple PDB entry downloader / browser plugin requested by Klaus. Though it is debatable whether its worth putting into the VMD extensions menu by default, it serves as a very simple example for other people developing Tk menus for VMD, so its worth putting into CVS anyway.
    • Fixed the atom type field in corplugin
    • Added CHARMM crd reader "corplugin" to the Makefile.
    • Improved get_cor_atom file-parsing code -- no more crashes for big molecules.
    • Updated docs to reflect no more Off rep as well as newly improved behavior of hidden reps.
    • Eliminated the Off draw style; passing "Off" as the rep command will alias to Lines, so that save_state scripts that contain such reps continue to work.
    • Preparations for draw-all-frames and other such geometry-caching features. Idea is to make it possible for DrawMolItem to avoid having to recompute geometry except when necessary. For this purpose the new state flag update_ts was introduced, which can be set by change_ts(); this flag currently does exactly what force_recalc() did, but eventually DrawMollItem may get smarter and only recompute geometry if it's needed. FRAME_REGEN was renamed to MOL_REGEN to indicate that something "big" changed, like coordinates or molecular data; this is still more coarse-grained than we would like and should be broken up into finer state flags so that, e.g., volumetric reps don't get recalculated just because the coordinates changed. Finally, the default parameter to DrawMolecule::force_recalc() was removed so that all callers are explicit about what needs to be recalculated; this will make it easier to put in finer redraw requests later.
    • Fixed a boo-boo in molinfo set frame.
    • Eliminated unnecessary call to has_frame_changed from within DrawMolItem's prepare; it's unnecessary because DrawMolecule already checks for the changed frame. Animation::has_frame_changed() was eliminated and the member variable frameChanged pushed down to local scope within the anim_update function.
    • AutoIMD Settings: * shifted some burden from the settings file to the AutoIMD script * renamed "None" to "Nowhere (create files)" * fixed the TCBG individual clusters settings (Miranda,Caliban,Umbriel) so that they work!
    • AutoIMD: if "presubmitscript" contains a return, it will be correctly intercepted and relayed to by the calling function. This fixes the "None" server settings.
    • Reps that have been turned off no longer try to recreate their display lists when the frame changes; the rep corrrectly retains its state flags and recalculates what's necessary when it's turned back on. There's really no reason I can see to have an "Off" rep anymore.
    • Call new DrawMolItem::change_ss() method when secondary structure changes and let the rep figure out what to update, rather than making DrawMolecule fiddle with DrawMolItem's data structures.
    • unquote the stride binary, needs testing, but Justin's previous mail says that the last rev didn't work right due to the behavior of stat() etc.
    • Reps no longer recreate their display lists from scratch when periodic image parameters are changed. There's still a problem with labels not turning themselves off when the periodic image they're associated with disappears.
    • Fixed some const correctness; eliminated dead code.
    • AutoIMD-local: * numprocs is now explicitely sent to NAMD via the settings file (instead of automatically) for the clusters. * The "Local" setting will now only run on 1 proc (it ignores the GUI), but should work outside of the group now. * TCBG clusters now default to 24 procs since this is efficient.
    • AutoIMD is now *able* to run jobs without specifying num of procs, so that it can be run outside the group! Also, the "autoimd set" command works perfectly for lists now.
    • Added quote marks to file name variables and added code to satisfy Tcl's very picky handling of NAMD's argument list
    • Fixed PR 314, problem with logging of the "animate delete" command.
    • More robust file reader and can now handle either [Atom] or [Geometries] input
    • Improved the molden plugin file parsing
    • Removed the write routines and added some more comments to the molden plugin.
    • Code and comment clean-up in corplugin. Still choking on some molecules.
    • Fixed an "xyz" to say "molden" and prettied up a few comments etc in the molden plugin.
    • Added moldenplugin to the Makefile
    • Got rid of unused variables in moldenplugin to reduce compiler warnings.
    • Wrote a new plugin for reading the MOLDEN file format
    • Make the volumetric dataset browser bigger, since there doesn't seem to be any other use for the space yet.
    • Initial revision of CHARMM coordinate file reader plugin.
    • Updated comments regarding normal calculations
    • cranked version number
  • VMD 1.8.2 alpha 4 (July 10, 2003)
    • The Isosurface display code now uses triangle meshes rather than emitting individual triangles. The triangle meshes are not enabled for triangle strip consolidation via ACTC post-processing since they do not presently share vertices. When we change the code to allow better vertex sharing it should be possible to process the surfaces with ACTC.
    • Corrected an error in the facet array vertex indexing code.
    • Eliminated unused atom index map from isosurface code for now.
    • Added and corrected various comments
    • Re-implemented Isosurface representation with smoothed normals calculated by interpolating from the volume gradient at each gridpoint.
    • corrected some comment text
    • enable calculation of volume gradients when volume sets are loaded, added some simple routines to query voxel values both quickly and safely.
    • Added simple integer range clamp routine to utilities header
    • Corrected crdplugin comment, upped minor rev because we're reading box info.
    • cranked version number to alpha 4
  • VMD 1.8.2 alpha 3 (July 8, 2003)
    • Added macosvmdstart.[Ch] files to build, though this ought to be done just inside the MacOS X branch somehow, this was quick and easy.
    • Added first round of new MacOS X startup code. Replaces some of the functionality previously provided by startup scripts. This makes the MacOS X version work more similarly to Windows than to Unix, at least as far as initial startup is concerned.
    • Made molinfo set [fixed,active,drawn,top] update the GUI properly by using VMDApp methods instead of reaching into internal data structures.
    • Pass the VMDApp pointer to the molinfo command through its ClientData, rather than through Tcl AssocData.
    • Blew away the old MolInfo file. To do: make an in-program help response for the molinfo command the prints out the allowed keywords when the user makes an error.
    • Moved molinfo keywords for PBC parameters to TclMolInfo.
    • Moved more stuff from MolInfo to TclMolInfo, and eliminated the molinfo keywords "now" and "source", which were undocumented anyway. "source" had been used in earlier versions of zoomseq but now appears not to be used by any of the plugins. "source" used to be used to distinguish between "regular" molecules and "graphics" molecules but now that distinction no longer exists.
    • Added CPMD file reader plugin contributed by Axel Kohlmeyer
    • Updated molfile_plugin documentation files
    • Fix link to GNATS home page in the doxygen docs
    • Integrated the second round of patches by Axel Kohlmeyer into the cube plugin, along with various additional comments, portability fixes, etc.
    • updated the cube file plugin with improvements and bug fixes contributed by Axel Kohlmeyer. The first round cures a few problems with reading cube files that had long title lines, and other similar idiosyncrasies, and adds code to read atom data that we skipped past in previous versions.
    • Moved molinfo set/get of simulation energies into TclMolInfo.
    • Axel Kohlmeyer's patch, includes support for ordinal numbers instead of atom names and writing xyz files. Rev to 0.3
    • AutoIMD: fixed the "autoimd clearservers" command.
    • Added missing copyright and revision control headers to several source files, along with general descriptive information.
  • VMD 1.8.2 alpha 2 (July 2, 2003)
    • Fixed a minor bug in the texture map max-size query code, was getting a silent "invalid value" error at startup time. The new code now peaks out at the max OpenGL texture resolution and only does checks up to that size. Also enabled the OpenGL debugging code for the next few builds just in case there are any similar things happening that only show up on some platforms.
    • Updated comments, removed extraneous include file.
    • g96_timestep no longer builds a linked-list of atoms and then reads them into the timestep. Coordinates are now allocated using the number of atoms found by the original call to open_g96_read.
    • Fixed MacOS X include path for glext.h
    • Updated local file to reflect new TCBG cluster configs.
    • Added large file support for the DCD plugin. The new code figures out from the size of the file how many frames there are and reads only that many, so there's no need to call ftell() as we go along to check for eof. The LFS #defines should probably be added to the main molfile_plugin header file instead of being defined strictly within the dcd plugin.
    • MacOS X builds of VMD now use dynamic OpenGL extension queries via low level OSX system calls to find function pointers, and we load the 'glext' header by force since recent OSX OpenGL headers weren't including it by default.
    • Added getprocaddress functionality to FltkOpenGLDisplayDevice.
    • Addeed more comments about Apple's OpenGL extension handling mechanisms.
    • Replace assert call in dcdplugin with a regular test.
    • Now reading box info for 'crdbox' files with crd plugin.
    • Const member data must be initialized in all constructors.
    • Fixed a bug which caused a successfully read trajectories to return an error code if the optional velocity and box blocks weren't present in g96_trajectory.
    • Eliminated unused return code variable.
    • Eliminated illegal/non-portable use of 'const' declaration without explicit initialization.
    • Eliminated unused local vars.
    • G96 plugin now recognizes unit cell info for periodic images. Rev to 0.2
    • Don't print an error message from evalString if there's nothing to report. This prevents a spurious error message from being printed when the program shuts down via the 'quit' Tcl command (or by the Alt-q hotkey); this error is caused by VMD's quit function returning TCL_ERROR in order to halt execution of scripts at that point.
    • Made the parse() function a member of SymbolTable.
    • Moved the DEFAULT_ATOMSEL #define into MoleculeList and elminated an unnecessary #include.
    • Make MoleculeList::set_selection() return success instead of an AtomSel enum.
    • Added a warning popup when an invalid atom selection is typed in the graphics window. It's easy to get rid of (just press Enter), so it shouldn't bother get in anyone's way, and it gives immediate feedback if a mistake was made in an atom selection, which otherwise might go unnoticed by the user.
    • Made AtomSel safer and saner. Rather than caching a DrawMolecule reference, which can become invalid, AtomSel now takes a molid in its constructor and keeps it for all time. Atom selections are checked for validity by calling the parse() function directly, rather than by changing a prototype AtomSel object. A rep's atom selection is now updated by passing it the the new selection text, rather than by passing and copying a whole new AtomSel object. The AtomSel::change() and find() methods were merged. A side effect of the interface cleanup is that the Graphics menu no longer zaps invalid atom selections as soon as the user presses enter; this gives the user a chance to correct the selection rather than retype it from scratch.
    • Made evalString and evalFile text interp methods return success, and are documented accordingly. Save State, when called from the GUI, now puts up an error message if something went wrong.
    • Eliminated unnecessary (char *) casts.
    • Put curly braces around argument of most expr operations, resulting in incredible 10-30x speedups for vecnorm, veclength, etc. on large vectors.
    • TRR plugin now recognizes unit cell info for periodic images. Rev to 0.2
    • XTC plugin now recognizes unit cell info for periodic images. Rev to 0.3
    • Now reading unit cell information for .gro files. Updated to version 0.2
    • Updated web pages and docs for new VMD manual links.
    • AutoIMD: ++local option is not needed anymore
    • Added pltplugin to plugin makefile
    • 'plt' Electron density data is now properly read, still missing unit cell info, making best data from what exists.
    • Added new 'plt' plugin for electron density maps created with gOpenMol. Still don't know how to handle unit cell information, as it's not included in the file
    • AutoIMD: Be more specific about how to specify the CHARMM parameter files
  • VMD 1.8.2 alpha 1 (June 24, 2003)
    • Added a "menu selectmol" command, for internal use only.
    • Set the Tcl variable vmd_menu_extension when a new extension menu is added.
    • Documented the "mouse stoprotation" command.
    • Added a "mouse stoprotation" command.
    • Fixed a bug in which the AutoIMD coords would not be saved if the user was only showing the initial state: AutoIMD now saves the last frame of the AutoIMD molecule, instead of the current one.
    • Added binposplugin to makefile
    • Added new Amber7 'binpos' plugin contributed by bbennion
    • Added FreeBSD plugin build target platform
    • Added FreeBSD code to 'vmd' startup script
    • Added FreeBSD targets into the top level makefile, still needs testing.
    • Added FREEBSD build target to various ifdefs
    • added some storage and stub functions for calculating volume gradient maps for volumetric data. The volume gradient will ultimately be used to interpolate surface normals for the vertices extracted on the isosurface.
    • Fixed incorrect file information in dsn6 plugin source comments.
    • Added another version text file that can be picked up by the 'makeworld' script.
    • Rewrote FileRenderer cone-drawing code to fix errors and improve normal calculations.
    • Fix texture info printing test, reported by Sergei.
    • Updated Win32 installer to use new registry keys etc.
    • Added documentation of the vmd-1-8-1 CVS tag used for the VMD 1.8.1 release.
    • Updated the Win32 registry key we look for to be VMD 1.8.2 now.
    • Made a new menu for the MolBroser popup menu. It now contains part of the File menu and only parts of the Molecule menu. This makes it more useful. Also generalized the menu dimming code so that it is more readable and reusable.
    • "within x of none" no longer crashes; bug pointed out by B. Bennion
  • VMD 1.8.1 final release (June 15, 2003)

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