static void initScreen (HyperPage me) { my d_y = PAGE_HEIGHT + my top / 5.0; my d_x = 0; my previousBottomSpacing = 0.0; forget (my links); my links = Collection_create (classHyperLink, 100); }
autoCollection FFNet_createIrisExample (long numberOfHidden1, long numberOfHidden2) { try { autoCollection c = Collection_create (classDaata, 3); autoCategories uniq = Categories_sequentialNumbers (3); autoFFNet me = FFNet_create (4, numberOfHidden1, numberOfHidden2, 3, 0); FFNet_setOutputCategories (me.peek(), uniq.peek()); autostring32 name = FFNet_createNameFromTopology (me.peek()); Thing_setName (me.peek(), name.peek()); Collection_addItem_move (c.peek(), me.move()); autoTableOfReal iris = TableOfReal_createIrisDataset (); /* * Scale data to interval [0-1] */ for (long i = 1; i <= 150; i++) { for (long j = 1; j <= 4; j++) { iris -> data[i][j] /= 10.0; } } autoPattern ap; autoCategories ac; TableOfReal_to_Pattern_and_Categories (iris.peek(), 0, 0, 0, 0, & ap, & ac); Thing_setName (ap.peek(), U"iris"); Thing_setName (ac.peek(), U"iris"); Collection_addItem_move (c.peek(), ap.move()); Collection_addItem_move (c.peek(), ac.move()); return c; } catch (MelderError) { Melder_throw (U"Iris example not created."); } }
void ScriptEditor_init (ScriptEditor me, Editor environment, const char32 *initialText) { if (environment) { my environmentName = Melder_dup (environment -> name); my editorClass = environment -> classInfo; } TextEditor_init (me, initialText); my interpreter = Interpreter_createFromEnvironment (environment); if (! theScriptEditors) { theScriptEditors = Collection_create (nullptr, 10).transfer(); } Collection_addItem_ref (theScriptEditors, me); }
void ScriptEditor_init (ScriptEditor me, Editor environment, const char32 *initialText) { if (environment != NULL) { my environmentName = Melder_dup (environment -> name); my editorClass = environment -> classInfo; } TextEditor_init (me, initialText); my interpreter = Interpreter_createFromEnvironment (environment); if (theScriptEditors == NULL) { theScriptEditors = Collection_create (NULL, 10); Collection_dontOwnItems (theScriptEditors); } Collection_addItem (theScriptEditors, me); }
void structScriptEditor :: init (Editor environment, const wchar_t *initialText) { if (environment != NULL) { environmentName = Melder_wcsdup (environment -> name); editorClass = environment -> classInfo; } structTextEditor::init (initialText); interpreter = Interpreter_createFromEnvironment (environment); if (theScriptEditors == NULL) { theScriptEditors = Collection_create (NULL, 10); Collection_dontOwnItems (theScriptEditors); } Collection_addItem (theScriptEditors, this); }
Collection TextGrid_Sound_extractAllIntervals (TextGrid me, Sound sound, long tierNumber, int preserveTimes) { try { IntervalTier tier = TextGrid_checkSpecifiedTierIsIntervalTier (me, tierNumber); autoCollection collection = Collection_create (NULL, tier -> intervals -> size); for (long iseg = 1; iseg <= tier -> intervals -> size; iseg ++) { TextInterval segment = (TextInterval) tier -> intervals -> item [iseg]; autoSound interval = Sound_extractPart (sound, segment -> xmin, segment -> xmax, kSound_windowShape_RECTANGULAR, 1.0, preserveTimes); Thing_setName (interval.peek(), segment -> text ? segment -> text : L"untitled"); Collection_addItem (collection.peek(), interval.transfer()); } return collection.transfer(); } catch (MelderError) { Melder_throw (me, " & ", sound, ": intervals not extracted."); } }
autoCollection TextGrid_Sound_extractAllIntervals (TextGrid me, Sound sound, long tierNumber, int preserveTimes) { try { IntervalTier tier = TextGrid_checkSpecifiedTierIsIntervalTier (me, tierNumber); autoCollection collection = Collection_create (nullptr, tier -> numberOfIntervals ()); for (long iseg = 1; iseg <= tier -> numberOfIntervals (); iseg ++) { TextInterval segment = tier -> interval (iseg); autoSound interval = Sound_extractPart (sound, segment -> xmin, segment -> xmax, kSound_windowShape_RECTANGULAR, 1.0, preserveTimes); Thing_setName (interval.peek(), segment -> text ? segment -> text : U"untitled"); Collection_addItem_move (collection.peek(), interval.move()); } return collection; } catch (MelderError) { Melder_throw (me, U" & ", sound, U": intervals not extracted."); } }
Collection TextGrid_Sound_extractNonemptyIntervals (TextGrid me, Sound sound, long tierNumber, int preserveTimes) { try { IntervalTier tier = TextGrid_checkSpecifiedTierIsIntervalTier (me, tierNumber); autoCollection collection = Collection_create (NULL, tier -> numberOfIntervals ()); for (long iseg = 1; iseg <= tier -> numberOfIntervals (); iseg ++) { TextInterval segment = tier -> interval (iseg); if (segment -> text != NULL && segment -> text [0] != '\0') { autoSound interval = Sound_extractPart (sound, segment -> xmin, segment -> xmax, kSound_windowShape_RECTANGULAR, 1.0, preserveTimes); Thing_setName (interval.peek(), segment -> text ? segment -> text : L"untitled"); Collection_addItem (collection.peek(), interval.transfer()); } } if (collection -> size == 0) Melder_warning (L"No non-empty intervals were found."); return collection.transfer(); } catch (MelderError) { Melder_throw (me, " & ", sound, ": non-empty intervals not extracted."); } }
autoCollection TextGrid_Sound_extractIntervalsWhere (TextGrid me, Sound sound, long tierNumber, int comparison_Melder_STRING, const char32 *text, int preserveTimes) { try { IntervalTier tier = TextGrid_checkSpecifiedTierIsIntervalTier (me, tierNumber); autoCollection collection = Collection_create (nullptr, tier -> numberOfIntervals ()); long count = 0; for (long iseg = 1; iseg <= tier -> numberOfIntervals (); iseg ++) { TextInterval segment = tier -> interval (iseg); if (Melder_stringMatchesCriterion (segment -> text, comparison_Melder_STRING, text)) { autoSound interval = Sound_extractPart (sound, segment -> xmin, segment -> xmax, kSound_windowShape_RECTANGULAR, 1.0, preserveTimes); Thing_setName (interval.peek(), Melder_cat (sound -> name ? sound -> name : U"", U"_", text, U"_", ++ count)); Collection_addItem_move (collection.peek(), interval.move()); } } if (collection -> size == 0) Melder_warning (U"No label that ", kMelder_string_getText (comparison_Melder_STRING), U" the text \"", text, U"\" was found."); return collection; } catch (MelderError) { Melder_throw (me, U" & ", sound, U": intervals not extracted."); } }
Collection FFNet_createIrisExample (long numberOfHidden1, long numberOfHidden2) { TableOfReal iris = NULL; Collection c = NULL; FFNet me = NULL; Pattern thee = NULL; Categories him = NULL, uniq = NULL; long i, j; MelderString ffnetname = { 0 }; if (! (c = Collection_create (classData, 3)) || ! (uniq = Categories_sequentialNumbers (3)) || ! (me = FFNet_create (4, numberOfHidden1, numberOfHidden2, 3, 0)) || ! FFNet_setOutputCategories (me, uniq) || ! Collection_addItem (c, me) || ! (iris = TableOfReal_createIrisDataset ()) || ! TableOfReal_to_Pattern_and_Categories (iris, 0, 0, 0, 0, &thee, &him) || ! Collection_addItem (c, thee) || ! Collection_addItem (c, him)) goto end; /* Scale data to interval [0-1] */ for (i = 1; i <= 150; i++) { for (j = 1; j <= 4; j++) thy z[i][j] /= 10.0; } FFNet_createNameFromTopology (me, &ffnetname); Thing_setName (me, ffnetname.string); Thing_setName (thee, L"iris"); Thing_setName (him, L"iris"); MelderString_free (&ffnetname); end: forget (uniq); forget (iris); if (! Melder_hasError()) return c; forget (c); return NULL; }
Collection TextGrid_Sound_extractIntervalsWhere (TextGrid me, Sound sound, long tierNumber, int comparison_Melder_STRING, const wchar_t *text, int preserveTimes) { try { IntervalTier tier = TextGrid_checkSpecifiedTierIsIntervalTier (me, tierNumber); autoCollection collection = Collection_create (NULL, tier -> intervals -> size); long count = 0; for (long iseg = 1; iseg <= tier -> intervals -> size; iseg ++) { TextInterval segment = (TextInterval) tier -> intervals -> item [iseg]; if (Melder_stringMatchesCriterion (segment -> text, comparison_Melder_STRING, text)) { autoSound interval = Sound_extractPart (sound, segment -> xmin, segment -> xmax, kSound_windowShape_RECTANGULAR, 1.0, preserveTimes); wchar_t name [1000]; swprintf (name, 1000, L"%ls_%ls_%ld", sound -> name ? sound -> name : L"", text, ++ count); Thing_setName (interval.peek(), name); Collection_addItem (collection.peek(), interval.transfer()); } } if (collection -> size == 0) Melder_warning ("No label that ", kMelder_string_getText (comparison_Melder_STRING), " the text \"", text, "\" was found."); return collection.transfer(); } catch (MelderError) { Melder_throw (me, " & ", sound, ": intervals not extracted."); } }