MoreInfo and Scale are the properties of TaskObjects, but CurrentPosition is just a field of MoreInfo, not part of TaskObjects. You are supposed to use rewind_object() to change the playback position of MOV or SND. To manipulate the properties of TaskObjects, use one of the following timing script functions. reposition_object() rescale_object() rotate_object()by Jaewon - Questions and Answers
Why did you fail to set the playback position of TaskObjects? How did you do it?by Jaewon - Questions and Answers
The built-in photodiode trigger is not that much flexible. It is toggled when toggleobject() is called in Timing Script v1 or run_scene() is called in Timing Script v2. In Timing Script v2, it can also be toggled every frame or when an eventcode is sent out within a scene, by including the PhotoDiode adapter to the scene. I guess you can try some manual method, if you really want to flash theby Jaewon - Questions and Answers
I think you could figure out the cause if you opened and looked at the generated conditions file. generate_condition() does not work perfectly, but I have no intention to do anything about it. It is not part of NIMH ML and will not be included in the future versions. If you want a flexible way to select stimuli, see the userloop function. https://monkeylogic.nimh.nih.gov/docs_CreatingTask.htmby Jaewon - Questions and Answers
Sound cards do not provide enough voltages to trigger reward devices, so it is not possible. You can use a parallel port, if you want a cheap solution. https://monkeylogic.nimh.nih.gov/docs_ParallelPortPinout.htmlby Jaewon - Questions and Answers
You made a mistake (actually three of the same mistake) in your script indeed, but I am not going to tell you what it is. You are supposed to fix a problem that you created yourself.by Jaewon - Questions and Answers
You might install multiple NIMH ML versions and have the search path messed up. Try cleaning the search path with the following commands and reinstalling the latest NIMH ML. delete(which('startup.m')) restoredefaultpath matlabrc savepath exit The stimulus size changed probably because the screen size was set differently between the config files.by Jaewon - Questions and Answers
You did not provide enough information to make a guess.by Jaewon - Questions and Answers
The bus type matters only to you and your computer, since there can be some price difference and your computer may not support some bus types. NIMH ML does not care, as long as the board is supported by the current NI-DAQmx driver.by Jaewon - Questions and Answers
Obviously, the stimulus test and the task execution are not the same. You don't just display one video when you run a task, so the real test for you is to press the "RUN" button. If you see skipped frames at lower screen resolution like 1024 x 768, you may need a faster computer, too.by Jaewon - Questions and Answers
What do you mean by "run fine"? You said there were many skipped frames.by Jaewon - Questions and Answers
Getting less skipped frames when you reduced the screen resolution means that you do not have enough video memory for doing the job. Get a video card with larger memory.by Jaewon - Questions and Answers
https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.html#set_itiby Jaewon - Questions and Answers
* Changes in 2.2.47 (Jun 30, 2024) - The background TTLs scheduled by TTLOutput are cancelled automatically, if they are not triggered by the end of a trial. * Changes in 2.2.46 (May 25, 2024) - Bug fixes in NIMH daqtoolbox that are not related to NIMH ML - Changes for keeping compatibility with v3.0by Jaewon - News
Can you download the latest version and try again? I fixed a similar issue a few months ago that occurred in old, slow computers. It was because the computer failed to read out NI samples in time while ML closed the calibration tool and went back to the control screen. The buffer size was increased to address it.by Jaewon - Questions and Answers
See the attached task. You can also make your own adapter for this kind of stuff, if it cannot be done with existing adapters.by Jaewon - Questions and Answers
You can retrieve Touch X &Y with get_analog_data() and construct the other columns by calculating the distance from the objects. https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.html#get_analog_databy Jaewon - Questions and Answers
You can collect some time info from adapters after a scene and store it to the datafile. In your code, for example, on_target_time = []; off_target_time = []; if fth1.Success on_target_time = fth1.AcquiredTime; % or fix1.Time elseif 0<fth1.BreakCount off_target_time = fix1.Time; end bhv_variable('on_tartget',on_target_time,'off_target',off_target_time);by Jaewon - Questions and Answers
It is briefly mentioned in the remarks of SingleTarget. https://monkeylogic.nimh.nih.gov/docs_RuntimeFunctions.html#SingleTarget When the threshold window is crossed, SingleTarget marks when the crossing occurred but does not change its Success state immediately. If the cursor stays on the same side stably at least for one frame, then it changes the state and set the marked time as AcquiredTiby Jaewon - Questions and Answers
I think that is it. If the joystick is already off the window before the scene start, then SingleTarget does not know when the window was crossed and its Time property remains empty. You can use WaitThenHold.AllowEarlyFix to detect this case (or test if the RT is empty).by Jaewon - Questions and Answers
I do not know why your RT variable is sometimes empty. The code you posted is not complete, so I cannot run it. Is it possible that RT was initialized to [] somewhere and a new value was never assigned? You are indeed supposed to get the RT from WaitThenHold.RT, but either way should produce the same result. Have you checked the values of joy_stim.Time and stim_start when RT was []? In theby Jaewon - Questions and Answers
In the scene, does the subject need to maintain eye fixation for a certain duration before moving the joystick? Also, is the eye fixation required even after the joystick is off the threshold window?by Jaewon - Questions and Answers
I do not understand your last sentence. SingleTarget and CircleGraphic are independent; you can set the threshold window to any size that you want and it can be either larger or smaller than the circle size. If you assign a CircleGraphic object as a target to SingleTarget, the threshold window is initialized to the size of the circle, but you can change it afterward as you want. Currently, Mulby Jaewon - Questions and Answers
You have asked about this already. https://monkeylogic.nimh.nih.gov/board/read.php?3,1685by Jaewon - Questions and Answers
1) When multiple timing scripts are used in a task, a different script is called in each trial, like Trial 1 → ID1.m, Trial2 → ID3.m, etc. Everything is still stored in one single datafile. You just need to group trials later, according to the subject IDs. By the way, you know that the TrialRecord structure has nothing to do with data saving, don't you? 2) What do you mean by saving theby Jaewon - Questions and Answers
Yes, it does. I double-checked all the packages. I did not change the version number, so, if you downloaded before May 2, you need to do it again. Please check if any older version is in the MATLAB path. If so, remove it.by Jaewon - Questions and Answers
It seems a matter of imagination. There are many ways to do so and I think everything necessary is well-documented already. The entire scale can be drawn with a tool like MS Paint or PowerPoint and presented as an image in NIMH ML. Then you can check key input or set a fixation window on each scale level to capture the mouse cursor. If some visual feedback is desired, like the attached mousby Jaewon - Questions and Answers
They are . You could probably figure it out yourself if you tried plotting them.by Jaewon - Questions and Answers
You can certainly acquire at faster than 30 fps. It is just that you do not see which format supports higher rates until you click on them. The frame rate written in the Format string is just the default rate in that video resolution. You actually need to check the Frame rate option to see if you can slide the bar to over 30. I find this may not be convenient, so I am thinking of a better way toby Jaewon - Questions and Answers
What will be displayed there is dependent on whether your script is written in the v1 or v2 style. v2 scripts run in a totally different way from v1 scripts, so the measures like Cycle Rate simply do not exist in the v2-style tasks. See the following manual page, if you do not know the difference. https://monkeylogic.nimh.nih.gov/docs_CreatingTask.html#RuntimeVersion2_Background Even though Mby Jaewon - Questions and Answers