AttMem - version_tracker.txt ---------------------------- Version numbers are stored in: (1) .iss file (influences setup display, Control Panel) (2) .rc file (About box) (3) g_strVersion (4) strXMLConfigVersion (config version only) (5) web site whatsnew.shtml Version history: 1.0 - Majority of development done under this number! 2.0 - From point of introducing "default ODBC DSN" system 22-Sep-2002: integrated HTML Help 2.1 - fixed missing UpdateData(TRUE) bugs 2.2 - horizontal scroll fixed in listbox - About button 2.3 (22 Nov 2003) - writes version number and compilation date to summary file - note about this version (16 Oct 2006): ... line "off" events are requested from the server... ... but are then ignored. ... Facility there for future expansion :-) 2.4 (7 Mar 2007) - improved ease of user compilation 3.0 (12 Jan 2009) - Server default changed from "loopback" to "localhost" (Windows Vista compatibility and more general standardization). 4.0 (Dec 2009) for Yogi - convert to VS2008 - AttMem_Config.PelletPulseLength_ms: single -> long integer - AttMem_Config.InterpelletGap_ms: single -> long integer - move this task to XML configuration files (easier to read/work with upgrades, though existing settings may have to be re-entered once) - option to punish premature responding (meaning responding in Phase 1 [attention phase] before the stimulus comes on) is punished by abandoning the trial and going to darkness (for the darkness time) Database: AttMem_Config.PunishPhase1Premature Code: m_bPunishPhase1Premature - add a DWOR multiplier specifier for the delays (at present, it is DWOR with a multiplier of 1 as specified previously by you but this would add flexibility) Database: AttMem_Config.DelayValues_ms: length 50 -> 255 Database: AttMem_Config.DelayDWORMultiplier Code: m_iDelayDWORMultiplier - obviously, record everything to textfile/database - list of stimulus durations [1]; each trial's stimulus duration is picked from the list using a draw-without-replacement system, for which you can specify the DWOR multiplier (higher numbers make it close to totally random; very low numbers make it a more locally balanced pseudorandom order) Database: REMOVE AttMem_Config.Phase2StimDur_s Database: AttMem_Config.Phase2StimDurOptions_s Database: AttMem_Config.Phase2StimDurDWORMultiplier Database: AttMem_TrialData.Phase2StimDur_s Code: REMOVE m_fPhase2StimDur Code: m_vfPhase2StimDurOptionsSec Code: m_iPhase2StimDurDWORMultiplier Code: m_vfPhase2StimDurDWORPool - likewise for pre-stimulus pause [2] Database: REMOVE AttMem_Config.PrestimPause_s Database: AttMem_Config.PrestimPauseOptions_s Database: AttMem_Config.PrestimPauseDWORMultiplier Database: AttMem_TrialData.PrestimPause_s CODE: REMOVE m_fPrestimPause CODE: m_vfPrestimPauseOptionsSec CODE: m_iPrestimPauseDWORMultiplier CODE: m_vfPrestimPauseDWORPool - likewise (not discussed in full but implemented just in case) for phase 1 stimulus duration Database: REMOVE AttMem_Config.Phase1StimDur_s Database: AttMem_Config.Phase1StimDurOptions_s Database: AttMem_Config.Phase1StimDurDWORMultiplier Database: AttMem_TrialData.Phase1StimDur_s Code: REMOVE m_fPhase1StimDur Code: m_vfPhase1StimDurOptionsSec Code: m_iPhase1StimDurDWORMultiplier Code: m_vfPhase1StimDurDWORPool - [1,2] agreed method: phase 2 whatevers (e.g. stimulus durations) are only picked once the subject has already passed phase 1. So if you have four phase 2 stimulus durations, and want them shown once every 4 trials, this would equate to once every 4 phase 2s... and any trials where phase 1 was initiated but was then failed would not count towards this number. - More thorough recording of all (e.g. panel-push) responses, even not very interesting ones. - table AttMem_Phases renamed AttMem_LOOKUP_Phases to avoid the impression it's user-modifiable. - textfile filename changes appropriately on config reload 4.1 (24 Apr 2010) - bugfix: strStimulusTimer left dangling (problem if subject responded *during* phase 1 stimulus, I think; symptom was Phase 2 stimulus being curtailed). - ensure limited holds exceed stimulus durations (they are timed from the start of stimuli) - distinguish (in phases) stimulus 1/2 "on" versus "done" 4.2 (22 June 2010) - added state table to help 4.3 (14 Sep 2010) - Database changes: module AttMem_distractorcalculations illustrative query AttMem_Distractors ... these implement calculation of "target" and "distractor" holes more clearly - options to enable/disable any of the five holes explicitly database files: EnableHole0 through EnableHole4 code: m_bEnableHole0 through m_bEnableHole4 4.4 (14 Apr 2015) - Rebuild to use WhiskerClientLib 4.62 with new socket code. - Define WINVER as 0x500. - Compile cleanly with full warnings.