Making inquisit 3 files work for inquisit 5; Issues with getItem function


Author
Message
desiree80
desiree80
Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)
Group: Forum Members
Posts: 14, Visits: 110
Hi,

I was tasked with making our old tests that were made with inquisit 3 work in inquisit 5. The simplest thing I had to do was make all of the video elements into sound elements. The issue we're having now is that our picture and sound elements aren't lining up. We assign them using the getItem function in generalTrialA which leads me to believe that maybe the getitem function isn't used correctly or it works a little differently for inquisit 5. Please take a look at the files found in the link below.

Thank you!

Link to file: https://usf.box.com/s/th6nc6sx4oety13aqnhr3y4pgcl53106
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
desiree80 - Tuesday, September 4, 2018
Hi,

I was tasked with making our old tests that were made with inquisit 3 work in inquisit 5. The simplest thing I had to do was make all of the video elements into sound elements. The issue we're having now is that our picture and sound elements aren't lining up. We assign them using the getItem function in generalTrialA which leads me to believe that maybe the getitem function isn't used correctly or it works a little differently for inquisit 5. Please take a look at the files found in the link below.

Thank you!

Link to file: https://usf.box.com/s/th6nc6sx4oety13aqnhr3y4pgcl53106

It's a little more complicated than that in this case, and getitem() isn't the primary culprit -- in essence, the script worked under Inquisit 3 because Inquisit 3 was a lot less strict about ensuring certain things, such as the files referenced throughout the script actually existing. I've attached a revised version below which should work as intended under Inquisit 5. Please et me know if you run into any trouble with the revision.

Attachments
EBLMC_millisec.fixed.exp (460 views, 60.00 KB)
desiree80
desiree80
Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)
Group: Forum Members
Posts: 14, Visits: 110
Dave - Tuesday, September 4, 2018
desiree80 - Tuesday, September 4, 2018
Hi,

I was tasked with making our old tests that were made with inquisit 3 work in inquisit 5. The simplest thing I had to do was make all of the video elements into sound elements. The issue we're having now is that our picture and sound elements aren't lining up. We assign them using the getItem function in generalTrialA which leads me to believe that maybe the getitem function isn't used correctly or it works a little differently for inquisit 5. Please take a look at the files found in the link below.

Thank you!

Link to file: https://usf.box.com/s/th6nc6sx4oety13aqnhr3y4pgcl53106

It's a little more complicated than that in this case, and getitem() isn't the primary culprit -- in essence, the script worked under Inquisit 3 because Inquisit 3 was a lot less strict about ensuring certain things, such as the files referenced throughout the script actually existing. I've attached a revised version below which should work as intended under Inquisit 5. Please et me know if you run into any trouble with the revision.

Thank you! Great fix, no troubles here! I'm curious as to what ".items.1" does specifically that makes it work.

Ex:
if(values.UL=="B") sound.Label_UL_snd.items.1=getitem(item.Label_B, values.Item_index);

As opposed to the original:
if(values.UL=="B") sound.Label_UL_snd.item=getitem(item.Label_B, values.Item_index);

Thanks again Dave!
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
desiree80 - Wednesday, September 5, 2018
Dave - Tuesday, September 4, 2018
desiree80 - Tuesday, September 4, 2018
Hi,

I was tasked with making our old tests that were made with inquisit 3 work in inquisit 5. The simplest thing I had to do was make all of the video elements into sound elements. The issue we're having now is that our picture and sound elements aren't lining up. We assign them using the getItem function in generalTrialA which leads me to believe that maybe the getitem function isn't used correctly or it works a little differently for inquisit 5. Please take a look at the files found in the link below.

Thank you!

Link to file: https://usf.box.com/s/th6nc6sx4oety13aqnhr3y4pgcl53106

It's a little more complicated than that in this case, and getitem() isn't the primary culprit -- in essence, the script worked under Inquisit 3 because Inquisit 3 was a lot less strict about ensuring certain things, such as the files referenced throughout the script actually existing. I've attached a revised version below which should work as intended under Inquisit 5. Please et me know if you run into any trouble with the revision.

Thank you! Great fix, no troubles here! I'm curious as to what ".items.1" does specifically that makes it work.

Ex:
if(values.UL=="B") sound.Label_UL_snd.items.1=getitem(item.Label_B, values.Item_index);

As opposed to the original:
if(values.UL=="B") sound.Label_UL_snd.item=getitem(item.Label_B, values.Item_index);

Thanks again Dave!

> if(values.UL=="B") sound.Label_UL_snd.items.1=getitem(item.Label_B, values.Item_index);

In plain language this means "set the 1st item of <sound Label_UL_snd> to the item in <item Label _B> at the index indicated by values.Item_index."

It's easier and better from a performance perspective to simply always replace the 1st item in the <picture> and <sound> elements with the one that is supposed to be displayed during the given trial, and have the <picture> and <sound> elements always select that 1st item. This also makes the clear() operations unnecessary, which cause a particular performance hit (and can cause stability issues at runtime under some circumstances).

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search