TSAnalysisTimer.m - calls Sequencer at user-specified intervals
TSsequencer.m - Calls each of the data-analysis programs, one program for each experiment being run
TSaddsubjects.m - Creates the necessary fields in the Experiment structure and adds new subjects
TSdiagnostics.m - looks for missing members of what should be paired events and constructs a report
TSstartsession.m - Walks the user through the starting of a new session
TSendsession.m - Ends a session
TSbegin.m - Walks the user through setting up the analysis for a new experiment
||TSaddPrograms.m - Added error message as an output to the function
TScombineover.m - Updated so that when used with the 'mt' flag to also add session and trial durations to the total even when the field we are running the combine on is empty for that session or trial.
TSgetlimit.m - Updated doscalar() to handle cases of max index > array length without crashing. This used to happen in cases where active sessions = x and a subject had less than x sessions.
||TSaddsubjects.m - A new function that enables users to add subjects to an Experiment structure by answering the prompts.
TSbegin.m - It now creates MPC and Plots subdirectories in the directory for the experiment. The MPC subfolder will contain the programs. Many of the graphic functions save into the Plots subfolder and the email looks there for the latest figures.
TSloadsessions.m - It now returns a 2nd argument (SubSes), which is a 2-column array with one row per loaded session and the subject's ID number in the first column and the session number in the 2nd column.
||TSraster.m - There was a problem with a particular condition when the initial trial state was on and there was just one event within the trial since if starting state is ON, it first tries to find an OFF event. Then it changes the state to OFF and starts cycling looking for an ON event. However in our case the ON event that we have is BEFORE the OFF event that we just took care of, so they are overlapping. This would cause an "index out of bounds" error. This has now been fixed.
||TSaddPrograms.m - Put the call to Matlab's readtextfile in a try/catch statement to warn user that readtextfile throws an error if the file contains lines with only a return (linefeed). The warning message directs them to the command's documentation for remedies. Altered the documentation so that it describes the two remedies. Added 's' to the commands internal code (including help) to make its internal name match file name (external name). Initialized result to 0 and added final result = 1.
readtextfile.m - Replaced fgetl with fgets, so that it no longer throws error when it encounters a line with only a line feed.
||TSbegin.m - Radically reworded command. It dispenses completely with the use of stored files as markers and with the older approach to directory and path management. This command leads the user through the setting up of an Experiment structure and the specifying of the script and helper functions that will be used. It creates a folder unique to that experiment (with the experiment's ID number in the folder name) and it creates 3 subfolders: DataTemp, DataArchive and MatlabCode.
TScombineover.m - Fixed bug which stopped merging of times from working correctly.
TSloadsessions.m - TSloadsessions wasn't computing session duration properly where sessions last 24 hrs or more and the format for the display of session duration was wrong.
||TSsaveexperiment.m was modified to handle spaces in the path and filenames
||A new TS command called TSbegin.m, was added to the Core Routines. This routine leads the user through the process of creating an Experimental structure.
|| TStrialstat.m and TScombineover.m further modified to handle the lack of the .Trial cell
||- The TSLibinstaller was updated to work with the new repository location
- TSlimit.m modified by adding the missing "end" statements
- TStrialstat.m modified to deal with the absense of a .Trial cell in some cases
||After months of hard work the new TSlib is finally released to the public!