It seems that you did the procedure all right. Yes, your calibration should be done when you finish adjusting gains, but you may find the origin moved a little, if the initial gain was small and therefore did not provide enough resolution for you to set the origin precisely. Then you can just repeat the procedure a couple of times. As the gain increases, you will see better results each time.by Jaewon - Questions and Answers
The Brown website is not my old website. The original ML and NIMH ML are different tools and I was not involved in the original ML.by Jaewon - Questions and Answers
Sorry. I am not a hardware expert. You should talk to your computer dealer.by Jaewon - Questions and Answers
You can try controlling the NI board directly in your custom adapter. Talk to Daniel. Your question lacks lots of details and I don't know what to tell, but I am sure he can help you better.by Jaewon - Questions and Answers
Supporting more devices sounds fine, but I don't have any Tobii eye tracker to test with. I will think about it if somebody can lend me one for a couple of weeks.by Jaewon - Questions and Answers
It looks like a question for Logitech or Google.by Jaewon - Questions and Answers
Posting a PDF article is not allowed, so I replaced your attachment with a pubmed link to the article. NIMH ML (more precisely MGL) is not supporting G-Sync or FreeSync currently. I am not sure if I will ever have time to support the tech, so it is up to you. This method is useful mostly for visual psychophysics experiments and you probably have to give up behavior tracking during stimulus preby Jaewon - Questions and Answers
* Changes in NIMH MonkeyLogic 2 (Jun 15, 2020) + Bug fixes and stability patches for audio engine control * Changes in NIMH MonkeyLogic 2 (May 25, 2020) + Support for minimum latency sound playback via WASAPI (Windows Audio Session API) Shared & Exclusive modes. - Minor fixesby Jaewon - News
Those two fields show the worst case (i.e., the maximum) during a trial, which mostly occurs at the very first frame of the first scene.If significant delays occur for the rest of a scene, a skipped frame warning will be displayed in the user text panel.by Jaewon - Questions and Answers
The function seems to work fine, so I don't understand why you say nothing is printed. You printed mostly static texts. Unless you change something in the string, you will see the same text every trial. dashboard() itself does not display anything until the screen is updated. run_scene() or idle() should be executed afterward. Also dashboard() does not clear the text of itself evenby Jaewon - Questions and Answers
Aren't you working with Daniel? If I remember correctly, you guys already have a solution for this. What Daniel wanted was continuous sound feedback of which frequency changed according to the wheel position. That kind of control is not possible with NIMH ML alone, because resetting NI analog output takes too long.by Jaewon - Questions and Answers
That doesn't make sense. Please show your code.by Jaewon - Questions and Answers
Why don't you use the dashboard function (to display texts on the control screen) or the text command (to display on the user plot)? https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.html#dashboard https://www.mathworks.com/help/matlab/ref/text.html user_text() and user_warning() are there for compatibility with the original ML, but they are slow and you don't have much contby Jaewon - Questions and Answers
The time interval between frames equals 1 / (refresh rate). If the refresh rate is 60 Hz, the interval is 1 / 60 = 16.67 msec. I made ComplementaryWindow work with a moving window created with CurveTracer + SingleTarget. Please overwrite the files in the ext directory of your NIMH ML with the attached ones. TouchTracker needs to be updated as well. Or just download the new packages. You useby Jaewon - Questions and Answers
The graphic card and the power supply are not critical components to boost performance in this case. From what you said, I think the speed of streaming movies from the disk may be a problem. I saw many times that conventional hard disks were not fast enough to deliver movie contents in time. I suggest trying a solid state drive. By the way, why do you use 'mgladdmovie' and 'mglsby Jaewon - Questions and Answers
* Changes in NIMH MonkeyLogic 2 (May 25, 2020) + Support for minimum latency sound playback via WASAPI (Windows Audio Session API) Shared & Exclusive modes. - Minor fixesby Jaewon - News
On what condition is this happening? Are you using MouseTracker but do not want to show a cursor? Have you tried the latest package?by Jaewon - Questions and Answers
It seems that either EyeX or EyeY is empty, but this is not my problem to fix. NIMH ML does not support BHV. bhv_read is a script copied from the original ML and mlread simply calls bhv_read when the extension of a given file is *.bhv.by Jaewon - Questions and Answers
* Changes in NIMH MonkeyLogic 2 (Apr 9, 2020) + Support for low-latency voice recording via Windows Audio Session API (WASAPI) exclusive mode. - Fixed a bug that crashed MATLAB R2020a when the properties of analoginput and analogoutput objects are dumped in the command window. - Fixed an error that occurred when trying to read non-existing variables from *.mat data files.by Jaewon - News
Sorry. I don't have time to make an extension for another language. It may work to convert BHV2 to MAT with the bhv2mat function and read the MAT file in Python.by Jaewon - Questions and Answers
They are not the same issue. The previous issue was that mlmat did not return a blank for non-existing variables. The second error is because the filepath is not a full path. I cannot rebuild the packages now, but, as a temporary solution, you can provide a full filepath to mlplayer or run it without an input argument (i.e, just type "mlplayer") and choose a file in the resulting filby Jaewon - Questions and Answers
You need to explain what you did. Show your code, please.by Jaewon - Questions and Answers
The userloop function is called every time before a trial starts. You should make it return what is necessary for the next trial and one trial only. https://monkeylogic.nimh.nih.gov/docs_CreatingTask.html#Userloopby Jaewon - Questions and Answers
Did you try bhv_read or mlread?by Jaewon - Questions and Answers
Do you get 20 ms in the 2nd trial as well or even after 5-6 trials? Otherwise, I think it is okay. Again the maximum latency is usually the interval between the 1st and 2nd sample checks, which occurs at the very beginning of a trial. For the rest of the trial, the latency must be less than 0.5.ms, as indicated by your cycle rate (1/2200 = 0.45 ms).by Jaewon - Questions and Answers
Please overwrite your mlmat.m with the attached file.by Jaewon - Questions and Answers
https://monkeylogic.nimh.nih.gov/docs_TrialRecordStructure.htmlby Jaewon - Questions and Answers
You can send any number anytime. See the eventmarker function. https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.html#eventmarkerby Jaewon - Questions and Answers
I know a function handle is saved as a string, because I made it so. What I am saying is that there is no way to reconstruct the function handle from the string. There is str2func, but it doesn't check the validity of the handle and doesn't work for nested functions or if there is any externally scoped variable. As a result, the data file cannot be replayed. I would just name the matby Jaewon - Questions and Answers
How high is your latency? As I said above, you may be concerned about it unnecessarily. And what is your usual cycle rate?by Jaewon - Questions and Answers