# Works in connection with Label.man # 29.02.2004 John Tøndering # Now it can also handle point tiers # 07.10.2005 # Get the label input form Indsaet symbol word Indsaet endform # Get active tier. (Defined with settier.psc from Label.man) tiernumber$ < tiernumber.txt tiernumber = 'tiernumber$' # Get start and end point of interval textgrid$ = selected$("TextGrid") endeditor select TextGrid 'textgrid$' interval_or_point = Is interval tier... tiernumber numofTiers = Get number of tiers editor TextGrid 'textgrid$' start = Get start of selection end = Get end of selection if interval_or_point = 1 # nothing special elsif interval_or_point = 0 Select previous interval prevTime = Get start of selection Select next interval nextTime = Get start of selection timeBefore = abs (start - prevTime) timeAfter = abs (nextTime - start) if start = prevTime pointTime = prevTime elsif start = nextTime pointTime = nextTime elsif timeBefore < timeAfter pointTime = prevTime Select previous interval elsif timeAfter < timeBefore pointTime = nextTime else exit Please select a point on tier 'tiernumber' endif endeditor endif endeditor # Change label, delete, play if interval_or_point = 1 intervalnr = Get interval at time... 'tiernumber' 'start' old_label$ = Get label of interval... 'tiernumber' 'intervalnr' if indsaet$ = "DELETE" lang = length(old_label$) lang = lang-1 new_label$ = left$(old_label$, 'lang') Set interval text... 'tiernumber' 'intervalnr' 'new_label$' elsif indsaet$ = "PLAY" editor TextGrid 'textgrid$' Play... 'start' 'end' elsif indsaet$ = "PREVIOUS" editor TextGrid 'textgrid$' Select previous interval elsif indsaet$ = "NEXT" editor TextGrid 'textgrid$' Select next interval else new_label$ = old_label$ + indsaet$ Set interval text... 'tiernumber' 'intervalnr' 'new_label$' endif elsif interval_or_point = 0 numPoints = Get number of points... tiernumber p = 1 x = 10 y = 11 while x <> y tjekTime = Get time of point... tiernumber p if tjekTime = pointTime pointNum = p y = 10 endif p += 1 endwhile old_label$ = Get label of point... tiernumber pointNum if indsaet$ = "DELETE" lang = length(old_label$) lang = lang-1 new_label$ = left$(old_label$, 'lang') Set point text... tiernumber pointNum 'new_label$' elsif indsaet$ = "PLAY" editor TextGrid 'textgrid$' Play... start end elsif indsaet$ = "PREVIOUS" editor TextGrid 'textgrid$' Select previous interval elsif indsaet$ = "NEXT" editor TextGrid 'textgrid$' Select next interval else new_label$ = old_label$ + indsaet$ Set point text... tiernumber pointNum 'new_label$' endif endif