DIRECT (CrossCorrelationTable_to_CrossCorrelationTables) autoCrossCorrelationTables thee = CrossCorrelationTables_create (); long nrows = 0, ncols = 0, nselected = 0; LOOP { iam (CrossCorrelationTable); nselected++; if (nselected == 1) { nrows = my numberOfRows; ncols = my numberOfColumns; } if (my numberOfRows != nrows || my numberOfColumns != ncols) Melder_throw ("Dimensions of table ", IOBJECT, " differs from the rest."); autoCrossCorrelationTable myc = Data_copy (me); Collection_addItem (thee.peek(), myc.transfer()); } praat_new (thee.transfer(), L"ct_", Melder_integer (nselected)); END FORM (Sound_to_Covariance_channels, L"Sound: To Covariance (channels)", L"Sound: To Covariance (channels)...") REAL (L"left Time range (s)", L"0.0") REAL (L"right Time range (s)", L"10.0") OK DO LOOP { iam (Sound); praat_new (Sound_to_Covariance_channels (me, GET_REAL (L"left Time range"), GET_REAL (L"right Time range")), my name); } END FORM (Sound_to_CrossCorrelationTable, L"Sound: To CrossCorrelationTable", L"Sound: To CrossCorrelationTable...") REAL (L"left Time range (s)", L"0.0")