Downloads

The Maestro program files, the JMWork analysis application, and a number of Maestro-specific utilities for Matlab are available for download on this page, along with some additional documents and selected source code files. With few exceptions, the software and related documentation is developed, maintained, and owned by the Lisberger laboratory, with funding from the NIH and other grants, as well as Howard Hughes Medical Institute. The software has been made available here free of charge to support associates in the scientific community who are using Maestro currently or have used it in the past.

If you choose to download any of the programs or source code files, you must read and abide by the following disclaimer. In addition, be sure to review the relevant download instructions.

DISCLAIMER

Maestro, RMVideo, JMWork and the Maestro-related Matlab utilities available for download from this website are developed and maintained for use by members of the Lisberger laboratory. The various executable files, Java archives (JAR), Matlab MEX functions and scripts, and source code files are provided "as is" with absolutely no warranty. If you elect to download and use any of the executable or JAR files. you agree that you will not hold the Lisberger laboratory nor the software developers liable for any malfunction in the program or the system on which it is installed, nor for any loss of data/information resulting from the use of the program.

You are welcome to download any source code files from this website or the companion GitHub repository and modify them for your own purposes.

Maestro and RMVideo - Download/Installation Instructions

For Maestro 4.0.0 and later (on Windows 10): Download the ZIP archive maestroVNMR.zip for the target version number N.M.R, then unzip it to get the self-extracting installer Maestro4Setup.exe. Double-click on this file to install Maestro 4. Uninstall Maestro prior to installing any release up to Maestro 4.1.0. The installer for V4.1.1 and later can update an existing installation in place. For system requirements and other important information, please review the section on How to Install Maestro 4.x

For Maestro 3.x.x (on Windows 7): Download the ZIP archive maestroInstallVNMR.zip for the target version N.M.R and extract it to the desired installation directory. Please follow the detailed installation procedures described in the How to Install Maestro 3.x section of this user guide.

For Maestro versions 2.5.2 through 3.2.0, the Maestro ZIP archive included a copy of the compatible RMVideo executable file. During startup, Maestro could automatically update RMVideo over their private point-to-point Ethernet connection so long as the version of RMVideo (version 2 or later) currently running on the Linux machine supported the procedure (download executable image, then restart).

As of Maestro v3.2.1, this "auto-update" feature has been removed. For RMVideo versions 6 and later, the new RMVideo release must be downloaded and installed manually on the Linux workstation.

As of Maestro v3.3.1 and RMVideo V7, the older RMVideo build targeting a 2.6 kernel is no longer supported. The RMVideo workstation should be configured to run Ubuntu Linux 14.04.5 (the latest version of the long-term stable 14.04 release). For details on configuring an off-the-shelf Linux workstation to run RMVideo, see How to install RMVideo. The installation and source-code archives for RMVideo V7 are included in an appropriately named folder in the file cabinet at the bottom of this page. RMVideo versions earlier than V7 are no longer available for download.

Which RMVideo release should I install? Versions 7-10 are available for download, including multiple releases of version 10. Follow these guidelines to decide which release you need:

Maestro-related Utilities for Matlab

The file cabinet below includes a variety of Matlab utilities for Maestro users. The most important of these is the MEX function readcxdata(), which is routinely used to read in and parse the contents of a binary Maestro data file into a Matlab structure array. The MEX function editcxdata() is a companion to readcxdata() that allows the researcher to edit JMWork-generated analysis results appended to the data file without altering the original recorded data. Those who run Maestro in conjunction with the Plexon Multi-Acquisition Processor can use the plexmon tool (plexmon.m, plexmon.gui) with plexsecthist.m or their own custom handler script to monitor an experiment's progress at runtime, while those who would like to use Matlab scripts to generate a Maestro experiment document will find a use for the maestrodoc utility. Review the Supported Matlab Tools page for a more thorough description of all of the Matlab MEX and M-file functions available for download here.

Matlab MEX functions like readcxdata() must be compiled for the target operating system, and the MEX file extension reflects the OS platform: .mexa64 for Linux (64-bit), .mexmaci and .mexmaci64 for Intel Mac OS X (32- and 64-bit), and .mexw32 and .mexw64 for Windows. As of August 2014, we will only provide MEX file builds for 64-bit Windows, Linux, and Mac OS X platforms. If you need a 32-bit version,  or if you need to target another OS platform, you will have to build it yourself. It may also be necessary to rebuild the MEX files for your particular version of Matlab.

The folder READCXDATA in the file cabinet contains ZIP archives for a number of different releases of readcxdata() and editcxdata().  The cxdata_mex_vMNP.zip file contains the MEX files for the release targeting Maestro version M.N.P, while cxdata_src_vMNP.zip archives the corresponding source code files. Note that not every Maestro release is accompanied by a corresponding read/editcxdata release; the MEX functions are only updated when necessary. Be sure to select an archive with a version number greater than or equal to the version of Maestro that you are using. The MEX functions can process data files generated by earlier versions of Maestro, but not by later versions!

To use the MEX functions in Matlab, unzip the cxdata_mex_v***.zip archive and select the MEX files compatible with your system. These files need to be on the Matlab command path in order to use them. One way to do this is to add a path() command to your Matlab's startup.m file that adds the directory containing the MEX files to the command path.

If you need to build the MEX files yourself, download the appropriate cxdata_src_v***.zip archive, unzip the file contents, and use your Matlab installation's mex function to compile the MEX files for your OS. We suggest doing this from within Matlab itself: make sure that the current directory is the directory containing the unzipped source code files, then type: mex readcxdata.c pertmgr.c noisyem.c to compile readcxdata(),  or mex editcxdata.c to build editcxdata(). The mex tool will create a MEX file with the appropriate extension for your platform. If this works, great. If not, you are on your own. Review the documentation on the mex tool; the problem might be fixed by tweaking the MEX options file. You may also need to install a supported compiler. If you run into problems, feel free to send an email; but understand that it is unlikely we will be able to find a solution since we do not have access to all of the OS platforms on which Matlab runs. Please check the file makeReleaseProcedures.txt in the source code archive for some helpful build procedure notes.

The maestrodoc utility is an M-file function (maestrodoc.m) that requires a supporting Java archive file (hhmi-ms-maestro.jar). The ZIP archive maestrodoc.zip includes this JAR, as well as a sample script (examplemdoc.m) that demonstrates how to use the function to create a simple Maestro experimental protocol.

NOTE: Changes in Supporting JARs for maestrodoc() [Jun 2013, Jan 2017]

During development of new Matlab utilities for Figure Composer, we had to reconfigure the JAR file support for maestrodoc(), which shares some Java code with the FC-related utilities. The Java code was distributed in two separate files instead of one:

From Jun 2013, the maestrodoc.zip package included both of these JARs. Since hhmi-ms-common.jar was also included with the Matlab support package for Figure Composer, you had to be careful that you did not overwrite a newer version of hhmi-ms-common.jar with an older one. 

As of Jan 2017, we decided to no longer package hhmi-ms-common.jar in maestrodoc.zip. Instead, hhmi-ms-maestro.jar is now self-contained, including all Java classes that maestrodoc() requires. Once you've downloaded and decompressed maestrodoc.zip, you should find maestrodoc.m and hhmi-ms-maestro.jar in the resulting directory. The JAR file must be added to Matlab's Java class path. The best way to do this is to append the line javaaddpath P, where P is the full file system pathname for hhmi-ms-maestro.jar. Alternatively, you could call javaclasspath(P) from the Matlab command line, but then you have to remember to do this every time you run the program.

The plexmon utility requires two MEX functions for proper operation, checkfile.mexw32 and mexPlexOnline.mexw32. These functions have only been compiled for the Windows 32-bit platform, since plexmon must run on the same Windows 32-bit workstation as the Plexon software. [Note: 64-bit versions of the checkfile() and mexPlexOnline() MEX functions are now also available for download.]

To use any of these Matlab functions, download the relevant files and install them in a directory that is in your Matlab command path. It's a good idea to put all of the Maestro-related functions you use in one place, then modify your Matlab startup script, startup.m, to ensure that directory path is part of your command path. Finally, it should be noted that these various Matlab utilities are updated from time to time as enhancements and bug fixes are made, and to keep up with changes in Maestro itself.  Be sure to check back for updates, or simply subscribe to changes in the file cabinet below so you will be automatically informed when any updates are posted.

JMWork - System Requirements and Download/Installation Instructions

Download Files

Click on the folder icon below containing the file(s) you need. A new browser window opens displaying the contents of that Drive folder, from which you can download the required files.